@nocobase/plugin-ai 2.1.31 → 2.2.0-alpha.10

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 (447) hide show
  1. package/client-v2.d.ts +1 -0
  2. package/dist/ai/docs/nocobase/api/app/env.md +1 -1
  3. package/dist/ai/docs/nocobase/api/cli/index.md +14 -2
  4. package/dist/ai/docs/nocobase/api/cli/portal/config.md +44 -0
  5. package/dist/ai/docs/nocobase/api/cli/portal/create.md +48 -0
  6. package/dist/ai/docs/nocobase/api/cli/portal/deploy.md +39 -0
  7. package/dist/ai/docs/nocobase/api/cli/portal/destroy.md +41 -0
  8. package/dist/ai/docs/nocobase/api/cli/portal/dev.md +39 -0
  9. package/dist/ai/docs/nocobase/api/cli/portal/index.md +136 -0
  10. package/dist/ai/docs/nocobase/api/cli/portal/info.md +41 -0
  11. package/dist/ai/docs/nocobase/api/cli/portal/list.md +40 -0
  12. package/dist/ai/docs/nocobase/api/cli/portal/pull.md +43 -0
  13. package/dist/ai/docs/nocobase/api/cli/portal/push.md +41 -0
  14. package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
  15. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  16. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  17. package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
  18. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +3 -0
  19. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +3 -0
  20. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +27 -3
  21. package/dist/ai/docs/nocobase/get-started/installation/env.md +34 -1
  22. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  23. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/gantt.md +204 -0
  24. package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
  25. package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
  26. package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
  27. package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
  28. package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
  29. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
  30. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
  31. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
  32. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  33. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-portal/index.md +16 -0
  34. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-layout/index.md +14 -0
  35. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-workflow-transaction/index.md +16 -0
  36. package/dist/ai/docs/nocobase/runjs/context/ai.md +206 -0
  37. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  38. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  39. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  40. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  41. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  42. package/dist/ai/docs/nocobase/workflow/nodes/index.md +2 -1
  43. package/dist/ai/docs/nocobase/workflow/nodes/transaction.md +81 -0
  44. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  45. package/dist/ai/tools/executeFrontendTool.js +86 -0
  46. package/dist/ai/tools/formFiller.js +4 -3
  47. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  48. package/dist/ai/tools/loadFrontendTool.js +99 -0
  49. package/dist/ai/tools/subAgentWebSearch.js +20 -15
  50. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  51. package/dist/client/264.cc98933ef65608b6.js +10 -0
  52. package/dist/client/336.7a8a8853196ad779.js +11 -0
  53. package/dist/client/372.49163fac65cef81c.js +10 -0
  54. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  55. package/dist/client/446.d63c38d0309fe250.js +10 -0
  56. package/dist/client/525.94dd4136c1361477.js +10 -0
  57. package/dist/client/663.680bcf6272a8504d.js +10 -0
  58. package/dist/client/681.399948c18d753667.js +10 -0
  59. package/dist/client/705.19b642db34de438a.js +10 -0
  60. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  61. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  62. package/dist/client/index.d.ts +15 -20
  63. package/dist/client/index.js +8 -8
  64. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  65. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  66. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  67. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  68. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  69. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  70. package/dist/client-v2/372.387161cdeb106987.js +10 -0
  71. package/dist/client-v2/406.341be51205c674e0.js +10 -0
  72. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  73. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  74. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  75. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  76. package/dist/client-v2/681.082f4f1c7b841983.js +10 -0
  77. package/dist/client-v2/705.8dc34d43f02f322c.js +10 -0
  78. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  79. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +9 -2
  80. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +1 -1
  81. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  82. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  83. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  84. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  85. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  86. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  87. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  88. package/dist/{client/ai-employees/admin/Employees.d.ts → client-v2/ai-employees/chatbox/components/DebugPanel.d.ts} +1 -1
  89. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -5
  90. package/dist/{client/ai-employees/admin/ProfileSettings.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -2
  91. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  92. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  93. package/dist/{client/ai-employees/admin/datasource/components/basic → client-v2/ai-employees/chatbox/components}/index.d.ts +5 -2
  94. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +21 -22
  95. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  96. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +2 -2
  97. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +8 -4
  98. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +1 -1
  99. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +46 -0
  100. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +1 -1
  101. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  102. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +162 -0
  103. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +1 -49
  104. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +2 -19
  105. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +1 -46
  106. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +1 -15
  107. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +30 -0
  108. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +31 -3
  109. package/dist/{client/ai-employees/chatbox/conversations/common.d.ts → client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts} +21 -4
  110. package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +19 -0
  111. package/dist/{client → client-v2}/ai-employees/chatbox/utils.d.ts +26 -7
  112. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  113. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  114. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  115. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  116. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/data-modeling/setup.d.ts} +6 -5
  117. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  118. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  119. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  120. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/ai-employees/frontend-tools.d.ts} +3 -3
  121. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  122. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  123. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  124. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  125. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  126. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  127. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  128. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  129. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  130. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts} +6 -8
  131. package/dist/{client/ai-employees/workflow-tasks/ui → client-v2/ai-employees/tools}/WorkflowTaskOutputCard.d.ts +7 -2
  132. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  133. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  134. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  135. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  136. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  137. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  138. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  139. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  140. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
  141. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  142. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  143. package/dist/client-v2/ai-employees/types.d.ts +104 -7
  144. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  145. package/dist/{client → client-v2}/debug-logger.d.ts +2 -2
  146. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  147. package/dist/client-v2/index.d.ts +9 -8
  148. package/dist/client-v2/index.js +37 -1
  149. package/dist/client-v2/llm-providers/forms.d.ts +44 -0
  150. package/dist/client-v2/llm-providers/index.d.ts +24 -0
  151. package/dist/{client/ai-employees/chart-generator/tools/index.d.ts → client-v2/llm-services/utils.d.ts} +5 -2
  152. package/dist/client-v2/locale.d.ts +14 -0
  153. package/dist/client-v2/manager/ai-manager.d.ts +57 -0
  154. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  155. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +33 -0
  156. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +44 -0
  157. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  158. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  159. package/dist/client-v2/pages/EmployeesPage.d.ts +63 -0
  160. package/dist/client-v2/pages/LLMServicesPage.d.ts +75 -0
  161. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  162. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  163. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  164. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  165. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  166. package/dist/client-v2/plugin.d.ts +33 -0
  167. package/dist/client-v2/repositories/AIConfigRepository.d.ts +3 -23
  168. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +20 -0
  169. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  170. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  171. package/dist/client-v2/workflow/constants.d.ts +26 -0
  172. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  173. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  174. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  175. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  176. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  177. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  178. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  179. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  180. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  181. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  182. package/dist/client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts +16 -0
  183. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  184. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts} +3 -5
  185. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/workflow/nodes/llm/components/Messages.d.ts} +2 -1
  186. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  187. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  188. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/workflow/register.d.ts} +2 -6
  189. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  190. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  191. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  192. package/dist/client-v2/workflow/types.d.ts +128 -0
  193. package/dist/common/frontend-tools.d.ts +26 -0
  194. package/dist/common/frontend-tools.js +57 -0
  195. package/dist/externalVersion.js +20 -25
  196. package/dist/locale/en-US.json +48 -1
  197. package/dist/locale/zh-CN.json +48 -1
  198. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  199. package/dist/node_modules/@langchain/xai/package.json +1 -1
  200. package/dist/node_modules/fs-extra/package.json +1 -1
  201. package/dist/node_modules/jsonrepair/package.json +1 -1
  202. package/dist/node_modules/just-bash/package.json +1 -1
  203. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  204. package/dist/node_modules/openai/package.json +1 -1
  205. package/dist/node_modules/zod/package.json +1 -1
  206. package/dist/server/ai-employees/ai-conversations.d.ts +2 -0
  207. package/dist/server/ai-employees/ai-employee.d.ts +1 -1
  208. package/dist/server/ai-employees/ai-employee.js +27 -8
  209. package/dist/server/ai-employees/prompts.d.ts +2 -1
  210. package/dist/server/ai-employees/prompts.js +8 -2
  211. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
  212. package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
  213. package/dist/server/ai-employees/utils.js +11 -5
  214. package/dist/server/collections/ai-usage-events.d.ts +10 -0
  215. package/dist/server/collections/ai-usage-events.js +183 -0
  216. package/dist/server/document-loader/constants.js +1 -0
  217. package/dist/server/frontend-tools.d.ts +25 -0
  218. package/dist/server/frontend-tools.js +171 -0
  219. package/dist/server/llm-providers/dashscope.d.ts +2 -1
  220. package/dist/server/llm-providers/dashscope.js +16 -1
  221. package/dist/server/llm-providers/deepseek.d.ts +2 -1
  222. package/dist/server/llm-providers/deepseek.js +33 -2
  223. package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
  224. package/dist/server/llm-providers/kimi/provider.js +22 -2
  225. package/dist/server/llm-providers/mistral.d.ts +36 -2
  226. package/dist/server/llm-providers/mistral.js +62 -2
  227. package/dist/server/llm-providers/openai/completions.d.ts +2 -1
  228. package/dist/server/llm-providers/openai/completions.js +17 -1
  229. package/dist/server/llm-providers/openai/responses.d.ts +2 -1
  230. package/dist/server/llm-providers/openai/responses.js +17 -1
  231. package/dist/server/llm-providers/provider.d.ts +7 -0
  232. package/dist/server/llm-providers/provider.js +7 -1
  233. package/dist/server/manager/ai-chat-conversation.js +2 -0
  234. package/dist/server/manager/ai-context-datasource-manager.js +34 -7
  235. package/dist/server/manager/ai-manager.d.ts +2 -1
  236. package/dist/server/manager/ai-manager.js +4 -1
  237. package/dist/server/manager/ai-usage-events.d.ts +49 -0
  238. package/dist/server/manager/ai-usage-events.js +195 -0
  239. package/dist/server/manager/work-context-handler.js +10 -3
  240. package/dist/server/resource/aiConversations.d.ts +2 -0
  241. package/dist/server/resource/aiConversations.js +27 -1
  242. package/package.json +5 -5
  243. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  244. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  245. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  246. package/dist/client/280.003b9e9788599244.js +0 -10
  247. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  248. package/dist/client/331.d547c95410476a69.js +0 -10
  249. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  250. package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
  251. package/dist/client/462.d172d0fe91519e35.js +0 -10
  252. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  253. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  254. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  255. package/dist/client/559.959c46d0056ccdc8.js +0 -10
  256. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  257. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  258. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  259. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  260. package/dist/client/614.aa766080f6b99aab.js +0 -10
  261. package/dist/client/646.07bb23e72fb6eb15.js +0 -10
  262. package/dist/client/687.224e569a99cae4bb.js +0 -10
  263. package/dist/client/699.57c0a1acb723202a.js +0 -10
  264. package/dist/client/711.92cd94681fde7e05.js +0 -10
  265. package/dist/client/758.a9741e81911e53c3.js +0 -10
  266. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  267. package/dist/client/792.abb57765453bcbcc.js +0 -10
  268. package/dist/client/820.f72ef2462b61d812.js +0 -10
  269. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  270. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  271. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  272. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  273. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  274. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  275. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  276. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  277. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  278. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  279. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  280. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  281. package/dist/client/ai-employees/admin/Templates.d.ts +0 -10
  282. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  283. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  284. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  285. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  286. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  287. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  288. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  289. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  290. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  291. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  292. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  293. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  294. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  295. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  296. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  297. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  298. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  299. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  300. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  301. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  302. package/dist/client/ai-employees/ai-coding/markdown/Code.d.ts +0 -16
  303. package/dist/client/ai-employees/avatars.d.ts +0 -9
  304. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  305. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  306. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  307. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  308. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  309. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  310. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  311. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  312. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  313. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  314. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  315. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  316. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  317. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  318. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  319. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  320. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  321. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  322. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  323. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  324. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  325. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  326. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  327. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  328. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  329. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  330. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  331. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  332. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  333. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  334. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  335. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  336. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  337. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  338. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  339. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  340. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  341. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  342. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  343. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  344. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  345. package/dist/client/ai-employees/datasource/index.d.ts +0 -9
  346. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  347. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  348. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  349. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  350. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  351. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  352. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  353. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  354. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  355. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  356. package/dist/client/ai-employees/types.d.ts +0 -259
  357. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  358. package/dist/client/chat-settings/Messages.d.ts +0 -11
  359. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  360. package/dist/client/components/skill-settings.d.ts +0 -22
  361. package/dist/client/features/components.d.ts +0 -9
  362. package/dist/client/features/feature-manager.d.ts +0 -9
  363. package/dist/client/features/index.d.ts +0 -9
  364. package/dist/client/features/vector-database-provider.d.ts +0 -9
  365. package/dist/client/features/vector-store-provider.d.ts +0 -9
  366. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  367. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  368. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  369. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  370. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  371. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  372. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  373. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  374. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  375. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  376. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  377. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  378. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  379. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  380. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  381. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  382. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  383. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  384. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
  385. package/dist/client/llm-providers/mistral/index.d.ts +0 -10
  386. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  387. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  388. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  389. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  390. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  391. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  392. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  393. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  394. package/dist/client/llm-providers/orcarouter/ModelSettings.d.ts +0 -10
  395. package/dist/client/llm-providers/orcarouter/ProviderSettings.d.ts +0 -10
  396. package/dist/client/llm-providers/orcarouter/index.d.ts +0 -10
  397. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  398. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  399. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  400. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  401. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  402. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  403. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  404. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  405. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  406. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  407. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  408. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  409. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  410. package/dist/client/llm-services/utils.d.ts +0 -35
  411. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  412. package/dist/client/manager/ai-manager.d.ts +0 -35
  413. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  414. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  415. package/dist/client/schemas/llms.d.ts +0 -347
  416. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  417. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  418. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  419. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  420. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  421. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  422. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -13
  423. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  424. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  425. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  426. package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +0 -13
  427. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  428. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  429. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  430. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  431. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  432. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  433. /package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +0 -0
  434. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  435. /package/dist/{client/ai-employees/chatbox/conversations → client-v2/ai-employees/chatbox/components}/Conversations.d.ts +0 -0
  436. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Messages.d.ts +0 -0
  437. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +0 -0
  438. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  439. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Sender.d.ts +0 -0
  440. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  441. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  442. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +0 -0
  443. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  444. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  445. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  446. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  447. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -0,0 +1,195 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var ai_usage_events_exports = {};
28
+ __export(ai_usage_events_exports, {
29
+ buildAIUsageEventValues: () => buildAIUsageEventValues,
30
+ normalizeUsageMetadata: () => normalizeUsageMetadata,
31
+ recordAIUsageEventsForMessages: () => recordAIUsageEventsForMessages
32
+ });
33
+ module.exports = __toCommonJS(ai_usage_events_exports);
34
+ const SKIPPED_MESSAGE_ROLES = /* @__PURE__ */ new Set(["user", "tool", "system"]);
35
+ function normalizeUsageMetadata(usageMetadata) {
36
+ const inputTokens = getNumericValue(usageMetadata, ["input_tokens", "prompt_tokens", "inputTokens", "promptTokens"]) ?? 0;
37
+ const outputTokens = getNumericValue(usageMetadata, ["output_tokens", "completion_tokens", "outputTokens", "completionTokens"]) ?? 0;
38
+ const totalTokens = getNumericValue(usageMetadata, ["total_tokens", "totalTokens"]) ?? inputTokens + outputTokens;
39
+ const cachedTokens = getNumericValue(usageMetadata, ["cached_tokens", "cachedTokens"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cache_read"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cached_tokens"]) ?? getNestedNumericValue(usageMetadata, ["prompt_tokens_details", "cached_tokens"]) ?? 0;
40
+ const reasoningTokens = getNumericValue(usageMetadata, ["reasoning_tokens", "reasoningTokens"]) ?? getNestedNumericValue(usageMetadata, ["output_token_details", "reasoning"]) ?? getNestedNumericValue(usageMetadata, ["completion_tokens_details", "reasoning_tokens"]) ?? 0;
41
+ return {
42
+ inputTokens,
43
+ outputTokens,
44
+ totalTokens,
45
+ cachedTokens,
46
+ reasoningTokens
47
+ };
48
+ }
49
+ function buildAIUsageEventValues(sessionId, message, conversation) {
50
+ const role = readString(message, "role");
51
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
52
+ return null;
53
+ }
54
+ const metadata = readRecord(message, "metadata");
55
+ const provider = readString(metadata, "provider");
56
+ const model = readString(metadata, "model");
57
+ if (!provider || !model) {
58
+ return null;
59
+ }
60
+ const usageMetadata = readRecord(metadata, "usage_metadata") ?? {};
61
+ const responseMetadata = readRecord(metadata, "response_metadata");
62
+ const normalizedUsage = normalizeUsageMetadata(usageMetadata);
63
+ const toolCalls = readArray(message, "toolCalls");
64
+ const autoCallTools = readArray(metadata, "autoCallTools");
65
+ const llmService = readString(metadata, "llmService");
66
+ return {
67
+ occurredAt: normalizeDate(readValue(message, "createdAt")),
68
+ sessionId,
69
+ messageId: String(readValue(message, "messageId") ?? ""),
70
+ userId: readValue(conversation, "userId"),
71
+ aiEmployeeUsername: readValue(conversation, "aiEmployeeUsername"),
72
+ from: readString(conversation, "from") ?? "main-agent",
73
+ category: readString(conversation, "category") ?? "chat",
74
+ eventType: "llm_message",
75
+ role,
76
+ provider,
77
+ ...llmService ? { llmService } : {},
78
+ model,
79
+ ...normalizedUsage,
80
+ toolCallCount: (toolCalls == null ? void 0 : toolCalls.length) ?? 0,
81
+ autoToolCallCount: (autoCallTools == null ? void 0 : autoCallTools.length) ?? 0,
82
+ status: "success",
83
+ rawUsageMetadata: usageMetadata,
84
+ ...responseMetadata ? { rawResponseMetadata: responseMetadata } : {}
85
+ };
86
+ }
87
+ async function recordAIUsageEventsForMessages(ctx, sessionId, messages, transaction) {
88
+ const recordableMessages = messages.filter(isRecordableLLMMessage);
89
+ if (recordableMessages.length === 0) {
90
+ return;
91
+ }
92
+ const conversation = await ctx.db.getRepository("aiConversations").findOne({
93
+ filter: {
94
+ sessionId
95
+ },
96
+ transaction
97
+ });
98
+ if (!conversation) {
99
+ return;
100
+ }
101
+ const usageEvents = recordableMessages.map((message) => buildAIUsageEventValues(sessionId, message, conversation)).filter(isUsageEventValues);
102
+ if (usageEvents.length === 0) {
103
+ return;
104
+ }
105
+ const usageEventsRepo = ctx.db.getRepository("aiUsageEvents");
106
+ for (const values of usageEvents) {
107
+ await usageEventsRepo.updateOrCreate({
108
+ filterKeys: ["messageId", "eventType"],
109
+ values,
110
+ transaction
111
+ });
112
+ }
113
+ }
114
+ function isUsageEventValues(value) {
115
+ return value !== null && value.messageId !== "";
116
+ }
117
+ function isRecordableLLMMessage(message) {
118
+ const role = readString(message, "role");
119
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
120
+ return false;
121
+ }
122
+ const metadata = readRecord(message, "metadata");
123
+ return Boolean(readString(metadata, "provider") && readString(metadata, "model"));
124
+ }
125
+ function isRecord(value) {
126
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
127
+ }
128
+ function readValue(source, key) {
129
+ if (!isRecord(source)) {
130
+ return void 0;
131
+ }
132
+ const value = source[key];
133
+ if (value !== void 0) {
134
+ return value;
135
+ }
136
+ if (typeof source.get === "function") {
137
+ return source.get(key);
138
+ }
139
+ return void 0;
140
+ }
141
+ function readString(source, key) {
142
+ const value = readValue(source, key);
143
+ return typeof value === "string" && value !== "" ? value : void 0;
144
+ }
145
+ function readRecord(source, key) {
146
+ const value = readValue(source, key);
147
+ return isRecord(value) ? value : void 0;
148
+ }
149
+ function readArray(source, key) {
150
+ const value = readValue(source, key);
151
+ return Array.isArray(value) ? value : void 0;
152
+ }
153
+ function getNumericValue(source, keys) {
154
+ for (const key of keys) {
155
+ const normalized = normalizeNumber(source[key]);
156
+ if (normalized !== void 0) {
157
+ return normalized;
158
+ }
159
+ }
160
+ }
161
+ function getNestedNumericValue(source, path) {
162
+ let current = source;
163
+ for (const key of path) {
164
+ if (!isRecord(current)) {
165
+ return void 0;
166
+ }
167
+ current = current[key];
168
+ }
169
+ return normalizeNumber(current);
170
+ }
171
+ function normalizeNumber(value) {
172
+ const numeric = typeof value === "number" ? value : typeof value === "string" ? Number(value) : NaN;
173
+ if (!Number.isFinite(numeric)) {
174
+ return void 0;
175
+ }
176
+ return Math.max(0, Math.trunc(numeric));
177
+ }
178
+ function normalizeDate(value) {
179
+ if (value instanceof Date && Number.isFinite(value.getTime())) {
180
+ return value;
181
+ }
182
+ if (typeof value === "string" || typeof value === "number") {
183
+ const date = new Date(value);
184
+ if (Number.isFinite(date.getTime())) {
185
+ return date;
186
+ }
187
+ }
188
+ return /* @__PURE__ */ new Date();
189
+ }
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ buildAIUsageEventValues,
193
+ normalizeUsageMetadata,
194
+ recordAIUsageEventsForMessages
195
+ });
@@ -41,6 +41,7 @@ __export(work_context_handler_exports, {
41
41
  module.exports = __toCommonJS(work_context_handler_exports);
42
42
  var import_utils = require("@nocobase/utils");
43
43
  var import_lodash = __toESM(require("lodash"));
44
+ const MODEL_EXCLUDED_FIELDS = /* @__PURE__ */ new Set(["frontendTools"]);
44
45
  const createWorkContextHandler = (plugin) => new WorkContextHandlerImpl(plugin);
45
46
  class WorkContextHandlerImpl {
46
47
  constructor(plugin) {
@@ -82,11 +83,17 @@ class WorkContextHandlerImpl {
82
83
  if (!contextItem) {
83
84
  return "";
84
85
  }
85
- const { resolve } = this.strategies.get(contextItem.type) ?? {};
86
+ const modelContext = this.excludeInternalFields(contextItem);
87
+ const { resolve } = this.strategies.get(modelContext.type) ?? {};
86
88
  if (resolve) {
87
- return await resolve(ctx, contextItem);
89
+ return await resolve(ctx, modelContext);
88
90
  }
89
- return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, contextItem));
91
+ return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, modelContext));
92
+ }
93
+ excludeInternalFields(contextItem) {
94
+ return Object.fromEntries(
95
+ Object.entries(contextItem).filter(([field]) => !MODEL_EXCLUDED_FIELDS.has(field))
96
+ );
90
97
  }
91
98
  }
92
99
  const Stringify = (_plugin) => async (_ctx, contextItem) => {
@@ -7,6 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Context, Next } from '@nocobase/actions';
10
+ import { Model } from '@nocobase/database';
11
+ export declare function isAIEmployeeEnabled(employee: Model | null | undefined): boolean;
10
12
  declare function loginInCheck(ctx: Context, next: Next): Promise<never>;
11
13
  declare const _default: {
12
14
  name: string;
@@ -36,7 +36,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
37
  var aiConversations_exports = {};
38
38
  __export(aiConversations_exports, {
39
- default: () => aiConversations_default
39
+ default: () => aiConversations_default,
40
+ isAIEmployeeEnabled: () => isAIEmployeeEnabled
40
41
  });
41
42
  module.exports = __toCommonJS(aiConversations_exports);
42
43
  var import_actions = __toESM(require("@nocobase/actions"));
@@ -44,6 +45,8 @@ var import_database = require("@nocobase/database");
44
45
  var import_utils = require("../utils");
45
46
  var import_ai_employee = require("../ai-employees/ai-employee");
46
47
  var import_ai_chat_conversation = require("../manager/ai-chat-conversation");
48
+ var import_frontend_tools = require("../../common/frontend-tools");
49
+ var import_frontend_tools2 = require("../frontend-tools");
47
50
  async function getAIEmployee(ctx, username) {
48
51
  var _a;
49
52
  const filter = {
@@ -57,6 +60,10 @@ async function getAIEmployee(ctx, username) {
57
60
  });
58
61
  return employee;
59
62
  }
63
+ function isAIEmployeeEnabled(employee) {
64
+ var _a;
65
+ return ((_a = employee == null ? void 0 : employee.get) == null ? void 0 : _a.call(employee, "enabled")) !== false;
66
+ }
60
67
  function setupSSEHeaders(ctx) {
61
68
  ctx.set({
62
69
  "Content-Type": "text/event-stream",
@@ -202,6 +209,9 @@ var aiConversations_default = {
202
209
  if (!employee) {
203
210
  ctx.throw(400, "AI employee not found");
204
211
  }
212
+ if (!isAIEmployeeEnabled(employee)) {
213
+ ctx.throw(400, "AI employee is disabled");
214
+ }
205
215
  try {
206
216
  ctx.body = await plugin.aiConversationsManager.create({
207
217
  userId,
@@ -672,6 +682,17 @@ var aiConversations_default = {
672
682
  if (!(toolCalls == null ? void 0 : toolCalls.length)) {
673
683
  ctx.throw(400);
674
684
  }
685
+ const selectedToolCall = toolCalls.find((toolCall2) => toolCall2.id === toolCallId);
686
+ if (!selectedToolCall) {
687
+ ctx.throw(400);
688
+ }
689
+ if (selectedToolCall.name === import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME) {
690
+ const toolId = isRecord(selectedToolCall.args) ? selectedToolCall.args.toolId : void 0;
691
+ const frontendTool = typeof toolId === "string" ? await (0, import_frontend_tools2.findCurrentFrontendTool)(ctx, toolId, message.sessionId) : void 0;
692
+ if (!frontendTool) {
693
+ ctx.throw(400, ctx.t("Frontend tool is unavailable"));
694
+ }
695
+ }
675
696
  const aiToolMessagesModel = ctx.db.getModel("aiToolMessages");
676
697
  const toolCall = await aiToolMessagesModel.findOne({
677
698
  where: { sessionId: message.sessionId, messageId: message.messageId, toolCallId }
@@ -715,6 +736,7 @@ var aiConversations_default = {
715
736
  toolCall2.auto = toolMessage == null ? void 0 : toolMessage.auto;
716
737
  toolCall2.status = toolMessage == null ? void 0 : toolMessage.status;
717
738
  toolCall2.content = toolMessage == null ? void 0 : toolMessage.content;
739
+ toolCall2.userDecision = toolMessage == null ? void 0 : toolMessage.userDecision;
718
740
  toolCall2.execution = tools == null ? void 0 : tools.execution;
719
741
  toolCall2.willInterrupt = (tools == null ? void 0 : tools.execution) === "frontend" || (toolMessage == null ? void 0 : toolMessage.auto) === false;
720
742
  toolCall2.defaultPermission = tools == null ? void 0 : tools.defaultPermission;
@@ -801,3 +823,7 @@ var aiConversations_default = {
801
823
  }
802
824
  }
803
825
  };
826
+ // Annotate the CommonJS export names for ESM import in node:
827
+ 0 && (module.exports = {
828
+ isAIEmployeeEnabled
829
+ });
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "description": "Create AI employees with diverse skills to collaborate with humans, build systems, and handle business operations.",
7
7
  "description.ru-RU": "Поддержка интеграции с AI-сервисами: предоставляются AI-узлы для рабочих процессов, расширяя возможности бизнес-обработки.",
8
8
  "description.zh-CN": "创建各种技能的 AI 员工,与人类协同,搭建系统,处理业务。",
9
- "version": "2.1.31",
9
+ "version": "2.2.0-alpha.10",
10
10
  "main": "dist/server/index.js",
11
11
  "homepage": "https://docs.nocobase.com/handbook/action-ai",
12
12
  "homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/action-ai",
@@ -34,6 +34,8 @@
34
34
  "@ant-design/x": "^1.1.0",
35
35
  "@dicebear/core": "^9.2.3",
36
36
  "@dicebear/notionists": "^9.2.3",
37
+ "@dnd-kit/core": "^6.0.0",
38
+ "@dnd-kit/sortable": "^7.0.0",
37
39
  "@langchain/anthropic": "1.3.17",
38
40
  "@langchain/community": "1.1.29",
39
41
  "@langchain/core": "1.1.49",
@@ -59,12 +61,10 @@
59
61
  "react-syntax-highlighter": "^15.6.1",
60
62
  "rehype-raw": "^7.0.0",
61
63
  "rehype-sanitize": "^6.0.0",
62
- "remark-gfm": "^4.0.1",
63
- "use-context-selector": "^2.0.0",
64
- "zustand": "^5.0.6"
64
+ "remark-gfm": "^4.0.1"
65
65
  },
66
66
  "keywords": [
67
67
  "AI"
68
68
  ],
69
- "gitHead": "b5d46b76adb72b4fa736dd0e6c89d8a0bc83bfe8"
69
+ "gitHead": "b5a3f131bb0a4a2fbfd96852896bccadc933d834"
70
70
  }
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["119"],{4498:function(e,t,n){n.r(t),n.d(t,{CodeToolCard:function(){return y},buildToolCodeBlock:function(){return g},compactPatchForDisplay:function(){return f},shouldSkipCodeToolCardRender:function(){return p}});var r=n(9155),o=n.n(r),l=n(5475),a=n(4281);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return i(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return i(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){return"writeJSCode"===e?"string"==typeof t.code?t.code:void 0:"patchJSCode"===e&&"string"==typeof t.patch?t.patch:void 0}function s(e){var t=function(e){if("string"!=typeof e)return e;var t=e.trim();if(!t)return{};try{return JSON.parse((0,l.m)(t))}catch(e){return}}(e.args);return t&&(void 0===t?"undefined":t&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"?t:null}function p(e,t){if(!g(e.toolCall))return!1;var n,r=s(t.toolCall);if(!r)return!0;var o=u(e.toolCall.name,null!=(n=s(e.toolCall))?n:{}),l=u(t.toolCall.name,r);return!!o&&(!l||l.length<.8*o.length)}function f(e){for(var t,n=e&&null!=(t=e.match(/[^\n]*\n|[^\n]+/g))?t:[],r=[],o=0;o<n.length;){var l=n[o];if(!l.startsWith("@@ ")){r.push(l),o++;continue}r.push(l),o++;for(var a=[];o<n.length&&!n[o].startsWith("@@ ");)a.push(n[o]),o++;r.push.apply(r,c(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=e.reduce(function(e,t,n){return(t.startsWith("+")||t.startsWith("-"))&&e.push(n),e},[]);if(!n.length||e.length<=80)return e;var r=new Set,o=!0,l=!1,a=void 0;try{for(var i,u=n[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)for(var s=i.value,p=Math.max(0,s-t);p<=Math.min(e.length-1,s+t);p++)r.add(p)}catch(e){l=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(l)throw a}}var f=[],g=-1,y=!0,d=!1,m=void 0;try{for(var b,h=c(r).sort(function(e,t){return e-t})[Symbol.iterator]();!(y=(b=h.next()).done);y=!0){var v=b.value;-1!==g&&v>g+1&&f.push(" ...\n"),f.push(e[v]),g=v}}catch(e){d=!0,m=e}finally{try{y||null==h.return||h.return()}finally{if(d)throw m}}return f}(function(e){for(var t=[],n=0;n<e.length;){var r=e[n],o=e[n+1];if((null==r?void 0:r.startsWith("-"))&&(null==o?void 0:o.startsWith("+"))&&!r.startsWith("---")&&!o.startsWith("+++")&&r.slice(1)===o.slice(1)){t.push(" ".concat(r.slice(1))),n+=2;continue}t.push(r),n++}return t}(a))))}return r.join("")}function g(e){var t=s(e);return t?"writeJSCode"===e.name&&"string"==typeof t.code&&t.code?{language:"js",value:t.code}:"patchJSCode"===e.name&&"string"==typeof t.patch&&t.patch?{language:"diff",value:f(t.patch)}:null:null}var y=o().memo(function(e){var t=g(e.toolCall);return t?o().createElement("div",{style:{padding:"4px 12px"}},o().createElement(a.w,{className:"language-".concat(t.language)},t.value)):null},p)},4281:function(e,t,n){n.d(t,{w:function(){return S},Rs:function(){return C},Cy:function(){return P}});var r=n(9155),o=n.n(r),l=n(2059),a=n(7375),i=n(3342),c=n(3079),u=n(8680),s=n(7694),p=n(7546),f=n(7596);function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function d(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var m=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,b=function(e){var t=e.language,n=e.value,r=e.height,l=e.scrollToBottom,a=d(e,["language","value","height","scrollToBottom"]);return o().createElement(m,y(g({},a),{language:t,value:n,height:r,scrollToBottom:l}))},h=function(e){var t=(0,s.useFlowContext)(),n=(0,c.kj)(),r=f.J.use.currentConversation(),i=(0,p.Y)(r),u=e.children,m=e.className,h=(e.node,e.message),O=d(e,["children","className","node","message"]),w=/language-(\w+)/.exec(m||""),E=w?w[1]:"",j=String(u).replace(/<!--[\s\S]*?-->/g,"").replace(/\n$/,""),C=l.App.useApp().message,S=!0;(null==h?void 0:h.type)==="text"&&(S=RegExp("```"+E+"[\\s\\S]*?```","s").test(h.content));var P=i.use.editorRef()[i.use.currentEditorRefUid()];return w?o().createElement(l.Card,{type:"inner",size:"small",title:o().createElement(l.Space,{style:{margin:"0 8px"},size:"middle"},o().createElement(a.CodeOutlined,null),o().createElement("span",null,E)),extra:o().createElement(o().Fragment,null,o().createElement(l.Tooltip,{title:n("Copy")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.CopyOutlined,null),onClick:function(){navigator.clipboard.writeText(j),C.success(n("Copied"))}})),o().createElement(l.Divider,{type:"vertical"}),o().createElement(l.Tooltip,{title:n("Expand")},o().createElement(l.Button,{type:"text",icon:o().createElement(a.ExpandOutlined,null),onClick:function(){t.viewer.dialog({width:"80%",zIndex:6e3,content:o().createElement(v,y(g({},O),{language:E,value:j,height:"75vh"}))})}}))),styles:{header:{padding:0},body:{padding:0}},actions:P?[o().createElement(l.Button,{key:"accept",type:"link",onClick:function(e){e.stopPropagation(),null==P||P.write(j),t.message.info(n("Applied"))},disabled:!S},n("Apply to editor"))]:[]},o().createElement(b,y(g({},O),{language:E,value:j,scrollToBottom:!S}))):o().createElement(l.Typography.Text,y(g({code:!0},O),{className:m}),u)},v=function(e){var t=e.language,n=e.value,r=d(e,["language","value"]),i=(0,s.useFlowViewContext)(),c=i.view.Header,u=o().createElement(l.Button,{type:"text",icon:o().createElement(a.CloseOutlined,null),onClick:function(){i.view.close()}});return o().createElement("div",{style:{borderRadius:8}},o().createElement(c,{title:o().createElement(o().Fragment,null,o().createElement(l.Space,null,u,o().createElement("span",null,t)))}),o().createElement(b,y(g({},r),{language:t,value:n})))};function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function E(e,t){if(null==e)return{};var n,r,o,l={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}if(l=function(e,t){if(null==e)return{};var n,r,o={},l=Object.getOwnPropertyNames(e);for(r=0;r<l.length;r++)n=l[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r]);return l}var j=(0,i.lazy)(function(){return Promise.all([n.e("428"),n.e("758")]).then(n.bind(n,2733))},"CodeHighlight").CodeHighlight,C=function(e){var t=e.language,n=e.value,r=E(e,["language","value"]);return o().createElement(j,w(O({},r),{language:t,value:n}))},S=function(e){var t=e.children,n=e.className,r=(e.node,e.message,E(e,["children","className","node","message"])),u=/language-(\w+)/.exec(n||""),s=u?u[1]:"",p=(0,i.useToken)().token,f=(0,c.kj)(),g=String(t).replace(/\n$/,""),y=l.App.useApp().message;return u?o().createElement(l.Card,{size:"small",title:s,styles:{title:{fontSize:p.fontSize,fontWeight:400},body:{width:"100%",fontSize:p.fontSizeSM}},extra:o().createElement(l.Button,{variant:"link",color:"default",size:"small",onClick:function(){navigator.clipboard.writeText(g),y.success(f("Copied"))},icon:o().createElement(a.CopyOutlined,null)})},o().createElement(C,w(O({},r),{language:s,value:g}))):o().createElement(l.Typography.Text,w(O({code:!0},r),{className:n}),t)},P=function(e){var t=e.className,n=/language-(\w+)/.exec(t||""),r=n?n[1]:"",l=f.J.use.currentConversation(),a=(0,p.Y)(l);return a.use.editorRef()[a.use.currentEditorRefUid()]&&(0,u._t)(r)?o().createElement(h,e):o().createElement(S,e)}}}]);
@@ -1,10 +0,0 @@
1
- /**
2
- * This file is part of the NocoBase (R) project.
3
- * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
- * Authors: NocoBase Team.
5
- *
6
- * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
- * For more information, please refer to: https://www.nocobase.com/agreement.
8
- */
9
-
10
- "use strict";(self.webpackChunk_nocobase_plugin_ai=self.webpackChunk_nocobase_plugin_ai||[]).push([["170"],{244:function(e,t,n){var r=n(9155);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=Object.prototype.hasOwnProperty,l=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,u={},s={};function i(e){return!!o.call(s,e)||!o.call(u,e)&&(l.test(e)?s[e]=!0:(u[e]=!0,!1))}function c(e,t,n,r,a,o,l){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=l}var d={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){d[e]=new c(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];d[t]=new c(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){d[e]=new c(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){d[e]=new c(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){d[e]=new c(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){d[e]=new c(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){d[e]=new c(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){d[e]=new c(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){d[e]=new c(e,5,!1,e.toLowerCase(),null,!1,!1)});var f=/[\-:]([a-z])/g;function p(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(f,p);d[t]=new c(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(f,p);d[t]=new c(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(f,p);d[t]=new c(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){d[e]=new c(e,1,!1,e.toLowerCase(),null,!1,!1)}),d.xlinkHref=new c("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){d[e]=new c(e,1,!1,e.toLowerCase(),null,!0,!0)});var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=["Webkit","ms","Moz","O"];Object.keys(h).forEach(function(e){g.forEach(function(t){h[t=t+e.charAt(0).toUpperCase()+e.substring(1)]=h[e]})});var m=/["'&<>]/;function b(e){if("boolean"==typeof e||"number"==typeof e)return""+e;e=""+e;var t=m.exec(e);if(t){var n,r="",a=0;for(n=t.index;n<e.length;n++){switch(e.charCodeAt(n)){case 34:t="&quot;";break;case 38:t="&amp;";break;case 39:t="&#x27;";break;case 60:t="&lt;";break;case 62:t="&gt;";break;default:continue}a!==n&&(r+=e.substring(a,n)),a=n+1,r+=t}e=a!==n?r+e.substring(a,n):r}return e}var y=/([A-Z])/g,v=/^ms-/,S=Array.isArray;function k(e,t){return{insertionMode:e,selectedValue:t}}var x=new Map;function w(e,t,n){if("object"!=typeof n)throw Error(a(62));for(var r in t=!0,n)if(o.call(n,r)){var l=n[r];if(null!=l&&"boolean"!=typeof l&&""!==l){if(0===r.indexOf("--")){var u=b(r);l=b((""+l).trim())}else{u=r;var s=x.get(u);void 0!==s||(s=b(u.replace(y,"-$1").toLowerCase().replace(v,"-ms-")),x.set(u,s)),u=s,l="number"==typeof l?0===l||o.call(h,r)?""+l:l+"px":b((""+l).trim())}t?(t=!1,e.push(' style="',u,":",l)):e.push(";",u,":",l)}}t||e.push('"')}function C(e,t,n,r){switch(n){case"style":w(e,t,r);return;case"defaultValue":case"defaultChecked":case"innerHTML":case"suppressContentEditableWarning":case"suppressHydrationWarning":return}if(!(2<n.length)||"o"!==n[0]&&"O"!==n[0]||"n"!==n[1]&&"N"!==n[1]){if(null!==(t=d.hasOwnProperty(n)?d[n]:null)){switch(typeof r){case"function":case"symbol":return;case"boolean":if(!t.acceptsBooleans)return}switch(n=t.attributeName,t.type){case 3:r&&e.push(" ",n,'=""');break;case 4:!0===r?e.push(" ",n,'=""'):!1!==r&&e.push(" ",n,'="',b(r),'"');break;case 5:isNaN(r)||e.push(" ",n,'="',b(r),'"');break;case 6:!isNaN(r)&&1<=r&&e.push(" ",n,'="',b(r),'"');break;default:t.sanitizeURL&&(r=""+r),e.push(" ",n,'="',b(r),'"')}}else if(i(n)){switch(typeof r){case"function":case"symbol":return;case"boolean":if("data-"!==(t=n.toLowerCase().slice(0,5))&&"aria-"!==t)return}e.push(" ",n,'="',b(r),'"')}}}function E(e,t,n){if(null!=t){if(null!=n)throw Error(a(60));if("object"!=typeof t||!("__html"in t))throw Error(a(61));null!=(t=t.__html)&&e.push(""+t)}}function F(e,t,n,r){e.push(_(n));var a,l=n=null;for(a in t)if(o.call(t,a)){var u=t[a];if(null!=u)switch(a){case"children":n=u;break;case"dangerouslySetInnerHTML":l=u;break;default:C(e,r,a,u)}}return e.push(">"),E(e,l,n),"string"==typeof n?(e.push(b(n)),null):n}var T=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,R=new Map;function _(e){var t=R.get(e);if(void 0===t){if(!T.test(e))throw Error(a(65,e));t="<"+e,R.set(e,t)}return t}function P(e,t,n){if(e.push('\x3c!--$?--\x3e<template id="'),null===n)throw Error(a(395));return e.push(n),e.push('"></template>')}var I=/[<\u2028\u2029]/g;function M(e){return JSON.stringify(e).replace(I,function(e){switch(e){case"<":return"\\u003c";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React")}})}function B(e,t,n,r){return n.generateStaticMarkup?(e.push(b(t)),!1):(""===t?e=r:(r&&e.push("\x3c!-- --\x3e"),e.push(b(t)),e=!0),e)}var D=Object.assign,z=Symbol.for("react.element"),N=Symbol.for("react.portal"),V=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),O=Symbol.for("react.provider"),A=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),q=Symbol.for("react.suspense"),H=Symbol.for("react.suspense_list"),U=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),Z=Symbol.for("react.scope"),G=Symbol.for("react.debug_trace_mode"),X=Symbol.for("react.legacy_hidden"),J=Symbol.for("react.default_value"),Y=Symbol.iterator,K={};function Q(e,t){if(!(e=e.contextTypes))return K;var n,r={};for(n in e)r[n]=t[n];return r}var ee=null;function et(e,t){if(e!==t){e.context._currentValue2=e.parentValue,e=e.parent;var n=t.parent;if(null===e){if(null!==n)throw Error(a(401))}else{if(null===n)throw Error(a(401));et(e,n)}t.context._currentValue2=t.value}}function en(e){var t=ee;t!==e&&(null===t?function e(t){var n=t.parent;null!==n&&e(n),t.context._currentValue2=t.value}(e):null===e?function e(t){t.context._currentValue2=t.parentValue,null!==(t=t.parent)&&e(t)}(t):t.depth===e.depth?et(t,e):t.depth>e.depth?function e(t,n){if(t.context._currentValue2=t.parentValue,null===(t=t.parent))throw Error(a(402));t.depth===n.depth?et(t,n):e(t,n)}(t,e):function e(t,n){var r=n.parent;if(null===r)throw Error(a(402));t.depth===r.depth?et(t,r):e(t,r),n.context._currentValue2=n.value}(t,e),ee=e)}var er={isMounted:function(){return!1},enqueueSetState:function(e,t){null!==(e=e._reactInternals).queue&&e.queue.push(t)},enqueueReplaceState:function(e,t){(e=e._reactInternals).replace=!0,e.queue=[t]},enqueueForceUpdate:function(){}};function ea(e,t,n,r){var a=void 0!==e.state?e.state:null;e.updater=er,e.props=n,e.state=a;var o={queue:[],replace:!1};e._reactInternals=o;var l=t.contextType;if(e.context="object"==typeof l&&null!==l?l._currentValue2:r,"function"==typeof(l=t.getDerivedStateFromProps)&&(e.state=a=null==(l=l(n,a))?a:D({},a,l)),"function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate&&("function"==typeof e.UNSAFE_componentWillMount||"function"==typeof e.componentWillMount))if(t=e.state,"function"==typeof e.componentWillMount&&e.componentWillMount(),"function"==typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),t!==e.state&&er.enqueueReplaceState(e,e.state,null),null!==o.queue&&0<o.queue.length)if(t=o.queue,l=o.replace,o.queue=null,o.replace=!1,l&&1===t.length)e.state=t[0];else{for(o=l?t[0]:e.state,a=!0,l=+!!l;l<t.length;l++){var u=t[l];null!=(u="function"==typeof u?u.call(e,o,n,r):u)&&(a?(a=!1,o=D({},o,u)):D(o,u))}e.state=o}else o.queue=null}var eo={id:1,overflow:""};function el(e,t,n){var r=e.id;e=e.overflow;var a=32-eu(r)-1;r&=~(1<<a),n+=1;var o=32-eu(t)+a;if(30<o){var l=a-a%5;return o=(r&(1<<l)-1).toString(32),r>>=l,a-=l,{id:1<<32-eu(t)+a|n<<a|r,overflow:o+e}}return{id:1<<o|n<<a|r,overflow:e}}var eu=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(es(e)/ei|0)|0},es=Math.log,ei=Math.LN2,ec="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},ed=null,ef=null,ep=null,eh=null,eg=!1,em=!1,eb=0,ey=null,ev=0;function eS(){if(null===ed)throw Error(a(321));return ed}function ek(){if(0<ev)throw Error(a(312));return{memoizedState:null,queue:null,next:null}}function ex(){return null===eh?null===ep?(eg=!1,ep=eh=ek()):(eg=!0,eh=ep):null===eh.next?(eg=!1,eh=eh.next=ek()):(eg=!0,eh=eh.next),eh}function ew(){ef=ed=null,em=!1,ep=null,ev=0,eh=ey=null}function eC(e,t){return"function"==typeof t?t(e):t}function eE(e,t,n){if(ed=eS(),eh=ex(),eg){var r=eh.queue;if(t=r.dispatch,null!==ey&&void 0!==(n=ey.get(r))){ey.delete(r),r=eh.memoizedState;do r=e(r,n.action),n=n.next;while(null!==n);return eh.memoizedState=r,[r,t]}return[eh.memoizedState,t]}return e=e===eC?"function"==typeof t?t():t:void 0!==n?n(t):t,eh.memoizedState=e,e=(e=eh.queue={last:null,dispatch:null}).dispatch=eT.bind(null,ed,e),[eh.memoizedState,e]}function eF(e,t){if(ed=eS(),eh=ex(),t=void 0===t?null:t,null!==eh){var n=eh.memoizedState;if(null!==n&&null!==t){var r=n[1];e:if(null===r)r=!1;else{for(var a=0;a<r.length&&a<t.length;a++)if(!ec(t[a],r[a])){r=!1;break e}r=!0}if(r)return n[0]}}return e=e(),eh.memoizedState=[e,t],e}function eT(e,t,n){if(25<=ev)throw Error(a(301));if(e===ed)if(em=!0,e={action:n,next:null},null===ey&&(ey=new Map),void 0===(n=ey.get(t)))ey.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}}function eR(){throw Error(a(394))}function e_(){}var eP={readContext:function(e){return e._currentValue2},useContext:function(e){return eS(),e._currentValue2},useMemo:eF,useReducer:eE,useRef:function(e){ed=eS();var t=(eh=ex()).memoizedState;return null===t?(e={current:e},eh.memoizedState=e):t},useState:function(e){return eE(eC,e)},useInsertionEffect:e_,useLayoutEffect:function(){},useCallback:function(e,t){return eF(function(){return e},t)},useImperativeHandle:e_,useEffect:e_,useDebugValue:e_,useDeferredValue:function(e){return eS(),e},useTransition:function(){return eS(),[!1,eR]},useId:function(){var e=ef.treeContext,t=e.overflow;e=((e=e.id)&~(1<<32-eu(e)-1)).toString(32)+t;var n=eI;if(null===n)throw Error(a(404));return t=eb++,e=":"+n.idPrefix+"R"+e,0<t&&(e+="H"+t.toString(32)),e+":"},useMutableSource:function(e,t){return eS(),t(e._source)},useSyncExternalStore:function(e,t,n){if(void 0===n)throw Error(a(407));return n()}},eI=null,eM=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function eB(e){return console.error(e),null}function eD(){}function ez(e,t,n,r,a,o,l,u){e.allPendingTasks++,null===n?e.pendingRootTasks++:n.pendingTasks++;var s={node:t,ping:function(){var t=e.pingedTasks;t.push(s),1===t.length&&eG(e)},blockedBoundary:n,blockedSegment:r,abortSet:a,legacyContext:o,context:l,treeContext:u};return a.add(s),s}function eN(e,t,n,r,a,o){return{status:0,id:-1,index:t,parentFlushed:!1,chunks:[],children:[],formatContext:r,boundary:n,lastPushedText:a,textEmbedded:o}}function eV(e,t){if(null!=(e=e.onError(t))&&"string"!=typeof e)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof e+'" instead');return e}function e$(e,t){var n=e.onShellError;n(t),(n=e.onFatalError)(t),null!==e.destination?(e.status=2,e.destination.destroy(t)):(e.status=1,e.fatalError=t)}function eL(e,t,n,r,a){for(ed={},ef=t,eb=0,e=n(r,a);em;)em=!1,eb=0,ev+=1,eh=null,e=n(r,a);return ew(),e}function eO(e,t,n,r){var o=n.render(),l=r.childContextTypes;if(null!=l){var u=t.legacyContext;if("function"!=typeof n.getChildContext)r=u;else{for(var s in n=n.getChildContext())if(!(s in l))throw Error(a(108,function e(t){if(null==t)return null;if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case V:return"Fragment";case N:return"Portal";case L:return"Profiler";case $:return"StrictMode";case q:return"Suspense";case H:return"SuspenseList"}if("object"==typeof t)switch(t.$$typeof){case A:return(t.displayName||"Context")+".Consumer";case O:return(t._context.displayName||"Context")+".Provider";case j:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case U:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case W:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(r)||"Unknown",s));r=D({},u,n)}t.legacyContext=r,ej(e,t,o),t.legacyContext=u}else ej(e,t,o)}function eA(e,t){if(e&&e.defaultProps)for(var n in t=D({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}function ej(e,t,n){if(t.node=n,"object"==typeof n&&null!==n){switch(n.$$typeof){case z:!function e(t,n,l,u,s){if("function"==typeof l)if(l.prototype&&l.prototype.isReactComponent){s=Q(l,n.legacyContext);var c=l.contextType;ea(c=new l(u,"object"==typeof c&&null!==c?c._currentValue2:s),l,u,s),eO(t,n,c,l)}else{c=Q(l,n.legacyContext),s=eL(t,n,l,u,c);var d=0!==eb;if("object"==typeof s&&null!==s&&"function"==typeof s.render&&void 0===s.$$typeof)ea(s,l,u,c),eO(t,n,s,l);else if(d){u=n.treeContext,n.treeContext=el(u,1,0);try{ej(t,n,s)}finally{n.treeContext=u}}else ej(t,n,s)}else if("string"==typeof l){switch(c=function(e,t,n,l,u){switch(t){case"select":e.push(_("select"));var s=null,c=null;for(m in n)if(o.call(n,m)){var d=n[m];if(null!=d)switch(m){case"children":s=d;break;case"dangerouslySetInnerHTML":c=d;break;case"defaultValue":case"value":break;default:C(e,l,m,d)}}return e.push(">"),E(e,c,s),s;case"option":c=u.selectedValue,e.push(_("option"));var f,p,h=d=null,g=null,m=null;for(s in n)if(o.call(n,s)){var y=n[s];if(null!=y)switch(s){case"children":d=y;break;case"selected":g=y;break;case"dangerouslySetInnerHTML":m=y;break;case"value":h=y;default:C(e,l,s,y)}}if(null!=c)if(n=null!==h?""+h:(f=d,p="",r.Children.forEach(f,function(e){null!=e&&(p+=e)}),p),S(c)){for(l=0;l<c.length;l++)if(""+c[l]===n){e.push(' selected=""');break}}else""+c===n&&e.push(' selected=""');else g&&e.push(' selected=""');return e.push(">"),E(e,m,d),d;case"textarea":for(d in e.push(_("textarea")),m=c=s=null,n)if(o.call(n,d)&&null!=(h=n[d]))switch(d){case"children":m=h;break;case"value":s=h;break;case"defaultValue":c=h;break;case"dangerouslySetInnerHTML":throw Error(a(91));default:C(e,l,d,h)}if(null===s&&null!==c&&(s=c),e.push(">"),null!=m){if(null!=s)throw Error(a(92));if(S(m)&&1<m.length)throw Error(a(93));s=""+m}return"string"==typeof s&&"\n"===s[0]&&e.push("\n"),null!==s&&e.push(b(""+s)),null;case"input":for(c in e.push(_("input")),h=m=d=s=null,n)if(o.call(n,c)&&null!=(g=n[c]))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(a(399,"input"));case"defaultChecked":h=g;break;case"defaultValue":d=g;break;case"checked":m=g;break;case"value":s=g;break;default:C(e,l,c,g)}return null!==m?C(e,l,"checked",m):null!==h&&C(e,l,"checked",h),null!==s?C(e,l,"value",s):null!==d&&C(e,l,"value",d),e.push("/>"),null;case"menuitem":for(var v in e.push(_("menuitem")),n)if(o.call(n,v)&&null!=(s=n[v]))switch(v){case"children":case"dangerouslySetInnerHTML":throw Error(a(400));default:C(e,l,v,s)}return e.push(">"),null;case"title":for(y in e.push(_("title")),s=null,n)if(o.call(n,y)&&null!=(c=n[y]))switch(y){case"children":s=c;break;case"dangerouslySetInnerHTML":throw Error(a(434));default:C(e,l,y,c)}return e.push(">"),s;case"listing":case"pre":for(h in e.push(_(t)),c=s=null,n)if(o.call(n,h)&&null!=(d=n[h]))switch(h){case"children":s=d;break;case"dangerouslySetInnerHTML":c=d;break;default:C(e,l,h,d)}if(e.push(">"),null!=c){if(null!=s)throw Error(a(60));if("object"!=typeof c||!("__html"in c))throw Error(a(61));null!=(n=c.__html)&&("string"==typeof n&&0<n.length&&"\n"===n[0]?e.push("\n",n):e.push(""+n))}return"string"==typeof s&&"\n"===s[0]&&e.push("\n"),s;case"area":case"base":case"br":case"col":case"embed":case"hr":case"img":case"keygen":case"link":case"meta":case"param":case"source":case"track":case"wbr":for(var k in e.push(_(t)),n)if(o.call(n,k)&&null!=(s=n[k]))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(a(399,t));default:C(e,l,k,s)}return e.push("/>"),null;case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return F(e,n,t,l);case"html":return 0===u.insertionMode&&e.push("<!DOCTYPE html>"),F(e,n,t,l);default:if(-1===t.indexOf("-")&&"string"!=typeof n.is)return F(e,n,t,l);for(g in e.push(_(t)),c=s=null,n)if(o.call(n,g)&&null!=(d=n[g]))switch(g){case"children":s=d;break;case"dangerouslySetInnerHTML":c=d;break;case"style":w(e,l,d);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":break;default:i(g)&&"function"!=typeof d&&"symbol"!=typeof d&&e.push(" ",g,'="',b(d),'"')}return e.push(">"),E(e,c,s),s}}((s=n.blockedSegment).chunks,l,u,t.responseState,s.formatContext),s.lastPushedText=!1,d=s.formatContext,s.formatContext=function(e,t,n){switch(t){case"select":return k(1,null!=n.value?n.value:n.defaultValue);case"svg":return k(2,null);case"math":return k(3,null);case"foreignObject":return k(1,null);case"table":return k(4,null);case"thead":case"tbody":case"tfoot":return k(5,null);case"colgroup":return k(7,null);case"tr":return k(6,null)}return 4<=e.insertionMode||0===e.insertionMode?k(1,null):e}(d,l,u),eH(t,n,c),s.formatContext=d,l){case"area":case"base":case"br":case"col":case"embed":case"hr":case"img":case"input":case"keygen":case"link":case"meta":case"param":case"source":case"track":case"wbr":break;default:s.chunks.push("</",l,">")}s.lastPushedText=!1}else{switch(l){case X:case G:case $:case L:case V:case H:ej(t,n,u.children);return;case Z:throw Error(a(343));case q:e:{l=n.blockedBoundary,s=n.blockedSegment,c=u.fallback,u=u.children;var f={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:d=new Set,errorDigest:null},p=eN(t,s.chunks.length,f,s.formatContext,!1,!1);s.children.push(p),s.lastPushedText=!1;var h=eN(t,0,null,s.formatContext,!1,!1);h.parentFlushed=!0,n.blockedBoundary=f,n.blockedSegment=h;try{if(eH(t,n,u),t.responseState.generateStaticMarkup||h.lastPushedText&&h.textEmbedded&&h.chunks.push("\x3c!-- --\x3e"),h.status=1,eW(f,h),0===f.pendingTasks)break e}catch(e){h.status=4,f.forceClientRender=!0,f.errorDigest=eV(t,e)}finally{n.blockedBoundary=l,n.blockedSegment=s}n=ez(t,c,l,p,d,n.legacyContext,n.context,n.treeContext),t.pingedTasks.push(n)}return}if("object"==typeof l&&null!==l)switch(l.$$typeof){case j:if(u=eL(t,n,l.render,u,s),0!==eb){l=n.treeContext,n.treeContext=el(l,1,0);try{ej(t,n,u)}finally{n.treeContext=l}}else ej(t,n,u);return;case U:u=eA(l=l.type,u),e(t,n,l,u,s);return;case O:if(s=u.children,l=l._context,u=u.value,c=l._currentValue2,l._currentValue2=u,ee=u={parent:d=ee,depth:null===d?0:d.depth+1,context:l,parentValue:c,value:u},n.context=u,ej(t,n,s),null===(t=ee))throw Error(a(403));u=t.parentValue,t.context._currentValue2=u===J?t.context._defaultValue:u,t=ee=t.parent,n.context=t;return;case A:ej(t,n,u=(u=u.children)(l._currentValue2));return;case W:u=eA(l=(s=l._init)(l._payload),u),e(t,n,l,u,void 0);return}throw Error(a(130,null==l?l:typeof l,""))}}(e,t,n.type,n.props,n.ref);return;case N:throw Error(a(257));case W:var l=n._init;ej(e,t,n=l(n._payload));return}if(S(n))return void eq(e,t,n);if((l=null===n||"object"!=typeof n?null:"function"==typeof(l=Y&&n[Y]||n["@@iterator"])?l:null)&&(l=l.call(n))){if(!(n=l.next()).done){var u=[];do u.push(n.value),n=l.next();while(!n.done);eq(e,t,u)}return}throw Error(a(31,"[object Object]"===(e=Object.prototype.toString.call(n))?"object with keys {"+Object.keys(n).join(", ")+"}":e))}"string"==typeof n?(l=t.blockedSegment).lastPushedText=B(t.blockedSegment.chunks,n,e.responseState,l.lastPushedText):"number"==typeof n&&((l=t.blockedSegment).lastPushedText=B(t.blockedSegment.chunks,""+n,e.responseState,l.lastPushedText))}function eq(e,t,n){for(var r=n.length,a=0;a<r;a++){var o=t.treeContext;t.treeContext=el(o,r,a);try{eH(e,t,n[a])}finally{t.treeContext=o}}}function eH(e,t,n){var r=t.blockedSegment.formatContext,a=t.legacyContext,o=t.context;try{return ej(e,t,n)}catch(s){if(ew(),"object"==typeof s&&null!==s&&"function"==typeof s.then){n=s;var l=t.blockedSegment,u=eN(e,l.chunks.length,null,l.formatContext,l.lastPushedText,!0);l.children.push(u),l.lastPushedText=!1,e=ez(e,t.node,t.blockedBoundary,u,t.abortSet,t.legacyContext,t.context,t.treeContext).ping,n.then(e,e),t.blockedSegment.formatContext=r,t.legacyContext=a,t.context=o,en(o)}else throw t.blockedSegment.formatContext=r,t.legacyContext=a,t.context=o,en(o),s}}function eU(e){var t=e.blockedBoundary;(e=e.blockedSegment).status=3,eZ(this,t,e)}function eW(e,t){if(0===t.chunks.length&&1===t.children.length&&null===t.children[0].boundary){var n=t.children[0];n.id=t.id,n.parentFlushed=!0,1===n.status&&eW(e,n)}else e.completedSegments.push(t)}function eZ(e,t,n){if(null===t){if(n.parentFlushed){if(null!==e.completedRootSegment)throw Error(a(389));e.completedRootSegment=n}e.pendingRootTasks--,0===e.pendingRootTasks&&(e.onShellError=eD,(t=e.onShellReady)())}else t.pendingTasks--,t.forceClientRender||(0===t.pendingTasks?(n.parentFlushed&&1===n.status&&eW(t,n),t.parentFlushed&&e.completedBoundaries.push(t),t.fallbackAbortableTasks.forEach(eU,e),t.fallbackAbortableTasks.clear()):n.parentFlushed&&1===n.status&&(eW(t,n),1===t.completedSegments.length&&t.parentFlushed&&e.partialBoundaries.push(t)));e.allPendingTasks--,0===e.allPendingTasks&&(e=e.onAllReady)()}function eG(e){if(2!==e.status){var t=ee,n=eM.current;eM.current=eP;var r=eI;eI=e.responseState;try{var a,o=e.pingedTasks;for(a=0;a<o.length;a++){var l=o[a],u=l.blockedSegment;if(0===u.status){en(l.context);try{ej(e,l,l.node),e.responseState.generateStaticMarkup||u.lastPushedText&&u.textEmbedded&&u.chunks.push("\x3c!-- --\x3e"),l.abortSet.delete(l),u.status=1,eZ(e,l.blockedBoundary,u)}catch(t){if(ew(),"object"==typeof t&&null!==t&&"function"==typeof t.then){var s=l.ping;t.then(s,s)}else{l.abortSet.delete(l),u.status=4;var i=l.blockedBoundary,c=eV(e,t);null===i?e$(e,t):(i.pendingTasks--,i.forceClientRender||(i.forceClientRender=!0,i.errorDigest=c,i.parentFlushed&&e.clientRenderedBoundaries.push(i))),e.allPendingTasks--,0===e.allPendingTasks&&(0,e.onAllReady)()}}finally{}}}o.splice(0,a),null!==e.destination&&e0(e,e.destination)}catch(t){eV(e,t),e$(e,t)}finally{eI=r,eM.current=n,n===eP&&en(t)}}}function eX(e,t,n){switch(n.parentFlushed=!0,n.status){case 0:var r=n.id=e.nextSegmentId++;return n.lastPushedText=!1,n.textEmbedded=!1,e=e.responseState,t.push('<template id="'),t.push(e.placeholderPrefix),e=r.toString(16),t.push(e),t.push('"></template>');case 1:n.status=2;var o=!0;r=n.chunks;var l=0;n=n.children;for(var u=0;u<n.length;u++){for(o=n[u];l<o.index;l++)t.push(r[l]);o=eJ(e,t,o)}for(;l<r.length-1;l++)t.push(r[l]);return l<r.length&&(o=t.push(r[l])),o;default:throw Error(a(390))}}function eJ(e,t,n){var r=n.boundary;if(null===r)return eX(e,t,n);if(r.parentFlushed=!0,r.forceClientRender)return e.responseState.generateStaticMarkup||(r=r.errorDigest,t.push("\x3c!--$!--\x3e"),t.push("<template"),r&&(t.push(' data-dgst="'),r=b(r),t.push(r),t.push('"')),t.push("></template>")),eX(e,t,n),e=!!e.responseState.generateStaticMarkup||t.push("\x3c!--/$--\x3e");if(0<r.pendingTasks){r.rootSegmentID=e.nextSegmentId++,0<r.completedSegments.length&&e.partialBoundaries.push(r);var o=e.responseState,l=o.nextSuspenseID++;return o=o.boundaryPrefix+l.toString(16),r=r.id=o,P(t,e.responseState,r),eX(e,t,n),t.push("\x3c!--/$--\x3e")}if(r.byteSize>e.progressiveChunkSize)return r.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(r),P(t,e.responseState,r.id),eX(e,t,n),t.push("\x3c!--/$--\x3e");if(e.responseState.generateStaticMarkup||t.push("\x3c!--$--\x3e"),1!==(n=r.completedSegments).length)throw Error(a(391));return eJ(e,t,n[0]),e=!!e.responseState.generateStaticMarkup||t.push("\x3c!--/$--\x3e")}function eY(e,t,n){switch(!function(e,t,n,r){switch(n.insertionMode){case 0:case 1:return e.push('<div hidden id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 2:return e.push('<svg aria-hidden="true" style="display:none" id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 3:return e.push('<math aria-hidden="true" style="display:none" id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 4:return e.push('<table hidden id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 5:return e.push('<table hidden><tbody id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 6:return e.push('<table hidden><tr id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');case 7:return e.push('<table hidden><colgroup id="'),e.push(t.segmentPrefix),t=r.toString(16),e.push(t),e.push('">');default:throw Error(a(397))}}(t,e.responseState,n.formatContext,n.id),eJ(e,t,n),n.formatContext.insertionMode){case 0:case 1:return t.push("</div>");case 2:return t.push("</svg>");case 3:return t.push("</math>");case 4:return t.push("</table>");case 5:return t.push("</tbody></table>");case 6:return t.push("</tr></table>");case 7:return t.push("</colgroup></table>");default:throw Error(a(397))}}function eK(e,t,n){for(var r=n.completedSegments,o=0;o<r.length;o++)eQ(e,t,n,r[o]);if(r.length=0,e=e.responseState,r=n.id,n=n.rootSegmentID,t.push(e.startInlineScript),e.sentCompleteBoundaryFunction?t.push('$RC("'):(e.sentCompleteBoundaryFunction=!0,t.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("')),null===r)throw Error(a(395));return n=n.toString(16),t.push(r),t.push('","'),t.push(e.segmentPrefix),t.push(n),t.push('")<\/script>')}function eQ(e,t,n,r){if(2===r.status)return!0;var o=r.id;if(-1===o){if(-1===(r.id=n.rootSegmentID))throw Error(a(392));return eY(e,t,r)}return eY(e,t,r),e=e.responseState,t.push(e.startInlineScript),e.sentCompleteSegmentFunction?t.push('$RS("'):(e.sentCompleteSegmentFunction=!0,t.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("')),t.push(e.segmentPrefix),o=o.toString(16),t.push(o),t.push('","'),t.push(e.placeholderPrefix),t.push(o),t.push('")<\/script>')}function e0(e,t){try{var n=e.completedRootSegment;if(null!==n&&0===e.pendingRootTasks){eJ(e,t,n),e.completedRootSegment=null;var r=e.responseState.bootstrapChunks;for(n=0;n<r.length-1;n++)t.push(r[n]);n<r.length&&t.push(r[n])}var o,l=e.clientRenderedBoundaries;for(o=0;o<l.length;o++){var u=l[o];r=t;var s=e.responseState,i=u.id,c=u.errorDigest,d=u.errorMessage,f=u.errorComponentStack;if(r.push(s.startInlineScript),s.sentClientRenderFunction?r.push('$RX("'):(s.sentClientRenderFunction=!0,r.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("')),null===i)throw Error(a(395));if(r.push(i),r.push('"'),c||d||f){r.push(",");var p=M(c||"");r.push(p)}if(d||f){r.push(",");var h=M(d||"");r.push(h)}if(f){r.push(",");var g=M(f);r.push(g)}if(!r.push(")<\/script>")){e.destination=null,o++,l.splice(0,o);return}}l.splice(0,o);var m=e.completedBoundaries;for(o=0;o<m.length;o++)if(!eK(e,t,m[o])){e.destination=null,o++,m.splice(0,o);return}m.splice(0,o);var b=e.partialBoundaries;for(o=0;o<b.length;o++){var y=b[o];e:{l=e,u=t;var v=y.completedSegments;for(s=0;s<v.length;s++)if(!eQ(l,u,y,v[s])){s++,v.splice(0,s);var S=!1;break e}v.splice(0,s),S=!0}if(!S){e.destination=null,o++,b.splice(0,o);return}}b.splice(0,o);var k=e.completedBoundaries;for(o=0;o<k.length;o++)if(!eK(e,t,k[o])){e.destination=null,o++,k.splice(0,o);return}k.splice(0,o)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&t.push(null)}}function e1(){}function e2(e,t,n,r){var o,l,u,s,i,c,d,f,p,h,g,m=!1,b=null,y="",v={push:function(e){return null!==e&&(y+=e),!0},destroy:function(e){m=!0,b=e}},S=!1;l=e,u={bootstrapChunks:[],startInlineScript:"<script>",placeholderPrefix:(o=void 0===(o=t?t.identifierPrefix:void 0)?"":o)+"P:",segmentPrefix:o+"S:",boundaryPrefix:o+"B:",idPrefix:o,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:n},s={insertionMode:1,selectedValue:null},i=1/0,c=void 0,d=function(){S=!0},f=void 0,p=void 0,h=[],(s=eN(u={destination:null,responseState:u,progressiveChunkSize:void 0===i?12800:i,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:g=new Set,pingedTasks:h,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===e1?eB:e1,onAllReady:void 0===c?eD:c,onShellReady:void 0===d?eD:d,onShellError:void 0===f?eD:f,onFatalError:void 0===p?eD:p},0,null,s,!1,!1)).parentFlushed=!0,l=ez(u,l,null,s,g,K,null,eo),h.push(l),eG(e=u);var k=e;try{var x=k.abortableTasks;x.forEach(function(e){return function e(t,n,r){var o=t.blockedBoundary;t.blockedSegment.status=3,null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,t=void 0===r?Error(a(432)):r,o.errorDigest=n.onError(t),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach(function(t){return e(t,n,r)}),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady)())}(e,k,r)}),x.clear(),null!==k.destination&&e0(k,k.destination)}catch(e){eV(k,e),e$(k,e)}if(1===e.status)e.status=2,v.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=v;try{e0(e,v)}catch(t){eV(e,t),e$(e,t)}}if(m)throw b;if(!S)throw Error(a(426));return y}t.renderToNodeStream=function(){throw Error(a(207))},t.renderToStaticMarkup=function(e,t){return e2(e,t,!0,'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},t.renderToStaticNodeStream=function(){throw Error(a(208))},t.renderToString=function(e,t){return e2(e,t,!1,'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server')},t.version="18.2.0"},6440:function(e,t,n){var r=n(9155);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=null,l=0;function u(e,t){if(0!==t.length)if(512<t.length)0<l&&(e.enqueue(new Uint8Array(o.buffer,0,l)),o=new Uint8Array(512),l=0),e.enqueue(t);else{var n=o.length-l;n<t.length&&(0===n?e.enqueue(o):(o.set(t.subarray(0,n),l),e.enqueue(o),t=t.subarray(n)),o=new Uint8Array(512),l=0),o.set(t,l),l+=t.length}}function s(e,t){return u(e,t),!0}function i(e){o&&0<l&&(e.enqueue(new Uint8Array(o.buffer,0,l)),o=null,l=0)}var c=new TextEncoder;function d(e){return c.encode(e)}function f(e){return c.encode(e)}function p(e,t){"function"==typeof e.error?e.error(t):e.close()}var h=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,m={},b={};function y(e){return!!h.call(b,e)||!h.call(m,e)&&(g.test(e)?b[e]=!0:(m[e]=!0,!1))}function v(e,t,n,r,a,o,l){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=l}var S={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){S[e]=new v(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];S[t]=new v(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){S[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){S[e]=new v(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){S[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){S[e]=new v(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){S[e]=new v(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){S[e]=new v(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){S[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var k=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(k,x);S[t]=new v(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(k,x);S[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(k,x);S[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){S[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),S.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){S[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});var w={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},C=["Webkit","ms","Moz","O"];Object.keys(w).forEach(function(e){C.forEach(function(t){w[t=t+e.charAt(0).toUpperCase()+e.substring(1)]=w[e]})});var E=/["'&<>]/;function F(e){if("boolean"==typeof e||"number"==typeof e)return""+e;e=""+e;var t=E.exec(e);if(t){var n,r="",a=0;for(n=t.index;n<e.length;n++){switch(e.charCodeAt(n)){case 34:t="&quot;";break;case 38:t="&amp;";break;case 39:t="&#x27;";break;case 60:t="&lt;";break;case 62:t="&gt;";break;default:continue}a!==n&&(r+=e.substring(a,n)),a=n+1,r+=t}e=a!==n?r+e.substring(a,n):r}return e}var T=/([A-Z])/g,R=/^ms-/,_=Array.isArray,P=f("<script>"),I=f("<\/script>"),M=f('<script src="'),B=f('<script type="module" src="'),D=f('" async=""><\/script>'),z=/(<\/|<)(s)(cript)/gi;function N(e,t,n,r){return""+t+("s"===n?"\\u0073":"\\u0053")+r}function V(e,t){return{insertionMode:e,selectedValue:t}}var $=f("\x3c!-- --\x3e");function L(e,t,n,r){return""===t?r:(r&&e.push($),e.push(d(F(t))),!0)}var O=new Map,A=f(' style="'),j=f(":"),q=f(";");function H(e,t,n){if("object"!=typeof n)throw Error(a(62));for(var r in t=!0,n)if(h.call(n,r)){var o=n[r];if(null!=o&&"boolean"!=typeof o&&""!==o){if(0===r.indexOf("--")){var l=d(F(r));o=d(F((""+o).trim()))}else{l=r;var u=O.get(l);void 0!==u||(u=f(F(l.replace(T,"-$1").toLowerCase().replace(R,"-ms-"))),O.set(l,u)),l=u,o="number"==typeof o?0===o||h.call(w,r)?d(""+o):d(o+"px"):d(F((""+o).trim()))}t?(t=!1,e.push(A,l,j,o)):e.push(q,l,j,o)}}t||e.push(Z)}var U=f(" "),W=f('="'),Z=f('"'),G=f('=""');function X(e,t,n,r){switch(n){case"style":H(e,t,r);return;case"defaultValue":case"defaultChecked":case"innerHTML":case"suppressContentEditableWarning":case"suppressHydrationWarning":return}if(!(2<n.length)||"o"!==n[0]&&"O"!==n[0]||"n"!==n[1]&&"N"!==n[1]){if(null!==(t=S.hasOwnProperty(n)?S[n]:null)){switch(typeof r){case"function":case"symbol":return;case"boolean":if(!t.acceptsBooleans)return}switch(n=d(t.attributeName),t.type){case 3:r&&e.push(U,n,G);break;case 4:!0===r?e.push(U,n,G):!1!==r&&e.push(U,n,W,d(F(r)),Z);break;case 5:isNaN(r)||e.push(U,n,W,d(F(r)),Z);break;case 6:!isNaN(r)&&1<=r&&e.push(U,n,W,d(F(r)),Z);break;default:t.sanitizeURL&&(r=""+r),e.push(U,n,W,d(F(r)),Z)}}else if(y(n)){switch(typeof r){case"function":case"symbol":return;case"boolean":if("data-"!==(t=n.toLowerCase().slice(0,5))&&"aria-"!==t)return}e.push(U,d(n),W,d(F(r)),Z)}}}var J=f(">"),Y=f("/>");function K(e,t,n){if(null!=t){if(null!=n)throw Error(a(60));if("object"!=typeof t||!("__html"in t))throw Error(a(61));null!=(t=t.__html)&&e.push(d(""+t))}}var Q=f(' selected=""');function ee(e,t,n,r){e.push(ea(n));var a,o=n=null;for(a in t)if(h.call(t,a)){var l=t[a];if(null!=l)switch(a){case"children":n=l;break;case"dangerouslySetInnerHTML":o=l;break;default:X(e,r,a,l)}}return e.push(J),K(e,o,n),"string"==typeof n?(e.push(d(F(n))),null):n}var et=f("\n"),en=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,er=new Map;function ea(e){var t=er.get(e);if(void 0===t){if(!en.test(e))throw Error(a(65,e));t=f("<"+e),er.set(e,t)}return t}var eo=f("<!DOCTYPE html>"),el=f("</"),eu=f(">"),es=f('<template id="'),ei=f('"></template>'),ec=f("\x3c!--$--\x3e"),ed=f('\x3c!--$?--\x3e<template id="'),ef=f('"></template>'),ep=f("\x3c!--$!--\x3e"),eh=f("\x3c!--/$--\x3e"),eg=f("<template"),em=f('"'),eb=f(' data-dgst="');f(' data-msg="'),f(' data-stck="');var ey=f("></template>");function ev(e,t,n){if(u(e,ed),null===n)throw Error(a(395));return u(e,n),s(e,ef)}var eS=f('<div hidden id="'),ek=f('">'),ex=f("</div>"),ew=f('<svg aria-hidden="true" style="display:none" id="'),eC=f('">'),eE=f("</svg>"),eF=f('<math aria-hidden="true" style="display:none" id="'),eT=f('">'),eR=f("</math>"),e_=f('<table hidden id="'),eP=f('">'),eI=f("</table>"),eM=f('<table hidden><tbody id="'),eB=f('">'),eD=f("</tbody></table>"),ez=f('<table hidden><tr id="'),eN=f('">'),eV=f("</tr></table>"),e$=f('<table hidden><colgroup id="'),eL=f('">'),eO=f("</colgroup></table>"),eA=f('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'),ej=f('$RS("'),eq=f('","'),eH=f('")<\/script>'),eU=f('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'),eW=f('$RC("'),eZ=f('","'),eG=f('")<\/script>'),eX=f('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'),eJ=f('$RX("'),eY=f('"'),eK=f(")<\/script>"),eQ=f(","),e0=/[<\u2028\u2029]/g;function e1(e){return JSON.stringify(e).replace(e0,function(e){switch(e){case"<":return"\\u003c";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React")}})}var e2=Object.assign,e3=Symbol.for("react.element"),e9=Symbol.for("react.portal"),e6=Symbol.for("react.fragment"),e4=Symbol.for("react.strict_mode"),e7=Symbol.for("react.profiler"),e8=Symbol.for("react.provider"),e5=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),tt=Symbol.for("react.suspense"),tn=Symbol.for("react.suspense_list"),tr=Symbol.for("react.memo"),ta=Symbol.for("react.lazy"),to=Symbol.for("react.scope"),tl=Symbol.for("react.debug_trace_mode"),tu=Symbol.for("react.legacy_hidden"),ts=Symbol.for("react.default_value"),ti=Symbol.iterator,tc={};function td(e,t){if(!(e=e.contextTypes))return tc;var n,r={};for(n in e)r[n]=t[n];return r}var tf=null;function tp(e,t){if(e!==t){e.context._currentValue=e.parentValue,e=e.parent;var n=t.parent;if(null===e){if(null!==n)throw Error(a(401))}else{if(null===n)throw Error(a(401));tp(e,n)}t.context._currentValue=t.value}}function th(e){var t=tf;t!==e&&(null===t?function e(t){var n=t.parent;null!==n&&e(n),t.context._currentValue=t.value}(e):null===e?function e(t){t.context._currentValue=t.parentValue,null!==(t=t.parent)&&e(t)}(t):t.depth===e.depth?tp(t,e):t.depth>e.depth?function e(t,n){if(t.context._currentValue=t.parentValue,null===(t=t.parent))throw Error(a(402));t.depth===n.depth?tp(t,n):e(t,n)}(t,e):function e(t,n){var r=n.parent;if(null===r)throw Error(a(402));t.depth===r.depth?tp(t,r):e(t,r),n.context._currentValue=n.value}(t,e),tf=e)}var tg={isMounted:function(){return!1},enqueueSetState:function(e,t){null!==(e=e._reactInternals).queue&&e.queue.push(t)},enqueueReplaceState:function(e,t){(e=e._reactInternals).replace=!0,e.queue=[t]},enqueueForceUpdate:function(){}};function tm(e,t,n,r){var a=void 0!==e.state?e.state:null;e.updater=tg,e.props=n,e.state=a;var o={queue:[],replace:!1};e._reactInternals=o;var l=t.contextType;if(e.context="object"==typeof l&&null!==l?l._currentValue:r,"function"==typeof(l=t.getDerivedStateFromProps)&&(e.state=a=null==(l=l(n,a))?a:e2({},a,l)),"function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate&&("function"==typeof e.UNSAFE_componentWillMount||"function"==typeof e.componentWillMount))if(t=e.state,"function"==typeof e.componentWillMount&&e.componentWillMount(),"function"==typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),t!==e.state&&tg.enqueueReplaceState(e,e.state,null),null!==o.queue&&0<o.queue.length)if(t=o.queue,l=o.replace,o.queue=null,o.replace=!1,l&&1===t.length)e.state=t[0];else{for(o=l?t[0]:e.state,a=!0,l=+!!l;l<t.length;l++){var u=t[l];null!=(u="function"==typeof u?u.call(e,o,n,r):u)&&(a?(a=!1,o=e2({},o,u)):e2(o,u))}e.state=o}else o.queue=null}var tb={id:1,overflow:""};function ty(e,t,n){var r=e.id;e=e.overflow;var a=32-tv(r)-1;r&=~(1<<a),n+=1;var o=32-tv(t)+a;if(30<o){var l=a-a%5;return o=(r&(1<<l)-1).toString(32),r>>=l,a-=l,{id:1<<32-tv(t)+a|n<<a|r,overflow:o+e}}return{id:1<<o|n<<a|r,overflow:e}}var tv=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(tS(e)/tk|0)|0},tS=Math.log,tk=Math.LN2,tx="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},tw=null,tC=null,tE=null,tF=null,tT=!1,tR=!1,t_=0,tP=null,tI=0;function tM(){if(null===tw)throw Error(a(321));return tw}function tB(){if(0<tI)throw Error(a(312));return{memoizedState:null,queue:null,next:null}}function tD(){return null===tF?null===tE?(tT=!1,tE=tF=tB()):(tT=!0,tF=tE):null===tF.next?(tT=!1,tF=tF.next=tB()):(tT=!0,tF=tF.next),tF}function tz(){tC=tw=null,tR=!1,tE=null,tI=0,tF=tP=null}function tN(e,t){return"function"==typeof t?t(e):t}function tV(e,t,n){if(tw=tM(),tF=tD(),tT){var r=tF.queue;if(t=r.dispatch,null!==tP&&void 0!==(n=tP.get(r))){tP.delete(r),r=tF.memoizedState;do r=e(r,n.action),n=n.next;while(null!==n);return tF.memoizedState=r,[r,t]}return[tF.memoizedState,t]}return e=e===tN?"function"==typeof t?t():t:void 0!==n?n(t):t,tF.memoizedState=e,e=(e=tF.queue={last:null,dispatch:null}).dispatch=tL.bind(null,tw,e),[tF.memoizedState,e]}function t$(e,t){if(tw=tM(),tF=tD(),t=void 0===t?null:t,null!==tF){var n=tF.memoizedState;if(null!==n&&null!==t){var r=n[1];e:if(null===r)r=!1;else{for(var a=0;a<r.length&&a<t.length;a++)if(!tx(t[a],r[a])){r=!1;break e}r=!0}if(r)return n[0]}}return e=e(),tF.memoizedState=[e,t],e}function tL(e,t,n){if(25<=tI)throw Error(a(301));if(e===tw)if(tR=!0,e={action:n,next:null},null===tP&&(tP=new Map),void 0===(n=tP.get(t)))tP.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}}function tO(){throw Error(a(394))}function tA(){}var tj={readContext:function(e){return e._currentValue},useContext:function(e){return tM(),e._currentValue},useMemo:t$,useReducer:tV,useRef:function(e){tw=tM();var t=(tF=tD()).memoizedState;return null===t?(e={current:e},tF.memoizedState=e):t},useState:function(e){return tV(tN,e)},useInsertionEffect:tA,useLayoutEffect:function(){},useCallback:function(e,t){return t$(function(){return e},t)},useImperativeHandle:tA,useEffect:tA,useDebugValue:tA,useDeferredValue:function(e){return tM(),e},useTransition:function(){return tM(),[!1,tO]},useId:function(){var e=tC.treeContext,t=e.overflow;e=((e=e.id)&~(1<<32-tv(e)-1)).toString(32)+t;var n=tq;if(null===n)throw Error(a(404));return t=t_++,e=":"+n.idPrefix+"R"+e,0<t&&(e+="H"+t.toString(32)),e+":"},useMutableSource:function(e,t){return tM(),t(e._source)},useSyncExternalStore:function(e,t,n){if(void 0===n)throw Error(a(407));return n()}},tq=null,tH=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function tU(e){return console.error(e),null}function tW(){}function tZ(e,t,n,r,a,o,l,u){e.allPendingTasks++,null===n?e.pendingRootTasks++:n.pendingTasks++;var s={node:t,ping:function(){var t=e.pingedTasks;t.push(s),1===t.length&&t4(e)},blockedBoundary:n,blockedSegment:r,abortSet:a,legacyContext:o,context:l,treeContext:u};return a.add(s),s}function tG(e,t,n,r,a,o){return{status:0,id:-1,index:t,parentFlushed:!1,chunks:[],children:[],formatContext:r,boundary:n,lastPushedText:a,textEmbedded:o}}function tX(e,t){if(null!=(e=e.onError(t))&&"string"!=typeof e)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof e+'" instead');return e}function tJ(e,t){var n=e.onShellError;n(t),(n=e.onFatalError)(t),null!==e.destination?(e.status=2,p(e.destination,t)):(e.status=1,e.fatalError=t)}function tY(e,t,n,r,a){for(tw={},tC=t,t_=0,e=n(r,a);tR;)tR=!1,t_=0,tI+=1,tF=null,e=n(r,a);return tz(),e}function tK(e,t,n,r){var o=n.render(),l=r.childContextTypes;if(null!=l){var u=t.legacyContext;if("function"!=typeof n.getChildContext)r=u;else{for(var s in n=n.getChildContext())if(!(s in l))throw Error(a(108,function e(t){if(null==t)return null;if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case e6:return"Fragment";case e9:return"Portal";case e7:return"Profiler";case e4:return"StrictMode";case tt:return"Suspense";case tn:return"SuspenseList"}if("object"==typeof t)switch(t.$$typeof){case e5:return(t.displayName||"Context")+".Consumer";case e8:return(t._context.displayName||"Context")+".Provider";case te:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case tr:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case ta:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(r)||"Unknown",s));r=e2({},u,n)}t.legacyContext=r,t0(e,t,o),t.legacyContext=u}else t0(e,t,o)}function tQ(e,t){if(e&&e.defaultProps)for(var n in t=e2({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}function t0(e,t,n){if(t.node=n,"object"==typeof n&&null!==n){switch(n.$$typeof){case e3:!function e(t,n,o,l,u){if("function"==typeof o)if(o.prototype&&o.prototype.isReactComponent){u=td(o,n.legacyContext);var s=o.contextType;tm(s=new o(l,"object"==typeof s&&null!==s?s._currentValue:u),o,l,u),tK(t,n,s,o)}else{s=td(o,n.legacyContext),u=tY(t,n,o,l,s);var i=0!==t_;if("object"==typeof u&&null!==u&&"function"==typeof u.render&&void 0===u.$$typeof)tm(u,o,l,s),tK(t,n,u,o);else if(i){l=n.treeContext,n.treeContext=ty(l,1,0);try{t0(t,n,u)}finally{n.treeContext=l}}else t0(t,n,u)}else if("string"==typeof o){switch(s=function(e,t,n,o,l){switch(t){case"select":e.push(ea("select"));var u=null,s=null;for(m in n)if(h.call(n,m)){var i=n[m];if(null!=i)switch(m){case"children":u=i;break;case"dangerouslySetInnerHTML":s=i;break;case"defaultValue":case"value":break;default:X(e,o,m,i)}}return e.push(J),K(e,s,u),u;case"option":s=l.selectedValue,e.push(ea("option"));var c,f,p=i=null,g=null,m=null;for(u in n)if(h.call(n,u)){var b=n[u];if(null!=b)switch(u){case"children":i=b;break;case"selected":g=b;break;case"dangerouslySetInnerHTML":m=b;break;case"value":p=b;default:X(e,o,u,b)}}if(null!=s)if(n=null!==p?""+p:(c=i,f="",r.Children.forEach(c,function(e){null!=e&&(f+=e)}),f),_(s)){for(o=0;o<s.length;o++)if(""+s[o]===n){e.push(Q);break}}else""+s===n&&e.push(Q);else g&&e.push(Q);return e.push(J),K(e,m,i),i;case"textarea":for(i in e.push(ea("textarea")),m=s=u=null,n)if(h.call(n,i)&&null!=(p=n[i]))switch(i){case"children":m=p;break;case"value":u=p;break;case"defaultValue":s=p;break;case"dangerouslySetInnerHTML":throw Error(a(91));default:X(e,o,i,p)}if(null===u&&null!==s&&(u=s),e.push(J),null!=m){if(null!=u)throw Error(a(92));if(_(m)&&1<m.length)throw Error(a(93));u=""+m}return"string"==typeof u&&"\n"===u[0]&&e.push(et),null!==u&&e.push(d(F(""+u))),null;case"input":for(s in e.push(ea("input")),p=m=i=u=null,n)if(h.call(n,s)&&null!=(g=n[s]))switch(s){case"children":case"dangerouslySetInnerHTML":throw Error(a(399,"input"));case"defaultChecked":p=g;break;case"defaultValue":i=g;break;case"checked":m=g;break;case"value":u=g;break;default:X(e,o,s,g)}return null!==m?X(e,o,"checked",m):null!==p&&X(e,o,"checked",p),null!==u?X(e,o,"value",u):null!==i&&X(e,o,"value",i),e.push(Y),null;case"menuitem":for(var v in e.push(ea("menuitem")),n)if(h.call(n,v)&&null!=(u=n[v]))switch(v){case"children":case"dangerouslySetInnerHTML":throw Error(a(400));default:X(e,o,v,u)}return e.push(J),null;case"title":for(b in e.push(ea("title")),u=null,n)if(h.call(n,b)&&null!=(s=n[b]))switch(b){case"children":u=s;break;case"dangerouslySetInnerHTML":throw Error(a(434));default:X(e,o,b,s)}return e.push(J),u;case"listing":case"pre":for(p in e.push(ea(t)),s=u=null,n)if(h.call(n,p)&&null!=(i=n[p]))switch(p){case"children":u=i;break;case"dangerouslySetInnerHTML":s=i;break;default:X(e,o,p,i)}if(e.push(J),null!=s){if(null!=u)throw Error(a(60));if("object"!=typeof s||!("__html"in s))throw Error(a(61));null!=(n=s.__html)&&("string"==typeof n&&0<n.length&&"\n"===n[0]?e.push(et,d(n)):e.push(d(""+n)))}return"string"==typeof u&&"\n"===u[0]&&e.push(et),u;case"area":case"base":case"br":case"col":case"embed":case"hr":case"img":case"keygen":case"link":case"meta":case"param":case"source":case"track":case"wbr":for(var S in e.push(ea(t)),n)if(h.call(n,S)&&null!=(u=n[S]))switch(S){case"children":case"dangerouslySetInnerHTML":throw Error(a(399,t));default:X(e,o,S,u)}return e.push(Y),null;case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return ee(e,n,t,o);case"html":return 0===l.insertionMode&&e.push(eo),ee(e,n,t,o);default:if(-1===t.indexOf("-")&&"string"!=typeof n.is)return ee(e,n,t,o);for(g in e.push(ea(t)),s=u=null,n)if(h.call(n,g)&&null!=(i=n[g]))switch(g){case"children":u=i;break;case"dangerouslySetInnerHTML":s=i;break;case"style":H(e,o,i);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":break;default:y(g)&&"function"!=typeof i&&"symbol"!=typeof i&&e.push(U,d(g),W,d(F(i)),Z)}return e.push(J),K(e,s,u),u}}((u=n.blockedSegment).chunks,o,l,t.responseState,u.formatContext),u.lastPushedText=!1,i=u.formatContext,u.formatContext=function(e,t,n){switch(t){case"select":return V(1,null!=n.value?n.value:n.defaultValue);case"svg":return V(2,null);case"math":return V(3,null);case"foreignObject":return V(1,null);case"table":return V(4,null);case"thead":case"tbody":case"tfoot":return V(5,null);case"colgroup":return V(7,null);case"tr":return V(6,null)}return 4<=e.insertionMode||0===e.insertionMode?V(1,null):e}(i,o,l),t2(t,n,s),u.formatContext=i,o){case"area":case"base":case"br":case"col":case"embed":case"hr":case"img":case"input":case"keygen":case"link":case"meta":case"param":case"source":case"track":case"wbr":break;default:u.chunks.push(el,d(o),eu)}u.lastPushedText=!1}else{switch(o){case tu:case tl:case e4:case e7:case e6:case tn:t0(t,n,l.children);return;case to:throw Error(a(343));case tt:e:{o=n.blockedBoundary,u=n.blockedSegment,s=l.fallback,l=l.children;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:i=new Set,errorDigest:null},f=tG(t,u.chunks.length,c,u.formatContext,!1,!1);u.children.push(f),u.lastPushedText=!1;var p=tG(t,0,null,u.formatContext,!1,!1);p.parentFlushed=!0,n.blockedBoundary=c,n.blockedSegment=p;try{if(t2(t,n,l),p.lastPushedText&&p.textEmbedded&&p.chunks.push($),p.status=1,t9(c,p),0===c.pendingTasks)break e}catch(e){p.status=4,c.forceClientRender=!0,c.errorDigest=tX(t,e)}finally{n.blockedBoundary=o,n.blockedSegment=u}n=tZ(t,s,o,f,i,n.legacyContext,n.context,n.treeContext),t.pingedTasks.push(n)}return}if("object"==typeof o&&null!==o)switch(o.$$typeof){case te:if(l=tY(t,n,o.render,l,u),0!==t_){o=n.treeContext,n.treeContext=ty(o,1,0);try{t0(t,n,l)}finally{n.treeContext=o}}else t0(t,n,l);return;case tr:l=tQ(o=o.type,l),e(t,n,o,l,u);return;case e8:if(u=l.children,o=o._context,l=l.value,s=o._currentValue,o._currentValue=l,tf=l={parent:i=tf,depth:null===i?0:i.depth+1,context:o,parentValue:s,value:l},n.context=l,t0(t,n,u),null===(t=tf))throw Error(a(403));l=t.parentValue,t.context._currentValue=l===ts?t.context._defaultValue:l,t=tf=t.parent,n.context=t;return;case e5:t0(t,n,l=(l=l.children)(o._currentValue));return;case ta:l=tQ(o=(u=o._init)(o._payload),l),e(t,n,o,l,void 0);return}throw Error(a(130,null==o?o:typeof o,""))}}(e,t,n.type,n.props,n.ref);return;case e9:throw Error(a(257));case ta:var o=n._init;t0(e,t,n=o(n._payload));return}if(_(n))return void t1(e,t,n);if((o=null===n||"object"!=typeof n?null:"function"==typeof(o=ti&&n[ti]||n["@@iterator"])?o:null)&&(o=o.call(n))){if(!(n=o.next()).done){var l=[];do l.push(n.value),n=o.next();while(!n.done);t1(e,t,l)}return}throw Error(a(31,"[object Object]"===(e=Object.prototype.toString.call(n))?"object with keys {"+Object.keys(n).join(", ")+"}":e))}"string"==typeof n?(o=t.blockedSegment).lastPushedText=L(t.blockedSegment.chunks,n,e.responseState,o.lastPushedText):"number"==typeof n&&((o=t.blockedSegment).lastPushedText=L(t.blockedSegment.chunks,""+n,e.responseState,o.lastPushedText))}function t1(e,t,n){for(var r=n.length,a=0;a<r;a++){var o=t.treeContext;t.treeContext=ty(o,r,a);try{t2(e,t,n[a])}finally{t.treeContext=o}}}function t2(e,t,n){var r=t.blockedSegment.formatContext,a=t.legacyContext,o=t.context;try{return t0(e,t,n)}catch(s){if(tz(),"object"==typeof s&&null!==s&&"function"==typeof s.then){n=s;var l=t.blockedSegment,u=tG(e,l.chunks.length,null,l.formatContext,l.lastPushedText,!0);l.children.push(u),l.lastPushedText=!1,e=tZ(e,t.node,t.blockedBoundary,u,t.abortSet,t.legacyContext,t.context,t.treeContext).ping,n.then(e,e),t.blockedSegment.formatContext=r,t.legacyContext=a,t.context=o,th(o)}else throw t.blockedSegment.formatContext=r,t.legacyContext=a,t.context=o,th(o),s}}function t3(e){var t=e.blockedBoundary;(e=e.blockedSegment).status=3,t6(this,t,e)}function t9(e,t){if(0===t.chunks.length&&1===t.children.length&&null===t.children[0].boundary){var n=t.children[0];n.id=t.id,n.parentFlushed=!0,1===n.status&&t9(e,n)}else e.completedSegments.push(t)}function t6(e,t,n){if(null===t){if(n.parentFlushed){if(null!==e.completedRootSegment)throw Error(a(389));e.completedRootSegment=n}e.pendingRootTasks--,0===e.pendingRootTasks&&(e.onShellError=tW,(t=e.onShellReady)())}else t.pendingTasks--,t.forceClientRender||(0===t.pendingTasks?(n.parentFlushed&&1===n.status&&t9(t,n),t.parentFlushed&&e.completedBoundaries.push(t),t.fallbackAbortableTasks.forEach(t3,e),t.fallbackAbortableTasks.clear()):n.parentFlushed&&1===n.status&&(t9(t,n),1===t.completedSegments.length&&t.parentFlushed&&e.partialBoundaries.push(t)));e.allPendingTasks--,0===e.allPendingTasks&&(e=e.onAllReady)()}function t4(e){if(2!==e.status){var t=tf,n=tH.current;tH.current=tj;var r=tq;tq=e.responseState;try{var a,o=e.pingedTasks;for(a=0;a<o.length;a++){var l=o[a],u=l.blockedSegment;if(0===u.status){th(l.context);try{t0(e,l,l.node),u.lastPushedText&&u.textEmbedded&&u.chunks.push($),l.abortSet.delete(l),u.status=1,t6(e,l.blockedBoundary,u)}catch(t){if(tz(),"object"==typeof t&&null!==t&&"function"==typeof t.then){var s=l.ping;t.then(s,s)}else{l.abortSet.delete(l),u.status=4;var i=l.blockedBoundary,c=tX(e,t);null===i?tJ(e,t):(i.pendingTasks--,i.forceClientRender||(i.forceClientRender=!0,i.errorDigest=c,i.parentFlushed&&e.clientRenderedBoundaries.push(i))),e.allPendingTasks--,0===e.allPendingTasks&&(0,e.onAllReady)()}}finally{}}}o.splice(0,a),null!==e.destination&&nn(e,e.destination)}catch(t){tX(e,t),tJ(e,t)}finally{tq=r,tH.current=n,n===tj&&th(t)}}}function t7(e,t,n){switch(n.parentFlushed=!0,n.status){case 0:var r=n.id=e.nextSegmentId++;return n.lastPushedText=!1,n.textEmbedded=!1,e=e.responseState,u(t,es),u(t,e.placeholderPrefix),u(t,e=d(r.toString(16))),s(t,ei);case 1:n.status=2;var o=!0;r=n.chunks;var l=0;n=n.children;for(var i=0;i<n.length;i++){for(o=n[i];l<o.index;l++)u(t,r[l]);o=t8(e,t,o)}for(;l<r.length-1;l++)u(t,r[l]);return l<r.length&&(o=s(t,r[l])),o;default:throw Error(a(390))}}function t8(e,t,n){var r=n.boundary;if(null===r)return t7(e,t,n);if(r.parentFlushed=!0,r.forceClientRender)r=r.errorDigest,s(t,ep),u(t,eg),r&&(u(t,eb),u(t,d(F(r))),u(t,em)),s(t,ey),t7(e,t,n);else if(0<r.pendingTasks){r.rootSegmentID=e.nextSegmentId++,0<r.completedSegments.length&&e.partialBoundaries.push(r);var o=e.responseState,l=o.nextSuspenseID++;o=f(o.boundaryPrefix+l.toString(16)),r=r.id=o,ev(t,e.responseState,r),t7(e,t,n)}else if(r.byteSize>e.progressiveChunkSize)r.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(r),ev(t,e.responseState,r.id),t7(e,t,n);else{if(s(t,ec),1!==(n=r.completedSegments).length)throw Error(a(391));t8(e,t,n[0])}return s(t,eh)}function t5(e,t,n){switch(!function(e,t,n,r){switch(n.insertionMode){case 0:case 1:return u(e,eS),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,ek);case 2:return u(e,ew),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eC);case 3:return u(e,eF),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eT);case 4:return u(e,e_),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eP);case 5:return u(e,eM),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eB);case 6:return u(e,ez),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eN);case 7:return u(e,e$),u(e,t.segmentPrefix),u(e,d(r.toString(16))),s(e,eL);default:throw Error(a(397))}}(t,e.responseState,n.formatContext,n.id),t8(e,t,n),n.formatContext.insertionMode){case 0:case 1:return s(t,ex);case 2:return s(t,eE);case 3:return s(t,eR);case 4:return s(t,eI);case 5:return s(t,eD);case 6:return s(t,eV);case 7:return s(t,eO);default:throw Error(a(397))}}function ne(e,t,n){for(var r=n.completedSegments,o=0;o<r.length;o++)nt(e,t,n,r[o]);if(r.length=0,e=e.responseState,r=n.id,n=n.rootSegmentID,u(t,e.startInlineScript),e.sentCompleteBoundaryFunction?u(t,eW):(e.sentCompleteBoundaryFunction=!0,u(t,eU)),null===r)throw Error(a(395));return n=d(n.toString(16)),u(t,r),u(t,eZ),u(t,e.segmentPrefix),u(t,n),s(t,eG)}function nt(e,t,n,r){if(2===r.status)return!0;var o=r.id;if(-1===o){if(-1===(r.id=n.rootSegmentID))throw Error(a(392));return t5(e,t,r)}return t5(e,t,r),u(t,(e=e.responseState).startInlineScript),e.sentCompleteSegmentFunction?u(t,ej):(e.sentCompleteSegmentFunction=!0,u(t,eA)),u(t,e.segmentPrefix),u(t,o=d(o.toString(16))),u(t,eq),u(t,e.placeholderPrefix),u(t,o),s(t,eH)}function nn(e,t){o=new Uint8Array(512),l=0;try{var n=e.completedRootSegment;if(null!==n&&0===e.pendingRootTasks){t8(e,t,n),e.completedRootSegment=null;var r=e.responseState.bootstrapChunks;for(n=0;n<r.length-1;n++)u(t,r[n]);n<r.length&&s(t,r[n])}var c,f=e.clientRenderedBoundaries;for(c=0;c<f.length;c++){var p=f[c];r=t;var h=e.responseState,g=p.id,m=p.errorDigest,b=p.errorMessage,y=p.errorComponentStack;if(u(r,h.startInlineScript),h.sentClientRenderFunction?u(r,eJ):(h.sentClientRenderFunction=!0,u(r,eX)),null===g)throw Error(a(395));if(u(r,g),u(r,eY),(m||b||y)&&(u(r,eQ),u(r,d(e1(m||"")))),(b||y)&&(u(r,eQ),u(r,d(e1(b||"")))),y&&(u(r,eQ),u(r,d(e1(y)))),!s(r,eK)){e.destination=null,c++,f.splice(0,c);return}}f.splice(0,c);var v=e.completedBoundaries;for(c=0;c<v.length;c++)if(!ne(e,t,v[c])){e.destination=null,c++,v.splice(0,c);return}v.splice(0,c),i(t),o=new Uint8Array(512),l=0;var S=e.partialBoundaries;for(c=0;c<S.length;c++){var k=S[c];e:{f=e,p=t;var x=k.completedSegments;for(h=0;h<x.length;h++)if(!nt(f,p,k,x[h])){h++,x.splice(0,h);var w=!1;break e}x.splice(0,h),w=!0}if(!w){e.destination=null,c++,S.splice(0,c);return}}S.splice(0,c);var C=e.completedBoundaries;for(c=0;c<C.length;c++)if(!ne(e,t,C[c])){e.destination=null,c++,C.splice(0,c);return}C.splice(0,c)}finally{i(t),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&t.close()}}function nr(e,t){try{var n=e.abortableTasks;n.forEach(function(n){return function e(t,n,r){var o=t.blockedBoundary;t.blockedSegment.status=3,null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,t=void 0===r?Error(a(432)):r,o.errorDigest=n.onError(t),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach(function(t){return e(t,n,r)}),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady)())}(n,e,t)}),n.clear(),null!==e.destination&&nn(e,e.destination)}catch(t){tX(e,t),tJ(e,t)}}t.renderToReadableStream=function(e,t){return new Promise(function(n,r){var a,o,l,u,s,i,c,h,g,m,b,y,v,S,k=new Promise(function(e,t){S=e,v=t}),x=(o=e,l=function(e,t,n,r,a){e=void 0===e?"":e,t=void 0===t?P:f('<script nonce="'+F(t)+'">');var o=[];if(void 0!==n&&o.push(t,d((""+n).replace(z,N)),I),void 0!==r)for(n=0;n<r.length;n++)o.push(M,d(F(r[n])),D);if(void 0!==a)for(r=0;r<a.length;r++)o.push(B,d(F(a[r])),D);return{bootstrapChunks:o,startInlineScript:t,placeholderPrefix:f(e+"P:"),segmentPrefix:f(e+"S:"),boundaryPrefix:e+"B:",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}(t?t.identifierPrefix:void 0,t?t.nonce:void 0,t?t.bootstrapScriptContent:void 0,t?t.bootstrapScripts:void 0,t?t.bootstrapModules:void 0),u=V("http://www.w3.org/2000/svg"===(a=t?t.namespaceURI:void 0)?2:3*("http://www.w3.org/1998/Math/MathML"===a),null),s=t?t.progressiveChunkSize:void 0,i=t?t.onError:void 0,c=S,h=function(){var e=new ReadableStream({type:"bytes",pull:function(e){if(1===x.status)x.status=2,p(e,x.fatalError);else if(2!==x.status&&null===x.destination){x.destination=e;try{nn(x,e)}catch(e){tX(x,e),tJ(x,e)}}},cancel:function(){nr(x)}},{highWaterMark:0});e.allReady=k,n(e)},g=function(e){k.catch(function(){}),r(e)},m=v,b=[],(u=tG(l={destination:null,responseState:l,progressiveChunkSize:void 0===s?12800:s,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:y=new Set,pingedTasks:b,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===i?tU:i,onAllReady:void 0===c?tW:c,onShellReady:void 0===h?tW:h,onShellError:void 0===g?tW:g,onFatalError:void 0===m?tW:m},0,null,u,!1,!1)).parentFlushed=!0,o=tZ(l,o,null,u,y,tc,null,tb),b.push(o),l);if(t&&t.signal){var w=t.signal,C=function(){nr(x,w.reason),w.removeEventListener("abort",C)};w.addEventListener("abort",C)}t4(x)})},t.version="18.2.0"},5897:function(e,t,n){var r,a;r=n(244),a=n(6440),r.version,r.renderToString,t.renderToStaticMarkup=r.renderToStaticMarkup,r.renderToNodeStream,r.renderToStaticNodeStream,a.renderToReadableStream}}]);