@digitalsee-ai/rcs 0.0.14

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 (289) hide show
  1. package/README.md +237 -0
  2. package/dist/components/digitalsee/JsonRenderer/index.d.ts +22 -0
  3. package/dist/components/digitalsee/JsonRenderer/locales/en.d.ts +7 -0
  4. package/dist/components/digitalsee/JsonRenderer/locales/zh.d.ts +7 -0
  5. package/dist/components/digitalsee/index.d.ts +1 -0
  6. package/dist/components/digitalsee/workflow/Canvas/FastOperationButtons.d.ts +44 -0
  7. package/dist/components/digitalsee/workflow/Canvas/FullscreenLoading.d.ts +3 -0
  8. package/dist/components/digitalsee/workflow/Canvas/GlobalSvg.d.ts +1 -0
  9. package/dist/components/digitalsee/workflow/Canvas/HelperLines.d.ts +8 -0
  10. package/dist/components/digitalsee/workflow/Canvas/MiniMap.d.ts +3 -0
  11. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvas.d.ts +15 -0
  12. package/dist/components/digitalsee/workflow/Canvas/WorkflowCanvasHeader.d.ts +15 -0
  13. package/dist/components/digitalsee/workflow/Canvas/WorkflowDebugPanel.d.ts +28 -0
  14. package/dist/components/digitalsee/workflow/Canvas/color.d.ts +1 -0
  15. package/dist/components/digitalsee/workflow/Canvas/utils.d.ts +8 -0
  16. package/dist/components/digitalsee/workflow/Edges/BaseEdge.d.ts +30 -0
  17. package/dist/components/digitalsee/workflow/Handles/CustomHandle.d.ts +30 -0
  18. package/dist/components/digitalsee/workflow/Handles/HandleFactory.d.ts +35 -0
  19. package/dist/components/digitalsee/workflow/Handles/InputHandle.d.ts +12 -0
  20. package/dist/components/digitalsee/workflow/Handles/OutputHandle.d.ts +12 -0
  21. package/dist/components/digitalsee/workflow/Handles/OutputHandleWithButton.d.ts +15 -0
  22. package/dist/components/digitalsee/workflow/Nodes/AISubNode.d.ts +9 -0
  23. package/dist/components/digitalsee/workflow/Nodes/ActionNode.d.ts +13 -0
  24. package/dist/components/digitalsee/workflow/Nodes/AgentNode.d.ts +10 -0
  25. package/dist/components/digitalsee/workflow/Nodes/BrowserNode.d.ts +10 -0
  26. package/dist/components/digitalsee/workflow/Nodes/BuiltinMCPNode.d.ts +9 -0
  27. package/dist/components/digitalsee/workflow/Nodes/ConditionNode.d.ts +13 -0
  28. package/dist/components/digitalsee/workflow/Nodes/CustomNode.d.ts +15 -0
  29. package/dist/components/digitalsee/workflow/Nodes/LoopNode.d.ts +4 -0
  30. package/dist/components/digitalsee/workflow/Nodes/MCPServerNode.d.ts +9 -0
  31. package/dist/components/digitalsee/workflow/Nodes/MCPToolNode.d.ts +9 -0
  32. package/dist/components/digitalsee/workflow/Nodes/NodeFactory.d.ts +33 -0
  33. package/dist/components/digitalsee/workflow/Nodes/NodeStatusDemo.d.ts +7 -0
  34. package/dist/components/digitalsee/workflow/Nodes/SelfLoopNode.d.ts +4 -0
  35. package/dist/components/digitalsee/workflow/Nodes/StartNode.d.ts +1 -0
  36. package/dist/components/digitalsee/workflow/Nodes/StickyNoteNode.d.ts +33 -0
  37. package/dist/components/digitalsee/workflow/Nodes/SuperBaseNode.d.ts +45 -0
  38. package/dist/components/digitalsee/workflow/Nodes/SwitchNode.d.ts +13 -0
  39. package/dist/components/digitalsee/workflow/Nodes/TriggerNode.d.ts +9 -0
  40. package/dist/components/digitalsee/workflow/Nodes/components/NodeDescription.d.ts +17 -0
  41. package/dist/components/digitalsee/workflow/Nodes/components/NodeDescriptionExample.d.ts +0 -0
  42. package/dist/components/digitalsee/workflow/Nodes/components/NodeOperations.d.ts +14 -0
  43. package/dist/components/digitalsee/workflow/Nodes/components/UnlinkThunder/index.d.ts +4 -0
  44. package/dist/components/digitalsee/workflow/NodesConfig/ActionNodeConfig/index.d.ts +1 -0
  45. package/dist/components/digitalsee/workflow/NodesConfig/ConditionNodeConfig/index.d.ts +6 -0
  46. package/dist/components/digitalsee/workflow/NodesConfig/ErrorHandler.d.ts +8 -0
  47. package/dist/components/digitalsee/workflow/NodesConfig/LoopNodeConfig/index.d.ts +8 -0
  48. package/dist/components/digitalsee/workflow/NodesConfig/McpToolNodeConfig/index.d.ts +1 -0
  49. package/dist/components/digitalsee/workflow/NodesConfig/SwitchNodeConfig/index.d.ts +13 -0
  50. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/CreateAccountModal/index.d.ts +13 -0
  51. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/DateField/index.d.ts +5 -0
  52. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/DateTimeField/index.d.ts +5 -0
  53. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/ExtendObjectField/index.d.ts +10 -0
  54. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/FixedObjectField/index.d.ts +5 -0
  55. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/HiddenField/index.d.ts +5 -0
  56. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/JsonField/index.d.ts +5 -0
  57. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/LabelField/index.d.ts +5 -0
  58. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/PasswordField/index.d.ts +4 -0
  59. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/SelectField/index.d.ts +10 -0
  60. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TextAreaField/index.d.ts +5 -0
  61. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TextField/index.d.ts +5 -0
  62. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/TimeField/index.d.ts +5 -0
  63. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/fields/super.d.ts +6 -0
  64. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/index.d.ts +13 -0
  65. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/DynamicAccountForm/middlewares/extend-obj.d.ts +10 -0
  66. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/components/ModifyAccountModal/index.d.ts +14 -0
  67. package/dist/components/digitalsee/workflow/NodesConfig/components/AccountSelect/index.d.ts +12 -0
  68. package/dist/components/digitalsee/workflow/NodesConfig/components/EditInOnlineIDE/index.d.ts +11 -0
  69. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/components/AIFormField.d.ts +8 -0
  70. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/ApiSelectField/index.d.ts +9 -0
  71. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/DateField/index.d.ts +5 -0
  72. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/DateTimeField/index.d.ts +5 -0
  73. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/DynamicSelectListField/index.d.ts +11 -0
  74. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/ExtendObjectField/index.d.ts +11 -0
  75. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/FixedObjectField/index.d.ts +11 -0
  76. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/HiddenField/index.d.ts +5 -0
  77. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/HourMiniuteField/index.d.ts +5 -0
  78. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/common-placeholder-theme.d.ts +57 -0
  79. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/editor.d.ts +1 -0
  80. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/extensions.d.ts +11 -0
  81. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/index.d.ts +3 -0
  82. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/interface.d.ts +29 -0
  83. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/base-theme.d.ts +1 -0
  84. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/custom-completions.d.ts +5 -0
  85. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/functions.d.ts +3 -0
  86. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/hint.d.ts +11 -0
  87. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/keywords.d.ts +2 -0
  88. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JavscriptTagEditorField/plugin/placeholders.d.ts +3 -0
  89. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonField/index.d.ts +5 -0
  90. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/common-placeholder-theme.d.ts +57 -0
  91. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/editor.d.ts +1 -0
  92. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/extensions.d.ts +11 -0
  93. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/index.d.ts +3 -0
  94. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/interface.d.ts +29 -0
  95. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/base-theme.d.ts +1 -0
  96. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/custom-completions.d.ts +5 -0
  97. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/functions.d.ts +3 -0
  98. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/hint.d.ts +11 -0
  99. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/keywords.d.ts +2 -0
  100. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/JsonTagField/plugin/placeholders.d.ts +3 -0
  101. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/LabelField/index.d.ts +5 -0
  102. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/MutilRowAIExtractConfigField/index.d.ts +13 -0
  103. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/PasswordField/index.d.ts +6 -0
  104. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/help.d.ts +3 -0
  105. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/RichTagInput/index.d.ts +4 -0
  106. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/SelectField/index.d.ts +10 -0
  107. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TextAreaField/index.d.ts +6 -0
  108. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TextField/index.d.ts +14 -0
  109. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/TimeField/index.d.ts +5 -0
  110. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/WebhookLabelField/index.d.ts +15 -0
  111. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/fields/super.d.ts +6 -0
  112. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/index.d.ts +21 -0
  113. package/dist/components/digitalsee/workflow/NodesConfig/components/FormFieldRenderer/middlewares/extend-obj.d.ts +10 -0
  114. package/dist/components/digitalsee/workflow/NodesConfig/components/NodeTest.d.ts +6 -0
  115. package/dist/components/digitalsee/workflow/NodesConfig/components/ProxyGroupSelect/index.d.ts +5 -0
  116. package/dist/components/digitalsee/workflow/NodesConfig/components/RShow/index.d.ts +7 -0
  117. package/dist/components/digitalsee/workflow/NodesConfig/components/VariableModal/index.d.ts +7 -0
  118. package/dist/components/digitalsee/workflow/NodesConfig/components/VariableModal/tree-help.d.ts +49 -0
  119. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/components/IDEVariableModal/index.d.ts +7 -0
  120. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/components/IDEVariableModal/tree-help.d.ts +49 -0
  121. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/components/sider/index.d.ts +10 -0
  122. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/components/title/index.d.ts +1 -0
  123. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/components/toolbar/index.d.ts +6 -0
  124. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/helper/matchVar.d.ts +7 -0
  125. package/dist/components/digitalsee/workflow/NodesConfig/components/online-ide/index.d.ts +9 -0
  126. package/dist/components/digitalsee/workflow/NodesConfig/define/actions.d.ts +51 -0
  127. package/dist/components/digitalsee/workflow/NodesConfig/define/condition.d.ts +78 -0
  128. package/dist/components/digitalsee/workflow/NodesConfig/define/config-form-item.d.ts +34 -0
  129. package/dist/components/digitalsee/workflow/NodesConfig/define/flow.d.ts +26 -0
  130. package/dist/components/digitalsee/workflow/NodesConfig/define/links.d.ts +17 -0
  131. package/dist/components/digitalsee/workflow/NodesConfig/index.d.ts +16 -0
  132. package/dist/components/digitalsee/workflow/Panels/CanvasConfigDebugger.d.ts +37 -0
  133. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/ActionItem.d.ts +14 -0
  134. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/ActionList.d.ts +15 -0
  135. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryContent.d.ts +17 -0
  136. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryItem.d.ts +13 -0
  137. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryList.d.ts +14 -0
  138. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/CategoryTabs.d.ts +15 -0
  139. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeCard.d.ts +19 -0
  140. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/NodeItem.d.ts +13 -0
  141. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/PanelHeader.d.ts +19 -0
  142. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/components/SearchResults.d.ts +14 -0
  143. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/defaultData.d.ts +3 -0
  144. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useActions.d.ts +16 -0
  145. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useCategories.d.ts +14 -0
  146. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useNavigation.d.ts +30 -0
  147. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/hooks/useSearch.d.ts +24 -0
  148. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/index.d.ts +9 -0
  149. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/types.d.ts +144 -0
  150. package/dist/components/digitalsee/workflow/Panels/ModernNodeSelectorPanel/utils/dataTransformers.d.ts +11 -0
  151. package/dist/components/digitalsee/workflow/api/index.d.ts +123 -0
  152. package/dist/components/digitalsee/workflow/config/defaultCanvasEngineConfig.d.ts +26 -0
  153. package/dist/components/digitalsee/workflow/config/globalConfig.d.ts +35 -0
  154. package/dist/components/digitalsee/workflow/config/themeConfig.d.ts +172 -0
  155. package/dist/components/digitalsee/workflow/context/canvasApiContext.d.ts +48 -0
  156. package/dist/components/digitalsee/workflow/context/canvasConfig.d.ts +3 -0
  157. package/dist/components/digitalsee/workflow/de.d.ts +1 -0
  158. package/dist/components/digitalsee/workflow/events/eventBus.d.ts +22 -0
  159. package/dist/components/digitalsee/workflow/examples/global-config-example.d.ts +12 -0
  160. package/dist/components/digitalsee/workflow/hooks/state.hooks.d.ts +2 -0
  161. package/dist/components/digitalsee/workflow/hooks/use-before-unload.d.ts +4 -0
  162. package/dist/components/digitalsee/workflow/hooks/use-edges-interaction.d.ts +9 -0
  163. package/dist/components/digitalsee/workflow/hooks/use-flow-data-operation.d.ts +7 -0
  164. package/dist/components/digitalsee/workflow/hooks/use-node-data-update.d.ts +9 -0
  165. package/dist/components/digitalsee/workflow/hooks/use-nodes-interaction.d.ts +9 -0
  166. package/dist/components/digitalsee/workflow/hooks/use-wokflow-id.d.ts +1 -0
  167. package/dist/components/digitalsee/workflow/hooks/useCanvasLayout.d.ts +6 -0
  168. package/dist/components/digitalsee/workflow/hooks/useHandleConnections.d.ts +5 -0
  169. package/dist/components/digitalsee/workflow/hooks/useUndo.d.ts +13 -0
  170. package/dist/components/digitalsee/workflow/hooks/useWorkflow.d.ts +34 -0
  171. package/dist/components/digitalsee/workflow/index.d.ts +107 -0
  172. package/dist/components/digitalsee/workflow/migration/umi.d.ts +7 -0
  173. package/dist/components/digitalsee/workflow/store/panelSlice.d.ts +89 -0
  174. package/dist/components/digitalsee/workflow/store/types.d.ts +11 -0
  175. package/dist/components/digitalsee/workflow/types/Edge.d.ts +20 -0
  176. package/dist/components/digitalsee/workflow/types/Handle.d.ts +44 -0
  177. package/dist/components/digitalsee/workflow/types/Node.d.ts +102 -0
  178. package/dist/components/digitalsee/workflow/types/NodeProtocol.d.ts +12 -0
  179. package/dist/components/digitalsee/workflow/types/SaveStatus.d.ts +1 -0
  180. package/dist/components/digitalsee/workflow/types/Workflow.d.ts +58 -0
  181. package/dist/components/digitalsee/workflow/types/engine.d.ts +244 -0
  182. package/dist/components/digitalsee/workflow/utils/calculateNodePosition.d.ts +10 -0
  183. package/dist/components/digitalsee/workflow/utils/common.d.ts +87 -0
  184. package/dist/components/digitalsee/workflow/utils/edgeConverters.d.ts +30 -0
  185. package/dist/components/digitalsee/workflow/utils/flowDataAdapter.d.ts +72 -0
  186. package/dist/components/digitalsee/workflow/utils/glob.d.ts +15 -0
  187. package/dist/components/digitalsee/workflow/utils/layoutUtils.d.ts +43 -0
  188. package/dist/components/digitalsee/workflow/utils/mergeConfig.d.ts +22 -0
  189. package/dist/components/digitalsee/workflow/utils/nodeDataFormatter.d.ts +32 -0
  190. package/dist/components/digitalsee/workflow/utils/optionValues.d.ts +13 -0
  191. package/dist/components/digitalsee/workflow/utils/time.d.ts +1 -0
  192. package/dist/components/digitalsee/workflow/utils/uuid.d.ts +2 -0
  193. package/dist/components/dynamic-form/AntdProvider.d.ts +13 -0
  194. package/dist/components/dynamic-form/DynamicForm.d.ts +52 -0
  195. package/dist/components/dynamic-form/DynamicFormContext.d.ts +22 -0
  196. package/dist/components/dynamic-form/FieldRenderer.d.ts +45 -0
  197. package/dist/components/dynamic-form/components/AIFieldWrapper/index.d.ts +11 -0
  198. package/dist/components/dynamic-form/components/SelectWithExpression/index.d.ts +25 -0
  199. package/dist/components/dynamic-form/components/ValueModeWrapper/index.d.ts +44 -0
  200. package/dist/components/dynamic-form/components/VariableInput/index.d.ts +24 -0
  201. package/dist/components/dynamic-form/components/VariableInput/utils.d.ts +38 -0
  202. package/dist/components/dynamic-form/components/VariableTextarea/index.d.ts +10 -0
  203. package/dist/components/dynamic-form/context/EventEngineContext.d.ts +42 -0
  204. package/dist/components/dynamic-form/context/VariableSelectorContext.d.ts +67 -0
  205. package/dist/components/dynamic-form/core/ActionExecutor.d.ts +9 -0
  206. package/dist/components/dynamic-form/core/EventEngine.d.ts +30 -0
  207. package/dist/components/dynamic-form/fields/base/NumberField.d.ts +1 -0
  208. package/dist/components/dynamic-form/fields/base/PasswordField.d.ts +1 -0
  209. package/dist/components/dynamic-form/fields/base/TextField.d.ts +1 -0
  210. package/dist/components/dynamic-form/fields/base/TextareaField.d.ts +1 -0
  211. package/dist/components/dynamic-form/fields/base/index.d.ts +4 -0
  212. package/dist/components/dynamic-form/fields/complex/ArrayField.d.ts +1 -0
  213. package/dist/components/dynamic-form/fields/complex/ArrayObjectField.d.ts +1 -0
  214. package/dist/components/dynamic-form/fields/complex/KeyValueField.d.ts +1 -0
  215. package/dist/components/dynamic-form/fields/complex/ObjectField.d.ts +1 -0
  216. package/dist/components/dynamic-form/fields/complex/index.d.ts +4 -0
  217. package/dist/components/dynamic-form/fields/datetime/DateField.d.ts +1 -0
  218. package/dist/components/dynamic-form/fields/datetime/DateRangeField.d.ts +1 -0
  219. package/dist/components/dynamic-form/fields/datetime/DateTimeField.d.ts +1 -0
  220. package/dist/components/dynamic-form/fields/datetime/TimeField.d.ts +1 -0
  221. package/dist/components/dynamic-form/fields/datetime/TimeRangeField.d.ts +1 -0
  222. package/dist/components/dynamic-form/fields/datetime/index.d.ts +5 -0
  223. package/dist/components/dynamic-form/fields/display/DividerField.d.ts +1 -0
  224. package/dist/components/dynamic-form/fields/display/HiddenField.d.ts +1 -0
  225. package/dist/components/dynamic-form/fields/display/InfoCardField.d.ts +1 -0
  226. package/dist/components/dynamic-form/fields/display/JsonField.d.ts +1 -0
  227. package/dist/components/dynamic-form/fields/display/LabelField.d.ts +1 -0
  228. package/dist/components/dynamic-form/fields/display/index.d.ts +5 -0
  229. package/dist/components/dynamic-form/fields/select/CascaderField.d.ts +1 -0
  230. package/dist/components/dynamic-form/fields/select/CheckboxField.d.ts +1 -0
  231. package/dist/components/dynamic-form/fields/select/CheckboxGroupField.d.ts +1 -0
  232. package/dist/components/dynamic-form/fields/select/RadioField.d.ts +1 -0
  233. package/dist/components/dynamic-form/fields/select/SelectField.d.ts +1 -0
  234. package/dist/components/dynamic-form/fields/select/SwitchField.d.ts +1 -0
  235. package/dist/components/dynamic-form/fields/select/TreeSelectField.d.ts +1 -0
  236. package/dist/components/dynamic-form/fields/select/index.d.ts +7 -0
  237. package/dist/components/dynamic-form/fields/special/AutoCompleteField.d.ts +1 -0
  238. package/dist/components/dynamic-form/fields/special/ColorPickerField.d.ts +1 -0
  239. package/dist/components/dynamic-form/fields/special/MentionsField.d.ts +1 -0
  240. package/dist/components/dynamic-form/fields/special/RateField.d.ts +1 -0
  241. package/dist/components/dynamic-form/fields/special/SliderField.d.ts +1 -0
  242. package/dist/components/dynamic-form/fields/special/UploadField.d.ts +1 -0
  243. package/dist/components/dynamic-form/fields/special/index.d.ts +6 -0
  244. package/dist/components/dynamic-form/index.d.ts +21 -0
  245. package/dist/components/dynamic-form/registry/FieldRegistry.d.ts +26 -0
  246. package/dist/components/dynamic-form/registry/FieldRegistryContext.d.ts +53 -0
  247. package/dist/components/dynamic-form/registry/createFieldComponent.d.ts +56 -0
  248. package/dist/components/dynamic-form/registry/index.d.ts +3 -0
  249. package/dist/components/dynamic-form/types/data-loader.d.ts +144 -0
  250. package/dist/components/dynamic-form/types/events.d.ts +203 -0
  251. package/dist/components/dynamic-form/types/field-component.d.ts +156 -0
  252. package/dist/components/dynamic-form/types/form-schema.d.ts +297 -0
  253. package/dist/components/dynamic-form/types/index.d.ts +4 -0
  254. package/dist/components/dynamic-form/types/validation.d.ts +53 -0
  255. package/dist/components/dynamic-form/utils/__tests__/path-get.test.d.ts +1 -0
  256. package/dist/components/dynamic-form/utils/conditions.d.ts +4 -0
  257. package/dist/components/dynamic-form/utils/generateEvents.d.ts +84 -0
  258. package/dist/components/dynamic-form/utils/path-get.d.ts +21 -0
  259. package/dist/components/dynamic-form/utils/useDataLoader.d.ts +47 -0
  260. package/dist/components/dynamic-form/utils/validation.d.ts +7 -0
  261. package/dist/components/dynamic-form/utils/visible.d.ts +7 -0
  262. package/dist/components/index.d.ts +3 -0
  263. package/dist/components/ui/index.d.ts +1 -0
  264. package/dist/index.d.ts +1 -0
  265. package/dist/locales/en-US/common.d.ts +571 -0
  266. package/dist/locales/en-US/link/component.d.ts +76 -0
  267. package/dist/locales/en-US/link/flow.d.ts +152 -0
  268. package/dist/locales/en-US/link/log.d.ts +40 -0
  269. package/dist/locales/en-US/link/template.d.ts +6 -0
  270. package/dist/locales/en-US.d.ts +720 -0
  271. package/dist/locales/index.d.ts +722 -0
  272. package/dist/locales/zh-CN/common.d.ts +571 -0
  273. package/dist/locales/zh-CN/link/component.d.ts +77 -0
  274. package/dist/locales/zh-CN/link/flow.d.ts +152 -0
  275. package/dist/locales/zh-CN/link/log.d.ts +41 -0
  276. package/dist/locales/zh-CN/link/template.d.ts +6 -0
  277. package/dist/locales/zh-CN.d.ts +720 -0
  278. package/dist/locales/zh-TW/common.d.ts +567 -0
  279. package/dist/locales/zh-TW/link/component.d.ts +76 -0
  280. package/dist/locales/zh-TW/link/flow.d.ts +151 -0
  281. package/dist/locales/zh-TW/link/log.d.ts +37 -0
  282. package/dist/locales/zh-TW/link/template.d.ts +6 -0
  283. package/dist/locales/zh-TW.d.ts +715 -0
  284. package/dist/rcs.css +1 -0
  285. package/dist/rcs.es.js +49858 -0
  286. package/dist/rcs.umd.js +98 -0
  287. package/dist/storybook-utils.d.ts +4 -0
  288. package/dist/utils.d.ts +2 -0
  289. package/package.json +147 -0
@@ -0,0 +1,98 @@
1
+ (function(me,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react/jsx-runtime"),require("@xyflow/react"),require("react"),require("react-redux"),require("@xyflow/react/dist/style.css"),require("ahooks"),require("react-intl"),require("@ant-design/icons"),require("antd"),require("lodash-es"),require("@reduxjs/toolkit"),require("react-icons/ai"),require("monaco-editor"),require("react-dom"),require("react-monaco-editor"),require("@ant-design/pro-components"),require("react-icons/io5"),require("react-icons/ri"),require("react-markdown"),require("react-icons/pi"),require("antd/locale/zh_CN")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@xyflow/react","react","react-redux","@xyflow/react/dist/style.css","ahooks","react-intl","@ant-design/icons","antd","lodash-es","@reduxjs/toolkit","react-icons/ai","monaco-editor","react-dom","react-monaco-editor","@ant-design/pro-components","react-icons/io5","react-icons/ri","react-markdown","react-icons/pi","antd/locale/zh_CN"],h):(me=typeof globalThis<"u"?globalThis:me||self,h(me.DigitalseeRcs={},me["react/jsx-runtime"],me.ReactFlow,me.React,me.ReactRedux,null,me.ahooks,me.ReactIntl,me.AntDesignIcons,me.antd,me._,me.RTK,me.ai,me.monaco,me.ReactDOM,me.ReactMonacoEditor,me.proComponents,me.io5,me.ri,me.ReactMarkdown,me.pi,me.zhCN$1))})(this,(function(me,h,ie,C,Wi,CW,ft,Be,ce,B,ht,mu,hD,pD,Tm,mD,vn,gu,gD,wD,vD,yD){"use strict";var yW=Object.defineProperty;var bW=(me,h,ie)=>h in me?yW(me,h,{enumerable:!0,configurable:!0,writable:!0,value:ie}):me[h]=ie;var Qe=(me,h,ie)=>bW(me,typeof h!="symbol"?h+"":h,ie);function _m(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const yt=_m(C),bD=_m(pD);var Nm=Symbol.for("immer-nothing"),Fm=Symbol.for("immer-draftable"),qt=Symbol.for("immer-state");function Bn(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var ln=Object,Wo=ln.getPrototypeOf,ma="constructor",ga="prototype",wu="configurable",wa="enumerable",va="writable",Vi="value",Nr=t=>!!t&&!!t[qt];function fr(t){var e;return t?Im(t)||Ca(t)||!!t[Fm]||!!((e=t[ma])!=null&&e[Fm])||ka(t)||xa(t):!1}var CD=ln[ga][ma].toString(),Mm=new WeakMap;function Im(t){if(!t||!yu(t))return!1;const e=Wo(t);if(e===null||e===ln[ga])return!0;const n=ln.hasOwnProperty.call(e,ma)&&e[ma];if(n===Object)return!0;if(!Vo(n))return!1;let r=Mm.get(n);return r===void 0&&(r=Function.toString.call(n),Mm.set(n,r)),r===CD}function ya(t,e,n=!0){Ui(t)===0?(n?Reflect.ownKeys(t):ln.keys(t)).forEach(o=>{e(o,t[o],t)}):t.forEach((r,o)=>e(o,r,t))}function Ui(t){const e=t[qt];return e?e.type_:Ca(t)?1:ka(t)?2:xa(t)?3:0}var Pm=(t,e,n=Ui(t))=>n===2?t.has(e):ln[ga].hasOwnProperty.call(t,e),vu=(t,e,n=Ui(t))=>n===2?t.get(e):t[e],ba=(t,e,n,r=Ui(t))=>{r===2?t.set(e,n):r===3?t.add(n):t[e]=n};function kD(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}var Ca=Array.isArray,ka=t=>t instanceof Map,xa=t=>t instanceof Set,yu=t=>typeof t=="object",Vo=t=>typeof t=="function",bu=t=>typeof t=="boolean";function xD(t){const e=+t;return Number.isInteger(e)&&String(e)===t}var hr=t=>t.copy_||t.base_,Cu=t=>t.modified_?t.copy_:t.base_;function ku(t,e){if(ka(t))return new Map(t);if(xa(t))return new Set(t);if(Ca(t))return Array[ga].slice.call(t);const n=Im(t);if(e===!0||e==="class_only"&&!n){const r=ln.getOwnPropertyDescriptors(t);delete r[qt];let o=Reflect.ownKeys(r);for(let i=0;i<o.length;i++){const s=o[i],a=r[s];a[va]===!1&&(a[va]=!0,a[wu]=!0),(a.get||a.set)&&(r[s]={[wu]:!0,[va]:!0,[wa]:a[wa],[Vi]:t[s]})}return ln.create(Wo(t),r)}else{const r=Wo(t);if(r!==null&&n)return{...t};const o=ln.create(r);return ln.assign(o,t)}}function xu(t,e=!1){return Ea(t)||Nr(t)||!fr(t)||(Ui(t)>1&&ln.defineProperties(t,{set:Sa,add:Sa,clear:Sa,delete:Sa}),ln.freeze(t),e&&ya(t,(n,r)=>{xu(r,!0)},!1)),t}function SD(){Bn(2)}var Sa={[Vi]:SD};function Ea(t){return t===null||!yu(t)?!0:ln.isFrozen(t)}var Da="MapSet",Su="Patches",Lm="ArrayMethods",zm={};function lo(t){const e=zm[t];return e||Bn(0,t),e}var Hm=t=>!!zm[t],qi,$m=()=>qi,ED=(t,e)=>({drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Hm(Da)?lo(Da):void 0,arrayMethodsPlugin_:Hm(Lm)?lo(Lm):void 0});function jm(t,e){e&&(t.patchPlugin_=lo(Su),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function Eu(t){Du(t),t.drafts_.forEach(DD),t.drafts_=null}function Du(t){t===qi&&(qi=t.parent_)}var Wm=t=>qi=ED(qi,t);function DD(t){const e=t[qt];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function Vm(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];if(t!==void 0&&t!==n){n[qt].modified_&&(Eu(e),Bn(4)),fr(t)&&(t=Um(e,t));const{patchPlugin_:o}=e;o&&o.generateReplacementPatches_(n[qt].base_,t,e)}else t=Um(e,n);return AD(e,t,!0),Eu(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==Nm?t:void 0}function Um(t,e){if(Ea(e))return e;const n=e[qt];if(!n)return Oa(e,t.handledSet_,t);if(!Aa(n,t))return e;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(t);Gm(n,t)}return n.copy_}function AD(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&xu(e,n)}function qm(t){t.finalized_=!0,t.scope_.unfinalizedDrafts_--}var Aa=(t,e)=>t.scope_===e,OD=[];function Rm(t,e,n,r){const o=hr(t),i=t.type_;if(r!==void 0&&vu(o,r,i)===e){ba(o,r,n,i);return}if(!t.draftLocations_){const a=t.draftLocations_=new Map;ya(o,(l,c)=>{if(Nr(c)){const u=a.get(c)||[];u.push(l),a.set(c,u)}})}const s=t.draftLocations_.get(e)??OD;for(const a of s)ba(o,a,n,i)}function BD(t,e,n){t.callbacks_.push(function(o){var a;const i=e;if(!i||!Aa(i,o))return;(a=o.mapSetPlugin_)==null||a.fixSetContents(i);const s=Cu(i);Rm(t,i.draft_??i,s,n),Gm(i,o)})}function Gm(t,e){var r;if(t.modified_&&!t.finalized_&&(t.type_===3||t.type_===1&&t.allIndicesReassigned_||(((r=t.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:o}=e;if(o){const i=o.getPath(t);i&&o.generatePatches_(t,i,e)}qm(t)}}function TD(t,e,n){const{scope_:r}=t;if(Nr(n)){const o=n[qt];Aa(o,r)&&o.callbacks_.push(function(){Ta(t);const s=Cu(o);Rm(t,n,s,e)})}else fr(n)&&t.callbacks_.push(function(){const i=hr(t);t.type_===3?i.has(n)&&Oa(n,r.handledSet_,r):vu(i,e,t.type_)===n&&r.drafts_.length>1&&(t.assigned_.get(e)??!1)===!0&&t.copy_&&Oa(vu(t.copy_,e,t.type_),r.handledSet_,r)})}function Oa(t,e,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Nr(t)||e.has(t)||!fr(t)||Ea(t)||(e.add(t),ya(t,(r,o)=>{if(Nr(o)){const i=o[qt];if(Aa(i,n)){const s=Cu(i);ba(t,r,s,t.type_),qm(i)}}else fr(o)&&Oa(o,e,n)})),t}function _D(t,e){const n=Ca(t),r={type_:n?1:0,scope_:e?e.scope_:$m(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let o=r,i=Ba;n&&(o=[r],i=Ri);const{revoke:s,proxy:a}=Proxy.revocable(o,i);return r.draft_=a,r.revoke_=s,[a,r]}var Ba={get(t,e){if(e===qt)return t;let n=t.scope_.arrayMethodsPlugin_;const r=t.type_===1&&typeof e=="string";if(r&&n!=null&&n.isArrayOperationMethod(e))return n.createMethodInterceptor(t,e);const o=hr(t);if(!Pm(o,e,t.type_))return ND(t,o,e);const i=o[e];if(t.finalized_||!fr(i)||r&&t.operationMethod&&(n!=null&&n.isMutatingArrayMethod(t.operationMethod))&&xD(e))return i;if(i===Au(t.base_,e)){Ta(t);const s=t.type_===1?+e:e,a=Bu(t.scope_,i,t,s);return t.copy_[s]=a}return i},has(t,e){return e in hr(t)},ownKeys(t){return Reflect.ownKeys(hr(t))},set(t,e,n){const r=Km(hr(t),e);if(r!=null&&r.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const o=Au(hr(t),e),i=o==null?void 0:o[qt];if(i&&i.base_===n)return t.copy_[e]=n,t.assigned_.set(e,!1),!0;if(kD(n,o)&&(n!==void 0||Pm(t.base_,e,t.type_)))return!0;Ta(t),Ou(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_.set(e,!0),TD(t,e,n)),!0},deleteProperty(t,e){return Ta(t),Au(t.base_,e)!==void 0||e in t.base_?(t.assigned_.set(e,!1),Ou(t)):t.assigned_.delete(e),t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=hr(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{[va]:!0,[wu]:t.type_!==1||e!=="length",[wa]:r[wa],[Vi]:n[e]}},defineProperty(){Bn(11)},getPrototypeOf(t){return Wo(t.base_)},setPrototypeOf(){Bn(12)}},Ri={};for(let t in Ba){let e=Ba[t];Ri[t]=function(){const n=arguments;return n[0]=n[0][0],e.apply(this,n)}}Ri.deleteProperty=function(t,e){return Ri.set.call(this,t,e,void 0)},Ri.set=function(t,e,n){return Ba.set.call(this,t[0],e,n,t[0])};function Au(t,e){const n=t[qt];return(n?hr(n):t)[e]}function ND(t,e,n){var o;const r=Km(e,n);return r?Vi in r?r[Vi]:(o=r.get)==null?void 0:o.call(t.draft_):void 0}function Km(t,e){if(!(e in t))return;let n=Wo(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Wo(n)}}function Ou(t){t.modified_||(t.modified_=!0,t.parent_&&Ou(t.parent_))}function Ta(t){t.copy_||(t.assigned_=new Map,t.copy_=ku(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var FD=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,n,r)=>{if(Vo(e)&&!Vo(n)){const i=n;n=e;const s=this;return function(l=i,...c){return s.produce(l,u=>n.call(this,u,...c))}}Vo(n)||Bn(6),r!==void 0&&!Vo(r)&&Bn(7);let o;if(fr(e)){const i=Wm(this),s=Bu(i,e,void 0);let a=!0;try{o=n(s),a=!1}finally{a?Eu(i):Du(i)}return jm(i,r),Vm(o,i)}else if(!e||!yu(e)){if(o=n(e),o===void 0&&(o=e),o===Nm&&(o=void 0),this.autoFreeze_&&xu(o,!0),r){const i=[],s=[];lo(Su).generateReplacementPatches_(e,o,{patches_:i,inversePatches_:s}),r(i,s)}return o}else Bn(1,e)},this.produceWithPatches=(e,n)=>{if(Vo(e))return(s,...a)=>this.produceWithPatches(s,l=>e(l,...a));let r,o;return[this.produce(e,n,(s,a)=>{r=s,o=a}),r,o]},bu(t==null?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),bu(t==null?void 0:t.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),bu(t==null?void 0:t.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){fr(t)||Bn(8),Nr(t)&&(t=MD(t));const e=Wm(this),n=Bu(e,t,void 0);return n[qt].isManual_=!0,Du(e),n}finishDraft(t,e){const n=t&&t[qt];(!n||!n.isManual_)&&Bn(9);const{scope_:r}=n;return jm(r,e),Vm(void 0,r)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const o=e[n];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}n>-1&&(e=e.slice(n+1));const r=lo(Su).applyPatches_;return Nr(t)?r(t,e):this.produce(t,o=>r(o,e))}};function Bu(t,e,n,r){const[o,i]=ka(e)?lo(Da).proxyMap_(e,n):xa(e)?lo(Da).proxySet_(e,n):_D(e,n);return((n==null?void 0:n.scope_)??$m()).drafts_.push(o),i.callbacks_=(n==null?void 0:n.callbacks_)??[],i.key_=r,n&&r!==void 0?BD(n,i,r):i.callbacks_.push(function(l){var u;(u=l.mapSetPlugin_)==null||u.fixSetContents(i);const{patchPlugin_:c}=l;i.modified_&&c&&c.generatePatches_(i,[],l)}),o}function MD(t){return Nr(t)||Bn(10,t),Xm(t)}function Xm(t){if(!fr(t)||Ea(t))return t;const e=t[qt];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=ku(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=ku(t,!0);return ya(n,(o,i)=>{ba(n,o,Xm(i))},r),e&&(e.finalized_=!1),n}var ID=new FD,cn=ID.produce;function Ym(t,e){return function(){return t.apply(e,arguments)}}const{toString:PD}=Object.prototype,{getPrototypeOf:Tu}=Object,{iterator:_a,toStringTag:Jm}=Symbol,Na=(t=>e=>{const n=PD.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Tn=t=>(t=t.toLowerCase(),e=>Na(e)===t),Fa=t=>e=>typeof e===t,{isArray:Uo}=Array,qo=Fa("undefined");function Gi(t){return t!==null&&!qo(t)&&t.constructor!==null&&!qo(t.constructor)&&Jt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Qm=Tn("ArrayBuffer");function LD(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Qm(t.buffer),e}const zD=Fa("string"),Jt=Fa("function"),Zm=Fa("number"),Ki=t=>t!==null&&typeof t=="object",HD=t=>t===!0||t===!1,Ma=t=>{if(Na(t)!=="object")return!1;const e=Tu(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Jm in t)&&!(_a in t)},$D=t=>{if(!Ki(t)||Gi(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},jD=Tn("Date"),WD=Tn("File"),VD=Tn("Blob"),UD=Tn("FileList"),qD=t=>Ki(t)&&Jt(t.pipe),RD=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||Jt(t.append)&&((e=Na(t))==="formdata"||e==="object"&&Jt(t.toString)&&t.toString()==="[object FormData]"))},GD=Tn("URLSearchParams"),[KD,XD,YD,JD]=["ReadableStream","Request","Response","Headers"].map(Tn),QD=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Xi(t,e,{allOwnKeys:n=!1}={}){if(t===null||typeof t>"u")return;let r,o;if(typeof t!="object"&&(t=[t]),Uo(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{if(Gi(t))return;const i=n?Object.getOwnPropertyNames(t):Object.keys(t),s=i.length;let a;for(r=0;r<s;r++)a=i[r],e.call(null,t[a],a,t)}}function eg(t,e){if(Gi(t))return null;e=e.toLowerCase();const n=Object.keys(t);let r=n.length,o;for(;r-- >0;)if(o=n[r],e===o.toLowerCase())return o;return null}const co=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,tg=t=>!qo(t)&&t!==co;function _u(){const{caseless:t,skipUndefined:e}=tg(this)&&this||{},n={},r=(o,i)=>{const s=t&&eg(n,i)||i;Ma(n[s])&&Ma(o)?n[s]=_u(n[s],o):Ma(o)?n[s]=_u({},o):Uo(o)?n[s]=o.slice():(!e||!qo(o))&&(n[s]=o)};for(let o=0,i=arguments.length;o<i;o++)arguments[o]&&Xi(arguments[o],r);return n}const ZD=(t,e,n,{allOwnKeys:r}={})=>(Xi(e,(o,i)=>{n&&Jt(o)?t[i]=Ym(o,n):t[i]=o},{allOwnKeys:r}),t),eA=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),tA=(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},nA=(t,e,n,r)=>{let o,i,s;const a={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],(!r||r(s,t,e))&&!a[s]&&(e[s]=t[s],a[s]=!0);t=n!==!1&&Tu(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},rA=(t,e,n)=>{t=String(t),(n===void 0||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return r!==-1&&r===n},oA=t=>{if(!t)return null;if(Uo(t))return t;let e=t.length;if(!Zm(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},iA=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&Tu(Uint8Array)),sA=(t,e)=>{const r=(t&&t[_a]).call(t);let o;for(;(o=r.next())&&!o.done;){const i=o.value;e.call(t,i[0],i[1])}},aA=(t,e)=>{let n;const r=[];for(;(n=t.exec(e))!==null;)r.push(n);return r},lA=Tn("HTMLFormElement"),cA=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),ng=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),uA=Tn("RegExp"),rg=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};Xi(n,(o,i)=>{let s;(s=e(o,i,t))!==!1&&(r[i]=s||o)}),Object.defineProperties(t,r)},dA=t=>{rg(t,(e,n)=>{if(Jt(t)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=t[n];if(Jt(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},fA=(t,e)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return Uo(t)?r(t):r(String(t).split(e)),n},hA=()=>{},pA=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function mA(t){return!!(t&&Jt(t.append)&&t[Jm]==="FormData"&&t[_a])}const gA=t=>{const e=new Array(10),n=(r,o)=>{if(Ki(r)){if(e.indexOf(r)>=0)return;if(Gi(r))return r;if(!("toJSON"in r)){e[o]=r;const i=Uo(r)?[]:{};return Xi(r,(s,a)=>{const l=n(s,o+1);!qo(l)&&(i[a]=l)}),e[o]=void 0,i}}return r};return n(t,0)},wA=Tn("AsyncFunction"),vA=t=>t&&(Ki(t)||Jt(t))&&Jt(t.then)&&Jt(t.catch),og=((t,e)=>t?setImmediate:e?((n,r)=>(co.addEventListener("message",({source:o,data:i})=>{o===co&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),co.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Jt(co.postMessage)),yA=typeof queueMicrotask<"u"?queueMicrotask.bind(co):typeof process<"u"&&process.nextTick||og,J={isArray:Uo,isArrayBuffer:Qm,isBuffer:Gi,isFormData:RD,isArrayBufferView:LD,isString:zD,isNumber:Zm,isBoolean:HD,isObject:Ki,isPlainObject:Ma,isEmptyObject:$D,isReadableStream:KD,isRequest:XD,isResponse:YD,isHeaders:JD,isUndefined:qo,isDate:jD,isFile:WD,isBlob:VD,isRegExp:uA,isFunction:Jt,isStream:qD,isURLSearchParams:GD,isTypedArray:iA,isFileList:UD,forEach:Xi,merge:_u,extend:ZD,trim:QD,stripBOM:eA,inherits:tA,toFlatObject:nA,kindOf:Na,kindOfTest:Tn,endsWith:rA,toArray:oA,forEachEntry:sA,matchAll:aA,isHTMLForm:lA,hasOwnProperty:ng,hasOwnProp:ng,reduceDescriptors:rg,freezeMethods:dA,toObjectSet:fA,toCamelCase:cA,noop:hA,toFiniteNumber:pA,findKey:eg,global:co,isContextDefined:tg,isSpecCompliantForm:mA,toJSONObject:gA,isAsyncFn:wA,isThenable:vA,setImmediate:og,asap:yA,isIterable:t=>t!=null&&Jt(t[_a])};function ze(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}J.inherits(ze,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:J.toJSONObject(this.config),code:this.code,status:this.status}}});const ig=ze.prototype,sg={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{sg[t]={value:t}}),Object.defineProperties(ze,sg),Object.defineProperty(ig,"isAxiosError",{value:!0}),ze.from=(t,e,n,r,o,i)=>{const s=Object.create(ig);J.toFlatObject(t,s,function(u){return u!==Error.prototype},c=>c!=="isAxiosError");const a=t&&t.message?t.message:"Error",l=e==null&&t?t.code:e;return ze.call(s,a,l,n,r,o),t&&s.cause==null&&Object.defineProperty(s,"cause",{value:t,configurable:!0}),s.name=t&&t.name||"Error",i&&Object.assign(s,i),s};const bA=null;function Nu(t){return J.isPlainObject(t)||J.isArray(t)}function ag(t){return J.endsWith(t,"[]")?t.slice(0,-2):t}function lg(t,e,n){return t?t.concat(e).map(function(o,i){return o=ag(o),!n&&i?"["+o+"]":o}).join(n?".":""):e}function CA(t){return J.isArray(t)&&!t.some(Nu)}const kA=J.toFlatObject(J,{},null,function(e){return/^is[A-Z]/.test(e)});function Ia(t,e,n){if(!J.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,n=J.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,v){return!J.isUndefined(v[w])});const r=n.metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&J.isSpecCompliantForm(e);if(!J.isFunction(o))throw new TypeError("visitor must be a function");function c(m){if(m===null)return"";if(J.isDate(m))return m.toISOString();if(J.isBoolean(m))return m.toString();if(!l&&J.isBlob(m))throw new ze("Blob is not supported. Use a Buffer instead.");return J.isArrayBuffer(m)||J.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,w,v){let y=m;if(m&&!v&&typeof m=="object"){if(J.endsWith(w,"{}"))w=r?w:w.slice(0,-2),m=JSON.stringify(m);else if(J.isArray(m)&&CA(m)||(J.isFileList(m)||J.endsWith(w,"[]"))&&(y=J.toArray(m)))return w=ag(w),y.forEach(function(x,S){!(J.isUndefined(x)||x===null)&&e.append(s===!0?lg([w],S,i):s===null?w:w+"[]",c(x))}),!1}return Nu(m)?!0:(e.append(lg(v,w,i),c(m)),!1)}const d=[],f=Object.assign(kA,{defaultVisitor:u,convertValue:c,isVisitable:Nu});function p(m,w){if(!J.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+w.join("."));d.push(m),J.forEach(m,function(y,g){(!(J.isUndefined(y)||y===null)&&o.call(e,y,J.isString(g)?g.trim():g,w,f))===!0&&p(y,w?w.concat(g):[g])}),d.pop()}}if(!J.isObject(t))throw new TypeError("data must be an object");return p(t),e}function cg(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function Fu(t,e){this._pairs=[],t&&Ia(t,this,e)}const ug=Fu.prototype;ug.append=function(e,n){this._pairs.push([e,n])},ug.toString=function(e){const n=e?function(r){return e.call(this,r,cg)}:cg;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function xA(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function dg(t,e,n){if(!e)return t;const r=n&&n.encode||xA;J.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let i;if(o?i=o(e,n):i=J.isURLSearchParams(e)?e.toString():new Fu(e,n).toString(r),i){const s=t.indexOf("#");s!==-1&&(t=t.slice(0,s)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t}class fg{constructor(){this.handlers=[]}use(e,n,r){return this.handlers.push({fulfilled:e,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){J.forEach(this.handlers,function(r){r!==null&&e(r)})}}const hg={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},SA={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Fu,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},Mu=typeof window<"u"&&typeof document<"u",Iu=typeof navigator=="object"&&navigator||void 0,EA=Mu&&(!Iu||["ReactNative","NativeScript","NS"].indexOf(Iu.product)<0),DA=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",AA=Mu&&window.location.href||"http://localhost",zt={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Mu,hasStandardBrowserEnv:EA,hasStandardBrowserWebWorkerEnv:DA,navigator:Iu,origin:AA},Symbol.toStringTag,{value:"Module"})),...SA};function OA(t,e){return Ia(t,new zt.classes.URLSearchParams,{visitor:function(n,r,o,i){return zt.isNode&&J.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...e})}function BA(t){return J.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function TA(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}function pg(t){function e(n,r,o,i){let s=n[i++];if(s==="__proto__")return!0;const a=Number.isFinite(+s),l=i>=n.length;return s=!s&&J.isArray(o)?o.length:s,l?(J.hasOwnProp(o,s)?o[s]=[o[s],r]:o[s]=r,!a):((!o[s]||!J.isObject(o[s]))&&(o[s]=[]),e(n,r,o[s],i)&&J.isArray(o[s])&&(o[s]=TA(o[s])),!a)}if(J.isFormData(t)&&J.isFunction(t.entries)){const n={};return J.forEachEntry(t,(r,o)=>{e(BA(r),o,n,0)}),n}return null}function _A(t,e,n){if(J.isString(t))try{return(e||JSON.parse)(t),J.trim(t)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(t)}const Yi={transitional:hg,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=J.isObject(e);if(i&&J.isHTMLForm(e)&&(e=new FormData(e)),J.isFormData(e))return o?JSON.stringify(pg(e)):e;if(J.isArrayBuffer(e)||J.isBuffer(e)||J.isStream(e)||J.isFile(e)||J.isBlob(e)||J.isReadableStream(e))return e;if(J.isArrayBufferView(e))return e.buffer;if(J.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return OA(e,this.formSerializer).toString();if((a=J.isFileList(e))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Ia(a?{"files[]":e}:e,l&&new l,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),_A(e)):e}],transformResponse:[function(e){const n=this.transitional||Yi.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(J.isResponse(e)||J.isReadableStream(e))return e;if(e&&J.isString(e)&&(r&&!this.responseType||o)){const s=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(e,this.parseReviver)}catch(a){if(s)throw a.name==="SyntaxError"?ze.from(a,ze.ERR_BAD_RESPONSE,this,null,this.response):a}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:zt.classes.FormData,Blob:zt.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};J.forEach(["delete","get","head","post","put","patch"],t=>{Yi.headers[t]={}});const NA=J.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),FA=t=>{const e={};let n,r,o;return t&&t.split(`
2
+ `).forEach(function(s){o=s.indexOf(":"),n=s.substring(0,o).trim().toLowerCase(),r=s.substring(o+1).trim(),!(!n||e[n]&&NA[n])&&(n==="set-cookie"?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e},mg=Symbol("internals");function Ji(t){return t&&String(t).trim().toLowerCase()}function Pa(t){return t===!1||t==null?t:J.isArray(t)?t.map(Pa):String(t)}function MA(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}const IA=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Pu(t,e,n,r,o){if(J.isFunction(r))return r.call(this,e,n);if(o&&(e=n),!!J.isString(e)){if(J.isString(r))return e.indexOf(r)!==-1;if(J.isRegExp(r))return r.test(e)}}function PA(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,r)=>n.toUpperCase()+r)}function LA(t,e){const n=J.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(o,i,s){return this[r].call(this,e,o,i,s)},configurable:!0})})}let Qt=class{constructor(e){e&&this.set(e)}set(e,n,r){const o=this;function i(a,l,c){const u=Ji(l);if(!u)throw new Error("header name must be a non-empty string");const d=J.findKey(o,u);(!d||o[d]===void 0||c===!0||c===void 0&&o[d]!==!1)&&(o[d||l]=Pa(a))}const s=(a,l)=>J.forEach(a,(c,u)=>i(c,u,l));if(J.isPlainObject(e)||e instanceof this.constructor)s(e,n);else if(J.isString(e)&&(e=e.trim())&&!IA(e))s(FA(e),n);else if(J.isObject(e)&&J.isIterable(e)){let a={},l,c;for(const u of e){if(!J.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[c=u[0]]=(l=a[c])?J.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}s(a,n)}else e!=null&&i(n,e,r);return this}get(e,n){if(e=Ji(e),e){const r=J.findKey(this,e);if(r){const o=this[r];if(!n)return o;if(n===!0)return MA(o);if(J.isFunction(n))return n.call(this,o,r);if(J.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Ji(e),e){const r=J.findKey(this,e);return!!(r&&this[r]!==void 0&&(!n||Pu(this,this[r],r,n)))}return!1}delete(e,n){const r=this;let o=!1;function i(s){if(s=Ji(s),s){const a=J.findKey(r,s);a&&(!n||Pu(r,r[a],a,n))&&(delete r[a],o=!0)}}return J.isArray(e)?e.forEach(i):i(e),o}clear(e){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!e||Pu(this,this[i],i,e,!0))&&(delete this[i],o=!0)}return o}normalize(e){const n=this,r={};return J.forEach(this,(o,i)=>{const s=J.findKey(r,i);if(s){n[s]=Pa(o),delete n[i];return}const a=e?PA(i):String(i).trim();a!==i&&delete n[i],n[a]=Pa(o),r[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return J.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=e&&J.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join(`
3
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(o=>r.set(o)),r}static accessor(e){const r=(this[mg]=this[mg]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=Ji(s);r[a]||(LA(o,s),r[a]=!0)}return J.isArray(e)?e.forEach(i):i(e),this}};Qt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),J.reduceDescriptors(Qt.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}}),J.freezeMethods(Qt);function Lu(t,e){const n=this||Yi,r=e||n,o=Qt.from(r.headers);let i=r.data;return J.forEach(t,function(a){i=a.call(n,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function gg(t){return!!(t&&t.__CANCEL__)}function Ro(t,e,n){ze.call(this,t??"canceled",ze.ERR_CANCELED,e,n),this.name="CanceledError"}J.inherits(Ro,ze,{__CANCEL__:!0});function wg(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new ze("Request failed with status code "+n.status,[ze.ERR_BAD_REQUEST,ze.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function zA(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function HA(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o=0,i=0,s;return e=e!==void 0?e:1e3,function(l){const c=Date.now(),u=r[i];s||(s=c),n[o]=l,r[o]=c;let d=i,f=0;for(;d!==o;)f+=n[d++],d=d%t;if(o=(o+1)%t,o===i&&(i=(i+1)%t),c-s<e)return;const p=u&&c-u;return p?Math.round(f*1e3/p):void 0}}function $A(t,e){let n=0,r=1e3/e,o,i;const s=(c,u=Date.now())=>{n=u,o=null,i&&(clearTimeout(i),i=null),t(...c)};return[(...c)=>{const u=Date.now(),d=u-n;d>=r?s(c,u):(o=c,i||(i=setTimeout(()=>{i=null,s(o)},r-d)))},()=>o&&s(o)]}const La=(t,e,n=3)=>{let r=0;const o=HA(50,250);return $A(i=>{const s=i.loaded,a=i.lengthComputable?i.total:void 0,l=s-r,c=o(l),u=s<=a;r=s;const d={loaded:s,total:a,progress:a?s/a:void 0,bytes:l,rate:c||void 0,estimated:c&&a&&u?(a-s)/c:void 0,event:i,lengthComputable:a!=null,[e?"download":"upload"]:!0};t(d)},n)},vg=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},yg=t=>(...e)=>J.asap(()=>t(...e)),jA=zt.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,zt.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(zt.origin),zt.navigator&&/(msie|trident)/i.test(zt.navigator.userAgent)):()=>!0,WA=zt.hasStandardBrowserEnv?{write(t,e,n,r,o,i,s){if(typeof document>"u")return;const a=[`${t}=${encodeURIComponent(e)}`];J.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),J.isString(r)&&a.push(`path=${r}`),J.isString(o)&&a.push(`domain=${o}`),i===!0&&a.push("secure"),J.isString(s)&&a.push(`SameSite=${s}`),document.cookie=a.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function VA(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function UA(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function bg(t,e,n){let r=!VA(e);return t&&(r||n==!1)?UA(t,e):e}const Cg=t=>t instanceof Qt?{...t}:t;function uo(t,e){e=e||{};const n={};function r(c,u,d,f){return J.isPlainObject(c)&&J.isPlainObject(u)?J.merge.call({caseless:f},c,u):J.isPlainObject(u)?J.merge({},u):J.isArray(u)?u.slice():u}function o(c,u,d,f){if(J.isUndefined(u)){if(!J.isUndefined(c))return r(void 0,c,d,f)}else return r(c,u,d,f)}function i(c,u){if(!J.isUndefined(u))return r(void 0,u)}function s(c,u){if(J.isUndefined(u)){if(!J.isUndefined(c))return r(void 0,c)}else return r(void 0,u)}function a(c,u,d){if(d in e)return r(c,u);if(d in t)return r(void 0,c)}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(c,u,d)=>o(Cg(c),Cg(u),d,!0)};return J.forEach(Object.keys({...t,...e}),function(u){const d=l[u]||o,f=d(t[u],e[u],u);J.isUndefined(f)&&d!==a||(n[u]=f)}),n}const kg=t=>{const e=uo({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:s,auth:a}=e;if(e.headers=s=Qt.from(s),e.url=dg(bg(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),J.isFormData(n)){if(zt.hasStandardBrowserEnv||zt.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(J.isFunction(n.getHeaders)){const l=n.getHeaders(),c=["content-type","content-length"];Object.entries(l).forEach(([u,d])=>{c.includes(u.toLowerCase())&&s.set(u,d)})}}if(zt.hasStandardBrowserEnv&&(r&&J.isFunction(r)&&(r=r(e)),r||r!==!1&&jA(e.url))){const l=o&&i&&WA.read(i);l&&s.set(o,l)}return e},qA=typeof XMLHttpRequest<"u"&&function(t){return new Promise(function(n,r){const o=kg(t);let i=o.data;const s=Qt.from(o.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:c}=o,u,d,f,p,m;function w(){p&&p(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function y(){if(!v)return;const x=Qt.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),b={data:!a||a==="text"||a==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:x,config:t,request:v};wg(function(A){n(A),w()},function(A){r(A),w()},b),v=null}"onloadend"in v?v.onloadend=y:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(y)},v.onabort=function(){v&&(r(new ze("Request aborted",ze.ECONNABORTED,t,v)),v=null)},v.onerror=function(S){const b=S&&S.message?S.message:"Network Error",k=new ze(b,ze.ERR_NETWORK,t,v);k.event=S||null,r(k),v=null},v.ontimeout=function(){let S=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const b=o.transitional||hg;o.timeoutErrorMessage&&(S=o.timeoutErrorMessage),r(new ze(S,b.clarifyTimeoutError?ze.ETIMEDOUT:ze.ECONNABORTED,t,v)),v=null},i===void 0&&s.setContentType(null),"setRequestHeader"in v&&J.forEach(s.toJSON(),function(S,b){v.setRequestHeader(b,S)}),J.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),a&&a!=="json"&&(v.responseType=o.responseType),c&&([f,m]=La(c,!0),v.addEventListener("progress",f)),l&&v.upload&&([d,p]=La(l),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",p)),(o.cancelToken||o.signal)&&(u=x=>{v&&(r(!x||x.type?new Ro(null,t,v):x),v.abort(),v=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const g=zA(o.url);if(g&&zt.protocols.indexOf(g)===-1){r(new ze("Unsupported protocol "+g+":",ze.ERR_BAD_REQUEST,t));return}v.send(i||null)})},RA=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,o;const i=function(c){if(!o){o=!0,a();const u=c instanceof Error?c:this.reason;r.abort(u instanceof ze?u:new Ro(u instanceof Error?u.message:u))}};let s=e&&setTimeout(()=>{s=null,i(new ze(`timeout ${e} of ms exceeded`,ze.ETIMEDOUT))},e);const a=()=>{t&&(s&&clearTimeout(s),s=null,t.forEach(c=>{c.unsubscribe?c.unsubscribe(i):c.removeEventListener("abort",i)}),t=null)};t.forEach(c=>c.addEventListener("abort",i));const{signal:l}=r;return l.unsubscribe=()=>J.asap(a),l}},GA=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,o;for(;r<n;)o=r+e,yield t.slice(r,o),r=o},KA=async function*(t,e){for await(const n of XA(t))yield*GA(n,e)},XA=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},xg=(t,e,n,r)=>{const o=KA(t,e);let i=0,s,a=l=>{s||(s=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await o.next();if(c){a(),l.close();return}let d=u.byteLength;if(n){let f=i+=d;n(f)}l.enqueue(new Uint8Array(u))}catch(c){throw a(c),c}},cancel(l){return a(l),o.return()}},{highWaterMark:2})},Sg=64*1024,{isFunction:za}=J,YA=(({Request:t,Response:e})=>({Request:t,Response:e}))(J.global),{ReadableStream:Eg,TextEncoder:Dg}=J.global,Ag=(t,...e)=>{try{return!!t(...e)}catch{return!1}},JA=t=>{t=J.merge.call({skipUndefined:!0},YA,t);const{fetch:e,Request:n,Response:r}=t,o=e?za(e):typeof fetch=="function",i=za(n),s=za(r);if(!o)return!1;const a=o&&za(Eg),l=o&&(typeof Dg=="function"?(m=>w=>m.encode(w))(new Dg):async m=>new Uint8Array(await new n(m).arrayBuffer())),c=i&&a&&Ag(()=>{let m=!1;const w=new n(zt.origin,{body:new Eg,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!w}),u=s&&a&&Ag(()=>J.isReadableStream(new r("").body)),d={stream:u&&(m=>m.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!d[m]&&(d[m]=(w,v)=>{let y=w&&w[m];if(y)return y.call(w);throw new ze(`Response type '${m}' is not supported`,ze.ERR_NOT_SUPPORT,v)})});const f=async m=>{if(m==null)return 0;if(J.isBlob(m))return m.size;if(J.isSpecCompliantForm(m))return(await new n(zt.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(J.isArrayBufferView(m)||J.isArrayBuffer(m))return m.byteLength;if(J.isURLSearchParams(m)&&(m=m+""),J.isString(m))return(await l(m)).byteLength},p=async(m,w)=>{const v=J.toFiniteNumber(m.getContentLength());return v??f(w)};return async m=>{let{url:w,method:v,data:y,signal:g,cancelToken:x,timeout:S,onDownloadProgress:b,onUploadProgress:k,responseType:A,headers:E,withCredentials:T="same-origin",fetchOptions:D}=kg(m),M=e||fetch;A=A?(A+"").toLowerCase():"text";let N=RA([g,x&&x.toAbortSignal()],S),F=null;const I=N&&N.unsubscribe&&(()=>{N.unsubscribe()});let O;try{if(k&&c&&v!=="get"&&v!=="head"&&(O=await p(E,y))!==0){let K=new n(w,{method:"POST",body:y,duplex:"half"}),le;if(J.isFormData(y)&&(le=K.headers.get("content-type"))&&E.setContentType(le),K.body){const[$,V]=vg(O,La(yg(k)));y=xg(K.body,Sg,$,V)}}J.isString(T)||(T=T?"include":"omit");const H=i&&"credentials"in n.prototype,L={...D,signal:N,method:v.toUpperCase(),headers:E.normalize().toJSON(),body:y,duplex:"half",credentials:H?T:void 0};F=i&&new n(w,L);let W=await(i?M(F,D):M(w,L));const R=u&&(A==="stream"||A==="response");if(u&&(b||R&&I)){const K={};["status","statusText","headers"].forEach(q=>{K[q]=W[q]});const le=J.toFiniteNumber(W.headers.get("content-length")),[$,V]=b&&vg(le,La(yg(b),!0))||[];W=new r(xg(W.body,Sg,$,()=>{V&&V(),I&&I()}),K)}A=A||"text";let Y=await d[J.findKey(d,A)||"text"](W,m);return!R&&I&&I(),await new Promise((K,le)=>{wg(K,le,{data:Y,headers:Qt.from(W.headers),status:W.status,statusText:W.statusText,config:m,request:F})})}catch(H){throw I&&I(),H&&H.name==="TypeError"&&/Load failed|fetch/i.test(H.message)?Object.assign(new ze("Network Error",ze.ERR_NETWORK,m,F),{cause:H.cause||H}):ze.from(H,H&&H.code,m,F)}}},QA=new Map,Og=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:o}=e,i=[r,o,n];let s=i.length,a=s,l,c,u=QA;for(;a--;)l=i[a],c=u.get(l),c===void 0&&u.set(l,c=a?new Map:JA(e)),u=c;return c};Og();const zu={http:bA,xhr:qA,fetch:{get:Og}};J.forEach(zu,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Bg=t=>`- ${t}`,ZA=t=>J.isFunction(t)||t===null||t===!1;function eO(t,e){t=J.isArray(t)?t:[t];const{length:n}=t;let r,o;const i={};for(let s=0;s<n;s++){r=t[s];let a;if(o=r,!ZA(r)&&(o=zu[(a=String(r)).toLowerCase()],o===void 0))throw new ze(`Unknown adapter '${a}'`);if(o&&(J.isFunction(o)||(o=o.get(e))))break;i[a||"#"+s]=o}if(!o){const s=Object.entries(i).map(([l,c])=>`adapter ${l} `+(c===!1?"is not supported by the environment":"is not available in the build"));let a=n?s.length>1?`since :
4
+ `+s.map(Bg).join(`
5
+ `):" "+Bg(s[0]):"as no adapter specified";throw new ze("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o}const Tg={getAdapter:eO,adapters:zu};function Hu(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ro(null,t)}function _g(t){return Hu(t),t.headers=Qt.from(t.headers),t.data=Lu.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Tg.getAdapter(t.adapter||Yi.adapter,t)(t).then(function(r){return Hu(t),r.data=Lu.call(t,t.transformResponse,r),r.headers=Qt.from(r.headers),r},function(r){return gg(r)||(Hu(t),r&&r.response&&(r.response.data=Lu.call(t,t.transformResponse,r.response),r.response.headers=Qt.from(r.response.headers))),Promise.reject(r)})}const Ng="1.13.2",Ha={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Ha[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const Fg={};Ha.transitional=function(e,n,r){function o(i,s){return"[Axios v"+Ng+"] Transitional option '"+i+"'"+s+(r?". "+r:"")}return(i,s,a)=>{if(e===!1)throw new ze(o(s," has been removed"+(n?" in "+n:"")),ze.ERR_DEPRECATED);return n&&!Fg[s]&&(Fg[s]=!0,console.warn(o(s," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(i,s,a):!0}},Ha.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function tO(t,e,n){if(typeof t!="object")throw new ze("options must be an object",ze.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],s=e[i];if(s){const a=t[i],l=a===void 0||s(a,i,t);if(l!==!0)throw new ze("option "+i+" must be "+l,ze.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new ze("Unknown option "+i,ze.ERR_BAD_OPTION)}}const $a={assertOptions:tO,validators:Ha},Un=$a.validators;let fo=class{constructor(e){this.defaults=e||{},this.interceptors={request:new fg,response:new fg}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
6
+ `+i):r.stack=i}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=uo(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&$a.assertOptions(r,{silentJSONParsing:Un.transitional(Un.boolean),forcedJSONParsing:Un.transitional(Un.boolean),clarifyTimeoutError:Un.transitional(Un.boolean)},!1),o!=null&&(J.isFunction(o)?n.paramsSerializer={serialize:o}:$a.assertOptions(o,{encode:Un.function,serialize:Un.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),$a.assertOptions(n,{baseUrl:Un.spelling("baseURL"),withXsrfToken:Un.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&J.merge(i.common,i[n.method]);i&&J.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),n.headers=Qt.concat(s,i);const a=[];let l=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(l=l&&w.synchronous,a.unshift(w.fulfilled,w.rejected))});const c=[];this.interceptors.response.forEach(function(w){c.push(w.fulfilled,w.rejected)});let u,d=0,f;if(!l){const m=[_g.bind(this),void 0];for(m.unshift(...a),m.push(...c),f=m.length,u=Promise.resolve(n);d<f;)u=u.then(m[d++],m[d++]);return u}f=a.length;let p=n;for(;d<f;){const m=a[d++],w=a[d++];try{p=m(p)}catch(v){w.call(this,v);break}}try{u=_g.call(this,p)}catch(m){return Promise.reject(m)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(e){e=uo(this.defaults,e);const n=bg(e.baseURL,e.url,e.allowAbsoluteUrls);return dg(n,e.params,e.paramsSerializer)}};J.forEach(["delete","get","head","options"],function(e){fo.prototype[e]=function(n,r){return this.request(uo(r||{},{method:e,url:n,data:(r||{}).data}))}}),J.forEach(["post","put","patch"],function(e){function n(r){return function(i,s,a){return this.request(uo(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}fo.prototype[e]=n(),fo.prototype[e+"Form"]=n(!0)});let nO=class uD{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new Ro(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new uD(function(o){e=o}),cancel:e}}};function rO(t){return function(n){return t.apply(null,n)}}function oO(t){return J.isObject(t)&&t.isAxiosError===!0}const $u={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries($u).forEach(([t,e])=>{$u[e]=t});function Mg(t){const e=new fo(t),n=Ym(fo.prototype.request,e);return J.extend(n,fo.prototype,e,{allOwnKeys:!0}),J.extend(n,e,null,{allOwnKeys:!0}),n.create=function(o){return Mg(uo(t,o))},n}const pt=Mg(Yi);pt.Axios=fo,pt.CanceledError=Ro,pt.CancelToken=nO,pt.isCancel=gg,pt.VERSION=Ng,pt.toFormData=Ia,pt.AxiosError=ze,pt.Cancel=pt.CanceledError,pt.all=function(e){return Promise.all(e)},pt.spread=rO,pt.isAxiosError=oO,pt.mergeConfig=uo,pt.AxiosHeaders=Qt,pt.formToJSON=t=>pg(J.isHTMLForm(t)?new FormData(t):t),pt.getAdapter=Tg.getAdapter,pt.HttpStatusCode=$u,pt.default=pt;const{Axios:OW,AxiosError:BW,CanceledError:TW,isCancel:_W,CancelToken:NW,VERSION:FW,all:MW,Cancel:IW,isAxiosError:PW,spread:LW,toFormData:zW,AxiosHeaders:HW,HttpStatusCode:$W,formToJSON:jW,getAdapter:WW,mergeConfig:VW}=pt,iO={...{"common.cannot_chinese":"No Chinese or special chars","common.please_enter_username_name_mobile":"Enter name/username/email/mobile","common.new_enterprise":"Create enterprise app","common.javascript_expression":"JavaScript expr ref","common.javascript_selection":"Enter JavaScript expr or select","common.readonly_not_mappable":"Read-only props not mappable","common.add_mapping_rules":"Add mapping rules","common.password":"Password","common.batch_delete":"Bulk Delete","common.batch_revoke":"Bulk Revoke","common.batch_disable":"Bulk Disable","app.common.btn.on":"Enable","app.common.btn.off":"Disable","common.turn_on":"Enable","common.enabled":"Enabled","common.turn_off":"Disable","common.disabled":"Disabled","app.common.btn.stopUse":"Off","common.delete":"Delete","common.revoke":"Revoke","common.export":"Export","common.account":"Account","app.common.word.zhanghao":"Account","app.common.word.name":"Name","common.placeholder.search":"Enter search content","common.name":"Name","app.common.word.email":"Email","common.mobile":"Mobile","app.common.word.organizational-structure":"Org Structure","common.user-origin":"User Origin","app.common.word.expiration-date":"Exp Date","app.common.word.status":"Status","app.common.word.normal":"Normal","app.common.word.success":"Success","app.common.word.failed":"Failed","app.common.word.disabled":"Disabled","app.common.word.temporarily-disabled":"Temp Disabled","common.ineffective":"Not Effective","common.inactivated":"Inactivated","common.expired":"Expired","common.deactivated":"Deactivated","app.common.word.save":"Save","common.save_success":"Save Success","common.save_failed":"Save Failed","app.common.word.back":"Back","app.common.word.cancel":"Cancel","app.common.word.version":"Version","app.common.placeholder.please-enter-name-description":"Enter Name/Description","app.common.word.operation":"Operation","app.common.word.new":"Create","app.common.word.create":"Create","app.common.word.creator":"Creator","app.common.word.creation-time":"Creation Time","app.common.word.update-time":"Update Time","app.common.word.start-time":"Start Time","app.common.word.end-time":"End Time","common.type":"Type","app.common.word.system":"System","app.common.word.policy-name":"Policy Name","app.common.word.tag-type":"Tag Type","app.common.word.static-tag":"Static Tag","app.common.word.dynamic-tag":"Dynamic Tag","common.edit":"Edit","app.common.word.basic-information":"Basic Info","app.common.btn.new-sub-organization":"Create Sub Org","app.common.btn.new-enterprise":"Create Enterprise App","app.common.btn.new-application":"Create App","app.common.btn.new-role":"Create Role","app.common.btn.new-authentication":"Create Auth","app.common.btn.new-connector":"Create Connector","app.common.btn.new-category":"Create Category","common.export-log":"Export Log","app.common.word.activated":"Activated","app.common.word.not-enabled":"Not Enabled","common.deleted":"Deleted","app.common.word.application-store":"App Marketplace","app.common.word.custom-application":"Custom App","app.common.word.third-party-application":"Third-Party App","app.common.word.application-name":"App Name","app.common.word.next-step":"Next Step","app.common.word.previous-step":"Prev Step","app.common.word.save-and-next":"Save And Next","app.common.word.finish":"Complete","app.common.word.confirm":"Confirm","app.common.word.view-details":"View Details","app.common.word.connector-list":"Integration Flow List","app.common.word.create-connector":"Create Integration Flow","app.common.word.icon":"Icon","app.common.word.upload":"Upload","app.common.word.download":"Download","app.common.word.operating-time":"Operating Time","common.number-of-tag-users":"Num Of Tag Users","common.synchronization-period":"Sync Cycle","common.sync":"Sync","common.sync-status":"Sync Status","app.common.word.connector-status":"Connector Status","app.common.word.mapping":"Mapping","app.common.word.on-off":"On/Off","app.common.word.application-source":"App Source","app.common.word.application-integration":"App Integration","app.common.word.default-application":"Default App","app.common.word.application":"App","app.common.word.token-management":"Token Mgt","app.common.word.application-information":"App Info","app.common.word.authorization-management":"AuthZ","app.common.word.application-selection":"App Selection","app.common.word.connector-flow":"Integration Process","common.user":"User","common.department":"Department","common.department-sort":"Department Sort","app.common.word.address-book-integration":"Directory Integration","app.common.word.address-book-synchronization":"Directory Sync","app.common.word.filter":"Filter","app.common.word.attribute":"Attribute","app.common.word.new-attribute":"Add New Attr","app.common.word.attribute-name":"Attr Name","app.common.word.display-name":"Display Name","app.common.word.attribute-type":"Attr Type","app.common.word.required":"Required","app.common.word.data-type":"Data Type","app.common.word.alias":"Alias","common.string":"String","common.boolean":"Boolean","common.number":"Number","common.object":"Object","app.common.word.value":"Value","app.common.word.basic-attribute":"Basic Attr","app.common.word.extended-attribute":"Extended Attr","app.common.word.all":"All","app.common.word.finance":"Finance","app.common.word.market":"Market","app.common.word.component-name":"Component Name","app.common.word.download-count":"Download Count","app.common.word.upload-time":"Upload Time","app.common.word.active":"Active","app.common.word.inactive":"Inactive","app.common.word.pending":"Pending","app.common.word.customer-management":"Customer Mgt","app.common.word.collaboration":"Collab","app.common.word.renshi":"HR","app.common.word.device-model":"Device Model","app.common.word.device-status":"Device Status","app.common.word.last-online-time":"Last Online Time","app.common.word.online":"Online","app.common.word.token-information":"Token Info","app.common.word.upload-token":"Upload Token","app.common.word.refresh":"Refresh","app.common.word.application-list":"App List","app.common.word.login-time":"Login Time","app.common.word.source-ip":"Source IP","app.common.word.source-device":"Source Device","app.common.word.result":"Result","app.common.word.operation-result":"Operation Result","common.user-account-behavior":"User Account Act","common.user-screenshot-behavior":"User Screenshot Act","common.user-screen-recording-behavior":"User Screen Rec Act","app.common.word.device-name":"Device Name","app.common.word.screenshot-content":"Screenshot Content","common.user-policy":"User Policy","common.password-policy":"Pwd Policy","app.common.word.login-policy":"Login Policy","app.common.word.login-control":"Login Control","app.common.word.audit-log":"Audit Logs","common.times":"Times","app.common.word.custom":"Custom","app.common.word.custom-role":"Custom Role","app.common.word.reset":"Reset","app.common.word.privacy-policy":"Privacy Policy","app.common.word.privacy-policy-content":"Privacy Policy Content","app.common.word.login-page-support":"Login Page Multi-language Support","app.common.word.identity_verify_attrs":"Identity Verify Attrs","app.common.word.identity_verify_attrs_tooltip":"If the attribute that needs to verify user identity information is enabled, the user must complete identity verification before logging in","app.common.word.identity_verify_attrs_tooltip_new":{title:"Identity Verification Attributes",paragraph1:"Set account attribute fields for additional identity verification during user login to enhance login security. When users complete basic password authentication, the system checks configured identity verification attributes and requires verification of unverified attributes.",paragraph2:"The system manages trusted attributes and verified attribute lists to avoid duplicate verification. Verified attributes are marked as trusted and won't require verification on next login. Suitable for high-security environments, works with multi-factor authentication for layered security protection."},"app.common.word.show-content":"Show Content","app.common.word.login-page-settings":"Login Page Settings","app.common.word.platform-name":"Platform Name","app.common.word.platform-logo":"Platform Logo","app.common.word.login-box-style":"Login Box Style","app.common.word.show-left":"Left","app.common.word.show-center":"Center","app.common.word.show-right":"Right","app.common.word.login-page-background":"Login Page BG","app.common.word.color-background":"Color BG","app.common.word.picture-background":"Picture BG","app.common.word.background-image":"BG Image","app.common.word.ip-address":"IP Address","app.common.word.operation-start-time":"Op Start Time","app.common.word.operation-end-time":"Op End Time","app.common.word.operator":"Operator","app.common.word.file-name":"File Name","app.common.word.file-type":"File Type","common.abnormal":"Abnormal","app.common.word.prison-break":"Jailbroken","common.user-creation-review":"User Create Review","app.common.word.expiration-reminder":"Exp Reminder","app.common.word.expiration-reminder-days":"Exp Reminder Days","app.common.word.reminder-cycle":"Reminder Cycle","common.password-complexity":"Pwd Complexity","common.contains-numbers":"Contains Numbers","common.minimum-password-length":"Min Pwd Length","common.contains-uppercase-letters":"Contains Uppercase","common.contains-lowercase-letters":"Contains Lowercase","common.contains-special-characters":"Contains Special Char","common.reset_pwd_related_attr":"Reset Pwd Related Attr","common.reset_pwd_related_attr_tooltip":{title:"Password Reset Related Account Attributes",paragraph1:"Set account attribute fields to display during password reset to help users identify and confirm account identity. When users perform password reset, the system displays configured account attribute information for account confirmation.",paragraph2:"The system displays corresponding user information on the password reset interface based on configured attribute fields, helping users verify account accuracy. It's recommended to configure key information fields that users can easily identify to ensure accurate account identity confirmation."},"common.administrator-reset-password":"Admin Reset Pwd","common.change_password_after_first_login":"Change Pwd After 1st Login","common.account-locked-continuous-invalid-login":"Account Locked Invalid Login","common.lock-account":"Lock Account","common.lock-free-ip-whitelist":"Lock-Free IP List","common.minute":"Minute","app.manage.logout_uri":"Logout Callback URL","app.manage.logout_uri_tooltip":"Application logout URL to be called after IDaaS logout","app.manage.logout_uri_placeholder":"Enter backend logout URI","app.manage.uri_format_error":"Invalid URI format, please enter a valid URL","app.manage.optional":"Optional","common.hour":"Hour","common.day":"Days","app.common.word.invalid-immediately-after-closing-the-browser":"Invalid After Browser Close","app.common.word.time":"Time","app.common.word.sso-session-validity-period":"SSO Session Validity","app.common.word.sms-verification-code-validity-period":"SMS Code Validity","app.common.word.email-verification-code-validity-period":"Email Code Validity","app.common.word.single-logout":"Single Logout After Password Change","app.common.word.forget-password":"Forget Password Attrs","app.common.word.forget-password-tooltip":"Phone number and email attribute settings will affect the verification code sending channel of the forget password page. If not set, the forget password entry will not be displayed on the login page","app.common.word.login-properties":"Login Properties","app.common.word.multi-factor-authentication":"MFA","app.common.word.enterprise-authentication-login":"Enterprise Auth Login","app.common.word.address-book-integrated-history-log":"Dir Int History Log","app.common.word.address-book-synchronization-history-log":"User Outbound History Log","app.common.word.connection-flow-run-log":"Integration Flow Audit Logs","app.common.word.add":"Add","app.common.word.add-application":"Add App","app.common.word.add-account":"Add","app.common.word.add-field":"Add Field","app.common.word.add-an-ip":"Add IP","app.common.word.proxy-gateway":"Proxy Gateway","app.common.word.proxy-gateway-name":"Proxy Gateway Name","app.common.word.proxy-service":"Proxy Service","app.common.word.default-gateway":"Default Gateway","app.common.word.operation-type":"Op Type","app.common.word.specific-operations":"Specific Ops","app.common.word.operation_behavior":"Operation Behavior","app.common.word.operation_result":"Operation Result","app.common.word.operation-object":"Op Object","app.common.word.execution-status":"Exec Status","app.common.word.process-classification":"Process Class","app.common.word.execution-time":"Exec Time","app.common.word.receiver":"Receiver","app.common.word.space-type":"Space Type","app.common.word.operating-device":"Op Device","app.common.word.system-built-in-roles":"System Builtin Roles","app.common.word.system-administrator":"System Admin","common.account-administrator":"Account Admin","app.common.word.application-manager":"App Manager","app.common.word.role-name":"Role Name","app.common.word.description":"Description","app.common.word.distribute":"Distribute","app.common.word.view":"View","app.common.word.copy":"Copy","common.password-reset-template":"Email verification code","app.common.word.basic-authorization-information":"Basic Auth Info","app.common.word.authorized-user":"Auth User","app.common.word.authorization-module":"Auth Module","app.common.word.authorization-time":"Auth Time","common.user-connection":"User Integration","app.common.word.application-sso":"App SSO","app.common.word.security-baseline-monitoring-device-access":"Sec Baseline/Device Access","app.common.word.document-audit":"Doc Audit","app.common.word.application-distribution":"App Distribution","app.common.word.data-leakage-prevention":"DLP","app.common.word.secure-access-gateway":"Sec Access Gateway","app.common.word.data-connections":"Data Conns","app.common.word.data_connection_limit_note":"Unlimited connection flow times, please contact customer service to reset if exceeded 10 million times/year","app.common.word.application-package-name":"App Package Name","app.common.word.platform":"Platform","app.common.word.key":"Key","app.common.word.authorization-code":"Auth Code","common.info":"Info","common.yes":"Yes","common.no":"No","common.delete.confirm":"Confirm Delete?","common.eq":"Eq","common.ne":"Not Eq","common.gt":"Gt","common.ge":"Gt/Eq","common.lt":"Lt","common.le":"Lt/Eq","common.sw":"Starts","common.nsw":"Not Starts","common.ew":"Ends","common.ewn":"Not Ends","common.co":"Contains","common.nco":"Not Contain","common.in":"In","common.nin":"Not In","common.length_max":"Max __length__ chars","common.special":"Only letters, numbers, underscores","common.device":"Device","common.use_proxy":"Use Proxy Gateway","common.do_not_use":"Do not use","common.cancel":"Cancel","common.reset":"Reset","common.user_proxy_extra":"Private net cannot open IP whitelist, use {proxyGateway} for secure connection","common.update":"Update","common.search":"Search","app.common.word.multi-language":"Multi-language","app.common.word.multi-language-input":"Multi-language Input","app.common.word.please-enter-platform-name":"Please enter platform name","common.change_password":"Change Password","common.passwords_do_not_match":"Two passwords do not match","common.password_verification":"Password Verification","common.old_password":"Old Password","common.please_enter_old_password":"Please enter old password","common.new_password":"New Password","common.please_enter_new_password":"Please enter new password","common.confirm_new_password":"Confirm New Password","common.please_confirm_new_password":"Please confirm new password","common.password_strength":"Password strength","common.password_strength_low":"Weak","common.password_strength_medium":"Medium","common.password_strength_strong":"Strong","common.password_strength_score":"Score: {score}/5","common.phone_verification":"Phone Verification","common.phone_number":"Phone Number","common.please_enter_phone_number":"Please enter phone number","common.please_enter":"Please enter {label}","common.please_upload":"Please upload {label}","common.verification_code":"Verification Code","common.please_enter_verification_code":"Please enter verification code","common.get_verification_code":"Get Verification Code","common.retry_in_seconds":"Try again after __seconds__ seconds","common.verification_code_sent":"Verification code sent","theme.save":"Save","theme.primary_color":"Theme Color","theme.navbar":"Navigation Bar","theme.content_area":"Content Area","common.username":"Username","common.remark":"Remark","common.operation_success":"Operation Success","app.common.word.save-flow-config":"Save Flow Configuration","common.uppercase-letter":"Uppercase letter","common.lowercase-letter":"Lowercase letter","common.special-character":"Special Character","common.start_time":"Start Time","common.end_time":"End Time","common.permission_denied":"Permission Denied","common.download_failed":"Download Failed","common.all_types":"All Types","common.all_status":"All Status","common.unknown_error":"Unknown Error","common.download":"Download","common.transparent":"Transparent","common.opaque":"Opaque","common.advancedFilter":"Advanced Filter","app.common.word.sms-invitation":"SMS Invite","app.common.word.email-invitation":"Email Invite","app.common.word.send-record":"Send Record","app.common.word.distribution-application-name":"Dist App Name","app.common.word.sms-content":"SMS Content","app.common.word.jieshouzhe":"Receiver","app.common.word.send-message":"Send Msg","app.common.word.inviter":"Inviter","app.common.word.send-time":"Send Time","app.common.word.invitation-method":"Invite Method","app.common.word.send-status":"Send Status","app.common.word.email-title":"Email Title","app.common.word.email-content":"Email Content","app.common.word.send-email":"Send Email","app.common.word.query":"Query","app.common.word.online-test":"Online Debug","app.common.word.ignore-test":"Ignore Debug","app.common.word.rights-groups":"Rights Groups","app.common.word.management-scope":"Mgmt Scope","app.common.word.authorization-architecture-scope":"Auth Arch Scope","app.common.word.bind-custom-role":"Bind Custom Role","app.common.word.sms-theme":"SMS Theme","app.common.word.quantity":"Quantity","app.common.word.sdk-authorization":"SDK Auth","app.common.word.app-distribution-page-customization":"App Dist Page Custom","app.common.word.page-logo":"Page Logo","app.common.word.page-background-image":"Page BG Image","app.common.word.button-color":"Button Color","app.common.word.title-copy":"Title Copy","app.common.word.verify-lead-copy":"Verify Lead Copy","app.common.word.bottom-prompt-copy":"Bottom Prompt Copy","app.common.word.download-tip":"Download Tip","app.common.word.ways-of-verification":"Ways of Verif","common.no-verification":"No Verif","app.common.word.extraction-code":"Extract Code","app.common.word.alibaba-cloud-idaas":"Alibaba Cloud IDaaS","app.common.word.sms-verification":"SMS Verif","app.common.word.download-link":"Download Link","app.common.word.process-name":"Process Name","app.common.word.extract":"Extract","common.please-enter":"Please Enter","app.common.word.role":"Role","app.common.word.role-grouping":"Role Grouping","app.common.word.default-role-group":"Def Role Group","app.common.word.role-description":"Role Desc","app.common.word.role-code":"Role Code","app.common.word.role-type":"Role Type","app.common.word.associated-users":"Assoc Users","common.user-info":"User Info","app.common.word.classification":"Classif","app.common.word.blacklist":"Blacklist","app.common.word.condition":"Condition","app.common.word.partial-exception":"Part Exception","app.common.word.shangxian":"Put Online","app.common.word.fuzhi":"Copy","app.common.word.release":"Release","app.common.word.trigger-event":"Trigger Event","app.common.word.revise":"Revise","app.common.word.trigger-application":"Trigger App","app.common.word.configuration-parameters":"Config Params","app.common.word.error-handler":"Error Handler","app.common.word.enable-retry":"Enable Retry","app.common.word.enable-alert":"Enable Alert","app.common.word.webhook-url":"Webhook URL","app.common.word.enter-webhook-url":"Please enter alert Webhook URL","app.common.word.retry-count":"Retry Count","app.common.word.retry-count-tooltip":"Maximum number of retries allowed","app.common.word.please-enter-retry-count":"Please enter retry count, minimum is 1, maximum is 10","app.common.word.retry-interval":"Retry Interval","app.common.word.retry-interval-tooltip":"Time interval between retries","app.common.word.please-enter-retry-interval":"Please enter retry interval, minimum is 1, maximum is 60","app.common.word.step-factor":"Backoff Factor","app.common.word.step-factor-tooltip":"Coefficient for increasing wait time after each retry","app.common.word.please-enter-step-factor":"Please enter backoff factor, minimum is 1, maximum is 5","app.common.word.max-retry-interval":"Max Retry Interval","app.common.word.max-retry-interval-tooltip":"Maximum wait time for a single retry","app.common.word.please-enter-max-retry-interval":"Please enter max retry interval, minimum is 1, maximum is 300","app.common.word.error-handling":"Error Handling","app.common.word.select-error-handling":"Select Error Handling Method","app.common.word.interrupt-flow":"Return Error","app.common.word.ignore-error":"Ignore Error","app.common.word.apply-to-all-nodes":"Apply to all action nodes in this connection flow","app.common.word.test-node":"Debug Node","app.common.word.test-and-preview":"Test & Preview","common.no-test-data-yet":"No Test Data","app.common.word.execute-application":"Exec App","app.common.word.perform-action":"Exec Action","app.common.word.configure-account":"Config Account","app.common.word.enlarge":"Enlarge","app.common.word.zoom-out":"Shrink","app.common.word.reduction":"Restore","app.common.word.full-screen":"Full Screen","app.common.word.step":"Steps","app.common.word.variable-name":"Var Name","app.common.word.add-new-and":"Add And","app.common.word.add-or":"Add Or","app.common.word.select-variable":"Select Var","common.no-process-variables-yet":"No Proc Vars","app.common.word.execution-conditions-conditional-judgment":"Exec Cond: Cond Judg","app.common.word.loop-execution-loop-polling-array":"Loop Exec: Poll Array","app.common.word.loop-data-type":"Loop Data Type","app.common.word.circulation-direction":"Loop Direction","app.common.word.loop-processing":"Loop Proc","app.common.word.please":"Please","app.common.word.and":"And","app.common.word.use-immediately":"Use Now","app.common.word.select-trigger-condition":"Select Trigger Cond","common.no-trigger-configured":"No Trigger Config","app.common.word.select-an-application":"Select App","app.common.word.action-to-execute":"Action To Exec","app.common.word.process-ends-automatically":"Select App & Action","app.common.word.copy-node":"Copy Node","app.common.word.disable-node":"Disable Node","app.common.word.enable-node":"Enable Node","app.common.word.add-notes":"Add Notes","app.common.word.modify-notes":"Modify Notes","common.delete-node":"Delete Node","common.export-node":"Export Node","common.import-node":"Import Node","app.common.word.notes":"Notes","app.common.word.avatar":"Avatar","app.common.word.gender":"Gender","app.common.word.id-card":"ID Card","app.common.word.validity-period":"Validity Period","app.common.word.confidential":"Confidential","app.common.word.male":"Male","app.common.word.female":"Female","app.common.word.job-number":"Emp ID","app.common.word.extended-fields":"Ext Fields","app.common.word.employee-type":"Emp Type","app.common.word.bu-person-in-charge":"BU In Charge","app.common.word.organize-information":"Org Info","common.department-management":"Dept Mgt","app.common.word.main-department":"Primary Dept","common.department-occupation":"Dept Position","common.department-heads":"Dept Mgr","common.department-id":"Dept Emp ID","app.common.word.role-information":"Role Info","app.common.word.associated-role":"Assoc Role","app.common.word.nick-name":"Nick Name","app.common.word.advanced-configuration":"Adv Config","app.common.word.attribute-mapping":"Attr Mapping","app.common.word.exception-handling":"Excep Handling","app.common.word.configuration-guide":"Config Guide","common.edit-connector":"Edit Connector","app.common.word.connector-information":"Connector Info","app.common.word.enterprise-choice":"Enterprise App Choice","app.common.word.data-hung-node":"Data on Local Mount Node","common.upstream-root-organization-id":"Upstream Root Org ID","common.downstream-root-organization-id":"Downstream Root Org ID","user.link.upstream-root-organization-tip":"Enter Upstream Dept ID","common.sync-scope":"Sync Range","app.common.word.users-and-departments":"Users & Depts","common.sync-users-only":"Sync Users Only","common.department-synchronization-strategy":"Mount Method","common.delete-user-threshold":"Del User Threshold","common.delete-user-way":"Del User Way","common.delete-user-way-disable":"User Disable","common.delete-user-way-delete":"Regular Delete","common.delete-user-way-tip":"Upstream deleted users will be disabled if selected.","common.account-association":"Acct Assoc","user.link.word.account-association-tip":"Assoc rules are 'OR'","app.common.word.add-association-rules":"Add Assoc Rules","app.common.word.connection-test":"Integration Test","app.common.word.test":"Test","app.common.word.merge-with-selected-node":"Merge With Selected","app.common.word.create-new-under-selected-node":"Create Under Selected","app.common.word.sync.connectors":"Sync Connectors","app.common.word.integration.connectors":"Identity Upstream Automation","app.common.word.enterprise-certification-source":"Enterprise Auth Source","app.common.word.social-authentication-source":"Social Auth Source","app.common.word.built_in_authentication_source":"Built-in Auth Source","app.common.word.are-you-sure-you-want-to-delete-it":"Confirm Delete?","app.common.word.you-havent-uploaded-the-token-yet":"No Tokens Uploaded","app.common.word.you-havent-uploaded-any-apps-yet":"No Apps Uploaded","app.common.word.application-basic-information":"App Basic Info","app.common.word.single-point-configuration":"SSO Config","common.authorization-scope":"Auth Scope","app.common.word.regenerate":"Regenerate","app.common.word.allow-self-service-application":"Allow Self-service","app.common.word.allow":"Allow","app.common.word.not-allowed":"Do Not Allow","app.common.word.home-page-address":"Homepage URL","app.common.word.application-introduction":"App Brief","app.common.word.application-icon":"App Icon","app.common.word.offline":"Take Down","app.common.word.already-offline":"Offline","app.common.word.not-published":"Unpublished","app.common.word.already-online":"Online","app.common.word.going-online":"Going Online","common.warning":"Warning","app.common.word.process-management":"Process Mgt","common.user-review-policy":"User Review Policy","app.common.word.create-review":"Create Review","app.common.word.renewal-review":"Renewal Review","app.common.word.application-instructions":"App Instructions","app.common.word.image-less-than-50k":"Image < __size__k","app.common.word.detection":"Detection","app.common.word.initiator":"Initiator","app.common.word.self-service-application-request":"Self-service Req","app.common.word.open-method":"Open Method","app.common.word.current-page":"Open in Current Page","app.common.word.new-window":"Open in New Window","app.common.word.customOpen":"Custom Opening"},...{"link.flow.start_node":"Start Node","link.flow.end_node":"End Node","link.flow.unconfig_action_node":"Unconfigured Action Nodes","link.flow.select_location_node":"Select Location Node","link.flow.forced_online_warn":"Forced Online Warning","link.flow.online_forced_tip1":"Forcing online skips all verifications and launches the flow, causing risks:","link.flow.online_forced_tip2":"System instability or crash","link.flow.online_forced_tip3":"Data inconsistency or loss","link.flow.online_forced_tip4":"Security vulnerabilities or permission issues","link.flow.online_forced_tip5":"Confirm understanding and acceptance of risks. Use only in special cases and verify immediately after online.","link.flow.online_forced_tip6":"Continue forced online operation?","link.flow.online-process":"Online Process","link.flow.editing-process":"Edit Process","link.flow.forced_online":"Forced Online","link.flow.execute":"Execute","link.flow.log":"Log","link.flow.enter_template_name":"Enter Template Name","link.flow.stream_upgrading":"Connection flow upgrading, operation not allowed","link.flow.online_this_process":"Put this process online?","link.flow.confirm_configuration":"Confirm process config complete","link.flow.online_success":"Online success","link.flow.check_failed":"Flow check failed","link.flow.are_you_sure_to_delete":"Sure to delete?","link.flow.process_checking":"Process checking...","link.flow.manual_creation":"Manual creation","link.flow.file_import":"File import","link.flow.please_upload_yaml_file":"Upload YAML file","link.flow.file_size_limit_5MB":"File size max 5MB","link.flow.import_connection_stream":"Import Integration Flow","link.flow.click_to_select_or_drag_file":"Click or drag file to upload","link.flow.process_edit_auto_offline":"Editing takes process offline","link.flow.edit_running_process":"Editing running process takes it offline first","link.flow.continue_editing":"Continue editing","link.flow.current_read_only_mode":"Read-only mode","link.flow.modification_success":"Modification successful","link.flow.modification_failed":"Modification failed","link.flow.edit_connection_stream":"Edit Integration Flow","link.flow.add_connection_stream":"Add Integration Flow","link.flow.stream_name":"Flow Name","link.flow.please_enter_stream_name":"Enter your flow name","link.flow.stream_description":"Flow Description","link.flow.please_enter_description":"Enter your description","link.flow.conditional_execution":"Conditional Execution","link.flow.conditional_execution_description":"Add process branch based on conditions","link.flow.loop_execution":"Loop Execution","link.flow.loop_execution_description":"Process data in loops","link.flow.creating_node":"Creating node","link.flow.here_you_can":"Here you can","link.flow.insert_application":"Insert app and choose actions","link.flow.or_add_execution_logic":"Or add execution logic","link.flow.prompt":"Notice","link.flow.confirm_delete_node":"Sure to delete node?","link.flow.deletion_success":"Delete successful","link.flow.node_closed":"Node 【__deepPath__】 is __closed__","link.flow.remark_modification_success":"Remark modification successful","link.flow.please_enter_remark":"Enter remark...","link.flow.copy_success":"Copy successful","link.flow.action":"Action:","link.flow.execution_condition":"Execution Condition: Set triggers for next processes","link.flow.execution_condition_colon":"Execution condition:","link.flow.or":"Or","link.flow.if":"If","link.flow.and":"And","link.flow.trigger":"Trigger:","link.flow.loop":"Loop","link.flow.array":"Array","link.flow.expression":"Expression","link.flow.loop_node_output":"Loop node - Output","link.flow.not_selected":"Not selected","link.flow.code_editor":"DigitalSee Code","link.flow.exit_full_screen":"Exit full screen","link.flow.missing_configuration":"Config item missing, check input","link.flow.remove":"Remove","link.flow.please_enter_variable_name":"Enter variable name","link.flow.variable_name":"Variable name","link.flow.please_select_condition":"Select condition","link.flow.select_condition":"Select judgment condition","link.flow.value":"Value","link.flow.configure_action":"Configure actions in selected app","link.flow.configure_trigger":"Configure process triggers, e.g., auto-trigger at 9 am daily","link.flow.configuration_description":"Config instructions:","link.flow.description_usage":"For batch data processing, split content into multiple objects, max 500 per batch. Three loop types:","link.flow.array_type":"① Array: Split multi-level data into smallest units for individual processing","link.flow.number_type":"② Number: Control loop executions by setting start position and loop count","link.flow.condition_expression_type":"③ Conditional: Execute loop if expression is true; otherwise, end loop. Start value can't exceed end value","link.flow.loop_start_end_check":"Loop start value can't exceed end value","link.flow.please_select_data_type":"Select loop data type","link.flow.condition_expression":"Conditional expression","link.flow.loop_start_end":"Loop start and end","link.flow.please_enter_loop_expression":"Enter loop expression","link.flow.loop_expression":"Loop expression","link.flow.please_select_loop_direction":"Select loop direction","link.flow.loop_head_to_tail":"Loop Start to End","link.flow.loop_tail_to_head":"Loop End to Start","link.flow.loop_processing":"Loop processing","link.flow.please_select_loop_processing":"Select loop processing","link.flow.terminate_process":"Terminate process","link.flow.continue_loop":"Skip This Loop (Continue)","link.flow.break_loop":"Break Out of Loop (Break)","link.flow.test_connection_success":"Test Integration successful","link.flow.test_connection_failed":"Test Integration failed","link.flow.creation_success":"Creation successful","link.flow.modification_time":"Modification time:","link.flow.edit_account":"Edit","link.flow.please_select":"Please select","link.flow.ciphertext":"Ciphertext","link.flow.text":"Text","link.flow.enter_keyword_to_search_action":"Enter keyword to search actions under __name__","link.flow.please_enter":"Please enter","link.flow.cannot_find_variable_output_node":"Cannot find this variable output node, please delete","link.flow.string":"String","link.flow.script":"Script","link.flow.enter_keyword":"Enter keyword to search app","link.flow.use_proxy_gateway":"Use proxy gateway","link.flow.do_not_use":"Do not use","link.flow.private_network_deployment":"Private network deployment without open IP whitelist can use","link.flow.proxy_gateway":"Proxy gateway","link.flow.secure_connection":"Secure integration flow","link.flow.click_test_and_preview":"Click [Online Debug] to affect live data. Please configure to the test environment for debugging.","link.flow.click_test_and_preview2":"Click [Ignore Debug] to save the current sample data as the debugging result.","link.flow.clear_test_results":"Clear test results","link.flow.test_failed":"Test not passed","link.flow.check_configuration":"Check config per test details. Contact support if unsure.","link.flow.error_data":"Error data","link.flow.sample_data":"Sample Data of Debug Results","link.flow.request_failed":"Request failed","link.flow.all":"All","link.flow.no_actions":"No actions","link.flow.no_apps":"No applications","link.flow.back":"Back","link.flow.node_data_yaml":"node_data.yaml","link.flow.excute_immediately":"Execute Immediately","link.flow.excute_immediately_tip":"Executing this operation will trigger a complete connection flow run, which may cause production data changes. Please confirm if you want to continue?","link.flow.excute_immediately_success":"Execute immediately successfully","link.flow.stop_running":"Stop Running","link.flow.switch.condition_one":"Condition 1","link.flow.switch.condition_two":"Condition 2","link.flow.switch.condition_n":"Condition {n}","link.flow.switch.branch_name_cannot_be_empty":"Branch name cannot be empty","link.flow.switch.branch_name_duplicate":"Branch name cannot be duplicate","link.flow.switch.enter_branch_name":"Please enter branch name","link.flow.switch.move_to_top":"Move to Top","link.flow.switch.move_up":"Move Up","link.flow.switch.move_down":"Move Down","link.flow.switch.move_to_bottom":"Move to Bottom","link.flow.switch.at_least_one_branch":"At least one branch is required","link.flow.switch.at_least_one_valid_branch":"At least one valid branch condition is required","link.flow.switch.add_branch":"Add Condition","link.flow.switch.max_branches_reached":"Maximum of 10 branches allowed"}},sO={...{"common.cannot_chinese":"不能包含中文和特殊字符","common.please_enter_username_name_mobile":"请输入姓名/用户名/邮箱/手机号","common.new_enterprise":"新建企业应用","common.javascript_expression":"JavaScript表达式参考","common.javascript_selection":"请输入JavaScript表达式或下拉选择","common.readonly_not_mappable":"只读属性不可映射","common.add_mapping_rules":"添加映射规则","common.password":"密码","common.batch_delete":"批量删除","common.batch_revoke":"批量撤销","common.batch_disable":"批量停用","app.common.btn.on":"启用","app.common.btn.off":"禁用","app.common.btn.stopUse":"停用","common.turn_on":"开启","common.enabled":"已开启","common.turn_off":"关闭","common.disabled":"已关闭","common.delete":"删除","common.revoke":"撤销","common.export":"导出","common.account":"用户名","app.common.word.zhanghao":"账号","app.common.word.name":"姓名","common.placeholder.search":"请输入搜索内容","common.name":"名称","app.common.word.email":"邮箱","common.mobile":"手机号","app.common.word.organizational-structure":"组织架构","common.user-origin":"用户来源","app.common.word.expiration-date":"到期时间","app.common.word.status":"状态","app.common.word.normal":"正常","app.common.word.success":"成功","app.common.word.failed":"失败","app.common.word.disabled":"已禁用","app.common.word.temporarily-disabled":"临时禁用","common.ineffective":"未生效","common.inactivated":"未激活","common.expired":"已过期","common.deactivated":"已停用","app.common.word.save":"保存","common.save_success":"保存成功","common.save_failed":"保存失败","app.common.word.back":"返回","app.common.word.cancel":"取消","app.common.word.version":"版本","app.common.placeholder.please-enter-name-description":"请输入名称/描述","app.common.word.operation":"操作","app.common.word.new":"新建","app.common.word.create":"新增","app.common.word.creator":"创建人","app.common.word.creation-time":"创建时间","app.common.word.update-time":"更新时间","app.common.word.start-time":"开始时间","app.common.word.end-time":"结束时间","common.type":"类型","app.common.word.system":"系统","app.common.word.policy-name":"策略名称","app.common.word.tag-type":"标签类型","app.common.word.static-tag":"静态标签","app.common.word.dynamic-tag":"动态标签","common.edit":"编辑","app.common.word.basic-information":"基本信息","app.common.btn.new-sub-organization":"新建子组织","app.common.btn.new-enterprise":"新建企业应用","app.common.btn.new-application":"新建应用","app.common.btn.new-role":"新建角色","app.common.btn.new-authentication":"新建认证源","app.common.btn.new-connector":"新建连接器","app.common.btn.new-category":"新建分类","common.export-log":"导出日志","app.common.word.activated":"已启用","app.common.word.not-enabled":"未启用","common.deleted":"已删除","app.common.word.application-store":"应用市场","app.common.word.custom-application":"自定义应用","app.common.word.third-party-application":"第三方应用","app.common.word.application-name":"应用名称","app.common.word.next-step":"下一步","app.common.word.previous-step":"上一步","app.common.word.save-and-next":"保存并下一步","app.common.word.finish":"完成","app.common.word.confirm":"确定","app.common.word.view-details":"查看详情","app.common.word.connector-list":"连接流列表","app.common.word.create-connector":"创建连接流","app.common.word.icon":"图标","app.common.word.upload":"上传","app.common.word.download":"下载","app.common.word.operating-time":"操作时间","common.number-of-tag-users":"标签用户数","common.synchronization-period":"同步周期","common.sync":"同步","common.sync-status":"同步状态","app.common.word.connector-status":"连接器状态","app.common.word.mapping":"映射","app.common.word.on-off":"启用/禁用","app.common.word.application-source":"应用来源","app.common.word.application-integration":"应用集成","app.common.word.default-application":"默认应用","app.common.word.application":"应用","app.common.word.token-management":"令牌管理","app.common.word.application-information":"应用信息","app.common.word.authorization-management":"授权管理","app.common.word.application-selection":"应用选择","app.common.word.connector-flow":"连接流程","common.user":"用户","common.department":"部门","common.department-sort":"部门排序","app.common.word.address-book-integration":"通讯录集成","app.common.word.address-book-synchronization":"通讯录同步","app.common.word.filter":"筛选","app.common.word.attribute":"属性","app.common.word.new-attribute":"新增属性","app.common.word.attribute-name":"属性名称","app.common.word.display-name":"显示名称","app.common.word.attribute-type":"属性类型","app.common.word.required":"是否必填","app.common.word.data-type":"数据类型","app.common.word.alias":"别名","common.string":"字符串","common.boolean":"布尔","common.number":"数字","common.object":"对象","app.common.word.value":"值","app.common.word.basic-attribute":"基础属性","app.common.word.extended-attribute":"扩展属性","app.common.word.all":"全部","app.common.word.finance":"财务","app.common.word.market":"市场","app.common.word.component-name":"组件名称","app.common.word.download-count":"下载次数","app.common.word.upload-time":"上传时间","app.common.word.active":"启用","app.common.word.inactive":"禁用","app.common.word.pending":"待审核","app.common.word.customer-management":"客户管理","app.common.word.collaboration":"协同","app.common.word.renshi":"人事","app.common.word.device-model":"设备型号","app.common.word.device-status":"设备状态","app.common.word.last-online-time":"最后上线时间","app.common.word.online":"在线","app.common.word.token-information":"令牌信息","app.common.word.upload-token":"上传令牌","app.common.word.refresh":"刷新","app.common.word.application-list":"应用列表","app.common.word.login-time":"登录时间","app.common.word.source-ip":"来源IP","app.common.word.source-device":"来源设备","app.common.word.result":"结果","app.common.word.operation-result":"执行结果","common.user-account-behavior":"用户账号行为","common.user-screenshot-behavior":"用户截屏行为","common.user-screen-recording-behavior":"用户录屏行为","app.common.word.device-name":"设备名称","app.common.word.screenshot-content":"截屏内容","common.user-policy":"用户策略","common.password-policy":"密码策略","app.common.word.login-policy":"登录策略","app.common.word.login-control":"登录控制","app.common.word.audit-log":"运行日志","common.day":"天","common.times":"次","app.common.word.custom":"自定义","app.common.word.custom-role":"自定义角色","app.common.word.reset":"重置","app.common.word.privacy-policy":"隐私条款","app.common.word.privacy-policy-content":"隐私条款内容","app.common.word.login-page-support":"登录页多语言支持","app.common.word.identity_verify_attrs":"身份验证属性","app.common.word.identity_verify_attrs_tooltip":"如果开启需要验证用户身份信息的属性,用户必须完成身份验证后才能登录","app.common.word.identity_verify_attrs_tooltip_new":{title:"身份验证属性",paragraph1:"设置用户登录时需要额外验证身份的账号属性字段,用于增强登录安全性。执行机制是用户完成基础密码验证后,系统检查配置的身份验证属性,要求用户对未验证的属性进行身份确认。",paragraph2:"系统会检查用户的可信属性,管理用户已验证的属性列表,避免重复验证。验证通过的属性会被标记为可信,下次登录时不再要求验证。适用于高安全要求的环境,与多因子认证配合使用,形成多层安全防护体系。"},"app.common.word.show-content":"展示内容","app.common.word.login-page-settings":"登录页设置","app.common.word.platform-name":"平台名称","app.common.word.platform-logo":"平台Logo","app.common.word.login-box-style":"登录框风格","app.common.word.show-left":"居左展示","app.common.word.show-center":"居中展示","app.common.word.show-right":"居右展示","app.common.word.login-page-background":"登录页背景","app.common.word.color-background":"纯色背景","app.common.word.picture-background":"图片背景","app.common.word.background-image":"背景图","app.common.word.ip-address":"IP地址","app.common.word.operation-start-time":"操作开始时间","app.common.word.operation-end-time":"操作结束时间","app.common.word.operator":"操作者","app.common.word.file-name":"文件名称","app.common.word.file-type":"文件类型","common.abnormal":"异常","app.common.word.prison-break":"越狱","common.user-creation-review":"用户创建审核","app.common.word.expiration-reminder":"到期提醒","app.common.word.expiration-reminder-days":"到期提醒天数","app.common.word.reminder-cycle":"提醒周期","common.password-complexity":"密码复杂度","common.contains-numbers":"包含数字","common.minimum-password-length":"密码最短长度","common.contains-uppercase-letters":"包含大写字母","common.contains-lowercase-letters":"包含小写字母","common.contains-special-characters":"包含特殊字符","common.reset_pwd_related_attr":"重置密码关联账号属性","common.reset_pwd_related_attr_tooltip":{title:"重置密码关联账号属性",paragraph1:"设置在重置密码时关联显示的账号属性字段,用于帮助用户识别和确认账号身份。功能机制是用户进行密码重置操作时,系统会显示配置的账号属性信息,让用户确认这是正确的账号。",paragraph2:"系统会根据配置的属性字段,在重置密码界面展示相应的用户信息,帮助用户核实账号的准确性。建议配置用户容易识别的关键信息字段,确保用户能够准确确认账号身份。"},"common.administrator-reset-password":"管理员重置密码","common.change_password_after_first_login":"首次登录修改密码","common.account-locked-continuous-invalid-login":"账号锁定-连续无效登录","common.lock-account":"锁定账号","common.lock-free-ip-whitelist":"免锁定ip白名单","common.minute":"分钟","app.manage.logout_uri":"登出回调地址","app.manage.logout_uri_tooltip":"IDaaS 登出后,回调的应用登出地址","app.manage.logout_uri_placeholder":"请输入后端登出URI","app.manage.uri_format_error":"URI格式不正确,请输入有效的URL","app.manage.optional":"选填","common.hour":"小时","app.common.word.invalid-immediately-after-closing-the-browser":"关闭浏览器后立即失效","app.common.word.time":"时间","app.common.word.sso-session-validity-period":"SSO会话有效期","app.common.word.sms-verification-code-validity-period":"短信验证码有效期","app.common.word.email-verification-code-validity-period":"邮件验证码有效期","app.common.word.single-logout":"密码修改后是否单点登出","app.common.word.forget-password":"忘记密码属性","app.common.word.forget-password-tooltip":"手机号、邮箱的属性设置将影响忘记密码页面的验证码发送渠道。如果不设置则登录页面不显示忘记密码入口","app.common.word.login-properties":"登录属性","app.common.word.multi-factor-authentication":"多因子认证","app.common.word.enterprise-authentication-login":"企业认证登录","app.common.word.address-book-integrated-history-log":"通讯录集成历史日志","app.common.word.address-book-synchronization-history-log":"通讯录同步历史日志","app.common.word.connection-flow-run-log":"连接流运行日志","app.common.word.add":"添加","app.common.word.add-application":"添加应用","app.common.word.add-account":"新建","app.common.word.add-field":"添加字段","app.common.word.add-an-ip":"添加一个IP","app.common.word.proxy-gateway":"代理网关","app.common.word.proxy-gateway-name":"代理网关名称","app.common.word.proxy-service":"代理服务","app.common.word.default-gateway":"默认网关","app.common.word.operation-type":"操作类型","app.common.word.specific-operations":"具体操作","app.common.word.operation_behavior":"操作行为","app.common.word.operation_result":"操作结果","app.common.word.operation-object":"操作对象","app.common.word.execution-status":"执行状态","app.common.word.process-classification":"流程分类","app.common.word.execution-time":"执行时间","app.common.word.receiver":"接收人","app.common.word.space-type":"空间类型","app.common.word.operating-device":"操作设备","app.common.word.system-built-in-roles":"系统内置角色","app.common.word.system-administrator":"系统管理员","common.account-administrator":"账号管理员","app.common.word.application-manager":"应用管理员","app.common.word.role-name":"角色名称","app.common.word.description":"描述","app.common.word.distribute":"分配","app.common.word.view":"查看","app.common.word.copy":"拷贝","common.password-reset-template":"邮件验证码","app.common.word.basic-authorization-information":"基础授权信息","app.common.word.authorized-user":"授权用户","app.common.word.authorization-module":"授权模块","app.common.word.authorization-time":"授权时间","common.user-connection":"用户连接","app.common.word.application-sso":"应用SSO","app.common.word.security-baseline-monitoring-device-access":"安全基线监测/设备准入","app.common.word.document-audit":"文件审计","app.common.word.application-distribution":"应用分发","app.common.word.data-leakage-prevention":"数据防泄漏","app.common.word.secure-access-gateway":"安全接入网关","app.common.word.data-connections":"数据连接","app.common.word.data_connection_limit_note":"不限连接流次数,超过1000万次/年请联系客服重置","app.common.word.application-package-name":"应用包名","app.common.word.platform":"平台","app.common.word.key":"密钥","app.common.word.authorization-code":"授权码","common.info":"信息","common.yes":"是","common.no":"否","common.delete.confirm":"确定要删除吗?","common.eq":"等于","common.ne":"不等于","common.gt":"大于","common.ge":"大于等于","common.lt":"小于","common.le":"小于等于","common.sw":"开头等于","common.nsw":"开头不等于","common.ew":"结尾等于","common.ewn":"结尾不等于","common.co":"包含","common.nco":"不包含","common.in":"被包含","common.nin":"不被包含","common.length_max":"最多__length__个字符","common.special":"只能包含字母、数字、下划线","common.device":"设备","common.use_proxy":"使用本地代理网关","common.do_not_use":"不使用","common.cancel":"取消","common.reset":"重置","common.user_proxy_extra":"纯私有网络部署无法开放IP白名单可使用 {proxyGateway} 安全连接","common.update":"更新","common.search":"搜索","app.common.word.multi-language":"多语言","app.common.word.multi-language-input":"多语言输入","app.common.word.please-enter-platform-name":"请输入平台名称","common.change_password":"修改密码","common.passwords_do_not_match":"两次输入密码不一致","common.password_verification":"密码验证","common.old_password":"原密码","common.please_enter_old_password":"请输入原密码","common.new_password":"新密码","common.please_enter_new_password":"请输入新密码","common.confirm_new_password":"确认新密码","common.please_confirm_new_password":"请确认新密码","common.password_strength":"密码强度","common.password_strength_low":"弱","common.password_strength_medium":"中","common.password_strength_strong":"高","common.password_strength_score":"评分:{score}/5","common.phone_verification":"手机验证","common.phone_number":"手机号码","common.please_enter_phone_number":"请输入手机号码","common.please_enter":"请输入{label}","common.please_upload":"请上传{label}","common.verification_code":"验证码","common.please_enter_verification_code":"请输入验证码","common.get_verification_code":"获取验证码","common.retry_in_seconds":"__seconds__秒后重试","common.verification_code_sent":"验证码已发送","theme.save":"保存","theme.primary_color":"主题色","theme.navbar":"导航栏","theme.content_area":"内容区域","common.username":"用户名","common.remark":"备注","common.operation_success":"操作成功","app.common.word.save-flow-config":"保存流程配置","common.uppercase-letter":"大写字母","common.lowercase-letter":"小写字母","common.special-character":"特殊字符","common.start_time":"开始时间","common.end_time":"结束时间","common.permission_denied":"权限不足","common.download_failed":"下载失败","common.all_types":"所有类型","common.all_status":"所有状态","common.unknown_error":"未知错误","common.download":"下载","common.transparent":"透明","common.opaque":"不透明","common.advancedFilter":"高级筛选","app.common.word.sms-invitation":"短信邀请","app.common.word.email-invitation":"邮件邀请","app.common.word.send-record":"发送记录","app.common.word.distribution-application-name":"分发应用名称","app.common.word.sms-content":"短信内容","app.common.word.jieshouzhe":"接收者","app.common.word.send-message":"发送短信","app.common.word.inviter":"邀请人","app.common.word.send-time":"发送时间","app.common.word.invitation-method":"邀请方式","app.common.word.send-status":"发送状态","app.common.word.email-title":"邮件标题","app.common.word.email-content":"邮件内容","app.common.word.send-email":"发送邮件","app.common.word.query":"查询","app.common.word.rights-groups":"权限组","app.common.word.management-scope":"管理范围","app.common.word.authorization-architecture-scope":"授权架构范围","app.common.word.bind-custom-role":"绑定自定义角色","app.common.word.sms-theme":"短信主题","app.common.word.quantity":"数量","app.common.word.sdk-authorization":"SDK授权","app.common.word.app-distribution-page-customization":"应用分发页面定制","app.common.word.page-logo":"页面 Logo","app.common.word.page-background-image":"页面背景图","app.common.word.button-color":"按钮颜色","app.common.word.title-copy":"标题文案","app.common.word.verify-lead-copy":"验证引导文案","app.common.word.bottom-prompt-copy":"底部提示文案","app.common.word.download-tip":"下载说明","app.common.word.ways-of-verification":"验证方式","common.no-verification":"不验证","app.common.word.extraction-code":"提取码","app.common.word.alibaba-cloud-idaas":"阿里云iDaas","app.common.word.sms-verification":"短信验证","app.common.word.download-link":"下载地址","app.common.word.process-name":"流程名称","app.common.word.extract":"提取","common.please-enter":"请输入","app.common.word.role":"角色","app.common.word.role-grouping":"角色分组","app.common.word.default-role-group":"默认角色组","app.common.word.role-description":"角色描述","app.common.word.role-code":"角色Code","app.common.word.role-type":"角色类型","app.common.word.associated-users":"关联用户","common.user-info":"用户信息","app.common.word.classification":"分类","app.common.word.blacklist":"黑名单","app.common.word.condition":"条件","app.common.word.partial-exception":"部分异常","app.common.word.shangxian":"上线","app.common.word.fuzhi":"复制","app.common.word.release":"发布","app.common.word.trigger-event":"触发事件","app.common.word.revise":"修改","app.common.word.trigger-application":"触发应用","app.common.word.configuration-parameters":"配置参数","app.common.word.error-handler":"错误处理","app.common.word.enable-retry":"启用重试","app.common.word.enable-alert":"启用告警","app.common.word.webhook-url":"Webhook地址","app.common.word.enter-webhook-url":"请输入告警Webhook地址","app.common.word.retry-count":"重试次数","app.common.word.retry-count-tooltip":"允许的最大重试次数","app.common.word.please-enter-retry-count":"请输入重试次数,最小值为1,最大值为10","app.common.word.retry-interval":"重试间隔","app.common.word.retry-interval-tooltip":"两次重试之间的时间间隔","app.common.word.please-enter-retry-interval":"请输入重试间隔,最小值为1,最大值为60","app.common.word.step-factor":"退避因子","app.common.word.step-factor-tooltip":"每次重试后增加等待时间的系数","app.common.word.please-enter-step-factor":"请输入退避因子,最小值为1,最大值为5","app.common.word.max-retry-interval":"最大重试间隔","app.common.word.max-retry-interval-tooltip":"单次重试最长等待时间","app.common.word.please-enter-max-retry-interval":"请输入最大重试间隔,最小值为1,最大值为300","app.common.word.error-handling":"错误处置","app.common.word.select-error-handling":"选择错误处置方式","app.common.word.interrupt-flow":"返回错误","app.common.word.ignore-error":"忽略错误","app.common.word.apply-to-all-nodes":"应用到本连接流的所有动作节点","app.common.word.test-node":"调试节点","app.common.word.test-and-preview":"测试并预览","app.common.word.online-test":"在线调试","app.common.word.ignore-test":"忽略调试","common.no-test-data-yet":"暂无测试数据","app.common.word.execute-application":"执行应用","app.common.word.perform-action":"执行动作","app.common.word.configure-account":"授权配置","app.common.word.enlarge":"放大","app.common.word.zoom-out":"缩小","app.common.word.reduction":"还原","app.common.word.full-screen":"全屏","app.common.word.step":"步","app.common.word.variable-name":"变量名","app.common.word.add-new-and":"新增且","app.common.word.add-or":"新增或","app.common.word.select-variable":"选择变量","common.no-process-variables-yet":"暂无流程变量","app.common.word.execution-conditions-conditional-judgment":"执行条件:条件判断","app.common.word.loop-execution-loop-polling-array":"循环执行:循环轮询数组","app.common.word.loop-data-type":"循环的数据类型","app.common.word.circulation-direction":"循环方向","app.common.word.loop-processing":"循环处理","app.common.word.please":"请","app.common.word.and":"和","app.common.word.use-immediately":"立即使用","app.common.word.select-trigger-condition":"选择触发的条件","common.no-trigger-configured":"未配置触发条件","app.common.word.select-an-application":"选择一个应用","app.common.word.action-to-execute":"要执行的操作","app.common.word.process-ends-automatically":"当上个节点执行完成之后,自动结束流程","app.common.word.copy-node":"复制节点","app.common.word.disable-node":"禁用节点","app.common.word.enable-node":"启用节点","app.common.word.add-notes":"添加备注","app.common.word.modify-notes":"修改备注","common.delete-node":"删除节点","common.import-node":"导入节点","common.export-node":"导出节点","app.common.word.notes":"备注","app.common.word.avatar":"头像","app.common.word.gender":"性别","app.common.word.id-card":"身份证号","app.common.word.validity-period":"有效期","app.common.word.confidential":"保密","app.common.word.male":"男性","app.common.word.female":"女性","app.common.word.job-number":"工号","app.common.word.extended-fields":"扩展字段","app.common.word.employee-type":"员工类型","app.common.word.bu-person-in-charge":"BU负责人","app.common.word.organize-information":"组织信息","common.department-management":"部门管理","app.common.word.main-department":"主部门","common.department-occupation":"部门职位","common.department-heads":"部门主管","common.department-id":"部门工号","app.common.word.role-information":"角色信息","app.common.word.associated-role":"关联角色","app.common.word.nick-name":"昵称","app.common.word.advanced-configuration":"高级配置","app.common.word.attribute-mapping":"属性映射","app.common.word.exception-handling":"异常处理","app.common.word.configuration-guide":"配置指引","common.edit-connector":"编辑连接器","app.common.word.connector-information":"连接器信息","app.common.word.enterprise-choice":"企业应用选择","app.common.word.data-hung-node":"数据在本地挂载节点","common.upstream-root-organization-id":"上游根组织ID","common.downstream-root-organization-id":"下游根组织ID","user.link.upstream-root-organization-tip":"输入您想要从上游系统获取的部门ID","common.sync-scope":"同步范围","app.common.word.users-and-departments":"用户和部门","common.sync-users-only":"仅同步用户","common.department-synchronization-strategy":"挂载方式","common.delete-user-threshold":"删除用户阈值","common.delete-user-way":"删除用户方式","common.delete-user-way-disable":"用户停用","common.delete-user-way-delete":"常规删除","common.delete-user-way-tip":"上游删除的用户如果选择用户停用,将对本地用户停用。","common.account-association":"账号关联","user.link.word.account-association-tip":"关联规则之间为“OR”关系","app.common.word.add-association-rules":"添加关联规则","app.common.word.connection-test":"连接测试","app.common.word.test":"测试","app.common.word.merge-with-selected-node":"与选择节点合并","app.common.word.create-new-under-selected-node":"在选择节点下新建","app.common.word.sync.connectors":"同步连接器","app.common.word.integration.connectors":"身份上游自动化","app.common.word.enterprise-certification-source":"企业认证源","app.common.word.social-authentication-source":"社会化认证源","app.common.word.built_in_authentication_source":"系统内置认证源","app.common.word.are-you-sure-you-want-to-delete-it":"确定要删除么?","app.common.word.you-havent-uploaded-the-token-yet":"您还没有上传令牌","app.common.word.you-havent-uploaded-any-apps-yet":"您还没有上传任何应用","app.common.word.application-basic-information":"应用基本信息","app.common.word.single-point-configuration":"单点配置","common.authorization-scope":"授权范围","app.common.word.regenerate":"重新生成","app.common.word.allow-self-service-application":"是否允许自助申请","app.common.word.allow":"允许","app.common.word.not-allowed":"不允许","app.common.word.home-page-address":"首页地址","app.common.word.application-introduction":"应用简介","app.common.word.application-icon":"应用图标","app.common.word.offline":"下线","app.common.word.already-offline":"已下线","app.common.word.not-published":"未发布","app.common.word.already-online":"已上线","app.common.word.going-online":"上线中","common.warning":"警告","app.common.word.process-management":"流程管理","common.user-review-policy":"用户审核策略","app.common.word.create-review":"创建审核","app.common.word.renewal-review":"续期审核","app.common.word.application-instructions":"申请说明","app.common.word.image-less-than-50k":"图片小于__size__k","app.common.word.detection":"检测","app.common.word.initiator":"发起人","app.common.word.self-service-application-request":"应用自助申请","app.common.word.open-method":"打开方式","app.common.word.current-page":"当前页面打开","app.common.word.new-window":"新窗口打开","app.common.word.customOpen":"用户自定义打开"},...{"link.flow.start_node":"开始节点","link.flow.end_node":"结束节点","link.flow.unconfig_action_node":"未配置的动作节点","link.flow.select_location_node":"请选择定位节点","link.flow.forced_online_warn":"强制上线警告","link.flow.online_forced_tip1":"您正在尝试进行强制上线操作,这将跳过所有节点校验,直接上线该连接流。此操作可能导致以下风险:","link.flow.online_forced_tip2":"系统不稳定或崩溃","link.flow.online_forced_tip3":"数据不一致或丢失","link.flow.online_forced_tip4":"安全漏洞或权限问题","link.flow.online_forced_tip5":"请确认您已了解并接受以上风险。强烈建议仅在特殊情况下使用该功能,并在上线后立即进行全面验证。","link.flow.online_forced_tip6":"是否继续强制上线?","link.flow.online-process":"上线流程","link.flow.editing-process":"编辑流程","link.flow.forced_online":"强制上线","link.flow.execute":"执行","link.flow.log":"日志","link.flow.enter_template_name":"请输入模板名称","link.flow.stream_upgrading":"当前连接流正在上线中,不可进行此操作","link.flow.online_this_process":"上线此流程?","link.flow.confirm_configuration":"请确认流程配置完整","link.flow.online_success":"上线成功","link.flow.check_failed":"连接流检查失败","link.flow.are_you_sure_to_delete":"确定要删除吗?","link.flow.process_checking":"流程检查中...","link.flow.manual_creation":"手动创建","link.flow.file_import":"文件导入","link.flow.please_upload_yaml_file":"请上传yaml文件","link.flow.file_size_limit_5MB":"文件大小不能超过5MB","link.flow.import_connection_stream":"导入连接流","link.flow.click_to_select_or_drag_file":"点击选择文件上传或者拖拽文件至此上传","link.flow.process_edit_auto_offline":"流程编辑会自动下线此流程","link.flow.edit_running_process":"编辑正在运行的流程时,会先下线流程才能继续编辑。","link.flow.continue_editing":"继续编辑","link.flow.current_read_only_mode":"当前为只读模式","link.flow.modification_success":"修改成功","link.flow.modification_failed":"修改失败","link.flow.edit_connection_stream":"编辑连接流","link.flow.add_connection_stream":"添加连接流","link.flow.stream_name":"流名称","link.flow.please_enter_stream_name":"请输入你的流名称","link.flow.stream_description":"流描述","link.flow.please_enter_description":"请输入你的描述","link.flow.conditional_execution":"条件执行","link.flow.conditional_execution_description":"按照设置的条件,增加多一个流程分支","link.flow.loop_execution":"循环执行","link.flow.loop_execution_description":"把较大的数据分成多条循环处理","link.flow.creating_node":"正在创建节点","link.flow.here_you_can":"您可以在此处","link.flow.insert_application":"插入应用 并选择要执行的操作","link.flow.or_add_execution_logic":"或者添加一个执行逻辑","link.flow.prompt":"提示","link.flow.confirm_delete_node":"确定删除节点吗?","link.flow.deletion_success":"删除成功","link.flow.node_closed":"节点【__deepPath__】已__closed__","link.flow.remark_modification_success":"备注修改成功","link.flow.please_enter_remark":"请输入备注...","link.flow.copy_success":"复制成功","link.flow.action":"动作:","link.flow.execution_condition":"执行条件:设定触发后续流程的执行条件","link.flow.execution_condition_colon":"执行条件:","link.flow.or":"或者","link.flow.if":"如果","link.flow.and":"并且","link.flow.trigger":"触发:","link.flow.loop":"循环","link.flow.array":"数组","link.flow.expression":"表达式","link.flow.loop_node_output":"循环节点-输出","link.flow.not_selected":"未选择","link.flow.code_editor":"数犀代码编辑器","link.flow.exit_full_screen":"退出全屏","link.flow.missing_configuration":"配置项缺失,请检查填写内容","link.flow.remove":"移除","link.flow.please_enter_variable_name":"请输入变量名","link.flow.variable_name":"变量名","link.flow.please_select_condition":"请选择条件","link.flow.select_condition":"选择判断条件","link.flow.value":"值","link.flow.configure_action":"配置选择应用中要执行的动作","link.flow.configure_trigger":"配置流程如何触发,比如每天早上9点自动触发流程","link.flow.configuration_description":"配置说明:","link.flow.description_usage":"用于批量处理数据,将要循环的内容,分解成多个对象,分批次循环处理,一次最大处理条数为500,可分为3种循环处理类型","link.flow.array_type":"①数组:多级数据结构,可拆分为最小单位的数据对象,逐条循环处理","link.flow.number_type":"②数字:用于控制后续节点循环执行的次数,可设置循环的起始位置和次数","link.flow.condition_expression_type":"③条件表达式:条件表达式结果为true时执行循环,否则结束循环","link.flow.loop_start_end_check":"循环数字开始值不能大于结束值","link.flow.please_select_data_type":"请选择循环的数据类型","link.flow.condition_expression":"条件表达式","link.flow.loop_start_end":"循环起止","link.flow.please_enter_loop_expression":"请输入循环表达式","link.flow.loop_expression":"循环表达式","link.flow.please_select_loop_direction":"请选择循环方向","link.flow.loop_head_to_tail":"从头到尾循环","link.flow.loop_tail_to_head":"从尾到头循环","link.flow.loop_processing":"循环处理","link.flow.please_select_loop_processing":"请选择循环处理","link.flow.terminate_process":"终止流程","link.flow.continue_loop":"跳出本次循环(Continue)","link.flow.break_loop":"跳出循环(Break)","link.flow.test_connection_success":"测试连接成功","link.flow.test_connection_failed":"测试连接失败","link.flow.creation_success":"创建成功","link.flow.modification_time":"修改时间:","link.flow.edit_account":"编辑","link.flow.please_select":"请选择","link.flow.ciphertext":"密文","link.flow.text":"文本","link.flow.enter_keyword_to_search_action":"输入关键字以搜索 __name__ 下的动作","link.flow.please_enter":"请输入","link.flow.cannot_find_variable_output_node":"无法找到此变量输出节点,请删除","link.flow.string":"字符串","link.flow.script":"脚本","link.flow.enter_keyword":"请输入关键字搜索应用","link.flow.use_proxy_gateway":"使用代理网关","link.flow.do_not_use":"不使用","link.flow.private_network_deployment":"纯私有网络部署无法开放IP白名单可使用","link.flow.proxy_gateway":"代理网关","link.flow.secure_connection":"安全连接","link.flow.click_test_and_preview":"点击【在线调试】,会作用于线上数据,请配置到测试环境调试","link.flow.click_test_and_preview2":"点击【忽略调试】,会将当前样本数据作为调试结果保存","link.flow.clear_test_results":"清空测试结果","link.flow.test_failed":"测试不通过","link.flow.check_configuration":"请根据测试返回的详细信息,检查配置,如无法获知具体原因,请联系您的专属客服以获取支持。","link.flow.error_data":"错误数据","link.flow.sample_data":"调试结果样本数据","link.flow.request_failed":"请求失败","link.flow.all":"全部","link.flow.no_actions":"暂无动作","link.flow.no_apps":"暂无应用","link.flow.back":"返回","link.flow.node_data_yaml":"节点数据.yaml","link.flow.excute_immediately":"立即执行","link.flow.excute_immediately_tip":"执行此操作将会触发完整的连接流运行,可能导致生产数据发生变化。请确认是否继续?","link.flow.excute_immediately_success":"立即执行成功","link.flow.stop_running":"停止运行","link.flow.switch.condition_one":"条件1","link.flow.switch.condition_two":"条件2","link.flow.switch.condition_n":"条件{n}","link.flow.switch.branch_name_cannot_be_empty":"分支名称不能为空","link.flow.switch.branch_name_duplicate":"分支名称不能重复","link.flow.switch.enter_branch_name":"请输入分支名称","link.flow.switch.move_to_top":"置顶","link.flow.switch.move_up":"上移","link.flow.switch.move_down":"下移","link.flow.switch.move_to_bottom":"置底","link.flow.switch.at_least_one_branch":"至少需要保留一个分支","link.flow.switch.at_least_one_valid_branch":"至少需要有一个有效的分支条件","link.flow.switch.add_branch":"新增条件","link.flow.switch.max_branches_reached":"最多只能添加10个分支"}},aO={...{"common.cannot_chinese":"不能包含中文和特殊字符","common.please_enter_username_name_mobile":"請輸入姓名/用戶名/郵箱/手機號","common.new_enterprise":"新建企業應用","common.javascript_expression":"JavaScript表達式參考","common.javascript_selection":"請輸入JavaScript表達式或下拉選擇","common.readonly_not_mappable":"只讀屬性不可映射","common.add_mapping_rules":"添加映射規則","common.password":"密碼","common.batch_delete":"批量删除","common.batch_revoke":"批量撤銷","common.batch_disable":"批量停用","app.common.btn.on":"啟用","app.common.btn.off":"禁用","app.common.btn.stopUse":"停用","common.turn_on":"開啟","common.enabled":"已開啟","common.turn_off":"關閉","common.disabled":"已關閉","common.delete":"刪除","common.revoke":"撤銷","common.export":"導出","common.account":"用戶名","app.common.word.zhanghao":"帳號","app.common.word.name":"姓名","common.placeholder.search":"請輸入搜索內容","common.name":"名稱","app.common.word.email":"郵箱","common.mobile":"手機號","app.common.word.organizational-structure":"組織架構","common.user-origin":"用戶來源","app.common.word.expiration-date":"到期時間","app.common.word.status":"狀態","app.common.word.normal":"正常","app.common.word.success":"成功","app.common.word.failed":"失敗","app.common.word.disabled":"已禁用","app.common.word.temporarily-disabled":"臨時禁用","common.ineffective":"未生效","common.inactivated":"未激活","common.expired":"已過期","common.deactivated":"已停用","app.common.word.save":"保存","common.save_success":"保存成功","common.save_failed":"保存失敗","app.common.word.back":"返回","app.common.word.cancel":"取消","app.common.word.version":"版本","app.common.placeholder.please-enter-name-description":"請輸入名稱/描述","app.common.word.operation":"操作","app.common.word.new":"新建","app.common.word.create":"新增","app.common.word.creator":"創建人","app.common.word.creation-time":"創建時間","app.common.word.update-time":"更新時間","app.common.word.start-time":"開始時間","app.common.word.end-time":"結束時間","common.type":"類型","app.common.word.system":"系統","app.common.word.policy-name":"策略名稱","app.common.word.tag-type":"標簽類型","app.common.word.static-tag":"靜態標簽","app.common.word.dynamic-tag":"動態標簽","common.edit":"編輯","app.common.word.basic-information":"基本信息","app.common.btn.new-sub-organization":"新建子組織","app.common.btn.new-enterprise":"新建企業應用","app.common.btn.new-application":"新建應用","app.common.btn.new-role":"新建角色","app.common.btn.new-authentication":"新建認證源","app.common.btn.new-connector":"新建連接器","app.common.btn.new-category":"新建分類","common.export-log":"導出日誌","app.common.word.activated":"已啟用","app.common.word.not-enabled":"未啟用","common.deleted":"已刪除","app.common.word.application-store":"應用市場","app.common.word.custom-application":"自定義應用","app.common.word.third-party-application":"第三方應用","app.common.word.application-name":"應用名稱","app.common.word.next-step":"下一步","app.common.word.previous-step":"上一步","app.common.word.save-and-next":"保存並下一步","app.common.word.finish":"完成","app.common.word.confirm":"確定","app.common.word.view-details":"查看詳情","app.common.word.connector-list":"連接流列表","app.common.word.create-connector":"創建連接流","app.common.word.icon":"圖標","app.common.word.upload":"上傳","app.common.word.download":"下載","app.common.word.operating-time":"操作時間","common.number-of-tag-users":"標簽用戶數","common.synchronization-period":"同步周期","common.sync":"同步","common.sync-status":"同步狀態","app.common.word.connector-status":"連接器狀態","app.common.word.mapping":"映射","app.common.word.on-off":"啟用/禁用","app.common.word.application-source":"應用來源","app.common.word.application-integration":"應用集成","app.common.word.default-application":"默認應用","app.common.word.application":"應用","app.common.word.token-management":"令牌管理","app.common.word.application-information":"應用信息","app.common.word.authorization-management":"授權管理","app.common.word.application-selection":"應用選擇","app.common.word.connector-flow":"連接流程","common.user":"用戶","common.department":"部門","common.department-sort":"部門排序","app.common.word.address-book-integration":"通訊錄集成","app.common.word.address-book-synchronization":"通訊錄同步","app.common.word.filter":"篩選","app.common.word.attribute":"屬性","app.common.word.new-attribute":"新增屬性","app.common.word.attribute-name":"屬性名稱","app.common.word.display-name":"顯示名稱","app.common.word.attribute-type":"屬性類型","app.common.word.required":"是否必填","app.common.word.data-type":"數據類型","app.common.word.alias":"別名","common.string":"字符串","common.boolean":"布爾","common.number":"數字","common.object":"對象","app.common.word.value":"值","app.common.word.basic-attribute":"基礎屬性","app.common.word.extended-attribute":"擴展屬性","app.common.word.all":"全部","app.common.word.finance":"財務","app.common.word.market":"市場","app.common.word.component-name":"組件名稱","app.common.word.download-count":"下載次數","app.common.word.upload-time":"上傳時間","app.common.word.active":"啟用","app.common.word.inactive":"禁用","app.common.word.pending":"待審核","app.common.word.customer-management":"客戶管理","app.common.word.collaboration":"協同","app.common.word.renshi":"人事","app.common.word.device-model":"設備型號","app.common.word.device-status":"設備狀態","app.common.word.last-online-time":"最後上線時間","app.common.word.online":"在線","app.common.word.token-information":"令牌信息","app.common.word.upload-token":"上傳令牌","app.common.word.refresh":"刷新","app.common.word.application-list":"應用列表","app.common.word.login-time":"登錄時間","app.common.word.source-ip":"來源IP","app.common.word.source-device":"來源設備","app.common.word.result":"結果","app.common.word.operation-result":"執行結果","common.user-account-behavior":"用戶帳號行為","common.user-screenshot-behavior":"用戶截屏行為","common.user-screen-recording-behavior":"用戶錄屏行為","app.common.word.device-name":"設備名稱","app.common.word.screenshot-content":"截屏內容","common.user-policy":"用戶策略","common.password-policy":"密碼策略","app.common.word.login-policy":"登錄策略","app.common.word.login-control":"登錄控製","app.common.word.audit-log":"運行日誌","common.day":"天","common.times":"次","app.common.word.custom":"自定義","app.common.word.custom-role":"自定義角色","app.common.word.reset":"重置","app.common.word.privacy-policy":"隱私條款","app.common.word.privacy-policy-content":"隱私條款內容","app.common.word.login-page-support":"登錄頁多語言支持","app.common.word.identity_verify_attrs":"身份驗證屬性","app.common.word.identity_verify_attrs_tooltip":"如果開啟需要驗證用戶身份信息的屬性,用戶必須完成身份驗證後才能登錄","app.common.word.identity_verify_attrs_tooltip_new":{title:"身份驗證屬性",paragraph1:"設置用戶登錄時需要額外驗證身份的賬號屬性字段,用於增強登錄安全性。執行機制是用戶完成基礎密碼驗證後,系統檢查配置的身份驗證屬性,要求用戶對未驗證的屬性進行身份確認。",paragraph2:"系統會檢查用戶的可信屬性,管理用戶已驗證的屬性列表,避免重複驗證。驗證通過的屬性會被標記為可信,下次登錄時不再要求驗證。適用於高安全要求的環境,與多因子認證配合使用,形成多層安全防護體系。"},"app.common.word.show-content":"展示內容","app.common.word.login-page-settings":"登錄頁設置","app.common.word.platform-name":"平臺名稱","app.common.word.platform-logo":"平臺Logo","app.common.word.login-box-style":"登錄框風格","app.common.word.show-left":"居左展示","app.common.word.show-center":"居中展示","app.common.word.show-right":"居右展示","app.common.word.login-page-background":"登錄頁背景","app.common.word.color-background":"純色背景","app.common.word.picture-background":"圖片背景","app.common.word.background-image":"背景圖","app.common.word.ip-address":"IP地址","app.common.word.operation-start-time":"操作開始時間","app.common.word.operation-end-time":"操作結束時間","app.common.word.operator":"操作者","app.common.word.file-name":"文件名稱","app.common.word.file-type":"文件類型","common.abnormal":"異常","app.common.word.prison-break":"越獄","common.user-creation-review":"用戶創建審核","app.common.word.expiration-reminder":"到期提醒","app.common.word.expiration-reminder-days":"到期提醒天數","app.common.word.reminder-cycle":"提醒周期","common.password-complexity":"密碼復雜度","common.contains-numbers":"包含數字","common.minimum-password-length":"密碼最短長度","common.contains-uppercase-letters":"包含大寫字母","common.contains-lowercase-letters":"包含小寫字母","common.contains-special-characters":"包含特殊字符","common.reset_pwd_related_attr":"重置密碼關聯賬號屬性","common.reset_pwd_related_attr_tooltip":{title:"重置密碼關聯賬號屬性",paragraph1:"設置在重置密碼時關聯顯示的賬號屬性字段,用於幫助用戶識別和確認賬號身份。功能機制是用戶進行密碼重置操作時,系統會顯示配置的賬號屬性信息,讓用戶確認這是正確的賬號。",paragraph2:"系統會根據配置的屬性字段,在重置密碼界面展示相應的用戶信息,幫助用戶核實賬號的準確性。建議配置用戶容易識別的關鍵信息字段,確保用戶能夠準確確認賬號身份。"},"common.administrator-reset-password":"管理員重置密碼","common.change_password_after_first_login":"首次登錄修改密碼","common.account-locked-continuous-invalid-login":"賬號鎖定-連續無效登錄","common.lock-account":"鎖定賬號","common.lock-free-ip-whitelist":"免鎖定ip白名單","common.minute":"分鐘","app.manage.logout_uri":"登出回調地址","app.manage.logout_uri_tooltip":"IDaaS 登出後,回調的應用登出地址","app.manage.logout_uri_placeholder":"請輸入後端登出URI","app.manage.uri_format_error":"URI格式不正確,請輸入有效的URL","app.manage.optional":"選填","common.hour":"小時","app.common.word.invalid-immediately-after-closing-the-browser":"關閉瀏覽器後立即失效","app.common.word.time":"時間","app.common.word.sso-session-validity-period":"SSO會話有效期","app.common.word.sms-verification-code-validity-period":"短信驗證碼有效期","app.common.word.email-verification-code-validity-period":"郵件驗證碼有效期","app.common.word.single-logout":"密碼修改後是否單點登出","app.common.word.forget-password":"忘記密碼屬性","app.common.word.forget-password-tooltip":"手機號、郵箱的屬性設置將影響忘記密碼頁面的驗證碼發送渠道。如果不設置則登錄頁面不顯示忘記密碼入口","app.common.word.login-properties":"登錄屬性","app.common.word.multi-factor-authentication":"多因子認證","app.common.word.enterprise-authentication-login":"企業認證登錄","app.common.word.address-book-integrated-history-log":"通訊錄集成歷史日誌","app.common.word.address-book-synchronization-history-log":"通訊錄同步歷史日誌","app.common.word.connection-flow-run-log":"連接流運行日誌","app.common.word.add":"添加","app.common.word.add-application":"添加應用","app.common.word.add-account":"新建","app.common.word.add-field":"添加字段","app.common.word.add-an-ip":"添加一個IP","app.common.word.proxy-gateway":"代理網關","app.common.word.proxy-gateway-name":"代理網關名稱","app.common.word.proxy-service":"代理服務","app.common.word.default-gateway":"默認網關","app.common.word.operation-type":"操作類型","app.common.word.specific-operations":"具體操作","app.common.word.operation_behavior":"操作行為","app.common.word.operation_result":"操作結果","app.common.word.operation-object":"操作對象","app.common.word.execution-status":"執行狀態","app.common.word.process-classification":"流程分類","app.common.word.execution-time":"執行時間","app.common.word.receiver":"接收人","app.common.word.space-type":"空間類型","app.common.word.operating-device":"操作設備","app.common.word.system-built-in-roles":"系統內置角色","app.common.word.system-administrator":"系統管理員","common.account-administrator":"帳號管理員","app.common.word.application-manager":"應用管理員","app.common.word.role-name":"角色名稱","app.common.word.description":"描述","app.common.word.distribute":"分配","app.common.word.view":"查看","app.common.word.copy":"拷貝","common.password-reset-template":"郵件驗證碼","app.common.word.basic-authorization-information":"基礎授權信息","app.common.word.authorized-user":"授權用戶","app.common.word.authorization-module":"授權模塊","app.common.word.authorization-time":"授權時間","common.user-connection":"用戶連接","app.common.word.application-sso":"應用SSO","app.common.word.security-baseline-monitoring-device-access":"安全基線監測/設備準入","app.common.word.document-audit":"文件審計","app.common.word.application-distribution":"應用分發","app.common.word.data-leakage-prevention":"數據防泄漏","app.common.word.secure-access-gateway":"安全接入網關","app.common.word.data-connections":"數據連接","app.common.word.data_connection_limit_note":"不限連接流次數,超過1000萬次/年請聯繫客服重置","app.common.word.application-package-name":"應用包名","app.common.word.platform":"平臺","app.common.word.key":"密鑰","app.common.word.authorization-code":"授權碼","common.info":"信息","common.yes":"是","common.no":"否","common.delete.confirm":"確定要刪除嗎?","common.eq":"等於","common.ne":"不等於","common.gt":"大於","common.ge":"大於等於","common.lt":"小於","common.le":"小於等於","common.sw":"開頭等於","common.nsw":"開頭不等於","common.ew":"結尾等於","common.ewn":"結尾不等於","common.co":"包含","common.nco":"不包含","common.in":"被包含","common.nin":"不被包含","common.length_max":"最多__length__個字符","common.special":"只能包含字母、數字、下劃線","common.device":"設備","common.use_proxy":"使用本地代理網關","common.do_not_use":"不使用","common.cancel":"取消","common.reset":"重置","common.user_proxy_extra":"純私有網絡部署無法開放IP白名單可使用 {proxyGateway} 安全連接","common.update":"更新","common.search":"搜索","common.change_password":"修改密碼","common.passwords_do_not_match":"兩次輸入密碼不一致","common.password_verification":"密碼驗證","common.old_password":"原密碼","common.please_enter_old_password":"請輸入原密碼","common.new_password":"新密碼","common.please_enter_new_password":"請輸入新密碼","common.confirm_new_password":"確認新密碼","common.please_confirm_new_password":"請確認新密碼","common.password_strength":"密碼強度","common.password_strength_low":"弱","common.password_strength_medium":"中","common.password_strength_strong":"高","common.password_strength_score":"評分:{score}/5","common.phone_verification":"手機驗證","common.phone_number":"手機號碼","common.please_enter_phone_number":"請輸入手機號碼","common.please_enter":"請輸入{label}","common.please_upload":"請上傳{label}","common.verification_code":"驗證碼","common.please_enter_verification_code":"請輸入驗證碼","common.get_verification_code":"獲取驗證碼","common.retry_in_seconds":"__seconds__秒後重試","common.verification_code_sent":"驗證碼已發送","theme.save":"保存","theme.primary_color":"主題色","theme.navbar":"導航欄","theme.content_area":"內容區域","common.username":"用戶名","common.remark":"備註","common.operation_success":"操作成功","app.common.word.save-flow-config":"保存流程配置","common.uppercase-letter":"大寫字母","common.lowercase-letter":"小寫字母","common.special-character":"特殊字符","common.start_time":"開始時間","common.end_time":"結束時間","common.permission_denied":"權限不足","common.download_failed":"下載失敗","common.all_types":"所有類型","common.all_status":"所有狀態","common.unknown_error":"未知錯誤","common.download":"下載","common.transparent":"透明","common.opaque":"不透明","common.advancedFilter":"高級篩選","app.common.word.sms-invitation":"短信邀請","app.common.word.email-invitation":"郵件邀請","app.common.word.send-record":"發送記錄","app.common.word.distribution-application-name":"分發應用名稱","app.common.word.sms-content":"短信內容","app.common.word.jieshouzhe":"接收者","app.common.word.send-message":"發送短信","app.common.word.inviter":"邀請人","app.common.word.send-time":"發送時間","app.common.word.invitation-method":"邀請方式","app.common.word.send-status":"發送狀態","app.common.word.email-title":"郵件標題","app.common.word.email-content":"郵件內容","app.common.word.send-email":"發送郵件","app.common.word.query":"查詢","app.common.word.rights-groups":"權限組","app.common.word.management-scope":"管理範圍","app.common.word.authorization-architecture-scope":"授權架構範圍","app.common.word.bind-custom-role":"綁定自定義角色","app.common.word.sms-theme":"短信主題","app.common.word.quantity":"數量","app.common.word.sdk-authorization":"SDK授權","app.common.word.app-distribution-page-customization":"應用分發頁面定製","app.common.word.page-logo":"頁面 Logo","app.common.word.page-background-image":"頁面背景圖","app.common.word.button-color":"按鈕顏色","app.common.word.title-copy":"標題文案","app.common.word.verify-lead-copy":"驗證引導文案","app.common.word.bottom-prompt-copy":"底部提示文案","app.common.word.ways-of-verification":"驗證方式","common.no-verification":"不驗證","app.common.word.extraction-code":"提取碼","app.common.word.alibaba-cloud-idaas":"阿裏雲iDaas","app.common.word.sms-verification":"短信驗證","app.common.word.download-link":"下載地址","app.common.word.process-name":"流程名稱","app.common.word.extract":"提取","common.please-enter":"請輸入","app.common.word.role":"角色","app.common.word.role-grouping":"角色分組","app.common.word.default-role-group":"默認角色組","app.common.word.role-description":"角色描述","app.common.word.role-code":"角色Code","app.common.word.role-type":"角色類型","app.common.word.associated-users":"關聯用戶","common.user-info":"用戶信息","app.common.word.classification":"分類","app.common.word.blacklist":"黑名單","app.common.word.condition":"條件","app.common.word.partial-exception":"部分異常","app.common.word.shangxian":"上線","app.common.word.fuzhi":"復製","app.common.word.release":"發布","app.common.word.trigger-event":"觸發事件","app.common.word.revise":"修改","app.common.word.trigger-application":"觸發應用","app.common.word.configuration-parameters":"配置參數","app.common.word.error-handler":"錯誤處理","app.common.word.enable-retry":"啟用重試","app.common.word.enable-alert":"啟用告警","app.common.word.webhook-url":"Webhook地址","app.common.word.enter-webhook-url":"請輸入告警Webhook地址","app.common.word.retry-count":"重試次數","app.common.word.retry-count-tooltip":"允許的最大重試次數","app.common.word.please-enter-retry-count":"請輸入重試次數,最小值為1,最大值為10","app.common.word.retry-interval":"重試間隔","app.common.word.retry-interval-tooltip":"兩次重試之間的時間間隔","app.common.word.please-enter-retry-interval":"請輸入重試間隔,最小值為1,最大值為60","app.common.word.step-factor":"退避因子","app.common.word.step-factor-tooltip":"每次重試後增加等待時間的係數","app.common.word.please-enter-step-factor":"請輸入退避因子,最小值為1,最大值為5","app.common.word.max-retry-interval":"最大重試間隔","app.common.word.max-retry-interval-tooltip":"單次重試的最長等待時間","app.common.word.please-enter-max-retry-interval":"請輸入最大重試間隔,最小值為1,最大值為300","app.common.word.error-handling":"錯誤處置","app.common.word.select-error-handling":"選擇錯誤處置方式","app.common.word.interrupt-flow":"返回錯誤","app.common.word.ignore-error":"忽略錯誤","app.common.word.apply-to-all-nodes":"應用到本連接流的所有動作節點","app.common.word.test-node":"調試節點","app.common.word.test-and-preview":"測試並預覽","app.common.word.online-test":"在線調試","app.common.word.ignore-test":"忽略調試","common.no-test-data-yet":"暫無測試數據","app.common.word.execute-application":"執行應用","app.common.word.perform-action":"執行動作","app.common.word.configure-account":"授權配置","app.common.word.enlarge":"放大","app.common.word.zoom-out":"縮小","app.common.word.reduction":"還原","app.common.word.full-screen":"全屏","app.common.word.step":"步","app.common.word.variable-name":"變量名","app.common.word.add-new-and":"新增且","app.common.word.add-or":"新增或","app.common.word.select-variable":"選擇變量","common.no-process-variables-yet":"暫無流程變量","app.common.word.execution-conditions-conditional-judgment":"執行條件:條件判斷","app.common.word.loop-execution-loop-polling-array":"循環執行:循環輪詢數組","app.common.word.loop-data-type":"循環的數據類型","app.common.word.circulation-direction":"循環方向","app.common.word.loop-processing":"循環處理","app.common.word.please":"請","app.common.word.and":"和","app.common.word.use-immediately":"立即使用","app.common.word.select-trigger-condition":"選擇觸發的條件","common.no-trigger-configured":"未配置觸發條件","app.common.word.select-an-application":"選擇一個應用","app.common.word.action-to-execute":"要執行的操作","app.common.word.process-ends-automatically":"當上個節點執行完成之後,自動結束流程","app.common.word.copy-node":"復製節點","app.common.word.disable-node":"禁用節點","app.common.word.enable-node":"啟用節點","app.common.word.add-notes":"添加備註","app.common.word.modify-notes":"修改備註","common.delete-node":"刪除節點","common.import-node":"導入節點","common.export-node":"導出節點","app.common.word.notes":"備註","app.common.word.avatar":"頭像","app.common.word.gender":"性別","app.common.word.id-card":"身份證號","app.common.word.validity-period":"有效期","app.common.word.confidential":"保密","app.common.word.male":"男性","app.common.word.female":"女性","app.common.word.job-number":"工號","app.common.word.extended-fields":"擴展字段","app.common.word.employee-type":"員工類型","app.common.word.bu-person-in-charge":"BU負責人","app.common.word.organize-information":"組織信息","common.department-management":"部門管理","app.common.word.main-department":"主部門","common.department-occupation":"部門職位","common.department-heads":"部門主管","common.department-id":"部門工號","app.common.word.role-information":"角色信息","app.common.word.associated-role":"關聯角色","app.common.word.nick-name":"昵稱","app.common.word.advanced-configuration":"高級配置","app.common.word.attribute-mapping":"屬性映射","app.common.word.exception-handling":"異常處理","app.common.word.configuration-guide":"配置指引","common.edit-connector":"編輯連接器","app.common.word.connector-information":"連接器信息","app.common.word.enterprise-choice":"企業應用選擇","app.common.word.data-hung-node":"數據在本地掛載節點","common.upstream-root-organization-id":"上遊根組織ID","common.downstream-root-organization-id":"下遊根組織ID","user.link.upstream-root-organization-tip":"輸入您想要從上遊系統獲取的部門ID","common.sync-scope":"同步範圍","app.common.word.users-and-departments":"用戶和部門","common.sync-users-only":"僅同步用戶","common.department-synchronization-strategy":"掛載方式","common.delete-user-threshold":"刪除用戶閾值","common.delete-user-way":"刪除用戶方式","common.delete-user-way-disable":"用戶停用","common.delete-user-way-delete":"用戶刪除","common.delete-user-way-tip":"上游刪除用戶如果選擇用戶停用,將對本地用戶停用。","common.account-association":"賬號關聯","user.link.word.account-association-tip":"關聯規則之間為「OR」關系","app.common.word.add-association-rules":"添加關聯規則","app.common.word.connection-test":"連接測試","app.common.word.test":"測試","app.common.word.merge-with-selected-node":"與選擇節點合並","app.common.word.create-new-under-selected-node":"在選擇節點下新建","app.common.word.sync.connectors":"同步連接器","app.common.word.integration.connectors":"身份上游自動化","app.common.word.enterprise-certification-source":"企業認證源","app.common.word.social-authentication-source":"社會化認證源","app.common.word.built_in_authentication_source":"系統內置認證源","app.common.word.are-you-sure-you-want-to-delete-it":"確定要刪除麽?","app.common.word.you-havent-uploaded-the-token-yet":"您還沒有上傳令牌","app.common.word.you-havent-uploaded-any-apps-yet":"您還沒有上傳任何應用","app.common.word.application-basic-information":"應用基本信息","app.common.word.single-point-configuration":"單點配置","common.authorization-scope":"授權範圍","app.common.word.regenerate":"重新生成","app.common.word.allow-self-service-application":"是否允許自助申請","app.common.word.allow":"允許","app.common.word.not-allowed":"不允許","app.common.word.home-page-address":"首頁地址","app.common.word.application-introduction":"應用簡介","app.common.word.application-icon":"應用圖標","app.common.word.offline":"下線","app.common.word.already-offline":"已下線","app.common.word.not-published":"未發布","app.common.word.already-online":"已上線","app.common.word.going-online":"上線中","common.warning":"警告","app.common.word.process-management":"流程管理","common.user-review-policy":"用戶審核策略","app.common.word.create-review":"創建審核","app.common.word.renewal-review":"續期審核","app.common.word.application-instructions":"申請說明","app.common.word.image-less-than-50k":"圖片小於__size__k","app.common.word.detection":"檢測","app.common.word.initiator":"發起人","app.common.word.self-service-application-request":"應用自助申請","app.common.word.open-method":"打開方式","app.common.word.current-page":"當前頁面打開","app.common.word.new-window":"新窗口打開","app.common.word.customOpen":"用戶自定義打開"},...{"link.flow.start_node":"開始節點","link.flow.end_node":"結束節點","link.flow.unconfig_action_node":"未配置的動作節點","link.flow.select_location_node":"請選擇定位節點","link.flow.forced_online_warn":"強製上線警告","link.flow.online_forced_tip1":"您正在嘗試進行強製上線操作,這將跳過所有節點校驗,直接上線該連接流。此操作可能導致以下風險:","link.flow.online_forced_tip2":"系統不穩定或崩潰","link.flow.online_forced_tip3":"數據不一致或丟失","link.flow.online_forced_tip4":"安全漏洞或權限問題","link.flow.online_forced_tip5":"請確認您已了解並接受以上風險。強烈建議僅在特殊情況下使用該功能,並在上線後立即進行全面驗證。","link.flow.online_forced_tip6":"是否繼續強製上線?","link.flow.online-process":"上線流程","link.flow.editing-process":"編輯流程","link.flow.forced_online":"強製上線","link.flow.execute":"執行","link.flow.log":"日誌","link.flow.enter_template_name":"請輸入模板名稱","link.flow.stream_upgrading":"當前連接流正在上線中,不可進行此操作","link.flow.online_this_process":"上線此流程?","link.flow.confirm_configuration":"請確認流程配置完整","link.flow.online_success":"上線成功","link.flow.check_failed":"連接流檢查失敗","link.flow.are_you_sure_to_delete":"確定要刪除嗎?","link.flow.process_checking":"流程檢查中...","link.flow.manual_creation":"手動創建","link.flow.file_import":"文件導入","link.flow.please_upload_yaml_file":"請上傳yaml文件","link.flow.file_size_limit_5MB":"文件大小不能超過5MB","link.flow.import_connection_stream":"導入連接流","link.flow.click_to_select_or_drag_file":"點擊選擇文件上傳或者拖拽文件至此上傳","link.flow.process_edit_auto_offline":"流程編輯會自動下線此流程","link.flow.edit_running_process":"編輯正在運行的流程時,會先下線流程才能繼續編輯。","link.flow.continue_editing":"繼續編輯","link.flow.current_read_only_mode":"當前為只讀模式","link.flow.modification_success":"修改成功","link.flow.modification_failed":"修改失敗","link.flow.edit_connection_stream":"編輯連接流","link.flow.add_connection_stream":"添加連接流","link.flow.stream_name":"流名稱","link.flow.please_enter_stream_name":"請輸入你的流名稱","link.flow.stream_description":"流描述","link.flow.please_enter_description":"請輸入你的描述","link.flow.conditional_execution":"條件執行","link.flow.conditional_execution_description":"按照設置的條件,增加多一個流程分支","link.flow.loop_execution":"循環執行","link.flow.loop_execution_description":"把較大的數據分成多條循環處理","link.flow.creating_node":"正在創建節點","link.flow.here_you_can":"您可以在此處","link.flow.insert_application":"插入應用 並選擇要執行的操作","link.flow.or_add_execution_logic":"或者添加一個執行邏輯","link.flow.prompt":"提示","link.flow.confirm_delete_node":"確定刪除節點嗎?","link.flow.deletion_success":"刪除成功","link.flow.node_closed":"節點【__deepPath__】已__closed__","link.flow.remark_modification_success":"備註修改成功","link.flow.please_enter_remark":"請輸入備註...","link.flow.copy_success":"復製成功","link.flow.action":"動作:","link.flow.execution_condition":"執行條件:設定觸發後續流程的執行條件","link.flow.execution_condition_colon":"執行條件:","link.flow.or":"或者","link.flow.if":"如果","link.flow.and":"並且","link.flow.trigger":"觸發:","link.flow.loop":"循環","link.flow.array":"數組","link.flow.expression":"表達式","link.flow.loop_node_output":"循環節點-輸出","link.flow.not_selected":"未選擇","link.flow.code_editor":"數犀代碼編輯器","link.flow.exit_full_screen":"退出全屏","link.flow.missing_configuration":"配置項缺失,請檢查填寫內容","link.flow.remove":"移除","link.flow.please_enter_variable_name":"請輸入變量名","link.flow.variable_name":"變量名","link.flow.please_select_condition":"請選擇條件","link.flow.select_condition":"選擇判斷條件","link.flow.value":"值","link.flow.configure_action":"配置選擇應用中要執行的動作","link.flow.configure_trigger":"配置流程如何觸發,比如每天早上9點自動觸發流程","link.flow.configuration_description":"配置說明:","link.flow.description_usage":"用於批量處理數據,將要循環的內容,分解成多個對象,分批次循環處理,一次最大處理條數為500,可分為3種循環處理類型","link.flow.array_type":"①數組:多級數據結構,可拆分為最小單位的數據對象,逐條循環處理","link.flow.number_type":"②數字:用於控製後續節點循環執行的次數,可設置循環的起始位置和次數","link.flow.condition_expression_type":"③條件表達式:條件表達式結果為true時執行循環,否則結束循環","link.flow.loop_start_end_check":"循環數字開始值不能大於結束值","link.flow.please_select_data_type":"請選擇循環的數據類型","link.flow.condition_expression":"條件表達式","link.flow.loop_start_end":"循環起止","link.flow.please_enter_loop_expression":"請輸入循環表達式","link.flow.loop_expression":"循環表達式","link.flow.please_select_loop_direction":"請選擇循環方向","link.flow.loop_head_to_tail":"從頭到尾循環","link.flow.loop_tail_to_head":"從尾到頭循環","link.flow.loop_processing":"循環處理","link.flow.please_select_loop_processing":"請選擇循環處理","link.flow.terminate_process":"終止流程","link.flow.continue_loop":"跳出本次循環(Continue)","link.flow.break_loop":"跳出循環(Break)","link.flow.test_connection_success":"測試連接成功","link.flow.test_connection_failed":"測試連接失敗","link.flow.creation_success":"創建成功","link.flow.modification_time":"修改時間:","link.flow.edit_account":"編輯","link.flow.please_select":"請選擇","link.flow.ciphertext":"密文","link.flow.text":"文本","link.flow.enter_keyword_to_search_action":"輸入關鍵字以搜索 __name__ 下的動作","link.flow.please_enter":"請輸入","link.flow.cannot_find_variable_output_node":"無法找到此變量輸出節點,請刪除","link.flow.string":"字符串","link.flow.script":"腳本","link.flow.enter_keyword":"請輸入關鍵字搜索應用","link.flow.use_proxy_gateway":"使用代理網關","link.flow.do_not_use":"不使用","link.flow.private_network_deployment":"純私有網絡部署無法開放IP白名單可使用","link.flow.proxy_gateway":"代理網關","link.flow.secure_connection":"安全連接","link.flow.click_test_and_preview":"請點擊【測試並預覽】,獲取樣本數據","link.flow.clear_test_results":"清空測試結果","link.flow.test_failed":"測試不通過","link.flow.check_configuration":"請根據測試返回的詳細信息,檢查配置,如無法獲知具體原因,請聯系您的專屬客服以獲取支持。","link.flow.error_data":"錯誤數據","link.flow.sample_data":"樣本數據","link.flow.request_failed":"請求失敗","link.flow.all":"全部","link.flow.no_actions":"暫無動作","link.flow.no_apps":"暫無應用","link.flow.back":"返回","link.flow.node_data_yaml":"節點數據.yaml","link.flow.excute_immediately":"立即執行","link.flow.excute_immediately_tip":"執行此操作將會觸發完整的連接流運行,可能導致生產數據發生變化。請確認是否繼續?","link.flow.excute_immediately_success":"立即執行成功","link.flow.stop_running":"停止運行","link.flow.switch.condition_one":"條件一","link.flow.switch.condition_two":"條件二","link.flow.switch.condition_n":"條件{n}","link.flow.switch.branch_name_cannot_be_empty":"分支名稱不能為空","link.flow.switch.branch_name_duplicate":"分支名稱不能重複","link.flow.switch.enter_branch_name":"請輸入分支名稱","link.flow.switch.move_to_top":"置頂","link.flow.switch.move_up":"上移","link.flow.switch.move_down":"下移","link.flow.switch.move_to_bottom":"置底","link.flow.switch.at_least_one_branch":"至少需要保留一個分支","link.flow.switch.at_least_one_valid_branch":"至少需要有一個有效的分支條件","link.flow.switch.add_branch":"新增條件","link.flow.switch.max_branches_reached":"最多只能添加10個分支"}},ju={"zh-CN":sO,"zh-TW":aO,"en-US":iO},lO=Be.createIntlCache(),Ig=t=>t in ju?ju[t]:(console.warn(`Locale ${t} is not supported, fallback to zh-CN`),ju["zh-CN"]),Pg=(t="zh-CN")=>{const e=Be.createIntl({locale:t,defaultLocale:"zh-CN",messages:Ig(t)},lO);return(n,r)=>e.formatMessage({id:n},r)};function cO(t){if(typeof t!="string")throw new Error("输入参数必须是字符串类型");if(t==="")return"";try{if(typeof TextEncoder<"u"){const n=new TextEncoder().encode(t);let r="";for(let o=0;o<n.length;o++)r+=String.fromCharCode(n[o]);return btoa(r)}else{const e=unescape(encodeURIComponent(t));return btoa(e)}}catch(e){throw new Error(`Base64 编码失败: ${e instanceof Error?e.message:"未知错误"}`)}}function Go(t){try{const e=JSON.stringify(t);return cO(e)}catch(e){throw new Error(`对象转 Base64 编码失败: ${e instanceof Error?e.message:"未知错误"}`)}}const te=Pg(),uO={nodeCategory:"/acm/links/domain/v2",nodesList:"/acm/links/v2",searchLinks:"/acm/links/search",actions:"/acm/actions/v2",createNode:"/acm/flows/nodes/v2",updateNode:"/acm/flows/nodes/v2/:id",updateEdges:"/acm/flows/edge/v2/:flowId",copyFlow:"/acm/flows/copy/:id",proxyGroup:"/iam/api/proxyGroup",createFlow:"/acm/flows/v2",flowDetail:"/acm/flows/v2/:flowId",testRunNode:"/acm/flows/nodes/run/v2/:id",listenWebhook:"/acm/flows/:flowId/webhook/listen",connectors:"/acm/allLinks",connectorDetail:"/acm/links/:connectorId",nodeDetail:"/acm/flows/nodes/:id",cancelDebug:"/acm/flows/nodes/cancelDebug/:id",deleteNode:"/acm/flows/nodes/v2/:id",checkFlow:"/acm/flows/check/:id",templateFlow:"/acm/flows/templates/:id",flowOutput:"/acm/flows/output/:id",flowOutputTree:"/acm/flows/outputTree/v2/:flowId",accountModel:"/acm/accounts/:id",accountInstanceCollection:"/acm/accountInstance",accountInstanceDetail:"/acm/accountInstance/:id",accountInstanceTest:"/acm/accountInstance/test",moveNode:"/acm/flows/nodes/move/:nodeId",copyNode:"/acm/flows/nodes/copy/v2/:nodeId",updateNodeNote:"/acm/flows/nodes/updateNote",nodeStatus:"/acm/flows/nodes/close/:nodeId",exportNode:"/acm/export/flowNode",importNode:"/acm/import/flowNode",stopFlow:"/acm/flows/stop/v2/:id",runFlow:"/acm/flows/run/v2/:id",removeEdges:"/acm/flows/remove/edge/:flowId",selectOptions:"/acm/actions/select/item",flowOpStatus:"/acm/flows/op/v2/:paramsId/:opStatus"},dO=async(t,e={})=>{const{params:n,data:r,headers:o,method:i="GET",transformResponse:s=void 0}=e,a={};qn.token&&(a.Authorization="Bearer "+qn.token,a.idtoken="bit"),o&&Object.assign(a,o);const l={url:t,method:i,params:n,data:r,headers:Object.keys(a).length?a:void 0,transformResponse:s};return(await pt(l)).data.data};let qn={endpoints:{...uO},httpClient:dO,baseUrl:"",token:""};const ho=t=>{t.httpClient&&(qn.httpClient=t.httpClient),t.baseUrl!==void 0&&(qn.baseUrl=t.baseUrl),t.token!==void 0&&(qn.token=t.token),t.endpoints&&(qn.endpoints={...qn.endpoints,...t.endpoints})},fO=/:([A-Za-z0-9_]+)/g,hO=(t,e)=>{const n=qn.endpoints[t];if(!n)throw new Error(`Workflow endpoint "${t}" is not configured.`);return n.replace(fO,(r,o)=>{if(!e||e[o]===void 0||e[o]===null)throw new Error(`Missing path parameter "${o}" for endpoint "${t}".`);return encodeURIComponent(String(e[o]))})},pO=/^https?:\/\//i,mO=t=>{if(pO.test(t))return t;const e=qn.baseUrl;return e?`${e.replace(/\/$/,"")}/${t.replace(/^\//,"")}`:t},tt=async(t,e,n)=>{const r=mO(hO(t,n));return qn.httpClient(r,e)};async function gO(t){return tt("nodeCategory",{params:t})}async function wO(t){return tt("searchLinks",{method:"POST",data:t})}const Lg=async t=>tt("actions",{params:t});async function Wu(t){return tt("createNode",{method:"POST",headers:{"Content-Type":"text/plain"},data:Go(t)})}async function ja(t,e){return tt("updateNode",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Go(e)},{id:t})}async function zg(){return tt("proxyGroup")}async function Hg(t){try{return await tt("flowDetail",void 0,{flowId:t})}catch(e){throw console.error("Failed to fetch workflow data",e),e}}async function Vu(t,e){return tt("flowDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Go(e)},{flowId:t})}async function $g(t){return tt("testRunNode",{method:"POST",data:{},transformResponse:e=>({data:JSON.parse(e)})},{id:t})}async function jg(t,e){return tt("listenWebhook",{method:"GET",params:e},{flowId:t})}async function Wg(t,e,n,r,o,i,s){return tt("cancelDebug",{method:"PATCH",data:{connector_id:e,action_id:n,account_id:r,output:i,properties:o}},{id:t})}async function Uu(t){return tt("deleteNode",{method:"DELETE"},{id:t})}async function Wa(t,e){return tt("flowOutputTree",{params:{nodeId:e}},{flowId:t})}async function Vg(t){return tt("accountModel",void 0,{id:t})}async function Ug(t){return tt("accountInstanceDetail",void 0,{id:t})}async function qg(t,e,n,r,o,i){const s={connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o};return i&&(s.proxy_id=i),tt("accountInstanceCollection",{method:"POST",headers:{"Content-Type":"text/plain"},data:Go(s)})}async function qu(t,e,n,r,o,i,s){const a={connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o,id:i};return s&&(a.proxy_id=s),tt("accountInstanceTest",{method:"POST",data:a})}async function Rg(t,e,n,r,o,i,s){const a={connector_id:e,account_schema_id:n,auth_type:r,name:o,config:i};return s&&(a.proxy_id=s),tt("accountInstanceDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Go(a)},{id:t})}async function Gg(t,e){return tt("accountInstanceDetail",{method:"PATCH",data:Go({connector_id:null,account_schema_id:null,auth_type:null,name:e,config:null})},{id:t})}async function Ru(t){return tt("copyNode",void 0,{nodeId:t})}async function Kg(t,e){return tt("updateNodeNote",{method:"POST",data:{id:t,note:e}})}async function Xg(t,e){return tt("nodeStatus",{params:{closed:e==="on"?0:1}},{nodeId:t})}async function Yg(t,e){return tt("removeEdges",{method:"POST",data:e},{flowId:t})}async function Jg(t){return tt("selectOptions",{method:"GET",params:{type:t}})}async function Gu(t,e){return tt("flowOpStatus",{method:"POST"},{paramsId:t,opStatus:e})}const Qg=async(t,e)=>tt("accountInstanceCollection",{params:{linkId:t,account_schema_id:e??null}}),Zg=Object.freeze(Object.defineProperty({__proto__:null,apiCancelDebug:Wg,apiCopyNode:Ru,apiCreateAcountInstance:qg,apiCreateNode:Wu,apiDeleteNode:Uu,apiGetAcountInstanceDetail:Ug,apiGetAcountInstanceV2:Qg,apiGetAcountModel:Vg,apiGetActions:Lg,apiGetFlow:Hg,apiGetFlowOutputTree:Wa,apiGetNodeCategory:gO,apiGetProxyGroup:zg,apiGetSelectOptions:Jg,apiListenWebhook:jg,apiRemoveEdges:Yg,apiSearchLinks:wO,apiTestAcountInstanceValid:qu,apiTestRunNode:$g,apiUpdateAcountInstance:Rg,apiUpdateAcountInstanceName:Gg,apiUpdateFlow:Vu,apiUpdateNode:ja,apiUpdateNodeNote:Kg,apiUpdateNodeStatus:Xg,configureWorkflowApi:ho,updateFlowOpStatus:Gu},Symbol.toStringTag,{value:"Module"})),ew=C.createContext(null),yn=()=>{const t=C.useContext(ew);if(!t)throw new Error("useCanvasConfig must be used inside Provider");return t},vO=ew.Provider;var Ht=(t=>(t.MAIN="main",t))(Ht||{}),ne=(t=>(t.START="START",t.TRIGGER="StartEventNode",t.ACTION="ActionNode",t.CONDITION="ConditionNode",t.LOOP="LoopNode",t.SELFLOOP="SelfLoopNode",t.MCPServer="MCPServerNode",t.BuiltinMCP="BuiltinMCPNode",t.VECTORSTORE="VectorStoreNode",t.AGENT="AgentNode",t.BROWSER="BrowserNode",t.AISUBNODE="AISubNode",t.MCPTOOL="MCPToolNode",t.ENDNODE="EndNode",t.SWITCH="SwitchNode",t.STICKY="StickyNoteNode",t))(ne||{}),ve=(t=>(t.INVALID="INVALID",t.IDLE="IDLE",t.RUNNING="RUNNING",t.FAILED="FAILED",t.SUCCESS="SUCCESS",t.RUNNABLE="RUNNABLE",t))(ve||{}),Te=(t=>(t.AI_LANGUAGE_MODEL="AI_LANGUAGE_MODEL",t.AI_VECTOR_STORE="AI_VECTORSTORE",t.AI_MEMORY="AI_MEMORY",t.AI_DOCUMENT="AI_DOCUMENT",t.AI_TEXT_SPLITTER="AI_TEXTSPLITTER",t.AI_EMBEDDING="AI_EMBEDDING",t.AI_TOOL="AI_TOOL",t.MCP="MCP",t.BUILTIN_MCP="BUILTIN_MCP",t.MCP_SERVER="MCP_SERVER",t))(Te||{});const _t={default:"#007FFF",selected:"#3395ff",hovered:"#66b2ff",disabled:"#c7ccd1",[ve.IDLE]:"rgba(0, 127, 255, 0.48)",[ve.INVALID]:"rgba(255, 146, 0, 0.48)",[ve.RUNNING]:"rgba(0, 127, 255, 0.48)",[ve.FAILED]:"rgba(255, 82, 25, 0.48)",[ve.SUCCESS]:"rgba(0, 176, 66, 0.48)",[ve.RUNNABLE]:"rgba(0, 176, 66, 0.48)",aiProtocol:"#007FFF"},po={[ve.IDLE]:"#007FFF",[ve.INVALID]:"#F7CD8F",[ve.RUNNING]:"#007FFF",[ve.FAILED]:"#F3B096",[ve.SUCCESS]:"#98D7A9",[ve.RUNNABLE]:"#00B042"},tw=[Te.AI_LANGUAGE_MODEL,Te.AI_VECTOR_STORE,Te.AI_MEMORY,Te.AI_DOCUMENT,Te.AI_TEXT_SPLITTER,Te.AI_EMBEDDING,Te.AI_TOOL],nw=[ne.MCPTOOL,ne.MCPServer,ne.BuiltinMCP],Qi={default:{stroke:_t[ve.IDLE],strokeWidth:1,fill:"none"},hovered:{stroke:_t.hovered,fill:"none"},selected:{stroke:_t.selected,fill:"none"},aiProtocol:{stroke:_t.aiProtocol,strokeWidth:1,fill:"none",strokeDasharray:"5,5"},loop:{stroke:_t.default,strokeWidth:1,strokeDasharray:"5,5",fill:"none"}},yO={default:{color:_t.default,size:8},aiProtocol:{color:_t.aiProtocol,size:8}},mo={default:{color:_t.default},main:{color:_t.default},connected:{color:_t.default},connecting:{color:_t.selected},error:{color:po[ve.FAILED]},full:{opacity:.5,cursor:"not-allowed"},nodeStatus:{[ve.IDLE]:{color:po[ve.IDLE]},[ve.INVALID]:{color:po[ve.INVALID]},[ve.RUNNING]:{color:po[ve.RUNNING]},[ve.FAILED]:{color:po[ve.FAILED]},[ve.SUCCESS]:{color:po[ve.SUCCESS]},[ve.RUNNABLE]:{color:po[ve.RUNNABLE]}}},Rn={line:{backgroundColor:_t[ve.IDLE],height:"1px"},horizontal:{width:"64px",height:"1px"},vertical:{width:"1px",height:"36px",left:0},button:{fontSize:"20px",borderRadius:"4px",cursor:"pointer",color:_t.default}},rw={default:{fontSize:"12px",fontWeight:"normal",color:_t.default},edge:{background:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",pointerEvents:"none"},loop:{background:"rgba(0, 127, 255, 0.08)",color:_t.default,border:`1px solid ${_t.default}`,padding:"2px 6px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",pointerEvents:"none"}},Zi={default:{border:"none",cursor:"pointer",padding:"4px",borderRadius:"4px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#fff",boxShadow:"0 2px 4px rgba(0,0,0,0.1)"},add:{color:"#52c41a",fontSize:"16px"},delete:{color:"#ff4d4f",fontSize:"16px"}},ow={EDGE_PADDING_BOTTOM:130,EDGE_BORDER_RADIUS:16,HANDLE_SIZE:20},iw={undeletableEdgeTargetTypes:[],unAddableTargetTypes:[ne.AISUBNODE,ne.VECTORSTORE,ne.MCPTOOL,ne.MCPServer,ne.BuiltinMCP]};var es=(t=>(t.UNPUBLISHED="UNPUBLISHED",t.ONLINE="ONLINE",t.OFFLINE="OFFLINE",t.ON_WARN="ON_WARN",t.OFF_WARN="OFF_WARN",t.ONLINE_ING="ONLINE_ING",t))(es||{});function go(){return go=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},go.apply(null,arguments)}var Ko;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(Ko||(Ko={}));var sw=function(t){return t},aw="beforeunload",bO="popstate";function CO(t){t===void 0&&(t={});var e=t,n=e.window,r=n===void 0?document.defaultView:n,o=r.history;function i(){var A=r.location,E=A.pathname,T=A.search,D=A.hash,M=o.state||{};return[M.idx,sw({pathname:E,search:T,hash:D,state:M.usr||null,key:M.key||"default"})]}var s=null;function a(){if(s)p.call(s),s=null;else{var A=Ko.Pop,E=i(),T=E[0],D=E[1];if(p.length){if(T!=null){var M=u-T;M&&(s={action:A,location:D,retry:function(){b(M*-1)}},b(M))}}else g(A)}}r.addEventListener(bO,a);var l=Ko.Pop,c=i(),u=c[0],d=c[1],f=cw(),p=cw();u==null&&(u=0,o.replaceState(go({},o.state,{idx:u}),""));function m(A){return typeof A=="string"?A:xO(A)}function w(A,E){return E===void 0&&(E=null),sw(go({pathname:d.pathname,hash:"",search:""},typeof A=="string"?SO(A):A,{state:E,key:kO()}))}function v(A,E){return[{usr:A.state,key:A.key,idx:E},m(A)]}function y(A,E,T){return!p.length||(p.call({action:A,location:E,retry:T}),!1)}function g(A){l=A;var E=i();u=E[0],d=E[1],f.call({action:l,location:d})}function x(A,E){var T=Ko.Push,D=w(A,E);function M(){x(A,E)}if(y(T,D,M)){var N=v(D,u+1),F=N[0],I=N[1];try{o.pushState(F,"",I)}catch{r.location.assign(I)}g(T)}}function S(A,E){var T=Ko.Replace,D=w(A,E);function M(){S(A,E)}if(y(T,D,M)){var N=v(D,u),F=N[0],I=N[1];o.replaceState(F,"",I),g(T)}}function b(A){o.go(A)}var k={get action(){return l},get location(){return d},createHref:m,push:x,replace:S,go:b,back:function(){b(-1)},forward:function(){b(1)},listen:function(E){return f.push(E)},block:function(E){var T=p.push(E);return p.length===1&&r.addEventListener(aw,lw),function(){T(),p.length||r.removeEventListener(aw,lw)}}};return k}function lw(t){t.preventDefault(),t.returnValue=""}function cw(){var t=[];return{get length(){return t.length},push:function(n){return t.push(n),function(){t=t.filter(function(r){return r!==n})}},call:function(n){t.forEach(function(r){return r&&r(n)})}}}function kO(){return Math.random().toString(36).substr(2,8)}function xO(t){var e=t.pathname,n=e===void 0?"/":e,r=t.search,o=r===void 0?"":r,i=t.hash,s=i===void 0?"":i;return o&&o!=="?"&&(n+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function SO(t){var e={};if(t){var n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));var r=t.indexOf("?");r>=0&&(e.search=t.substr(r),t=t.substr(0,r)),t&&(e.pathname=t)}return e}const ts=CO();function uw(t){const e=()=>{t.to&&ts.push(t.to)};return h.jsx("span",{onClick:e,children:t.children})}const Ku=t=>[new URLSearchParams(location.href)],EO={nodeSelectorVisible:!1,nodeAddInfo:null,nodeAddCallback:null},dw=mu.createSlice({name:"panel",initialState:EO,reducers:{openNodeSelector:(t,e)=>{t.nodeSelectorVisible=!0,t.nodeAddInfo=e.payload},closeNodeSelector:t=>{t.nodeSelectorVisible=!1},setNodeAddCallback:(t,e)=>{t.nodeAddCallback=e.payload},executeNodeAddCallback:(t,e)=>{t.nodeAddCallback&&t.nodeAddInfo}}}),{openNodeSelector:DO,closeNodeSelector:fw,setNodeAddCallback:AO,executeNodeAddCallback:YW}=dw.actions,OO=dw.reducer,Nt=[];for(let t=0;t<256;++t)Nt.push((t+256).toString(16).slice(1));function BO(t,e=0){return(Nt[t[e+0]]+Nt[t[e+1]]+Nt[t[e+2]]+Nt[t[e+3]]+"-"+Nt[t[e+4]]+Nt[t[e+5]]+"-"+Nt[t[e+6]]+Nt[t[e+7]]+"-"+Nt[t[e+8]]+Nt[t[e+9]]+"-"+Nt[t[e+10]]+Nt[t[e+11]]+Nt[t[e+12]]+Nt[t[e+13]]+Nt[t[e+14]]+Nt[t[e+15]]).toLowerCase()}let Xu;const TO=new Uint8Array(16);function _O(){if(!Xu){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Xu=crypto.getRandomValues.bind(crypto)}return Xu(TO)}const hw={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function NO(t,e,n){var o;t=t||{};const r=t.random??((o=t.rng)==null?void 0:o.call(t))??_O();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,BO(r)}function Yu(t,e,n){return hw.randomUUID&&!t?hw.randomUUID():NO(t)}var Ke=(t=>(t.SOURCE="source",t.TARGET="target",t))(Ke||{}),Ne=(t=>(t.INPUT="input",t.OUTPUT="output",t.CHAT_MODEL="chat_model",t.DONE="done",t.LOOP="loop",t.FALSE="false",t.TRUE="true",t.MEMORY="memory",t.TOOLS="tools",t.BUILTIN_MCP="builtin_mcp",t))(Ne||{});function FO(){const t=ie.useStoreApi(),{edges:e}=t.getState(),n=C.useCallback((o,i,s)=>e?e.filter(a=>s==="output"?a.source===o&&a.sourceHandle===i:a.target===o&&a.targetHandle===i):[],[e]),r=C.useCallback((o,i)=>e&&e.some(a=>a.source===o&&a.sourceHandle===i||a.target===o&&a.targetHandle===i)?"connected":"default",[e]);return{getHandleConnections:n,handleStatus:r}}function ns(){const t=qc(),{nodeSelectorVisible:e,nodeAddInfo:n,nodeAddCallback:r}=fa(c=>c.panel),o=C.useCallback(c=>{t(DO(c))},[t]),i=C.useCallback(()=>{t(fw())},[t]),s=C.useCallback(c=>{r&&n&&r(n,c),t(fw())},[t,n,r]),a=C.useCallback((c,u)=>{r&&c&&r(c,u)},[t,n,r]),l=C.useCallback(c=>{t(AO(c))},[t]);return{nodeSelectorVisible:e,nodeAddInfo:n,openNodeSelector:o,closeNodeSelector:i,handleNodeSelect:s,handleMannualAdd:a,setNodeAddCallback:l}}var Va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xo(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ju={exports:{}};/*!
7
+ Copyright (c) 2018 Jed Watson.
8
+ Licensed under the MIT License (MIT), see
9
+ http://jedwatson.github.io/classnames
10
+ */var pw;function MO(){return pw||(pw=1,(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var i="",s=0;s<arguments.length;s++){var a=arguments[s];a&&(i=o(i,r(a)))}return i}function r(i){if(typeof i=="string"||typeof i=="number")return i;if(typeof i!="object")return"";if(Array.isArray(i))return n.apply(null,i);if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]"))return i.toString();var s="";for(var a in i)e.call(i,a)&&i[a]&&(s=o(s,a));return s}function o(i,s){return s?i?i+" "+s:i+s:i}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(Ju)),Ju.exports}var IO=MO();const _n=Xo(IO),PO={type:ne.START,id:"PLACEHOLDER_NODE",position:{x:100,y:250},data:{type:ne.START,name:"开始",nodeId:"PLACEHOLDER_NODE",id:"PLACEHOLDER_NODE",description:"开始节点"}},rs=()=>{ie.useReactFlow();const t=ie.useStoreApi(),e=C.useCallback(s=>{const{setEdges:a,edges:l}=t.getState(),c=ht.cloneDeep(cn(l,u=>{u.push(...s)}));a(c)},[t]),n=C.useCallback(s=>{const{setNodes:a,nodes:l}=t.getState();a(cn(l,c=>{c.push(...s)}))},[t]),r=C.useCallback(s=>{const{setNodes:a,setEdges:l,nodes:c,edges:u}=t.getState();a(cn(c,d=>{d=d.filter(f=>!s.includes(f.id)),d=d.length>0?d:[PO]})),l(cn(u,d=>{d=d.filter(f=>!s.includes(f.source)&&!s.includes(f.target))}))},[t]),o=C.useCallback(s=>{const{setEdges:a,edges:l}=t.getState();a(cn(l,c=>{c=c.filter(u=>!s.includes(u.id))}))},[t]);return{getNodes:C.useCallback(()=>{const{nodes:s}=t.getState();return s},[t]),removeNodes:r,removeEdges:o,addEdges:e,addNodes:n}},LO=(t,e,n,r)=>(t.edges||[]).some(i=>i?r===Ke.SOURCE?i.source===e&&(i.sourceHandle===n||!i.sourceHandle&&n==="output"):i.target===e&&(i.targetHandle===n||!i.targetHandle&&n==="input"):!1),zO=[Ne.MEMORY,Ne.TOOLS,Ne.CHAT_MODEL],HO=[Te.AI_MEMORY,Te.AI_TOOL,Te.MCP_SERVER,Te.BUILTIN_MCP,Te.AI_LANGUAGE_MODEL],mw=({type:t,id:e,nodeId:n,position:r=ie.Position.Right,style:o={},isValidConnection:i,onConnect:s,label:a,status:l,nodeStatus:c=ve.IDLE,category:u="main",protocol:d,shape:f="rhombus",connectionLimit:p=1/0})=>{const{getHandleConnections:m,handleStatus:w}=FO(),{getNode:v}=ie.useReactFlow(),{getNodes:y}=rs(),g=y(),x=At(),S=yn(),{openNodeSelector:b,nodeSelectorVisible:k}=ns(),A=P=>P.inProgress,E=ie.useStore(C.useCallback(P=>LO(P,n,e,t),[n,e,t])),D=m(n,e,(P=>P==="source"?"output":"input")(t)),M=E||D.length>0,F=D.length>=p,I=ie.useConnection(A),O=t===Ke.SOURCE&&(!M||!F)&&!I&&x,H=w(n,e),L=l||H&&H||"default",W=C.useCallback(P=>{var X,ge,ue,Pe;const U=g.find($e=>$e.id===P.target),G=(X=U==null?void 0:U.data)==null?void 0:X.protocol;if(zO.includes(P.sourceHandle)||HO.includes(G))switch(G){case Te.AI_MEMORY:return P.sourceHandle===Ne.MEMORY;case Te.AI_TOOL:return P.sourceHandle===Ne.TOOLS;case Te.AI_LANGUAGE_MODEL:return P.sourceHandle===Ne.CHAT_MODEL;case Te.BUILTIN_MCP:return P.sourceHandle===Ne.BUILTIN_MCP||((Pe=(ge=U==null?void 0:U.data)==null?void 0:(ue=ge.protocol).toUpperCase)==null?void 0:Pe.call(ue))==="BUILTIN_MCP";case Te.MCP_SERVER:return P.sourceHandle===Ne.TOOLS;default:return!1}return F||P.source===P.target&&P.sourceHandle!==Ne.LOOP?!1:i?i(P):!0},[F,i,g,x]),R=C.useCallback(()=>{var ge,ue;const P=v(n);if(!P)return{x:0,y:0};const U=((ge=P.measured)==null?void 0:ge.width)||240,G=((ue=P.measured)==null?void 0:ue.height)||240;let X={x:0,y:0};switch(r){case ie.Position.Right:X={x:P.position.x+U+100,y:P.position.y};break;case ie.Position.Left:X={x:P.position.x-100,y:P.position.y};break;case ie.Position.Bottom:X={x:P.position.x,y:P.position.y+G+100};break;case ie.Position.Top:X={x:P.position.x,y:P.position.y-100};break}return X},[n,r,v]),Y=P=>{var ge;P.stopPropagation();const U=y(),G=(ge=S.canvas.limits)==null?void 0:ge.maxNodes;if(typeof G=="number"&&U.length>=G){B.message.warning("已达到画布允许的最大节点数");return}const X=R();b({sourceNodeId:n,sourceHandle:e,position:X,protocol:d,refresh:k})},K=mo.main,le=()=>{switch(L){case"connected":return mo.connected;case"connecting":return mo.connecting;case"error":return mo.error;default:return{}}},$=()=>Object.hasOwn(mo.nodeStatus,c)?mo.nodeStatus[c]:{},V={...K,...le(),...$(),...o},q=_n("workflow-handle",`workflow-${t}-handle`,"nodrag nopan",`workflow-handle-${L}`,`workflow-handle-${u}`,{"workflow-handle-with-label":!!a,"workflow-handle-main":u==="main","workflow-handle-full":F,"workflow-handle-success":c===ve.SUCCESS||c===ve.RUNNABLE,"workflow-handle-running":c===ve.RUNNING,"workflow-handle-failed":c===ve.FAILED,"workflow-handle-invalid":c===ve.INVALID},`workflow-handle-target-${r}`,`workflow-handle-shape-${f}`),ee=()=>{let P={position:"absolute",zIndex:5,pointerEvents:"all"},U={...Rn.line,width:"100%",height:"100%"},G={position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",zIndex:6,...Rn.button};switch(r){case ie.Position.Right:P={...P,right:"-3px",top:o.top,transform:"translateY(-50%)",width:Rn.horizontal.width,height:Rn.horizontal.height},G={...G,right:"-100%",top:"50%",transform:"translate(50%, -50%)"},U={...U,left:61};break;case ie.Position.Left:P={...P,left:"-6px",top:"50%",transform:"translateY(-50%)",width:"36px",height:Rn.horizontal.height},G={...G,left:"-8px",top:"50%",transform:"translate(-50%, -50%)"},U={...U,left:61};break;case ie.Position.Bottom:P={...P,bottom:"-6px",top:"100%",left:o.left,width:Rn.vertical.width,height:Rn.vertical.height},U={...U,left:1},G={...G,bottom:"-8px",left:"calc(50% + 1px)",transform:"translate(-50%, 50%)"};break;case ie.Position.Top:P={...P,top:"-6px",left:"50%",transform:"translateX(-50%)",width:Rn.vertical.width,height:Rn.vertical.height},G={...G,top:"-8px",left:"50%",transform:"translate(-50%, -50%)"};break}return{containerStyle:P,extenderStyle:U,btnStyle:G}},pe=()=>{if(!O)return null;const P=ee();return h.jsxs("div",{className:"workflow-handle-extender-container nodrag nopan",style:P.containerStyle,children:[h.jsx("div",{className:"workflow-handle-extender",style:P.extenderStyle}),h.jsx("div",{className:"workflow-handle-extender-btn",style:P.btnStyle,onClick:Y,children:h.jsx(hD.AiOutlinePlusCircle,{})})]})},se=()=>{if(!a)return null;let P;switch(r){case ie.Position.Left:P={left:-8,textAlign:"right"};break;case ie.Position.Right:P={right:-38,top:-3,position:"absolute",zIndex:1e3,textAlign:"center"};break;case ie.Position.Top:P={position:"absolute",top:-8,textAlign:"center"};break;case ie.Position.Bottom:P={position:"absolute",bottom:-18,left:"-150%",textAlign:"center"};break;default:P={right:-8}}return h.jsx("span",{className:"workflow-handle-label",style:P,children:a})};return h.jsxs("div",{children:[h.jsx(ie.Handle,{type:t,position:r,id:e,isConnectableStart:x,isConnectable:!F,isValidConnection:W,onConnect:s,className:q,style:V,children:a&&se()}),h.jsx("div",{className:"custom-handle-container",children:t==="source"&&pe()})]})};var Ua={exports:{}},$O=Ua.exports,gw;function jO(){return gw||(gw=1,(function(t,e){(function(n,r){t.exports=r()})($O,(function(){var n=1e3,r=6e4,o=36e5,i="millisecond",s="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",m="date",w="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(I){var O=["th","st","nd","rd"],H=I%100;return"["+I+(O[(H-20)%10]||O[H]||O[0])+"]"}},x=function(I,O,H){var L=String(I);return!L||L.length>=O?I:""+Array(O+1-L.length).join(H)+I},S={s:x,z:function(I){var O=-I.utcOffset(),H=Math.abs(O),L=Math.floor(H/60),W=H%60;return(O<=0?"+":"-")+x(L,2,"0")+":"+x(W,2,"0")},m:function I(O,H){if(O.date()<H.date())return-I(H,O);var L=12*(H.year()-O.year())+(H.month()-O.month()),W=O.clone().add(L,d),R=H-W<0,Y=O.clone().add(L+(R?-1:1),d);return+(-(L+(H-W)/(R?W-Y:Y-W))||0)},a:function(I){return I<0?Math.ceil(I)||0:Math.floor(I)},p:function(I){return{M:d,y:p,w:u,d:c,D:m,h:l,m:a,s,ms:i,Q:f}[I]||String(I||"").toLowerCase().replace(/s$/,"")},u:function(I){return I===void 0}},b="en",k={};k[b]=g;var A="$isDayjsObject",E=function(I){return I instanceof N||!(!I||!I[A])},T=function I(O,H,L){var W;if(!O)return b;if(typeof O=="string"){var R=O.toLowerCase();k[R]&&(W=R),H&&(k[R]=H,W=R);var Y=O.split("-");if(!W&&Y.length>1)return I(Y[0])}else{var K=O.name;k[K]=O,W=K}return!L&&W&&(b=W),W||!L&&b},D=function(I,O){if(E(I))return I.clone();var H=typeof O=="object"?O:{};return H.date=I,H.args=arguments,new N(H)},M=S;M.l=T,M.i=E,M.w=function(I,O){return D(I,{locale:O.$L,utc:O.$u,x:O.$x,$offset:O.$offset})};var N=(function(){function I(H){this.$L=T(H.locale,null,!0),this.parse(H),this.$x=this.$x||H.x||{},this[A]=!0}var O=I.prototype;return O.parse=function(H){this.$d=(function(L){var W=L.date,R=L.utc;if(W===null)return new Date(NaN);if(M.u(W))return new Date;if(W instanceof Date)return new Date(W);if(typeof W=="string"&&!/Z$/i.test(W)){var Y=W.match(v);if(Y){var K=Y[2]-1||0,le=(Y[7]||"0").substring(0,3);return R?new Date(Date.UTC(Y[1],K,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,le)):new Date(Y[1],K,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,le)}}return new Date(W)})(H),this.init()},O.init=function(){var H=this.$d;this.$y=H.getFullYear(),this.$M=H.getMonth(),this.$D=H.getDate(),this.$W=H.getDay(),this.$H=H.getHours(),this.$m=H.getMinutes(),this.$s=H.getSeconds(),this.$ms=H.getMilliseconds()},O.$utils=function(){return M},O.isValid=function(){return this.$d.toString()!==w},O.isSame=function(H,L){var W=D(H);return this.startOf(L)<=W&&W<=this.endOf(L)},O.isAfter=function(H,L){return D(H)<this.startOf(L)},O.isBefore=function(H,L){return this.endOf(L)<D(H)},O.$g=function(H,L,W){return M.u(H)?this[L]:this.set(W,H)},O.unix=function(){return Math.floor(this.valueOf()/1e3)},O.valueOf=function(){return this.$d.getTime()},O.startOf=function(H,L){var W=this,R=!!M.u(L)||L,Y=M.p(H),K=function(P,U){var G=M.w(W.$u?Date.UTC(W.$y,U,P):new Date(W.$y,U,P),W);return R?G:G.endOf(c)},le=function(P,U){return M.w(W.toDate()[P].apply(W.toDate("s"),(R?[0,0,0,0]:[23,59,59,999]).slice(U)),W)},$=this.$W,V=this.$M,q=this.$D,ee="set"+(this.$u?"UTC":"");switch(Y){case p:return R?K(1,0):K(31,11);case d:return R?K(1,V):K(0,V+1);case u:var pe=this.$locale().weekStart||0,se=($<pe?$+7:$)-pe;return K(R?q-se:q+(6-se),V);case c:case m:return le(ee+"Hours",0);case l:return le(ee+"Minutes",1);case a:return le(ee+"Seconds",2);case s:return le(ee+"Milliseconds",3);default:return this.clone()}},O.endOf=function(H){return this.startOf(H,!1)},O.$set=function(H,L){var W,R=M.p(H),Y="set"+(this.$u?"UTC":""),K=(W={},W[c]=Y+"Date",W[m]=Y+"Date",W[d]=Y+"Month",W[p]=Y+"FullYear",W[l]=Y+"Hours",W[a]=Y+"Minutes",W[s]=Y+"Seconds",W[i]=Y+"Milliseconds",W)[R],le=R===c?this.$D+(L-this.$W):L;if(R===d||R===p){var $=this.clone().set(m,1);$.$d[K](le),$.init(),this.$d=$.set(m,Math.min(this.$D,$.daysInMonth())).$d}else K&&this.$d[K](le);return this.init(),this},O.set=function(H,L){return this.clone().$set(H,L)},O.get=function(H){return this[M.p(H)]()},O.add=function(H,L){var W,R=this;H=Number(H);var Y=M.p(L),K=function(V){var q=D(R);return M.w(q.date(q.date()+Math.round(V*H)),R)};if(Y===d)return this.set(d,this.$M+H);if(Y===p)return this.set(p,this.$y+H);if(Y===c)return K(1);if(Y===u)return K(7);var le=(W={},W[a]=r,W[l]=o,W[s]=n,W)[Y]||1,$=this.$d.getTime()+H*le;return M.w($,this)},O.subtract=function(H,L){return this.add(-1*H,L)},O.format=function(H){var L=this,W=this.$locale();if(!this.isValid())return W.invalidDate||w;var R=H||"YYYY-MM-DDTHH:mm:ssZ",Y=M.z(this),K=this.$H,le=this.$m,$=this.$M,V=W.weekdays,q=W.months,ee=W.meridiem,pe=function(U,G,X,ge){return U&&(U[G]||U(L,R))||X[G].slice(0,ge)},se=function(U){return M.s(K%12||12,U,"0")},P=ee||function(U,G,X){var ge=U<12?"AM":"PM";return X?ge.toLowerCase():ge};return R.replace(y,(function(U,G){return G||(function(X){switch(X){case"YY":return String(L.$y).slice(-2);case"YYYY":return M.s(L.$y,4,"0");case"M":return $+1;case"MM":return M.s($+1,2,"0");case"MMM":return pe(W.monthsShort,$,q,3);case"MMMM":return pe(q,$);case"D":return L.$D;case"DD":return M.s(L.$D,2,"0");case"d":return String(L.$W);case"dd":return pe(W.weekdaysMin,L.$W,V,2);case"ddd":return pe(W.weekdaysShort,L.$W,V,3);case"dddd":return V[L.$W];case"H":return String(K);case"HH":return M.s(K,2,"0");case"h":return se(1);case"hh":return se(2);case"a":return P(K,le,!0);case"A":return P(K,le,!1);case"m":return String(le);case"mm":return M.s(le,2,"0");case"s":return String(L.$s);case"ss":return M.s(L.$s,2,"0");case"SSS":return M.s(L.$ms,3,"0");case"Z":return Y}return null})(U)||Y.replace(":","")}))},O.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},O.diff=function(H,L,W){var R,Y=this,K=M.p(L),le=D(H),$=(le.utcOffset()-this.utcOffset())*r,V=this-le,q=function(){return M.m(Y,le)};switch(K){case p:R=q()/12;break;case d:R=q();break;case f:R=q()/3;break;case u:R=(V-$)/6048e5;break;case c:R=(V-$)/864e5;break;case l:R=V/o;break;case a:R=V/r;break;case s:R=V/n;break;default:R=V}return W?R:M.a(R)},O.daysInMonth=function(){return this.endOf(d).$D},O.$locale=function(){return k[this.$L]},O.locale=function(H,L){if(!H)return this.$L;var W=this.clone(),R=T(H,L,!0);return R&&(W.$L=R),W},O.clone=function(){return M.w(this.$d,this)},O.toDate=function(){return new Date(this.valueOf())},O.toJSON=function(){return this.isValid()?this.toISOString():null},O.toISOString=function(){return this.$d.toISOString()},O.toString=function(){return this.$d.toUTCString()},I})(),F=N.prototype;return D.prototype=F,[["$ms",i],["$s",s],["$m",a],["$H",l],["$W",c],["$M",d],["$y",p],["$D",m]].forEach((function(I){F[I[1]]=function(O){return this.$g(O,I[0],I[1])}})),D.extend=function(I,O){return I.$i||(I(O,N,D),I.$i=!0),D},D.locale=T,D.isDayjs=E,D.unix=function(I){return D(1e3*I)},D.en=k[b],D.Ls=k,D.p={},D}))})(Ua)),Ua.exports}var WO=jO();const pr=Xo(WO);var Ce=(t=>(t.HIDDEN="HIDDEN",t.LABEL="LABEL",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.DATE="DATE",t.TIME="TIME",t.DATETIME="DATETIME",t.SELECT="SELECT",t.API_SELECT="API_SELECT",t.FIXED_OBJ="FIXED_OBJ",t.JSON="JSON",t.EXTEND_OBJ="EXTEND_OBJ",t.PASSWORD="PASSWORD",t.MutilRowAIExtractConfig="MULTI_ROW_EXTRACT",t.MULTI_SELECT_LIST="MULTI_SELECT_LIST",t.SYNC_HOUR_MINUTE="SYNC_HOUR_MINUTE",t))(Ce||{});const VO=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],Qu=(t=[])=>{const e={};return t.forEach(n=>{e[n.key]=n.value}),e},ww=t=>Array.isArray(t)?t.map(e=>{if(typeof e=="string"){const s=e.trim();return s?{label:s,value:s}:null}const n=(e==null?void 0:e.value)??(e==null?void 0:e.label)??"",r=n==null?"":String(n).trim();if(!r)return null;const o=(e==null?void 0:e.label)??"";return{label:o==null?r:String(o).trim()||r,value:r}}).filter(Boolean):[],vw=C.forwardRef((t,e)=>{const[n,r]=C.useState([]),[o,i]=C.useState("");C.useEffect(()=>{i(t.proxyId)},[t.proxyId]),C.useEffect(()=>{zg().then(l=>{r(l??[])})},[]);const s=()=>o;C.useImperativeHandle(e,()=>({getProxyId:s}));const a=l=>{i(l)};return h.jsxs("div",{children:[h.jsx("h3",{children:h.jsx(Be.FormattedMessage,{id:"link.flow.use_proxy_gateway"})}),h.jsxs(B.Select,{className:"proxy_id_select",value:o,dropdownStyle:{zIndex:99999999999},onChange:a,style:{width:"100%"},children:[h.jsx(B.Select.Option,{value:"0",children:h.jsx(Be.FormattedMessage,{id:"link.flow.do_not_use"})}),n.map(l=>h.jsx(B.Select.Option,{value:l.id,children:l.group_name},l.id))]}),h.jsxs("p",{style:{color:"#ccc",marginTop:20},children:[h.jsx(Be.FormattedMessage,{id:"link.flow.private_network_deployment"}),h.jsx("a",{style:{margin:"0 2px"},href:"/uc/setting/gateway",target:"_blank",rel:"noopener",children:h.jsx(Be.FormattedMessage,{id:"link.flow.proxy_gateway"})}),h.jsx(Be.FormattedMessage,{id:"link.flow.secure_connection"})]})]})}),UO=t=>h.jsx(B.DatePicker,{style:{width:"100%"},picker:"date",value:pr(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),qO=t=>h.jsx(B.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:pr(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}}),RO=({value:t=[],onChange:e,valueType:n})=>{const r=a=>{const l=[...t];l.splice(a,1),e==null||e(l)},o=()=>{e([...t,{key:"",value:""}])},i=(a,l)=>{e(t.map((c,u)=>u===a?{...c,key:l}:c))},s=(a,l)=>{e(t.map((c,u)=>u===a?{...c,value:l}:c))};return h.jsxs("div",{children:[t.map((a,l)=>h.jsxs(B.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(B.Input,{value:a.key,onChange:c=>i(l,c.target.value),placeholder:"Key"}),h.jsx(B.Input,{placeholder:"Value",style:{width:300},value:a.value,onChange:c=>s(l,c.target.value)}),h.jsx(ce.DeleteOutlined,{onClick:()=>{r(l)}})]},l)),h.jsxs(B.Button,{type:"dashed",onClick:o,block:!0,children:[h.jsx(ce.PlusOutlined,{})," ",h.jsx(Be.FormattedMessage,{id:"app.common.word.add-field"})]})]})},GO=t=>null,yw=1024;let KO=0,Zu=class{constructor(e,n){this.from=e,this.to=n}};class He{constructor(e={}){this.id=KO++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Zt.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}}He.closedBy=new He({deserialize:t=>t.split(" ")}),He.openedBy=new He({deserialize:t=>t.split(" ")}),He.group=new He({deserialize:t=>t.split(" ")}),He.isolate=new He({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}}),He.contextHash=new He({perNode:!0}),He.lookAhead=new He({perNode:!0}),He.mounted=new He({perNode:!0});class os{constructor(e,n,r,o=!1){this.tree=e,this.overlay=n,this.parser=r,this.bracketed=o}static get(e){return e&&e.props&&e.props[He.mounted.id]}}const XO=Object.create(null);class Zt{constructor(e,n,r,o=0){this.name=e,this.props=n,this.id=r,this.flags=o}static define(e){let n=e.props&&e.props.length?Object.create(null):XO,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new Zt(e.name||"",n,e.id,r);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[i[0].id]=i[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(He.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let o of r.split(" "))n[o]=e[r];return r=>{for(let o=r.prop(He.group),i=-1;i<(o?o.length:0);i++){let s=n[i<0?r.name:o[i]];if(s)return s}}}}Zt.none=new Zt("",Object.create(null),0,8);class ed{constructor(e){this.types=e;for(let n=0;n<e.length;n++)if(e[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let n=[];for(let r of this.types){let o=null;for(let i of e){let s=i(r);if(s){o||(o=Object.assign({},r.props));let a=s[1],l=s[0];l.combine&&l.id in o&&(a=l.combine(o[l.id],a)),o[l.id]=a}}n.push(o?new Zt(r.name,o,r.id,r.flags):r)}return new ed(n)}}const qa=new WeakMap,bw=new WeakMap;var dt;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(dt||(dt={}));class mt{constructor(e,n,r,o,i){if(this.type=e,this.children=n,this.positions=r,this.length=o,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,a]of i)this.props[typeof s=="number"?s:s.id]=a}}toString(){let e=os.get(this);if(e&&!e.overlay)return e.tree.toString();let n="";for(let r of this.children){let o=r.toString();o&&(n&&(n+=","),n+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(e=0){return new rd(this.topNode,e)}cursorAt(e,n=0,r=0){let o=qa.get(this)||this.topNode,i=new rd(o);return i.moveTo(e,n),qa.set(this,i._tree),i}get topNode(){return new Mr(this,0,0,null)}resolve(e,n=0){let r=is(qa.get(this)||this.topNode,e,n,!1);return qa.set(this,r),r}resolveInner(e,n=0){let r=is(bw.get(this)||this.topNode,e,n,!0);return bw.set(this,r),r}resolveStack(e,n=0){return QO(this,e,n)}iterate(e){let{enter:n,leave:r,from:o=0,to:i=this.length}=e,s=e.mode||0,a=(s&dt.IncludeAnonymous)>0;for(let l=this.cursor(s|dt.IncludeAnonymous);;){let c=!1;if(l.from<=i&&l.to>=o&&(!a&&l.type.isAnonymous||n(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:id(Zt.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,o)=>new mt(this.type,n,r,o,this.propValues),e.makeTree||((n,r,o)=>new mt(Zt.none,n,r,o)))}static build(e){return ZO(e)}}mt.empty=new mt(Zt.none,[],[],0);class td{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new td(this.buffer,this.index)}}class Fr{constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return Zt.none}toString(){let e=[];for(let n=0;n<this.buffer.length;)e.push(this.childString(n)),n=this.buffer[n+3];return e.join(",")}childString(e){let n=this.buffer[e],r=this.buffer[e+3],o=this.set.types[n],i=o.name;if(/\W/.test(i)&&!o.isError&&(i=JSON.stringify(i)),e+=4,r==e)return i;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,n,r,o,i){let{buffer:s}=this,a=-1;for(let l=e;l!=n&&!(Cw(i,o,s[l+1],s[l+2])&&(a=l,r>0));l=s[l+3]);return a}slice(e,n,r){let o=this.buffer,i=new Uint16Array(n-e),s=0;for(let a=e,l=0;a<n;){i[l++]=o[a++],i[l++]=o[a++]-r;let c=i[l++]=o[a++]-r;i[l++]=o[a++]-e,s=Math.max(s,c)}return new Fr(i,s,this.set)}}function Cw(t,e,n,r){switch(t){case-2:return n<e;case-1:return r>=e&&n<e;case 0:return n<e&&r>e;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function is(t,e,n,r){for(var o;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to<e);){let s=!r&&t instanceof Mr&&t.index<0?null:t.parent;if(!s)return t;t=s}let i=r?0:dt.IgnoreOverlays;if(r)for(let s=t,a=s.parent;a;s=a,a=s.parent)s instanceof Mr&&s.index<0&&((o=a.enter(e,n,i))===null||o===void 0?void 0:o.from)!=s.from&&(t=a);for(;;){let s=t.enter(e,n,i);if(!s)return t;t=s}}class kw{cursor(e=0){return new rd(this,e)}getChild(e,n=null,r=null){let o=xw(this,e,n,r);return o.length?o[0]:null}getChildren(e,n=null,r=null){return xw(this,e,n,r)}resolve(e,n=0){return is(this,e,n,!1)}resolveInner(e,n=0){return is(this,e,n,!0)}matchContext(e){return nd(this.parent,e)}enterUnfinishedNodesBefore(e){let n=this.childBefore(e),r=this;for(;n;){let o=n.lastChild;if(!o||o.to!=n.to)break;o.type.isError&&o.from==o.to?(r=n,n=o.prevSibling):n=o}return r}get node(){return this}get next(){return this.parent}}let Mr=class pu extends kw{constructor(e,n,r,o){super(),this._tree=e,this.from=n,this.index=r,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,n,r,o,i=0){var s;for(let a=this;;){for(let{children:l,positions:c}=a._tree,u=n>0?l.length:-1;e!=u;e+=n){let d=l[e],f=c[e]+a.from;if(!(!(i&dt.EnterBracketed&&d instanceof mt&&((s=os.get(d))===null||s===void 0?void 0:s.overlay)===null&&(f>=r||f+d.length<=r))&&!Cw(o,r,f,f+d.length))){if(d instanceof Fr){if(i&dt.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,n,r-f,o);if(p>-1)return new Ir(new YO(a,d,e,f),null,p)}else if(i&dt.IncludeAnonymous||!d.type.isAnonymous||od(d)){let p;if(!(i&dt.IgnoreMounts)&&(p=os.get(d))&&!p.overlay)return new pu(p.tree,f,e,a);let m=new pu(d,f,e,a);return i&dt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?d.children.length-1:0,n,r,o,i)}}}if(i&dt.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+n:e=n<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,n,r=0){let o;if(!(r&dt.IgnoreOverlays)&&(o=os.get(this._tree))&&o.overlay){let i=e-this.from,s=r&dt.EnterBracketed&&o.bracketed;for(let{from:a,to:l}of o.overlay)if((n>0||s?a<=i:a<i)&&(n<0||s?l>=i:l>i))return new pu(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function xw(t,e,n,r){let o=t.cursor(),i=[];if(!o.firstChild())return i;if(n!=null){for(let s=!1;!s;)if(s=o.type.is(n),!o.nextSibling())return i}for(;;){if(r!=null&&o.type.is(r))return i;if(o.type.is(e)&&i.push(o.node),!o.nextSibling())return r==null?i:[]}}function nd(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}class YO{constructor(e,n,r,o){this.parent=e,this.buffer=n,this.index=r,this.start=o}}class Ir extends kw{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.context.start,r);return i<0?null:new Ir(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,n,r=0){if(r&dt.ExcludeBuffers)return null;let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return i<0?null:new Ir(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Ir(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new Ir(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,o=this.index+4,i=r.buffer[this.index+3];if(i>o){let s=r.buffer[this.index+1];e.push(r.slice(o,i,s)),n.push(0)}return new mt(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Sw(t){if(!t.length)return null;let e=0,n=t[0];for(let i=1;i<t.length;i++){let s=t[i];(s.from>n.from||s.to<n.to)&&(n=s,e=i)}let r=n instanceof Mr&&n.index<0?null:n.parent,o=t.slice();return r?o[e]=r:o.splice(e,1),new JO(o,n)}class JO{constructor(e,n){this.heads=e,this.node=n}get next(){return Sw(this.heads)}}function QO(t,e,n){let r=t.resolveInner(e,n),o=null;for(let i=r instanceof Mr?r:r.context.parent;i;i=i.parent)if(i.index<0){let s=i.parent;(o||(o=[r])).push(s.resolve(e,n)),i=s}else{let s=os.get(i.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let a=new Mr(s.tree,s.overlay[0].from+i.from,-1,i);(o||(o=[r])).push(is(a,e,n,!1))}}return o?Sw(o):r}class rd{get name(){return this.type.name}constructor(e,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~dt.EnterBracketed,e instanceof Mr)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:o}=this.buffer;return this.type=n||o.set.types[o.buffer[e]],this.from=r+o.buffer[e+1],this.to=r+o.buffer[e+2],!0}yield(e){return e?e instanceof Mr?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:o}=this.buffer,i=o.findChild(this.index+4,o.buffer[this.index+3],e,n-this.buffer.start,r);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&dt.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&dt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&dt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let o=r<0?0:this.stack[r]+4;if(this.index!=o)return this.yieldBuf(n.findChild(o,this.index,-1,0,4))}else{let o=n.buffer[this.index+3];if(o<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(o)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(o.buffer.buffer[i+3]<this.index)return!1;({index:n,parent:r}=o)}else({index:n,_parent:r}=this._tree);for(;r;{index:n,_parent:r}=r)if(n>-1)for(let i=n+e,s=e<0?-1:r._tree.children.length;i!=s;i+=e){let a=r._tree.children[i];if(this.mode&dt.IncludeAnonymous||a instanceof Fr||!a.type.isAnonymous||od(a))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,n););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,n=null,r=0;if(e&&e.context==this.buffer)e:for(let o=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==o){if(o==this.index)return s;n=s,r=i+1;break e}o=this.stack[--i]}for(let o=r;o<this.stack.length;o++)n=new Ir(this.buffer,n,this.stack[o]);return this.bufferNode=new Ir(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,n){for(let r=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(o=!0)}for(;;){if(o&&n&&n(this),o=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,o=!0}}}matchContext(e){if(!this.buffer)return nd(this.node.parent,e);let{buffer:n}=this.buffer,{types:r}=n.set;for(let o=e.length-1,i=this.stack.length-1;o>=0;i--){if(i<0)return nd(this._tree,e,o);let s=r[n.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[o]&&e[o]!=s.name)return!1;o--}}return!0}}function od(t){return t.children.some(e=>e instanceof Fr||!e.type.isAnonymous||od(e))}function ZO(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:o=yw,reused:i=[],minRepeatType:s=r.types.length}=t,a=Array.isArray(n)?new td(n,n.length):n,l=r.types,c=0,u=0;function d(b,k,A,E,T,D){let{id:M,start:N,end:F,size:I}=a,O=u,H=c;if(I<0)if(a.next(),I==-1){let K=i[M];A.push(K),E.push(N-b);return}else if(I==-3){c=M;return}else if(I==-4){u=M;return}else throw new RangeError(`Unrecognized record size: ${I}`);let L=l[M],W,R,Y=N-b;if(F-N<=o&&(R=v(a.pos-k,T))){let K=new Uint16Array(R.size-R.skip),le=a.pos-R.size,$=K.length;for(;a.pos>le;)$=y(R.start,K,$);W=new Fr(K,F-R.start,r),Y=R.start-b}else{let K=a.pos-I;a.next();let le=[],$=[],V=M>=s?M:-1,q=0,ee=F;for(;a.pos>K;)V>=0&&a.id==V&&a.size>=0?(a.end<=ee-o&&(m(le,$,N,q,a.end,ee,V,O,H),q=le.length,ee=a.end),a.next()):D>2500?f(N,K,le,$):d(N,K,le,$,V,D+1);if(V>=0&&q>0&&q<le.length&&m(le,$,N,q,N,ee,V,O,H),le.reverse(),$.reverse(),V>-1&&q>0){let pe=p(L,H);W=id(L,le,$,0,le.length,0,F-N,pe,pe)}else W=w(L,le,$,F-N,O-F,H)}A.push(W),E.push(Y)}function f(b,k,A,E){let T=[],D=0,M=-1;for(;a.pos>k;){let{id:N,start:F,end:I,size:O}=a;if(O>4)a.next();else{if(M>-1&&F<M)break;M<0&&(M=I-o),T.push(N,F,I),D++,a.next()}}if(D){let N=new Uint16Array(D*4),F=T[T.length-2];for(let I=T.length-3,O=0;I>=0;I-=3)N[O++]=T[I],N[O++]=T[I+1]-F,N[O++]=T[I+2]-F,N[O++]=O;A.push(new Fr(N,T[2]-F,r)),E.push(F-b)}}function p(b,k){return(A,E,T)=>{let D=0,M=A.length-1,N,F;if(M>=0&&(N=A[M])instanceof mt){if(!M&&N.type==b&&N.length==T)return N;(F=N.prop(He.lookAhead))&&(D=E[M]+N.length+F)}return w(b,A,E,T,D,k)}}function m(b,k,A,E,T,D,M,N,F){let I=[],O=[];for(;b.length>E;)I.push(b.pop()),O.push(k.pop()+A-T);b.push(w(r.types[M],I,O,D-T,N-D,F)),k.push(T-A)}function w(b,k,A,E,T,D,M){if(D){let N=[He.contextHash,D];M=M?[N].concat(M):[N]}if(T>25){let N=[He.lookAhead,T];M=M?[N].concat(M):[N]}return new mt(b,k,A,E,M)}function v(b,k){let A=a.fork(),E=0,T=0,D=0,M=A.end-o,N={size:0,start:0,skip:0};e:for(let F=A.pos-b;A.pos>F;){let I=A.size;if(A.id==k&&I>=0){N.size=E,N.start=T,N.skip=D,D+=4,E+=4,A.next();continue}let O=A.pos-I;if(I<0||O<F||A.start<M)break;let H=A.id>=s?4:0,L=A.start;for(A.next();A.pos>O;){if(A.size<0)if(A.size==-3||A.size==-4)H+=4;else break e;else A.id>=s&&(H+=4);A.next()}T=L,E+=I,D+=H}return(k<0||E==b)&&(N.size=E,N.start=T,N.skip=D),N.size>4?N:void 0}function y(b,k,A){let{id:E,start:T,end:D,size:M}=a;if(a.next(),M>=0&&E<s){let N=A;if(M>4){let F=a.pos-(M-4);for(;a.pos>F;)A=y(b,k,A)}k[--A]=N,k[--A]=D-b,k[--A]=T-b,k[--A]=E}else M==-3?c=E:M==-4&&(u=E);return A}let g=[],x=[];for(;a.pos>0;)d(t.start||0,t.bufferStart||0,g,x,-1,0);let S=(e=t.length)!==null&&e!==void 0?e:g.length?x[0]+g[0].length:0;return new mt(l[t.topID],g.reverse(),x.reverse(),S)}const Ew=new WeakMap;function Ra(t,e){if(!t.isAnonymous||e instanceof Fr||e.type!=t)return 1;let n=Ew.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof mt)){n=1;break}n+=Ra(t,r)}Ew.set(e,n)}return n}function id(t,e,n,r,o,i,s,a,l){let c=0;for(let m=r;m<o;m++)c+=Ra(t,e[m]);let u=Math.ceil(c*1.5/8),d=[],f=[];function p(m,w,v,y,g){for(let x=v;x<y;){let S=x,b=w[x],k=Ra(t,m[x]);for(x++;x<y;x++){let A=Ra(t,m[x]);if(k+A>=u)break;k+=A}if(x==S+1){if(k>u){let A=m[S];p(A.children,A.positions,0,A.children.length,w[S]+g);continue}d.push(m[S])}else{let A=w[x-1]+m[x-1].length-b;d.push(id(t,m,w,S,x,b,A,null,l))}f.push(b+g-i)}}return p(e,n,r,o,0),(a||l)(d,f,s)}class wo{constructor(e,n,r,o,i=!1,s=!1){this.from=e,this.to=n,this.tree=r,this.offset=o,this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],r=!1){let o=[new wo(0,e.length,e,0,!1,r)];for(let i of n)i.to>e.length&&o.push(i);return o}static applyChanges(e,n,r=128){if(!n.length)return e;let o=[],i=1,s=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let u=a<n.length?n[a]:null,d=u?u.fromA:1e9;if(d-l>=r)for(;s&&s.from<d;){let f=s;if(l>=f.from||d<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,d)-c;f=p>=m?null:new wo(p,m,f.tree,f.offset+c,a>0,!!u)}if(f&&o.push(f),s.to>d)break;s=i<e.length?e[i++]:null}if(!u)break;l=u.toA,c=u.toA-u.toB}return o}}class Dw{startParse(e,n,r){return typeof e=="string"&&(e=new eB(e)),r=r?r.length?r.map(o=>new Zu(o.from,o.to)):[new Zu(0,0)]:[new Zu(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let o=this.startParse(e,n,r);for(;;){let i=o.advance();if(i)return i}}}class eB{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}}new He({perNode:!0});class Ga{constructor(e,n,r,o,i,s,a,l,c,u=0,d){this.p=e,this.stack=n,this.state=r,this.reducePos=o,this.pos=i,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=u,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let o=e.parser.context;return new Ga(e,[],n,r,r,0,[],0,o?new Aw(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,o=e&65535,{parser:i}=this.p,s=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=i.dynamicPrecedence(o);if(a&&(this.score+=a),r==0){this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,s?8:4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-c;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[o])===null||n===void 0)&&n.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=u));let d=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-d;if(o<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=i.getGoto(p,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,c)}storeNode(e,n,r,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(n==r)return;if(s.buffer[a-2]>=n){s.buffer[a-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,o);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let a=!1;for(let l=s;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4)}this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=r,this.buffer[s+3]=o}}shift(e,n,r,o){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:s}=this.p;this.pos=o,!s.stateFlag(i,1)&&(o>r||n<=s.maxNode)&&(this.reducePos=o),this.pushState(i,Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}else this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4)}apply(e,n,r,o){e&65536?this.reduce(e):this.shift(e,n,r,o)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(n,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),o=e.bufferBase+n;for(;e&&o==e.bufferBase;)e=e.parent;return new Ga(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new tB(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let o=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(n[i],s);if(this.stack.length<120)for(let i=0;o.length<8&&i<n.length;i+=2){let s=n[i+1];o.some((a,l)=>l&1&&a==s)||o.push(n[i],s)}n=o}let r=[];for(let o=0;o<n.length&&r.length<4;o+=2){let i=n[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[o],this.pos),s.reducePos=this.pos,s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let r=n>>19,o=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;n=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(o,i)=>{if(!n.includes(o))return n.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-i;if(a>1){let l=s&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(s,i+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new Aw(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Aw{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class tB{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=o}}class Ka{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Ka(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Ka(this.stack,this.pos,this.index)}}function Xa(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,o=0;r<t.length;){let i=0;for(;;){let s=t.charCodeAt(r++),a=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}n?n[o++]=i:n=new e(i)}return n}class Ya{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Ow=new Ya;class nB{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Ow,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!o)return null;let s=this.ranges[--o];i-=r.from-s.to,r=s}for(;n<0?i>r.to:i>=r.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-r.to,r=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,o;if(n>=0&&n<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Ow,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let o of this.ranges){if(o.from>=n)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,n)))}return r}}class Yo{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;rB(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}Yo.prototype.contextual=Yo.prototype.fallback=Yo.prototype.extend=!1,Yo.prototype.fallback=Yo.prototype.extend=!1;function rB(t,e,n,r,o,i){let s=0,a=1<<r,{dialect:l}=n.p.parser;e:for(;(a&t[s])!=0;){let c=t[s+1];for(let p=s+3;p<c;p+=2)if((t[p+1]&a)>0){let m=t[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||oB(m,e.token.value,o,i))){e.acceptToken(m);break}}let u=e.next,d=0,f=t[s+2];if(e.next<0&&f>d&&t[c+f*3-3]==65535){s=t[c+f*3-1];continue e}for(;d<f;){let p=d+f>>1,m=c+p+(p<<1),w=t[m],v=t[m+1]||65536;if(u<w)f=p;else if(u>=v)d=p+1;else{s=t[m+2],e.advance();continue e}}break}}function Bw(t,e,n){for(let r=e,o;(o=t[r])!=65535;r++)if(o==n)return r-e;return-1}function oB(t,e,n,r){let o=Bw(n,r,e);return o<0||Bw(n,r,t)<o}const un=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let sd=null;function Tw(t,e,n){let r=t.cursor(dt.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class iB{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Tw(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Tw(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],o=this.index[n];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[o],s=this.start[n]+r.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof mt){if(s==e){if(s<this.safeFrom)return null;let a=s+i.length;if(a<=this.safeTo){let l=i.prop(He.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}}class sB{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Ya)}getActions(e){let n=0,r=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<i.length;c++){if((1<<c&s)==0)continue;let u=i[c],d=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||d.start!=e.pos||d.mask!=s||d.context!=a)&&(this.updateCachedToken(d,u,e),d.mask=s,d.context=a),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let f=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!u.extend&&(r=d,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Ya,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Ya,{pos:r,p:o}=e;return n.start=r,n.end=Math.min(r+1,o.stream.end),n.value=r==o.stream.end?o.parser.eofTerm:0,n}updateCachedToken(e,n,r){let o=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(o,e),r),e.value>-1){let{parser:i}=r.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let a=i.specializers[s](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,n,r,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=n,this.actions[o++]=r,o}addActions(e,n,r,o){let{state:i}=e,{parser:s}=e.p,{data:a}=s;for(let l=0;l<2;l++)for(let c=s.stateSlot(i,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=mr(a,c+2);else{o==0&&a[c+1]==2&&(o=this.putAction(mr(a,c+2),n,r,o));break}a[c]==n&&(o=this.putAction(mr(a,c+1),n,r,o))}return o}}class aB{constructor(e,n,r,o){this.parser=e,this.input=n,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new nB(n,o),this.tokens=new sB(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[Ga.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new iB(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let a=e[s];for(;;){if(this.tokens.mainToken=null,a.pos>n)r.push(a);else{if(this.advanceStack(a,r,e))continue;{o||(o=[],i=[]),o.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!r.length){let s=o&&cB(o);if(s)return un&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw un&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,r);if(s)return un&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((a,l)=>l.score-a.score);r.length>s;)r.pop();r.some(a=>a.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let s=0;s<r.length-1;s++){let a=r[s];for(let l=s+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&(r.sort((s,a)=>a.score-s.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let s=1;s<r.length;s++)r[s].pos<this.minStackPos&&(this.minStackPos=r[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let o=e.pos,{parser:i}=this,s=un?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(o);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!c||(d.prop(He.contextHash)||0)==u))return e.useNode(d,f),un&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof mt)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof mt&&d.positions[0]==0)d=p;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),un&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let u=l[c++],d=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),w=this.tokens.mainToken;if(m.apply(u,d,w?w.start:m.pos,f),un&&console.log(s+this.stackID(m)+` (via ${(u&65536)==0?"shift":`reduce of ${i.getName(u&65535)}`} for ${i.getName(d)} @ ${o}${m==e?"":", split"})`),p)return!0;m.pos>o?n.push(m):r.push(m)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return _w(e,n),!0}}runRecovery(e,n,r){let o=null,i=!1;for(let s=0;s<e.length;s++){let a=e[s],l=n[s<<1],c=n[(s<<1)+1],u=un?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),un&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),f=u;for(let p=0;p<10&&d.forceReduce()&&(un&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)un&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))un&&console.log(u+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),un&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),_w(a,r)):(!o||o.score<d.score)&&(o=d)}return o}stackToTree(e){return e.close(),mt.build({buffer:Ka.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(sd||(sd=new WeakMap)).get(e);return n||sd.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function _w(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class lB{constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Ja extends Dw{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let a=0;a<e.repeatNodeCount;a++)n.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),o=[];for(let a=0;a<n.length;a++)o.push([]);function i(a,l,c){o[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=He[l]);for(let c=1;c<a.length;){let u=a[c++];if(u>=0)i(u,l,a[c++]);else{let d=a[c+-u];for(let f=-u;f>0;f--)i(a[c++],l,d);c++}}}this.nodeSet=new ed(n.map((a,l)=>Zt.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:o[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=yw;let s=Xa(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(Nw),this.states=Xa(e.states,Uint32Array),this.data=Xa(e.stateData),this.goto=Xa(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Yo(s,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let o=new aB(this,e,n,r);for(let i of this.wrappers)o=i(o,e,n,r);return o}getGoto(e,n,r=!1){let o=this.goto;if(n>=o[0])return-1;for(let i=o[n+1];;){let s=o[i++],a=s&1,l=o[i++];if(a&&r)return l;for(let c=i+(s>>1);i<c;i++)if(o[i]==e)return l;if(a)return-1}}hasAction(e,n){let r=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=r[i])==65535)if(r[i+1]==1)s=r[i=mr(r,i+2)];else{if(r[i+1]==2)return mr(r,i+2);break}if(s==n||s==0)return mr(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),o=r?n(r):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=mr(this.data,i+2);else break;o=n(mr(this.data,i+1))}return o}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=mr(this.data,r+2);else break;if((this.data[r+2]&1)==0){let o=this.data[r+1];n.some((i,s)=>s&1&&i==o)||n.push(this.data[r],o)}}return n}configure(e){let n=Object.assign(Object.create(Ja.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(i=>i.from==r);return o?o.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,o)=>{let i=e.specializers.find(a=>a.from==r.external);if(!i)return r;let s=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[o]=Nw(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(r[s]=!0)}let o=null;for(let i=0;i<n.length;i++)if(!r[i])for(let s=this.dialects[n[i]],a;(a=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[a]=1;return new lB(e,r,o)}static deserialize(e){return new Ja(e)}}function mr(t,e){return t[e]|t[e+1]<<16}function cB(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function Nw(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}let uB=0;class bn{constructor(e,n,r,o){this.name=e,this.set=n,this.base=r,this.modified=o,this.id=uB++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof bn&&(n=e),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let o=new bn(r,[],null,[]);if(o.set.push(o),n)for(let i of n.set)o.set.push(i);return o}static defineModifier(e){let n=new Qa(e);return r=>r.modified.indexOf(n)>-1?r:Qa.get(r.base||r,r.modified.concat(n).sort((o,i)=>o.id-i.id))}}let dB=0;class Qa{constructor(e){this.name=e,this.instances=[],this.id=dB++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(a=>a.base==e&&fB(n,a.modified));if(r)return r;let o=[],i=new bn(e.name,o,e,n);for(let a of n)a.instances.push(i);let s=hB(n);for(let a of e.set)if(!a.modified.length)for(let l of s)o.push(Qa.get(a,l));return i}}function fB(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function hB(t){let e=[[]];for(let n=0;n<t.length;n++)for(let r=0,o=e.length;r<o;r++)e.push(e[r].concat(t[n]));return e.sort((n,r)=>r.length-n.length)}function Fw(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let o of n.split(" "))if(o){let i=[],s=2,a=o;for(let d=0;;){if(a=="..."&&d>0&&d+3==o.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+o);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),d+=f[0].length,d==o.length)break;let p=o[d++];if(d==o.length&&p=="!"){s=0;break}if(p!="/")throw new RangeError("Invalid path: "+o);a=o.slice(d)}let l=i.length-1,c=i[l];if(!c)throw new RangeError("Invalid path: "+o);let u=new ss(r,s,l>0?i.slice(0,l):null);e[c]=u.sort(e[c])}}return Mw.add(e)}const Mw=new He({combine(t,e){let n,r,o;for(;t||e;){if(!t||e&&t.depth>=e.depth?(o=e,e=e.next):(o=t,t=t.next),n&&n.mode==o.mode&&!o.context&&!n.context)continue;let i=new ss(o.tags,o.mode,o.context);n?n.next=i:r=i,n=i}return r}});class ss{constructor(e,n,r,o){this.tags=e,this.mode=n,this.context=r,this.next=o}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}ss.empty=new ss([],2,null);function Iw(t,e){let n=Object.create(null);for(let i of t)if(!Array.isArray(i.tag))n[i.tag.id]=i.class;else for(let s of i.tag)n[s.id]=i.class;let{scope:r,all:o=null}=e||{};return{style:i=>{let s=o;for(let a of i)for(let l of a.set){let c=n[l.id];if(c){s=s?s+" "+c:c;break}}return s},scope:r}}function pB(t,e){let n=null;for(let r of t){let o=r.style(e);o&&(n=n?n+" "+o:o)}return n}function mB(t,e,n,r=0,o=t.length){let i=new gB(r,Array.isArray(e)?e:[e],n);i.highlightRange(t.cursor(),r,o,"",i.highlighters),i.flush(o)}class gB{constructor(e,n,r){this.at=e,this.highlighters=n,this.span=r,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,r,o,i){let{type:s,from:a,to:l}=e;if(a>=r||l<=n)return;s.isTop&&(i=this.highlighters.filter(p=>!p.scope||p.scope(s)));let c=o,u=wB(e)||ss.empty,d=pB(i,u.tags);if(d&&(c&&(c+=" "),c+=d,u.mode==1&&(o+=(o?" ":"")+d)),this.startSpan(Math.max(n,a),c),u.opaque)return;let f=e.tree&&e.tree.prop(He.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(v=>!v.scope||v.scope(f.tree.type)),w=e.firstChild();for(let v=0,y=a;;v++){let g=v<f.overlay.length?f.overlay[v]:null,x=g?g.from+a:l,S=Math.max(n,y),b=Math.min(r,x);if(S<b&&w)for(;e.from<b&&(this.highlightRange(e,S,b,o,i),this.startSpan(Math.min(b,e.to),c),!(e.to>=x||!e.nextSibling())););if(!g||x>r)break;y=g.to+a,y>n&&(this.highlightRange(p.cursor(),Math.max(n,g.from+a),Math.min(r,y),"",m),this.startSpan(Math.min(r,y),c))}w&&e.parent()}else if(e.firstChild()){f&&(o="");do if(!(e.to<=n)){if(e.from>=r)break;this.highlightRange(e,n,r,o,i),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function wB(t){let e=t.type.prop(Mw);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const be=bn.define,Za=be(),Pr=be(),Pw=be(Pr),Lw=be(Pr),Lr=be(),el=be(Lr),ad=be(Lr),Gn=be(),vo=be(Gn),Kn=be(),Xn=be(),ld=be(),as=be(ld),tl=be(),z={comment:Za,lineComment:be(Za),blockComment:be(Za),docComment:be(Za),name:Pr,variableName:be(Pr),typeName:Pw,tagName:be(Pw),propertyName:Lw,attributeName:be(Lw),className:be(Pr),labelName:be(Pr),namespace:be(Pr),macroName:be(Pr),literal:Lr,string:el,docString:be(el),character:be(el),attributeValue:be(el),number:ad,integer:be(ad),float:be(ad),bool:be(Lr),regexp:be(Lr),escape:be(Lr),color:be(Lr),url:be(Lr),keyword:Kn,self:be(Kn),null:be(Kn),atom:be(Kn),unit:be(Kn),modifier:be(Kn),operatorKeyword:be(Kn),controlKeyword:be(Kn),definitionKeyword:be(Kn),moduleKeyword:be(Kn),operator:Xn,derefOperator:be(Xn),arithmeticOperator:be(Xn),logicOperator:be(Xn),bitwiseOperator:be(Xn),compareOperator:be(Xn),updateOperator:be(Xn),definitionOperator:be(Xn),typeOperator:be(Xn),controlOperator:be(Xn),punctuation:ld,separator:be(ld),bracket:as,angleBracket:be(as),squareBracket:be(as),paren:be(as),brace:be(as),content:Gn,heading:vo,heading1:be(vo),heading2:be(vo),heading3:be(vo),heading4:be(vo),heading5:be(vo),heading6:be(vo),contentSeparator:be(Gn),list:be(Gn),quote:be(Gn),emphasis:be(Gn),strong:be(Gn),link:be(Gn),monospace:be(Gn),strikethrough:be(Gn),inserted:be(),deleted:be(),changed:be(),invalid:be(),meta:tl,documentMeta:be(tl),annotation:be(tl),processingInstruction:be(tl),definition:bn.defineModifier("definition"),constant:bn.defineModifier("constant"),function:bn.defineModifier("function"),standard:bn.defineModifier("standard"),local:bn.defineModifier("local"),special:bn.defineModifier("special")};for(let t in z){let e=z[t];e instanceof bn&&(e.name=t)}Iw([{tag:z.link,class:"tok-link"},{tag:z.heading,class:"tok-heading"},{tag:z.emphasis,class:"tok-emphasis"},{tag:z.strong,class:"tok-strong"},{tag:z.keyword,class:"tok-keyword"},{tag:z.atom,class:"tok-atom"},{tag:z.bool,class:"tok-bool"},{tag:z.url,class:"tok-url"},{tag:z.labelName,class:"tok-labelName"},{tag:z.inserted,class:"tok-inserted"},{tag:z.deleted,class:"tok-deleted"},{tag:z.literal,class:"tok-literal"},{tag:z.string,class:"tok-string"},{tag:z.number,class:"tok-number"},{tag:[z.regexp,z.escape,z.special(z.string)],class:"tok-string2"},{tag:z.variableName,class:"tok-variableName"},{tag:z.local(z.variableName),class:"tok-variableName tok-local"},{tag:z.definition(z.variableName),class:"tok-variableName tok-definition"},{tag:z.special(z.variableName),class:"tok-variableName2"},{tag:z.definition(z.propertyName),class:"tok-propertyName tok-definition"},{tag:z.typeName,class:"tok-typeName"},{tag:z.namespace,class:"tok-namespace"},{tag:z.className,class:"tok-className"},{tag:z.macroName,class:"tok-macroName"},{tag:z.propertyName,class:"tok-propertyName"},{tag:z.operator,class:"tok-operator"},{tag:z.comment,class:"tok-comment"},{tag:z.meta,class:"tok-meta"},{tag:z.invalid,class:"tok-invalid"},{tag:z.punctuation,class:"tok-punctuation"}]);const vB=Fw({String:z.string,Number:z.number,"True False":z.bool,PropertyName:z.propertyName,Null:z.null,", :":z.separator,"[ ]":z.squareBracket,"{ }":z.brace}),yB=Ja.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[vB],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let cd=[],zw=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,n=0;e<t.length;e++)(e%2?zw:cd).push(n=n+t[e])})();function bB(t){if(t<768)return!1;for(let e=0,n=cd.length;;){let r=e+n>>1;if(t<cd[r])n=r;else if(t>=zw[r])e=r+1;else return!0;if(e==n)return!1}}function Hw(t){return t>=127462&&t<=127487}const $w=8205;function CB(t,e,n=!0,r=!0){return(n?jw:kB)(t,e,r)}function jw(t,e,n){if(e==t.length)return e;e&&Ww(t.charCodeAt(e))&&Vw(t.charCodeAt(e-1))&&e--;let r=ud(t,e);for(e+=Uw(r);e<t.length;){let o=ud(t,e);if(r==$w||o==$w||n&&bB(o))e+=Uw(o),r=o;else if(Hw(o)){let i=0,s=e-2;for(;s>=0&&Hw(ud(t,s));)i++,s-=2;if(i%2==0)break;e+=2}else break}return e}function kB(t,e,n){for(;e>0;){let r=jw(t,e-2,n);if(r<e)return r;e--}return 0}function ud(t,e){let n=t.charCodeAt(e);if(!Vw(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return Ww(r)?(n-55296<<10)+(r-56320)+65536:n}function Ww(t){return t>=56320&&t<57344}function Vw(t){return t>=55296&&t<56320}function Uw(t){return t<65536?1:2}let Xe=class dD{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,r){[e,n]=Jo(this,e,n);let o=[];return this.decompose(0,e,o,2),r.length&&r.decompose(0,r.length,o,3),this.decompose(n,this.length,o,1),Yn.from(o,this.length-(n-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){[e,n]=Jo(this,e,n);let r=[];return this.decompose(e,n,r,0),Yn.from(r,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),o=new ls(this),i=new ls(e);for(let s=n,a=n;;){if(o.next(s),i.next(s),s=0,o.lineBreak!=i.lineBreak||o.done!=i.done||o.value!=i.value)return!1;if(a+=o.value.length,o.done||a>=r)return!0}}iter(e=1){return new ls(this,e)}iterRange(e,n=this.length){return new Rw(this,e,n)}iterLines(e,n){let r;if(e==null)r=this.iter();else{n==null&&(n=this.lines+1);let o=this.line(e).from;r=this.iterRange(o,Math.max(o,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new Gw(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?dD.empty:e.length<=32?new gt(e):Yn.from(gt.split(e,[]))}};class gt extends Xe{constructor(e,n=xB(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,r,o){for(let i=0;;i++){let s=this.text[i],a=o+s.length;if((n?r:a)>=e)return new SB(o,a,r,s);o=a+1,r++}}decompose(e,n,r,o){let i=e<=0&&n>=this.length?this:new gt(qw(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(o&1){let s=r.pop(),a=nl(i.text,s.text.slice(),0,i.length);if(a.length<=32)r.push(new gt(a,s.length+i.length));else{let l=a.length>>1;r.push(new gt(a.slice(0,l)),new gt(a.slice(l)))}}else r.push(i)}replace(e,n,r){if(!(r instanceof gt))return super.replace(e,n,r);[e,n]=Jo(this,e,n);let o=nl(this.text,nl(r.text,qw(this.text,0,e)),n),i=this.length+r.length-(n-e);return o.length<=32?new gt(o,i):Yn.from(gt.split(o,[]),i)}sliceString(e,n=this.length,r=`
11
+ `){[e,n]=Jo(this,e,n);let o="";for(let i=0,s=0;i<=n&&s<this.text.length;s++){let a=this.text[s],l=i+a.length;i>e&&s&&(o+=r),e<l&&n>i&&(o+=a.slice(Math.max(0,e-i),n-i)),i=l+1}return o}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let r=[],o=-1;for(let i of e)r.push(i),o+=i.length+1,r.length==32&&(n.push(new gt(r,o)),r=[],o=-1);return o>-1&&n.push(new gt(r,o)),n}}class Yn extends Xe{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,n,r,o){for(let i=0;;i++){let s=this.children[i],a=o+s.length,l=r+s.lines-1;if((n?l:a)>=e)return s.lineInner(e,n,r,o);o=a+1,r=l+1}}decompose(e,n,r,o){for(let i=0,s=0;s<=n&&i<this.children.length;i++){let a=this.children[i],l=s+a.length;if(e<=l&&n>=s){let c=o&((s<=e?1:0)|(l>=n?2:0));s>=e&&l<=n&&!c?r.push(a):a.decompose(e-s,n-s,r,c)}s=l+1}}replace(e,n,r){if([e,n]=Jo(this,e,n),r.lines<this.lines)for(let o=0,i=0;o<this.children.length;o++){let s=this.children[o],a=i+s.length;if(e>=i&&n<=a){let l=s.replace(e-i,n-i,r),c=this.lines-s.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let u=this.children.slice();return u[o]=l,new Yn(u,this.length-(n-e)+r.length)}return super.replace(i,a,l)}i=a+1}return super.replace(e,n,r)}sliceString(e,n=this.length,r=`
12
+ `){[e,n]=Jo(this,e,n);let o="";for(let i=0,s=0;i<this.children.length&&s<=n;i++){let a=this.children[i],l=s+a.length;s>e&&i&&(o+=r),e<l&&n>s&&(o+=a.sliceString(e-s,n-s,r)),s=l+1}return o}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof Yn))return 0;let r=0,[o,i,s,a]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;o+=n,i+=n){if(o==s||i==a)return r;let l=this.children[o],c=e.children[i];if(l!=c)return r+l.scanIdentical(c,n);r+=l.length+1}}static from(e,n=e.reduce((r,o)=>r+o.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new gt(p,n)}let o=Math.max(32,r>>5),i=o<<1,s=o>>1,a=[],l=0,c=-1,u=[];function d(p){let m;if(p.lines>i&&p instanceof Yn)for(let w of p.children)d(w);else p.lines>s&&(l>s||!l)?(f(),a.push(p)):p instanceof gt&&l&&(m=u[u.length-1])instanceof gt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,u[u.length-1]=new gt(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>o&&f(),l+=p.lines,c+=p.length+1,u.push(p))}function f(){l!=0&&(a.push(u.length==1?u[0]:Yn.from(u,c)),c=-1,l=u.length=0)}for(let p of e)d(p);return f(),a.length==1?a[0]:new Yn(a,n)}}Xe.empty=new gt([""],0);function xB(t){let e=-1;for(let n of t)e+=n.length+1;return e}function nl(t,e,n=0,r=1e9){for(let o=0,i=0,s=!0;i<t.length&&o<=r;i++){let a=t[i],l=o+a.length;l>=n&&(l>r&&(a=a.slice(0,r-o)),o<n&&(a=a.slice(n-o)),s?(e[e.length-1]+=a,s=!1):e.push(a)),o=l+1}return e}function qw(t,e,n){return nl(t,[""],e,n)}class ls{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof gt?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,o=this.nodes[r],i=this.offsets[r],s=i>>1,a=o instanceof gt?o.text.length:o.children.length;if(s==(n>0?a:0)){if(r==0)return this.done=!0,this.value="",this;n>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(n>0?0:1)){if(this.offsets[r]+=n,e==0)return this.lineBreak=!0,this.value=`
13
+ `,this;e--}else if(o instanceof gt){let l=o.text[s+(n<0?-1:0)];if(this.offsets[r]+=n,l.length>Math.max(0,e))return this.value=e==0?l:n>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=o.children[s+(n<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=n):(n<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(n>0?1:(l instanceof gt?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Rw{constructor(e,n,r){this.value="",this.done=!1,this.cursor=new ls(e,n>r?-1:1),this.pos=n>r?e.length:0,this.from=Math.min(n,r),this.to=Math.max(n,r)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let r=n<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*n,this.value=o.length<=r?o:n<0?o.slice(o.length-r):o.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Gw{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:r,value:o}=this.inner.next(e);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Xe.prototype[Symbol.iterator]=function(){return this.iter()},ls.prototype[Symbol.iterator]=Rw.prototype[Symbol.iterator]=Gw.prototype[Symbol.iterator]=function(){return this});class SB{constructor(e,n,r,o){this.from=e,this.to=n,this.number=r,this.text=o}get length(){return this.to-this.from}}function Jo(t,e,n){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,n))]}function St(t,e,n=!0,r=!0){return CB(t,e,n,r)}function EB(t){return t>=56320&&t<57344}function DB(t){return t>=55296&&t<56320}function en(t,e){let n=t.charCodeAt(e);if(!DB(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return EB(r)?(n-55296<<10)+(r-56320)+65536:n}function dd(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Jn(t){return t<65536?1:2}const fd=/\r\n?|\n/;var Ft=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(Ft||(Ft={}));class Qn{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;n<this.sections.length;n+=2)e+=this.sections[n];return e}get newLength(){let e=0;for(let n=0;n<this.sections.length;n+=2){let r=this.sections[n+1];e+=r<0?this.sections[n]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let n=0,r=0,o=0;n<this.sections.length;){let i=this.sections[n++],s=this.sections[n++];s<0?(e(r,o,i),o+=i):o+=s,r+=i}}iterChangedRanges(e,n=!1){hd(this,e,n)}get invertedDesc(){let e=[];for(let n=0;n<this.sections.length;){let r=this.sections[n++],o=this.sections[n++];o<0?e.push(r,o):e.push(o,r)}return new Qn(e)}composeDesc(e){return this.empty?e:e.empty?this:Kw(this,e)}mapDesc(e,n=!1){return e.empty?this:pd(this,e,n)}mapPos(e,n=-1,r=Ft.Simple){let o=0,i=0;for(let s=0;s<this.sections.length;){let a=this.sections[s++],l=this.sections[s++],c=o+a;if(l<0){if(c>e)return i+(e-o);i+=a}else{if(r!=Ft.Simple&&c>=e&&(r==Ft.TrackDel&&o<e&&c>e||r==Ft.TrackBefore&&o<e||r==Ft.TrackAfter&&c>e))return null;if(c>e||c==e&&n<0&&!a)return e==o||n<0?i:i+l;i+=l}o=c}if(e>o)throw new RangeError(`Position ${e} is out of range for changeset of length ${o}`);return i}touchesRange(e,n=e){for(let r=0,o=0;r<this.sections.length&&o<=n;){let i=this.sections[r++],s=this.sections[r++],a=o+i;if(s>=0&&o<=n&&a>=e)return o<e&&a>n?"cover":!0;o=a}return!1}toString(){let e="";for(let n=0;n<this.sections.length;){let r=this.sections[n++],o=this.sections[n++];e+=(e?" ":"")+r+(o>=0?":"+o:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Qn(e)}static create(e){return new Qn(e)}}class Et extends Qn{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return hd(this,(n,r,o,i,s)=>e=e.replace(o,o+(r-n),s),!1),e}mapDesc(e,n=!1){return pd(this,e,n,!0)}invert(e){let n=this.sections.slice(),r=[];for(let o=0,i=0;o<n.length;o+=2){let s=n[o],a=n[o+1];if(a>=0){n[o]=a,n[o+1]=s;let l=o>>1;for(;r.length<l;)r.push(Xe.empty);r.push(s?e.slice(i,i+s):Xe.empty)}i+=s}return new Et(n,r)}compose(e){return this.empty?e:e.empty?this:Kw(this,e,!0)}map(e,n=!1){return e.empty?this:pd(this,e,n,!0)}iterChanges(e,n=!1){hd(this,e,n)}get desc(){return Qn.create(this.sections)}filter(e){let n=[],r=[],o=[],i=new cs(this);e:for(let s=0,a=0;;){let l=s==e.length?1e9:e[s++];for(;a<l||a==l&&i.len==0;){if(i.done)break e;let u=Math.min(i.len,l-a);$t(o,u,-1);let d=i.ins==-1?-1:i.off==0?i.ins:0;$t(n,u,d),d>0&&zr(r,n,i.text),i.forward(u),a+=u}let c=e[s++];for(;a<c;){if(i.done)break e;let u=Math.min(i.len,c-a);$t(n,u,-1),$t(o,u,i.ins==-1?-1:i.off==0?i.ins:0),i.forward(u),a+=u}}return{changes:new Et(n,r),filtered:Qn.create(o)}}toJSON(){let e=[];for(let n=0;n<this.sections.length;n+=2){let r=this.sections[n],o=this.sections[n+1];o<0?e.push(r):o==0?e.push([r]):e.push([r].concat(this.inserted[n>>1].toJSON()))}return e}static of(e,n,r){let o=[],i=[],s=0,a=null;function l(u=!1){if(!u&&!o.length)return;s<n&&$t(o,n-s,-1);let d=new Et(o,i);a=a?a.compose(d.map(a)):d,o=[],i=[],s=0}function c(u){if(Array.isArray(u))for(let d of u)c(d);else if(u instanceof Et){if(u.length!=n)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${n})`);l(),a=a?a.compose(u.map(a)):u}else{let{from:d,to:f=d,insert:p}=u;if(d>f||d<0||f>n)throw new RangeError(`Invalid change range ${d} to ${f} (in doc of length ${n})`);let m=p?typeof p=="string"?Xe.of(p.split(r||fd)):p:Xe.empty,w=m.length;if(d==f&&w==0)return;d<s&&l(),d>s&&$t(o,d-s,-1),$t(o,f-d,w),zr(i,o,m),s=f}}return c(e),l(!a),a}static empty(e){return new Et(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let o=0;o<e.length;o++){let i=e[o];if(typeof i=="number")n.push(i,-1);else{if(!Array.isArray(i)||typeof i[0]!="number"||i.some((s,a)=>a&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)n.push(i[0],0);else{for(;r.length<o;)r.push(Xe.empty);r[o]=Xe.of(i.slice(1)),n.push(i[0],r[o].length)}}}return new Et(n,r)}static createSet(e,n){return new Et(e,n)}}function $t(t,e,n,r=!1){if(e==0&&n<=0)return;let o=t.length-2;o>=0&&n<=0&&n==t[o+1]?t[o]+=e:o>=0&&e==0&&t[o]==0?t[o+1]+=n:r?(t[o]+=e,t[o+1]+=n):t.push(e,n)}function zr(t,e,n){if(n.length==0)return;let r=e.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<r;)t.push(Xe.empty);t.push(n)}}function hd(t,e,n){let r=t.inserted;for(let o=0,i=0,s=0;s<t.sections.length;){let a=t.sections[s++],l=t.sections[s++];if(l<0)o+=a,i+=a;else{let c=o,u=i,d=Xe.empty;for(;c+=a,u+=l,l&&r&&(d=d.append(r[s-2>>1])),!(n||s==t.sections.length||t.sections[s+1]<0);)a=t.sections[s++],l=t.sections[s++];e(o,c,i,u,d),o=c,i=u}}}function pd(t,e,n,r=!1){let o=[],i=r?[]:null,s=new cs(t),a=new cs(e);for(let l=-1;;){if(s.done&&a.len||a.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&a.ins==-1){let c=Math.min(s.len,a.len);$t(o,c,-1),s.forward(c),a.forward(c)}else if(a.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(a.len<s.len||a.len==s.len&&!n))){let c=a.len;for($t(o,a.ins,-1);c;){let u=Math.min(s.len,c);s.ins>=0&&l<s.i&&s.len<=u&&($t(o,0,s.ins),i&&zr(i,o,s.text),l=s.i),s.forward(u),c-=u}a.next()}else if(s.ins>=0){let c=0,u=s.len;for(;u;)if(a.ins==-1){let d=Math.min(u,a.len);c+=d,u-=d,a.forward(d)}else if(a.ins==0&&a.len<u)u-=a.len,a.next();else break;$t(o,c,l<s.i?s.ins:0),i&&l<s.i&&zr(i,o,s.text),l=s.i,s.forward(s.len-u)}else{if(s.done&&a.done)return i?Et.createSet(o,i):Qn.create(o);throw new Error("Mismatched change set lengths")}}}function Kw(t,e,n=!1){let r=[],o=n?[]:null,i=new cs(t),s=new cs(e);for(let a=!1;;){if(i.done&&s.done)return o?Et.createSet(r,o):Qn.create(r);if(i.ins==0)$t(r,i.len,0,a),i.next();else if(s.len==0&&!s.done)$t(r,0,s.ins,a),o&&zr(o,r,s.text),s.next();else{if(i.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(i.len2,s.len),c=r.length;if(i.ins==-1){let u=s.ins==-1?-1:s.off?0:s.ins;$t(r,l,u,a),o&&u&&zr(o,r,s.text)}else s.ins==-1?($t(r,i.off?0:i.len,l,a),o&&zr(o,r,i.textBit(l))):($t(r,i.off?0:i.len,s.off?0:s.ins,a),o&&!s.off&&zr(o,r,s.text));a=(i.ins>l||s.ins>=0&&s.len>l)&&(a||r.length>c),i.forward2(l),s.forward(l)}}}}class cs{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,n=this.i-2>>1;return n>=e.length?Xe.empty:e[n]}textBit(e){let{inserted:n}=this.set,r=this.i-2>>1;return r>=n.length&&!e?Xe.empty:n[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class yo{constructor(e,n,r){this.from=e,this.to=n,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,n=-1){let r,o;return this.empty?r=o=e.mapPos(this.from,n):(r=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),r==this.from&&o==this.to?this:new yo(r,o,this.flags)}extend(e,n=e){if(e<=this.anchor&&n>=this.anchor)return oe.range(e,n);let r=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return oe.range(this.anchor,r)}eq(e,n=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!n||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return oe.range(e.anchor,e.head)}static create(e,n,r){return new yo(e,n,r)}}class oe{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:oe.create(this.ranges.map(r=>r.map(e,n)),this.mainIndex)}eq(e,n=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],n))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new oe([this.main],0)}addRange(e,n=!0){return oe.create([e].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(e,n=this.mainIndex){let r=this.ranges.slice();return r[n]=e,oe.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new oe(e.ranges.map(n=>yo.fromJSON(n)),e.main)}static single(e,n=e){return new oe([oe.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,o=0;o<e.length;o++){let i=e[o];if(i.empty?i.from<=r:i.from<r)return oe.normalized(e.slice(),n);r=i.to}return new oe(e,n)}static cursor(e,n=0,r,o){return yo.create(e,e,(n==0?0:n<0?8:16)|(r==null?7:Math.min(6,r))|(o??16777215)<<6)}static range(e,n,r,o){let i=(r??16777215)<<6|(o==null?7:Math.min(6,o));return n<e?yo.create(n,e,48|i):yo.create(e,n,(n>e?8:0)|i)}static normalized(e,n=0){let r=e[n];e.sort((o,i)=>o.from-i.from),n=e.indexOf(r);for(let o=1;o<e.length;o++){let i=e[o],s=e[o-1];if(i.empty?i.from<=s.to:i.from<s.to){let a=s.from,l=Math.max(i.to,s.to);o<=n&&n--,e.splice(--o,2,i.anchor>i.head?oe.range(l,a):oe.range(a,l))}}return new oe(e,n)}}function Xw(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}let md=0;class ke{constructor(e,n,r,o,i){this.combine=e,this.compareInput=n,this.compare=r,this.isStatic=o,this.id=md++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}get reader(){return this}static define(e={}){return new ke(e.combine||(n=>n),e.compareInput||((n,r)=>n===r),e.compare||(e.combine?(n,r)=>n===r:gd),!!e.static,e.enables)}of(e){return new rl([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new rl(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new rl(e,this,2,n)}from(e,n){return n||(n=r=>r),this.compute([e],r=>n(r.field(e)))}}function gd(t,e){return t==e||t.length==e.length&&t.every((n,r)=>n===e[r])}class rl{constructor(e,n,r,o){this.dependencies=e,this.facet=n,this.type=r,this.value=o,this.id=md++}dynamicSlot(e){var n;let r=this.value,o=this.facet.compareInput,i=this.id,s=e[i]>>1,a=this.type==2,l=!1,c=!1,u=[];for(let d of this.dependencies)d=="doc"?l=!0:d=="selection"?c=!0:(((n=e[d.id])!==null&&n!==void 0?n:1)&1)==0&&u.push(e[d.id]);return{create(d){return d.values[s]=r(d),1},update(d,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||wd(d,u)){let p=r(d);if(a?!Yw(p,d.values[s],o):!o(p,d.values[s]))return d.values[s]=p,1}return 0},reconfigure:(d,f)=>{let p,m=f.config.address[i];if(m!=null){let w=al(f,m);if(this.dependencies.every(v=>v instanceof ke?f.facet(v)===d.facet(v):v instanceof Bt?f.field(v,!1)==d.field(v,!1):!0)||(a?Yw(p=r(d),w,o):o(p=r(d),w)))return d.values[s]=w,0}else p=r(d);return d.values[s]=p,1}}}}function Yw(t,e,n){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!n(t[r],e[r]))return!1;return!0}function wd(t,e){let n=!1;for(let r of e)ds(t,r)&1&&(n=!0);return n}function AB(t,e,n){let r=n.map(l=>t[l.id]),o=n.map(l=>l.type),i=r.filter(l=>!(l&1)),s=t[e.id]>>1;function a(l){let c=[];for(let u=0;u<r.length;u++){let d=al(l,r[u]);if(o[u]==2)for(let f of d)c.push(f);else c.push(d)}return e.combine(c)}return{create(l){for(let c of r)ds(l,c);return l.values[s]=a(l),1},update(l,c){if(!wd(l,i))return 0;let u=a(l);return e.compare(u,l.values[s])?0:(l.values[s]=u,1)},reconfigure(l,c){let u=wd(l,r),d=c.config.facets[e.id],f=c.facet(e);if(d&&!u&&gd(n,d))return l.values[s]=f,0;let p=a(l);return e.compare(p,f)?(l.values[s]=f,0):(l.values[s]=p,1)}}}const ol=ke.define({static:!0});class Bt{constructor(e,n,r,o,i){this.id=e,this.createF=n,this.updateF=r,this.compareF=o,this.spec=i,this.provides=void 0}static define(e){let n=new Bt(md++,e.create,e.update,e.compare||((r,o)=>r===o),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(ol).find(r=>r.field==this);return((n==null?void 0:n.create)||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:r=>(r.values[n]=this.create(r),1),update:(r,o)=>{let i=r.values[n],s=this.updateF(i,o);return this.compareF(i,s)?0:(r.values[n]=s,1)},reconfigure:(r,o)=>{let i=r.facet(ol),s=o.facet(ol),a;return(a=i.find(l=>l.field==this))&&a!=s.find(l=>l.field==this)?(r.values[n]=a.create(r),1):o.config.address[this.id]!=null?(r.values[n]=o.field(this),0):(r.values[n]=this.create(r),1)}}}init(e){return[this,ol.of({field:this,create:e})]}get extension(){return this}}const bo={lowest:4,low:3,default:2,high:1,highest:0};function us(t){return e=>new Jw(e,t)}const Hr={highest:us(bo.highest),high:us(bo.high),default:us(bo.default),low:us(bo.low),lowest:us(bo.lowest)};class Jw{constructor(e,n){this.inner=e,this.prec=n}}class il{of(e){return new vd(this,e)}reconfigure(e){return il.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class vd{constructor(e,n){this.compartment=e,this.inner=n}}class sl{constructor(e,n,r,o,i,s){for(this.base=e,this.compartments=n,this.dynamicSlots=r,this.address=o,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let n=this.address[e.id];return n==null?e.default:this.staticValues[n>>1]}static resolve(e,n,r){let o=[],i=Object.create(null),s=new Map;for(let f of OB(e,n,s))f instanceof Bt?o.push(f):(i[f.facet.id]||(i[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of o)a[f.id]=c.length<<1,c.push(p=>f.slot(p));let u=r==null?void 0:r.config.facets;for(let f in i){let p=i[f],m=p[0].facet,w=u&&u[f]||[];if(p.every(v=>v.type==0))if(a[m.id]=l.length<<1|1,gd(w,p))l.push(r.facet(m));else{let v=m.combine(p.map(y=>y.value));l.push(r&&m.compare(v,r.facet(m))?r.facet(m):v)}else{for(let v of p)v.type==0?(a[v.id]=l.length<<1|1,l.push(v.value)):(a[v.id]=c.length<<1,c.push(y=>v.dynamicSlot(y)));a[m.id]=c.length<<1,c.push(v=>AB(v,m,p))}}let d=c.map(f=>f(a));return new sl(e,s,d,a,l,i)}}function OB(t,e,n){let r=[[],[],[],[],[]],o=new Map;function i(s,a){let l=o.get(s);if(l!=null){if(l<=a)return;let c=r[l].indexOf(s);c>-1&&r[l].splice(c,1),s instanceof vd&&n.delete(s.compartment)}if(o.set(s,a),Array.isArray(s))for(let c of s)i(c,a);else if(s instanceof vd){if(n.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(s.compartment)||s.inner;n.set(s.compartment,c),i(c,a)}else if(s instanceof Jw)i(s.inner,s.prec);else if(s instanceof Bt)r[a].push(s),s.provides&&i(s.provides,a);else if(s instanceof rl)r[a].push(s),s.facet.extensions&&i(s.facet.extensions,bo.default);else{let c=s.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(c,a)}}return i(t,bo.default),r.reduce((s,a)=>s.concat(a))}function ds(t,e){if(e&1)return 2;let n=e>>1,r=t.status[n];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[n]=4;let o=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|o}function al(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const Qw=ke.define(),yd=ke.define({combine:t=>t.some(e=>e),static:!0}),Zw=ke.define({combine:t=>t.length?t[0]:void 0,static:!0}),e0=ke.define(),t0=ke.define(),n0=ke.define(),r0=ke.define({combine:t=>t.length?t[0]:!1});class Zn{constructor(e,n){this.type=e,this.value=n}static define(){return new BB}}class BB{of(e){return new Zn(this,e)}}class TB{constructor(e){this.map=e}of(e){return new Fe(this,e)}}class Fe{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new Fe(this.type,n)}is(e){return this.type==e}static define(e={}){return new TB(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let r=[];for(let o of e){let i=o.map(n);i&&r.push(i)}return r}}Fe.reconfigure=Fe.define(),Fe.appendConfig=Fe.define();class bt{constructor(e,n,r,o,i,s){this.startState=e,this.changes=n,this.selection=r,this.effects=o,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,r&&Xw(r,n.newLength),i.some(a=>a.type==bt.time)||(this.annotations=i.concat(bt.time.of(Date.now())))}static create(e,n,r,o,i,s){return new bt(e,n,r,o,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(bt.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}}bt.time=Zn.define(),bt.userEvent=Zn.define(),bt.addToHistory=Zn.define(),bt.remote=Zn.define();function _B(t,e){let n=[];for(let r=0,o=0;;){let i,s;if(r<t.length&&(o==e.length||e[o]>=t[r]))i=t[r++],s=t[r++];else if(o<e.length)i=e[o++],s=e[o++];else return n;!n.length||n[n.length-1]<i?n.push(i,s):n[n.length-1]<s&&(n[n.length-1]=s)}}function o0(t,e,n){var r;let o,i,s;return n?(o=e.changes,i=Et.empty(e.changes.length),s=t.changes.compose(e.changes)):(o=e.changes.map(t.changes),i=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(o)),{changes:s,selection:e.selection?e.selection.map(i):(r=t.selection)===null||r===void 0?void 0:r.map(o),effects:Fe.mapEffects(t.effects,o).concat(Fe.mapEffects(e.effects,i)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function bd(t,e,n){let r=e.selection,o=Qo(e.annotations);return e.userEvent&&(o=o.concat(bt.userEvent.of(e.userEvent))),{changes:e.changes instanceof Et?e.changes:Et.of(e.changes||[],n,t.facet(Zw)),selection:r&&(r instanceof oe?r:oe.single(r.anchor,r.head)),effects:Qo(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function i0(t,e,n){let r=bd(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(n=!1);for(let i=1;i<e.length;i++){e[i].filter===!1&&(n=!1);let s=!!e[i].sequential;r=o0(r,bd(t,e[i],s?r.changes.newLength:t.doc.length),s)}let o=bt.create(t,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return FB(n?NB(o):o)}function NB(t){let e=t.startState,n=!0;for(let o of e.facet(e0)){let i=o(t);if(i===!1){n=!1;break}Array.isArray(i)&&(n=n===!0?i:_B(n,i))}if(n!==!0){let o,i;if(n===!1)i=t.changes.invertedDesc,o=Et.empty(e.doc.length);else{let s=t.changes.filter(n);o=s.changes,i=s.filtered.mapDesc(s.changes).invertedDesc}t=bt.create(e,o,t.selection&&t.selection.map(i),Fe.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let r=e.facet(t0);for(let o=r.length-1;o>=0;o--){let i=r[o](t);i instanceof bt?t=i:Array.isArray(i)&&i.length==1&&i[0]instanceof bt?t=i[0]:t=i0(e,Qo(i),!1)}return t}function FB(t){let e=t.startState,n=e.facet(n0),r=t;for(let o=n.length-1;o>=0;o--){let i=n[o](t);i&&Object.keys(i).length&&(r=o0(r,bd(e,i,t.changes.newLength),!0))}return r==t?t:bt.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const MB=[];function Qo(t){return t==null?MB:Array.isArray(t)?t:[t]}var it=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(it||(it={}));const IB=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Cd;try{Cd=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function PB(t){if(Cd)return Cd.test(t);for(let e=0;e<t.length;e++){let n=t[e];if(/\w/.test(n)||n>"€"&&(n.toUpperCase()!=n.toLowerCase()||IB.test(n)))return!0}return!1}function LB(t){return e=>{if(!/\S/.test(e))return it.Space;if(PB(e))return it.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return it.Word;return it.Other}}class Ve{constructor(e,n,r,o,i,s){this.config=e,this.doc=n,this.selection=r,this.values=o,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)ds(this,a<<1);this.computeSlot=null}field(e,n=!0){let r=this.config.address[e.id];if(r==null){if(n)throw new RangeError("Field is not present in this state");return}return ds(this,r),al(this,r)}update(...e){return i0(this,e,!0)}applyTransaction(e){let n=this.config,{base:r,compartments:o}=n;for(let a of e.effects)a.is(il.reconfigure)?(n&&(o=new Map,n.compartments.forEach((l,c)=>o.set(c,l)),n=null),o.set(a.value.compartment,a.value.extension)):a.is(Fe.reconfigure)?(n=null,r=a.value):a.is(Fe.appendConfig)&&(n=null,r=Qo(r).concat(a.value));let i;n?i=e.startState.values.slice():(n=sl.resolve(r,o,this),i=new Ve(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let s=e.startState.facet(yd)?e.newSelection:e.newSelection.asSingle();new Ve(n,e.newDoc,s,i,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:oe.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,r=e(n.ranges[0]),o=this.changes(r.changes),i=[r.range],s=Qo(r.effects);for(let a=1;a<n.ranges.length;a++){let l=e(n.ranges[a]),c=this.changes(l.changes),u=c.map(o);for(let f=0;f<a;f++)i[f]=i[f].map(u);let d=o.mapDesc(c,!0);i.push(l.range.map(d)),o=o.compose(u),s=Fe.mapEffects(s,u).concat(Fe.mapEffects(Qo(l.effects),d))}return{changes:o,selection:oe.create(i,n.mainIndex),effects:s}}changes(e=[]){return e instanceof Et?e:Et.of(e,this.doc.length,this.facet(Ve.lineSeparator))}toText(e){return Xe.of(e.split(this.facet(Ve.lineSeparator)||fd))}sliceDoc(e=0,n=this.doc.length){return this.doc.sliceString(e,n,this.lineBreak)}facet(e){let n=this.config.address[e.id];return n==null?e.default:(ds(this,n),al(this,n))}toJSON(e){let n={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let o=e[r];o instanceof Bt&&this.config.address[o.id]!=null&&(n[r]=o.spec.toJSON(this.field(e[r]),this))}return n}static fromJSON(e,n={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let o=[];if(r){for(let i in r)if(Object.prototype.hasOwnProperty.call(e,i)){let s=r[i],a=e[i];o.push(s.init(l=>s.spec.fromJSON(a,l)))}}return Ve.create({doc:e.doc,selection:oe.fromJSON(e.selection),extensions:n.extensions?o.concat([n.extensions]):o})}static create(e={}){let n=sl.resolve(e.extensions||[],new Map),r=e.doc instanceof Xe?e.doc:Xe.of((e.doc||"").split(n.staticFacet(Ve.lineSeparator)||fd)),o=e.selection?e.selection instanceof oe?e.selection:oe.single(e.selection.anchor,e.selection.head):oe.single(0);return Xw(o,r.length),n.staticFacet(yd)||(o=o.asSingle()),new Ve(n,r,o,n.dynamicSlots.map(()=>null),(i,s)=>s.create(i),null)}get tabSize(){return this.facet(Ve.tabSize)}get lineBreak(){return this.facet(Ve.lineSeparator)||`
14
+ `}get readOnly(){return this.facet(r0)}phrase(e,...n){for(let r of this.facet(Ve.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return n.length&&(e=e.replace(/\$(\$|\d*)/g,(r,o)=>{if(o=="$")return"$";let i=+(o||1);return!i||i>n.length?r:n[i-1]})),e}languageDataAt(e,n,r=-1){let o=[];for(let i of this.facet(Qw))for(let s of i(this,n,r))Object.prototype.hasOwnProperty.call(s,e)&&o.push(s[e]);return o}charCategorizer(e){let n=this.languageDataAt("wordChars",e);return LB(n.length?n[0]:"")}wordAt(e){let{text:n,from:r,length:o}=this.doc.lineAt(e),i=this.charCategorizer(e),s=e-r,a=e-r;for(;s>0;){let l=St(n,s,!1);if(i(n.slice(l,s))!=it.Word)break;s=l}for(;a<o;){let l=St(n,a);if(i(n.slice(a,l))!=it.Word)break;a=l}return s==a?null:oe.range(s+r,a+r)}}Ve.allowMultipleSelections=yd,Ve.tabSize=ke.define({combine:t=>t.length?t[0]:4}),Ve.lineSeparator=Zw,Ve.readOnly=r0,Ve.phrases=ke.define({compare(t,e){let n=Object.keys(t),r=Object.keys(e);return n.length==r.length&&n.every(o=>t[o]==e[o])}}),Ve.languageData=Qw,Ve.changeFilter=e0,Ve.transactionFilter=t0,Ve.transactionExtender=n0,il.reconfigure=Fe.define();function er(t,e,n={}){let r={};for(let o of t)for(let i of Object.keys(o)){let s=o[i],a=r[i];if(a===void 0)r[i]=s;else if(!(a===s||s===void 0))if(Object.hasOwnProperty.call(n,i))r[i]=n[i](a,s);else throw new Error("Config merge conflict for field "+i)}for(let o in e)r[o]===void 0&&(r[o]=e[o]);return r}class $r{eq(e){return this==e}range(e,n=e){return xd.create(e,n,this)}}$r.prototype.startSide=$r.prototype.endSide=0,$r.prototype.point=!1,$r.prototype.mapMode=Ft.TrackDel;function kd(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let xd=class fD{constructor(e,n,r){this.from=e,this.to=n,this.value=r}static create(e,n,r){return new fD(e,n,r)}};function Sd(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Ed{constructor(e,n,r,o){this.from=e,this.to=n,this.value=r,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,n,r,o=0){let i=r?this.to:this.from;for(let s=o,a=i.length;;){if(s==a)return s;let l=s+a>>1,c=i[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-n;if(l==s)return c>=0?s:a;c>=0?a=l:s=l+1}}between(e,n,r,o){for(let i=this.findIndex(n,-1e9,!0),s=this.findIndex(r,1e9,!1,i);i<s;i++)if(o(this.from[i]+e,this.to[i]+e,this.value[i])===!1)return!1}map(e,n){let r=[],o=[],i=[],s=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],u=this.from[l]+e,d=this.to[l]+e,f,p;if(u==d){let m=n.mapPos(u,c.startSide,c.mapMode);if(m==null||(f=p=m,c.startSide!=c.endSide&&(p=n.mapPos(u,c.endSide),p<f)))continue}else if(f=n.mapPos(u,c.startSide),p=n.mapPos(d,c.endSide),f>p||f==p&&c.startSide>0&&c.endSide<=0)continue;(p-f||c.endSide-c.startSide)<0||(s<0&&(s=f),c.point&&(a=Math.max(a,p-f)),r.push(c),o.push(f-s),i.push(p-s))}return{mapped:r.length?new Ed(o,i,r,a):null,pos:s}}}class je{constructor(e,n,r,o){this.chunkPos=e,this.chunk=n,this.nextLayer=r,this.maxPoint=o}static create(e,n,r,o){return new je(e,n,r,o)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let n of this.chunk)e+=n.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:n=[],sort:r=!1,filterFrom:o=0,filterTo:i=this.length}=e,s=e.filter;if(n.length==0&&!s)return this;if(r&&(n=n.slice().sort(Sd)),this.isEmpty)return n.length?je.of(n):this;let a=new a0(this,null,-1).goto(0),l=0,c=[],u=new gr;for(;a.value||l<n.length;)if(l<n.length&&(a.from-n[l].from||a.startSide-n[l].value.startSide)>=0){let d=n[l++];u.addInner(d.from,d.to,d.value)||c.push(d)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==n.length||this.chunkEnd(a.chunkIndex)<n[l].from)&&(!s||o>this.chunkEnd(a.chunkIndex)||i<this.chunkPos[a.chunkIndex])&&u.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!s||o>a.to||i<a.from||s(a.from,a.to,a.value))&&(u.addInner(a.from,a.to,a.value)||c.push(xd.create(a.from,a.to,a.value))),a.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?je.empty:this.nextLayer.update({add:c,filter:s,filterFrom:o,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let n=[],r=[],o=-1;for(let s=0;s<this.chunk.length;s++){let a=this.chunkPos[s],l=this.chunk[s],c=e.touchesRange(a,a+l.length);if(c===!1)o=Math.max(o,l.maxPoint),n.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:u,pos:d}=l.map(a,e);u&&(o=Math.max(o,u.maxPoint),n.push(u),r.push(d))}}let i=this.nextLayer.map(e);return n.length==0?i:new je(r,n,i||je.empty,o)}between(e,n,r){if(!this.isEmpty){for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],s=this.chunk[o];if(n>=i&&e<=i+s.length&&s.between(i,e-i,n-i,r)===!1)return}this.nextLayer.between(e,n,r)}}iter(e=0){return fs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,n=0){return fs.from(e).goto(n)}static compare(e,n,r,o,i=-1){let s=e.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=i),a=n.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=i),l=s0(s,a,r),c=new hs(s,l,i),u=new hs(a,l,i);r.iterGaps((d,f,p)=>l0(c,d,u,f,p,o)),r.empty&&r.length==0&&l0(c,0,u,0,0,o)}static eq(e,n,r=0,o){o==null&&(o=999999999);let i=e.filter(u=>!u.isEmpty&&n.indexOf(u)<0),s=n.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(i.length!=s.length)return!1;if(!i.length)return!0;let a=s0(i,s),l=new hs(i,a,0).goto(r),c=new hs(s,a,0).goto(r);for(;;){if(l.to!=c.to||!Ad(l.active,c.active)||l.point&&(!c.point||!kd(l.point,c.point)))return!1;if(l.to>o)return!0;l.next(),c.next()}}static spans(e,n,r,o,i=-1){let s=new hs(e,null,i).goto(n),a=n,l=s.openStart;for(;;){let c=Math.min(s.to,r);if(s.point){let u=s.activeForPoint(s.to),d=s.pointFrom<n?u.length+1:s.point.startSide<0?u.length:Math.min(u.length,l);o.point(a,c,s.point,u,d,s.pointRank),l=Math.min(s.openEnd(c),u.length)}else c>a&&(o.span(a,c,s.active,l),l=s.openEnd(c));if(s.to>r)return l+(s.point&&s.to>r?1:0);a=s.to,s.next()}}static of(e,n=!1){let r=new gr;for(let o of e instanceof xd?[e]:n?zB(e):e)r.add(o.from,o.to,o.value);return r.finish()}static join(e){if(!e.length)return je.empty;let n=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let o=e[r];o!=je.empty;o=o.nextLayer)n=new je(o.chunkPos,o.chunk,n,Math.max(o.maxPoint,n.maxPoint));return n}}je.empty=new je([],[],null,-1);function zB(t){if(t.length>1)for(let e=t[0],n=1;n<t.length;n++){let r=t[n];if(Sd(e,r)>0)return t.slice().sort(Sd);e=r}return t}je.empty.nextLayer=je.empty;class gr{finishChunk(e){this.chunks.push(new Ed(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,n,r){this.addInner(e,n,r)||(this.nextLayer||(this.nextLayer=new gr)).add(e,n,r)}addInner(e,n,r){let o=e-this.lastTo||r.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return o<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(n-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=n,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,n-e)),!0)}addChunk(e,n){if((e-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(e);let r=n.value.length-1;return this.last=n.value[r],this.lastFrom=n.from[r]+e,this.lastTo=n.to[r]+e,!0}finish(){return this.finishInner(je.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let n=je.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,n}}function s0(t,e,n){let r=new Map;for(let i of t)for(let s=0;s<i.chunk.length;s++)i.chunk[s].maxPoint<=0&&r.set(i.chunk[s],i.chunkPos[s]);let o=new Set;for(let i of e)for(let s=0;s<i.chunk.length;s++){let a=r.get(i.chunk[s]);a!=null&&(n?n.mapPos(a):a)==i.chunkPos[s]&&!(n!=null&&n.touchesRange(a,a+i.chunk[s].length))&&o.add(i.chunk[s])}return o}class a0{constructor(e,n,r,o=0){this.layer=e,this.skip=n,this.minPoint=r,this.rank=o}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,n=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,n,!1),this}gotoInner(e,n,r){for(;this.chunkIndex<this.layer.chunk.length;){let o=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(o)||this.layer.chunkEnd(this.chunkIndex)<e||o.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let o=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],n,!0);(!r||this.rangeIndex<o)&&this.setRangeIndex(o)}this.next()}forward(e,n){(this.to-e||this.endSide-n)<0&&this.gotoInner(e,n,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],n=this.layer.chunk[this.chunkIndex],r=e+n.from[this.rangeIndex];if(this.from=r,this.to=e+n.to[this.rangeIndex],this.value=n.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class fs{constructor(e){this.heap=e}static from(e,n=null,r=-1){let o=[];for(let i=0;i<e.length;i++)for(let s=e[i];!s.isEmpty;s=s.nextLayer)s.maxPoint>=r&&o.push(new a0(s,n,r,i));return o.length==1?o[0]:new fs(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,n=-1e9){for(let r of this.heap)r.goto(e,n);for(let r=this.heap.length>>1;r>=0;r--)Dd(this.heap,r);return this.next(),this}forward(e,n){for(let r of this.heap)r.forward(e,n);for(let r=this.heap.length>>1;r>=0;r--)Dd(this.heap,r);(this.to-e||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Dd(this.heap,0)}}}function Dd(t,e){for(let n=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let o=t[r];if(r+1<t.length&&o.compare(t[r+1])>=0&&(o=t[r+1],r++),n.compare(o)<0)break;t[r]=n,t[e]=o,e=r}}class hs{constructor(e,n,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=fs.from(e,n,r)}goto(e,n=-1e9){return this.cursor.goto(e,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=n,this.openStart=-1,this.next(),this}forward(e,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(e,n)}removeActive(e){ll(this.active,e),ll(this.activeTo,e),ll(this.activeRank,e),this.minActive=c0(this.active,this.activeTo)}addActive(e){let n=0,{value:r,to:o,rank:i}=this.cursor;for(;n<this.activeRank.length&&(i-this.activeRank[n]||o-this.activeTo[n])>0;)n++;cl(this.active,n,r),cl(this.activeTo,n,o),cl(this.activeRank,n,i),e&&cl(e,n,this.cursor.from),this.minActive=c0(this.active,this.activeTo)}next(){let e=this.to,n=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let o=this.minActive;if(o>-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),r&&ll(r,o)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(r),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=i,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=i.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let o=r.length-1;o>=0&&r[o]<e;o--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let n=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&n.push(this.active[r]);return n.reverse()}openEnd(e){let n=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)n++;return n}}function l0(t,e,n,r,o,i){t.goto(e),n.goto(r);let s=r+o,a=r,l=r-e,c=!!i.boundChange;for(let u=!1;;){let d=t.to+l-n.to,f=d||t.endSide-n.endSide,p=f<0?t.to+l:n.to,m=Math.min(p,s);if(t.point||n.point?(t.point&&n.point&&kd(t.point,n.point)&&Ad(t.activeForPoint(t.to),n.activeForPoint(n.to))||i.comparePoint(a,m,t.point,n.point),u=!1):(u&&i.boundChange(a),m>a&&!Ad(t.active,n.active)&&i.compareRange(a,m,t.active,n.active),c&&m<s&&(d||t.openEnd(p)!=n.openEnd(p))&&(u=!0)),p>s)break;a=p,f<=0&&t.next(),f>=0&&n.next()}}function Ad(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!=e[n]&&!kd(t[n],e[n]))return!1;return!0}function ll(t,e){for(let n=e,r=t.length-1;n<r;n++)t[n]=t[n+1];t.pop()}function cl(t,e,n){for(let r=t.length-1;r>=e;r--)t[r+1]=t[r];t[e]=n}function c0(t,e){let n=-1,r=1e9;for(let o=0;o<e.length;o++)(e[o]-r||t[o].endSide-t[n].endSide)<0&&(n=o,r=e[o]);return n}function Zo(t,e,n=t.length){let r=0;for(let o=0;o<n&&o<t.length;)t.charCodeAt(o)==9?(r+=e-r%e,o++):(r++,o=St(t,o));return r}function Od(t,e,n,r){for(let o=0,i=0;;){if(i>=e)return o;if(o==t.length)break;i+=t.charCodeAt(o)==9?n-i%n:1,o=St(t,o)}return r===!0?-1:t.length}const Bd="ͼ",u0=typeof Symbol>"u"?"__"+Bd:Symbol.for(Bd),Td=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),d0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class jr{constructor(e,n){this.rules=[];let{finish:r}=n||{};function o(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function i(s,a,l,c){let u=[],d=/^@(\w+)\b/.exec(s[0]),f=d&&d[1]=="keyframes";if(d&&a==null)return l.push(s[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))i(p.split(/,\s*/).map(w=>s.map(v=>w.replace(/&/,v))).reduce((w,v)=>w.concat(v)),m,l);else if(m&&typeof m=="object"){if(!d)throw new RangeError("The value of a property ("+p+") should be a primitive value.");i(o(p),m,u,f)}else m!=null&&u.push(p.replace(/_.*/,"").replace(/[A-Z]/g,w=>"-"+w.toLowerCase())+": "+m+";")}(u.length||f)&&l.push((r&&!d&&!c?s.map(r):s).join(", ")+" {"+u.join(" ")+"}")}for(let s in e)i(o(s),e[s],this.rules)}getRules(){return this.rules.join(`
15
+ `)}static newName(){let e=d0[u0]||1;return d0[u0]=e+1,Bd+e.toString(36)}static mount(e,n,r){let o=e[Td],i=r&&r.nonce;o?i&&o.setNonce(i):o=new HB(e,i),o.mount(Array.isArray(n)?n:[n],e)}}let f0=new Map;class HB{constructor(e,n){let r=e.ownerDocument||e,o=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&o.CSSStyleSheet){let i=f0.get(r);if(i)return e[Td]=i;this.sheet=new o.CSSStyleSheet,f0.set(r,this)}else this.styleTag=r.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],e[Td]=this}mount(e,n){let r=this.sheet,o=0,i=0;for(let s=0;s<e.length;s++){let a=e[s],l=this.modules.indexOf(a);if(l<i&&l>-1&&(this.modules.splice(l,1),i--,l=-1),l==-1){if(this.modules.splice(i++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],o++)}else{for(;i<l;)o+=this.modules[i++].rules.length;o+=a.rules.length,i++}}if(r)n.adoptedStyleSheets.indexOf(this.sheet)<0&&(n.adoptedStyleSheets=[this.sheet,...n.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
16
+ `;this.styleTag.textContent=s;let a=n.head||n;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}for(var Wr={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},ps={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},$B=typeof navigator<"u"&&/Mac/.test(navigator.platform),jB=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Mt=0;Mt<10;Mt++)Wr[48+Mt]=Wr[96+Mt]=String(Mt);for(var Mt=1;Mt<=24;Mt++)Wr[Mt+111]="F"+Mt;for(var Mt=65;Mt<=90;Mt++)Wr[Mt]=String.fromCharCode(Mt+32),ps[Mt]=String.fromCharCode(Mt);for(var _d in Wr)ps.hasOwnProperty(_d)||(ps[_d]=Wr[_d]);function WB(t){var e=$B&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||jB&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?ps:Wr)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function Je(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r];typeof o=="string"?t.setAttribute(r,o):o!=null&&(t[r]=o)}e++}for(;e<arguments.length;e++)h0(t,arguments[e]);return t}function h0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var n=0;n<e.length;n++)h0(t,e[n]);else throw new RangeError("Unsupported child node: "+e)}let Rt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Nd=typeof document<"u"?document:{documentElement:{style:{}}};const Fd=/Edge\/(\d+)/.exec(Rt.userAgent),p0=/MSIE \d/.test(Rt.userAgent),Md=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Rt.userAgent),ul=!!(p0||Md||Fd),m0=!ul&&/gecko\/(\d+)/i.test(Rt.userAgent),Id=!ul&&/Chrome\/(\d+)/.exec(Rt.userAgent),VB="webkitFontSmoothing"in Nd.documentElement.style,Pd=!ul&&/Apple Computer/.test(Rt.vendor),g0=Pd&&(/Mobile\/\w+/.test(Rt.userAgent)||Rt.maxTouchPoints>2);var xe={mac:g0||/Mac/.test(Rt.platform),windows:/Win/.test(Rt.platform),linux:/Linux|X11/.test(Rt.platform),ie:ul,ie_version:p0?Nd.documentMode||6:Md?+Md[1]:Fd?+Fd[1]:0,gecko:m0,gecko_version:m0?+(/Firefox\/(\d+)/.exec(Rt.userAgent)||[0,0])[1]:0,chrome:!!Id,chrome_version:Id?+Id[1]:0,ios:g0,android:/Android\b/.test(Rt.userAgent),webkit_version:VB?+(/\bAppleWebKit\/(\d+)/.exec(Rt.userAgent)||[0,0])[1]:0,safari:Pd,safari_version:Pd?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Rt.userAgent)||[0,0])[1]:0,tabSize:Nd.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ld(t,e){for(let n in t)n=="class"&&e.class?e.class+=" "+t.class:n=="style"&&e.style?e.style+=";"+t.style:e[n]=t[n];return e}const dl=Object.create(null);function zd(t,e,n){if(t==e)return!0;t||(t=dl),e||(e=dl);let r=Object.keys(t),o=Object.keys(e);if(r.length-0!=o.length-0)return!1;for(let i of r)if(i!=n&&(o.indexOf(i)==-1||t[i]!==e[i]))return!1;return!0}function UB(t,e){for(let n=t.attributes.length-1;n>=0;n--){let r=t.attributes[n].name;e[r]==null&&t.removeAttribute(r)}for(let n in e){let r=e[n];n=="style"?t.style.cssText=r:t.getAttribute(n)!=r&&t.setAttribute(n,r)}}function w0(t,e,n){let r=!1;if(e)for(let o in e)n&&o in n||(r=!0,o=="style"?t.style.cssText="":t.removeAttribute(o));if(n)for(let o in n)e&&e[o]==n[o]||(r=!0,o=="style"?t.style.cssText=n[o]:t.setAttribute(o,n[o]));return r}function qB(t){let e=Object.create(null);for(let n=0;n<t.attributes.length;n++){let r=t.attributes[n];e[r.name]=r.value}return e}class dn{eq(e){return!1}updateDOM(e,n){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,n,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var It=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(It||(It={}));class Se extends $r{constructor(e,n,r,o){super(),this.startSide=e,this.endSide=n,this.widget=r,this.spec=o}get heightRelevant(){return!1}static mark(e){return new ms(e)}static widget(e){let n=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return n+=r&&!e.inlineOrder?n>0?3e8:-4e8:n>0?1e8:-1e8,new Co(e,n,n,r,e.widget||null,!1)}static replace(e){let n=!!e.block,r,o;if(e.isBlockGap)r=-5e8,o=4e8;else{let{start:i,end:s}=v0(e,n);r=(i?n?-3e8:-1:5e8)-1,o=(s?n?2e8:1:-6e8)+1}return new Co(e,r,o,n,e.widget||null,!0)}static line(e){return new gs(e)}static set(e,n=!1){return je.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Se.none=je.empty;class ms extends Se{constructor(e){let{start:n,end:r}=v0(e);super(n?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ld(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||dl}eq(e){return this==e||e instanceof ms&&this.tagName==e.tagName&&zd(this.attrs,e.attrs)}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}}ms.prototype.point=!1;class gs extends Se{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof gs&&this.spec.class==e.spec.class&&zd(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}}gs.prototype.mapMode=Ft.TrackBefore,gs.prototype.point=!0;class Co extends Se{constructor(e,n,r,o,i,s){super(n,r,i,e),this.block=o,this.isReplace=s,this.mapMode=o?n<=0?Ft.TrackBefore:Ft.TrackAfter:Ft.TrackDel}get type(){return this.startSide!=this.endSide?It.WidgetRange:this.startSide<=0?It.WidgetBefore:It.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Co&&RB(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}}Co.prototype.point=!0;function v0(t,e=!1){let{inclusiveStart:n,inclusiveEnd:r}=t;return n==null&&(n=t.inclusive),r==null&&(r=t.inclusive),{start:n??e,end:r??e}}function RB(t,e){return t==e||!!(t&&e&&t.compare(e))}function ei(t,e,n,r=0){let o=n.length-1;o>=0&&n[o]+r>=t?n[o]=Math.max(n[o],e):n.push(t,e)}class ws extends $r{constructor(e,n){super(),this.tagName=e,this.attributes=n}eq(e){return e==this||e instanceof ws&&this.tagName==e.tagName&&zd(this.attributes,e.attributes)}static create(e){return new ws(e.tagName,e.attributes||dl)}static set(e,n=!1){return je.of(e,n)}}ws.prototype.startSide=ws.prototype.endSide=-1;function ti(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Hd(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function vs(t,e){if(!e.anchorNode)return!1;try{return Hd(t,e.anchorNode)}catch{return!1}}function ys(t){return t.nodeType==3?ks(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function bs(t,e,n,r){return n?y0(t,e,n,r,-1)||y0(t,e,n,r,1):!1}function Vr(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function fl(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function y0(t,e,n,r,o){for(;;){if(t==n&&e==r)return!0;if(e==(o<0?0:wr(t))){if(t.nodeName=="DIV")return!1;let i=t.parentNode;if(!i||i.nodeType!=1)return!1;e=Vr(t)+(o<0?0:1),t=i}else if(t.nodeType==1){if(t=t.childNodes[e+(o<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=o<0?wr(t):0}else return!1}}function wr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Cs(t,e){let n=e?t.left:t.right;return{left:n,right:n,top:t.top,bottom:t.bottom}}function GB(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function b0(t,e){let n=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.width-t.offsetWidth)<1)&&(n=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:n,scaleY:r}}function KB(t,e,n,r,o,i,s,a){let l=t.ownerDocument,c=l.defaultView||window;for(let u=t,d=!1;u&&!d;)if(u.nodeType==1){let f,p=u==l.body,m=1,w=1;if(p)f=GB(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let g=u.getBoundingClientRect();({scaleX:m,scaleY:w}=b0(u,g)),f={left:g.left,right:g.left+u.clientWidth*m,top:g.top,bottom:g.top+u.clientHeight*w}}let v=0,y=0;if(o=="nearest")e.top<f.top?(y=e.top-(f.top+s),n>0&&e.bottom>f.bottom+y&&(y=e.bottom-f.bottom+s)):e.bottom>f.bottom&&(y=e.bottom-f.bottom+s,n<0&&e.top-y<f.top&&(y=e.top-(f.top+s)));else{let g=e.bottom-e.top,x=f.bottom-f.top;y=(o=="center"&&g<=x?e.top+g/2-x/2:o=="start"||o=="center"&&n<0?e.top-s:e.bottom-x+s)-f.top}if(r=="nearest"?e.left<f.left?(v=e.left-(f.left+i),n>0&&e.right>f.right+v&&(v=e.right-f.right+i)):e.right>f.right&&(v=e.right-f.right+i,n<0&&e.left<f.left+v&&(v=e.left-(f.left+i))):v=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-i:e.right-(f.right-f.left)+i)-f.left,v||y)if(p)c.scrollBy(v,y);else{let g=0,x=0;if(y){let S=u.scrollTop;u.scrollTop+=y/w,x=(u.scrollTop-S)*w}if(v){let S=u.scrollLeft;u.scrollLeft+=v/m,g=(u.scrollLeft-S)*m}e={left:e.left-g,top:e.top-x,right:e.right-g,bottom:e.bottom-x},g&&Math.abs(g-v)<1&&(r="nearest"),x&&Math.abs(x-y)<1&&(o="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function XB(t){let e=t.ownerDocument,n,r;for(let o=t.parentNode;o&&!(o==e.body||n&&r);)if(o.nodeType==1)!r&&o.scrollHeight>o.clientHeight&&(r=o),!n&&o.scrollWidth>o.clientWidth&&(n=o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;return{x:n,y:r}}class YB{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:r}=e;this.set(n,Math.min(e.anchorOffset,n?wr(n):0),r,Math.min(e.focusOffset,r?wr(r):0))}set(e,n,r,o){this.anchorNode=e,this.anchorOffset=n,this.focusNode=r,this.focusOffset=o}}let ko=null;xe.safari&&xe.safari_version>=26&&(ko=!1);function C0(t){if(t.setActive)return t.setActive();if(ko)return t.focus(ko);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(ko==null?{get preventScroll(){return ko={preventScroll:!0},!0}}:void 0),!ko){ko=!1;for(let n=0;n<e.length;){let r=e[n++],o=e[n++],i=e[n++];r.scrollTop!=o&&(r.scrollTop=o),r.scrollLeft!=i&&(r.scrollLeft=i)}}}let k0;function ks(t,e,n=e){let r=k0||(k0=document.createRange());return r.setEnd(t,n),r.setStart(t,e),r}function ni(t,e,n,r){let o={key:e,code:e,keyCode:n,which:n,cancelable:!0};r&&({altKey:o.altKey,ctrlKey:o.ctrlKey,shiftKey:o.shiftKey,metaKey:o.metaKey}=r);let i=new KeyboardEvent("keydown",o);i.synthetic=!0,t.dispatchEvent(i);let s=new KeyboardEvent("keyup",o);return s.synthetic=!0,t.dispatchEvent(s),i.defaultPrevented||s.defaultPrevented}function JB(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function QB(t,e){let n=e.focusNode,r=e.focusOffset;if(!n||e.anchorNode!=n||e.anchorOffset!=r)return!1;for(r=Math.min(r,wr(n));;)if(r){if(n.nodeType!=1)return!1;let o=n.childNodes[r-1];o.contentEditable=="false"?r--:(n=o,r=wr(n))}else{if(n==t)return!0;r=Vr(n),n=n.parentNode}}function x0(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function S0(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r>0)return{node:n,offset:r};if(n.nodeType==1&&r>0){if(n.contentEditable=="false")return null;n=n.childNodes[r-1],r=wr(n)}else if(n.parentNode&&!fl(n))r=Vr(n),n=n.parentNode;else return null}}function E0(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r<n.nodeValue.length)return{node:n,offset:r};if(n.nodeType==1&&r<n.childNodes.length){if(n.contentEditable=="false")return null;n=n.childNodes[r],r=0}else if(n.parentNode&&!fl(n))r=Vr(n)+1,n=n.parentNode;else return null}}class Nn{constructor(e,n,r=!0){this.node=e,this.offset=n,this.precise=r}static before(e,n){return new Nn(e.parentNode,Vr(e),n)}static after(e,n){return new Nn(e.parentNode,Vr(e)+1,n)}}var Ze=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Ze||(Ze={}));const xo=Ze.LTR,$d=Ze.RTL;function D0(t){let e=[];for(let n=0;n<t.length;n++)e.push(1<<+t[n]);return e}const ZB=D0("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),eT=D0("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),jd=Object.create(null),tr=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),n=t.charCodeAt(1);jd[e]=n,jd[n]=-e}function A0(t){return t<=247?ZB[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?eT[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const tT=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class vr{get dir(){return this.level%2?$d:xo}constructor(e,n,r){this.from=e,this.to=n,this.level=r}side(e,n){return this.dir==n==e?this.to:this.from}forward(e,n){return e==(this.dir==n)}static find(e,n,r,o){let i=-1;for(let s=0;s<e.length;s++){let a=e[s];if(a.from<=n&&a.to>=n){if(a.level==r)return s;(i<0||(o!=0?o<0?a.from<n:a.to>n:e[i].level>a.level))&&(i=s)}}if(i<0)throw new RangeError("Index out of range");return i}}function O0(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++){let r=t[n],o=e[n];if(r.from!=o.from||r.to!=o.to||r.direction!=o.direction||!O0(r.inner,o.inner))return!1}return!0}const et=[];function nT(t,e,n,r,o){for(let i=0;i<=r.length;i++){let s=i?r[i-1].to:e,a=i<r.length?r[i].from:n,l=i?256:o;for(let c=s,u=l,d=l;c<a;c++){let f=A0(t.charCodeAt(c));f==512?f=u:f==8&&d==4&&(f=16),et[c]=f==4?2:f,f&7&&(d=f),u=f}for(let c=s,u=l,d=l;c<a;c++){let f=et[c];if(f==128)c<a-1&&u==et[c+1]&&u&24?f=et[c]=u:et[c]=256;else if(f==64){let p=c+1;for(;p<a&&et[p]==64;)p++;let m=c&&u==8||p<n&&et[p]==8?d==1?1:8:256;for(let w=c;w<p;w++)et[w]=m;c=p-1}else f==8&&d==1&&(et[c]=1);u=f,f&7&&(d=f)}}}function rT(t,e,n,r,o){let i=o==1?2:1;for(let s=0,a=0,l=0;s<=r.length;s++){let c=s?r[s-1].to:e,u=s<r.length?r[s].from:n;for(let d=c,f,p,m;d<u;d++)if(p=jd[f=t.charCodeAt(d)])if(p<0){for(let w=a-3;w>=0;w-=3)if(tr[w+1]==-p){let v=tr[w+2],y=v&2?o:v&4?v&1?i:o:0;y&&(et[d]=et[tr[w]]=y),a=w;break}}else{if(tr.length==189)break;tr[a++]=d,tr[a++]=f,tr[a++]=l}else if((m=et[d])==2||m==1){let w=m==o;l=w?0:1;for(let v=a-3;v>=0;v-=3){let y=tr[v+2];if(y&2)break;if(w)tr[v+2]|=2;else{if(y&4)break;tr[v+2]|=4}}}}}function oT(t,e,n,r){for(let o=0,i=r;o<=n.length;o++){let s=o?n[o-1].to:t,a=o<n.length?n[o].from:e;for(let l=s;l<a;){let c=et[l];if(c==256){let u=l+1;for(;;)if(u==a){if(o==n.length)break;u=n[o++].to,a=o<n.length?n[o].from:e}else if(et[u]==256)u++;else break;let d=i==1,f=(u<e?et[u]:r)==1,p=d==f?d?1:2:r;for(let m=u,w=o,v=w?n[w-1].to:t;m>l;)m==v&&(m=n[--w].from,v=w?n[w-1].to:t),et[--m]=p;l=u}else i=c,l++}}}function Wd(t,e,n,r,o,i,s){let a=r%2?2:1;if(r%2==o%2)for(let l=e,c=0;l<n;){let u=!0,d=!1;if(c==i.length||l<i[c].from){let w=et[l];w!=a&&(u=!1,d=w==16)}let f=!u&&a==1?[]:null,p=u?r:r+1,m=l;e:for(;;)if(c<i.length&&m==i[c].from){if(d)break e;let w=i[c];if(!u)for(let v=w.to,y=c+1;;){if(v==n)break e;if(y<i.length&&i[y].from==v)v=i[y++].to;else{if(et[v]==a)break e;break}}if(c++,f)f.push(w);else{w.from>l&&s.push(new vr(l,w.from,p));let v=w.direction==xo!=!(p%2);Vd(t,v?r+1:r,o,w.inner,w.from,w.to,s),l=w.to}m=w.to}else{if(m==n||(u?et[m]!=a:et[m]==a))break;m++}f?Wd(t,l,m,r+1,o,f,s):l<m&&s.push(new vr(l,m,p)),l=m}else for(let l=n,c=i.length;l>e;){let u=!0,d=!1;if(!c||l>i[c-1].to){let w=et[l-1];w!=a&&(u=!1,d=w==16)}let f=!u&&a==1?[]:null,p=u?r:r+1,m=l;e:for(;;)if(c&&m==i[c-1].to){if(d)break e;let w=i[--c];if(!u)for(let v=w.from,y=c;;){if(v==e)break e;if(y&&i[y-1].to==v)v=i[--y].from;else{if(et[v-1]==a)break e;break}}if(f)f.push(w);else{w.to<l&&s.push(new vr(w.to,l,p));let v=w.direction==xo!=!(p%2);Vd(t,v?r+1:r,o,w.inner,w.from,w.to,s),l=w.from}m=w.from}else{if(m==e||(u?et[m-1]!=a:et[m-1]==a))break;m--}f?Wd(t,m,l,r+1,o,f,s):m<l&&s.push(new vr(m,l,p)),l=m}}function Vd(t,e,n,r,o,i,s){let a=e%2?2:1;nT(t,o,i,r,a),rT(t,o,i,r,a),oT(o,i,r,a),Wd(t,o,i,e,n,r,s)}function iT(t,e,n){if(!t)return[new vr(0,0,e==$d?1:0)];if(e==xo&&!n.length&&!tT.test(t))return B0(t.length);if(n.length)for(;t.length>et.length;)et[et.length]=256;let r=[],o=e==xo?0:1;return Vd(t,o,o,n,0,t.length,r),r}function B0(t){return[new vr(0,t,0)]}let T0="";function sT(t,e,n,r,o){var i;let s=r.head-t.from,a=vr.find(e,s,(i=r.bidiLevel)!==null&&i!==void 0?i:-1,r.assoc),l=e[a],c=l.side(o,n);if(s==c){let f=a+=o?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],s=l.side(!o,n),c=l.side(o,n)}let u=St(t.text,s,l.forward(o,n));(u<l.from||u>l.to)&&(u=c),T0=t.text.slice(Math.min(s,u),Math.max(s,u));let d=a==(o?e.length-1:0)?null:e[a+(o?1:-1)];return d&&u==c&&d.level+(o?0:1)<l.level?oe.cursor(d.side(!o,n)+t.from,d.forward(o,n)?1:-1,d.level):oe.cursor(u+t.from,l.forward(o,n)?-1:1,l.level)}function aT(t,e,n){for(let r=e;r<n;r++){let o=A0(t.charCodeAt(r));if(o==1)return xo;if(o==2||o==4)return $d}return xo}const _0=ke.define(),N0=ke.define(),F0=ke.define(),M0=ke.define(),Ud=ke.define(),I0=ke.define(),P0=ke.define(),qd=ke.define(),Rd=ke.define(),L0=ke.define({combine:t=>t.some(e=>e)}),z0=ke.define({combine:t=>t.some(e=>e)}),H0=ke.define();class ri{constructor(e,n="nearest",r="nearest",o=5,i=5,s=!1){this.range=e,this.y=n,this.x=r,this.yMargin=o,this.xMargin=i,this.isSnapshot=s}map(e){return e.empty?this:new ri(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ri(oe.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const hl=Fe.define({map:(t,e)=>t.map(e)}),$0=Fe.define();function tn(t,e,n){let r=t.facet(M0);r.length?r[0](e):window.onerror&&window.onerror(String(e),n,void 0,void 0,e)||(n?console.error(n+":",e):console.error(e))}const yr=ke.define({combine:t=>t.length?t[0]:!0});let lT=0;const oi=ke.define({combine(t){return t.filter((e,n)=>{for(let r=0;r<n;r++)if(t[r].plugin==e.plugin)return!1;return!0})}});class st{constructor(e,n,r,o,i){this.id=e,this.create=n,this.domEventHandlers=r,this.domEventObservers=o,this.baseExtensions=i(this),this.extension=this.baseExtensions.concat(oi.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(oi.of({plugin:this,arg:e}))}static define(e,n){const{eventHandlers:r,eventObservers:o,provide:i,decorations:s}=n||{};return new st(lT++,e,r,o,a=>{let l=[];return s&&l.push(pl.of(c=>{let u=c.plugin(a);return u?s(u):Se.none})),i&&l.push(i(a)),l})}static fromClass(e,n){return st.define((r,o)=>new e(r,o),n)}}class Gd{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(r){if(tn(n.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(n){tn(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(r){tn(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const j0=ke.define(),Kd=ke.define(),pl=ke.define(),W0=ke.define(),Xd=ke.define(),xs=ke.define(),V0=ke.define();function U0(t,e){let n=t.state.facet(V0);if(!n.length)return n;let r=n.map(i=>i instanceof Function?i(t):i),o=[];return je.spans(r,e.from,e.to,{point(){},span(i,s,a,l){let c=i-e.from,u=s-e.from,d=o;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=aT(e.text,c,u)),l>0&&d.length&&(m=d[d.length-1]).to==c&&m.direction==p)m.to=u,d=m.inner;else{let w={from:c,to:u,direction:p,inner:[]};d.push(w),d=w.inner}}}}),o}const q0=ke.define();function Yd(t){let e=0,n=0,r=0,o=0;for(let i of t.state.facet(q0)){let s=i(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(n=Math.max(n,s.right)),s.top!=null&&(r=Math.max(r,s.top)),s.bottom!=null&&(o=Math.max(o,s.bottom)))}return{left:e,right:n,top:r,bottom:o}}const Ss=ke.define();class Cn{constructor(e,n,r,o){this.fromA=e,this.toA=n,this.fromB=r,this.toB=o}join(e){return new Cn(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,r=this;for(;n>0;n--){let o=e[n-1];if(!(o.fromA>r.toA)){if(o.toA<r.fromA)break;r=r.join(o),e.splice(n-1,1)}}return e.splice(n,0,r),e}static extendWithRanges(e,n){if(n.length==0)return e;let r=[];for(let o=0,i=0,s=0;;){let a=o<e.length?e[o].fromB:1e9,l=i<n.length?n[i]:1e9,c=Math.min(a,l);if(c==1e9)break;let u=c+s,d=c,f=u;for(;;)if(i<n.length&&n[i]<=d){let p=n[i+1];i+=2,d=Math.max(d,p);for(let m=o;m<e.length&&e[m].fromB<=d;m++)s=e[m].toA-e[m].toB;f=Math.max(f,p+s)}else if(o<e.length&&e[o].fromB<=d){let p=e[o++];d=Math.max(d,p.toB),f=Math.max(f,p.toA),s=p.toA-p.toB}else break;r.push(new Cn(u,f,c,d))}return r}}class ml{constructor(e,n,r){this.view=e,this.state=n,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Et.empty(this.startState.doc.length);for(let i of r)this.changes=this.changes.compose(i.changes);let o=[];this.changes.iterChangedRanges((i,s,a,l)=>o.push(new Cn(i,s,a,l))),this.changedRanges=o}static create(e,n,r){return new ml(e,n,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const cT=[];class Ct{constructor(e,n,r=0){this.dom=e,this.length=n,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return cT}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&UB(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,n=this.posAtStart){let r=n;for(let o of this.children){if(o==e)return r;r+=o.length+o.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,n){return null}domPosFor(e,n){let r=Vr(this.dom),o=this.length?e>0:n>0;return new Nn(this.parent.dom,r+(o?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof wl)return e;return null}static get(e){return e.cmTile}}class gl extends Ct{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let n=this.dom,r=null,o,i=(e==null?void 0:e.node)==n?e:null,s=0;for(let a of this.children){if(a.sync(e),s+=a.length+a.breakAfter,o=r?r.nextSibling:n.firstChild,i&&o!=a.dom&&(i.written=!0),a.dom.parentNode==n)for(;o&&o!=a.dom;)o=R0(o);else n.insertBefore(a.dom,o);r=a.dom}for(o=r?r.nextSibling:n.firstChild,i&&o&&(i.written=!0);o;)o=R0(o);this.length=s}}function R0(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class wl extends gl{constructor(e,n){super(n),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let n=Ct.get(e);if(n&&this.owns(n))return n;e=e.parentNode}}blockTiles(e){for(let n=[],r=this,o=0,i=0;;)if(o==r.children.length){if(!n.length)return;r=r.parent,r.breakAfter&&i++,o=n.pop()}else{let s=r.children[o++];if(s instanceof Ur)n.push(o),r=s,o=0;else{let a=i+s.length,l=e(s,i);if(l!==void 0)return l;i=a+s.breakAfter}}}resolveBlock(e,n){let r,o=-1,i,s=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&n>=-1&&n<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==c&&(n<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,o=e-l),(c>e||e==l&&(n>1?a.length:a.covers(-1)))&&(!i||!a.isWidget()&&i.isWidget())&&(i=a,s=e-l)}}),!r&&!i)throw new Error("No tile at position "+e);return r&&n<0||!i?{tile:r,offset:o}:{tile:i,offset:s}}}class Ur extends gl{constructor(e,n){super(e),this.wrapper=n}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,n){let r=new Ur(n||document.createElement(e.tagName),e);return n||(r.flags|=4),r}}class ii extends gl{constructor(e,n){super(e),this.attrs=n}isLine(){return!0}static start(e,n,r){let o=new ii(n||document.createElement("div"),e);return(!n||!r)&&(o.flags|=4),o}get domAttrs(){return this.attrs}resolveInline(e,n,r){let o=null,i=-1,s=null,a=-1;function l(u,d){for(let f=0,p=0;f<u.children.length&&p<=d;f++){let m=u.children[f],w=p+m.length;w>=d&&(m.isComposite()?l(m,d-p):(!s||s.isHidden&&(n>0||r&&dT(s,m)))&&(w>d||m.flags&32)?(s=m,a=d-p):(p<d||m.flags&16&&!m.isHidden)&&(o=m,i=d-p)),p=w}}l(this,e);let c=(n<0?o:s)||o||s;return c?{tile:c,offset:c==o?i:a}:null}coordsIn(e,n){let r=this.resolveInline(e,n,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),n):uT(this)}domIn(e,n){let r=this.resolveInline(e,n);if(r){let{tile:o,offset:i}=r;if(this.dom.contains(o.dom))return o.isText()?new Nn(o.dom,Math.min(o.dom.nodeValue.length,i)):o.domPosFor(i,o.flags&16?1:o.flags&32?-1:n);let s=r.tile.parent,a=!1;for(let l of s.children){if(a)return new Nn(l.dom,0);l==r.tile&&(a=!0)}}return new Nn(this.dom,0)}}function uT(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=ys(e);return n[n.length-1]||null}function dT(t,e){let n=t.coordsIn(0,1),r=e.coordsIn(0,1);return n&&r&&r.top<n.bottom}class nn extends gl{constructor(e,n){super(e),this.mark=n}get domAttrs(){return this.mark.attrs}static of(e,n){let r=new nn(n||document.createElement(e.tagName),e);return n||(r.flags|=4),r}}class So extends Ct{constructor(e,n){super(e,n.length),this.text=n}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,n){let r=this.dom.nodeValue.length;e>r&&(e=r);let o=e,i=e,s=0;e==0&&n<0||e==r&&n>=0?xe.chrome||xe.gecko||(e?(o--,s=1):i<r&&(i++,s=-1)):n<0?o--:i<r&&i++;let a=ks(this.dom,o,i).getClientRects();if(!a.length)return null;let l=a[(s?s<0:n>=0)?0:a.length-1];return xe.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),s?Cs(l,s<0):l||null}static of(e,n){let r=new So(n||document.createTextNode(e),e);return n||(r.flags|=2),r}}class Eo extends Ct{constructor(e,n,r,o){super(e,n,o),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,n){return this.coordsInWidget(e,n,!1)}coordsInWidget(e,n,r){let o=this.widget.coordsAt(this.dom,e,n);if(o)return o;if(r)return Cs(this.dom.getBoundingClientRect(),this.length?e==0:n<=0);{let i=this.dom.getClientRects(),s=null;if(!i.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?i.length-1:0;s=i[l],!(e>0?l==0:l==i.length-1||s.top<s.bottom);l+=a?-1:1);return Cs(s,!a)}}get overrideDOMText(){if(!this.length)return Xe.empty;let{root:e}=this;if(!e)return Xe.empty;let n=this.posAtStart;return e.view.state.doc.slice(n,n+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,n,r,o,i){return i||(i=e.toDOM(n),e.editable||(i.contentEditable="false")),new Eo(i,r,e,o)}}class vl extends Ct{constructor(e){let n=document.createElement("img");n.className="cm-widgetBuffer",n.setAttribute("aria-hidden","true"),super(n,0,e)}get isHidden(){return!0}get overrideDOMText(){return Xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class fT{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,n,r){let{tile:o,index:i,beforeBreak:s,parents:a}=this;for(;e||n>0;)if(o.isComposite())if(s){if(!e)break;r&&r.break(),e--,s=!1}else if(i==o.children.length){if(!e&&!a.length)break;r&&r.leave(o),s=!!o.breakAfter,{tile:o,index:i}=a.pop(),i++}else{let l=o.children[i],c=l.breakAfter;(n>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!c,i++,e-=l.length):(a.push({tile:o,index:i}),o=l,i=0,r&&l.isComposite()&&r.enter(l))}else if(i==o.length)s=!!o.breakAfter,{tile:o,index:i}=a.pop(),i++;else if(e){let l=Math.min(e,o.length-i);r&&r.skip(o,i,i+l),e-=l,i+=l}else break;return this.tile=o,this.index=i,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class hT{constructor(e,n,r,o){this.from=e,this.to=n,this.wrapper=r,this.rank=o}}class pT{constructor(e,n,r){this.cache=e,this.root=n,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,n,r,o){var i;this.flushBuffer();let s=this.ensureMarks(n,r),a=s.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=s.children[s.children.length-1]=new So(a.dom,a.text+e);l.parent=s}else s.append(o||So.of(e,(i=this.cache.find(So))===null||i===void 0?void 0:i.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,n){let r=this.curLine;r.dom!=n.line.dom&&(r.setDOM(this.cache.reused.has(n.line)?Jd(n.line.dom):n.line.dom),this.cache.reused.set(n.line,2));let o=r;for(let a=n.marks.length-1;a>=0;a--){let l=n.marks[a],c=o.lastChild;if(c instanceof nn&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(Jd(l.dom)),o=c;else{if(this.cache.reused.get(l)){let d=Ct.get(l.dom);d&&d.setDOM(Jd(l.dom))}let u=nn.of(l.mark,l.dom);o.append(u),o=u}this.cache.reused.set(l,2)}let i=Ct.get(e.text);i&&this.cache.reused.set(i,2);let s=new So(e.text,e.text.nodeValue);s.flags|=8,o.append(s)}addInlineWidget(e,n,r){let o=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);o||this.flushBuffer();let i=this.ensureMarks(n,r);!o&&!(e.flags&16)&&i.append(this.getBuffer(1)),i.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,n,r){this.flushBuffer(),this.ensureMarks(n,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let n=this.afterWidget||this.lastBlock;n.length+=e,this.pos+=e}addLineStart(e,n){var r;e||(e=K0);let o=ii.start(e,n||((r=this.cache.find(ii))===null||r===void 0?void 0:r.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=o)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,n){var r;let o=this.curLine;for(let i=e.length-1;i>=0;i--){let s=e[i],a;if(n>0&&(a=o.lastChild)&&a instanceof nn&&a.mark.eq(s))o=a,n--;else{let l=nn.of(s,(r=this.cache.find(nn,c=>c.mark.eq(s)))===null||r===void 0?void 0:r.dom);o.append(l),o=l,n=0}}return o}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!G0(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(xe.ios&&G0(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Qd,0,32)||new Eo(Qd.toDOM(),0,Qd,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let n=new hT(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-n.rank||this.wrappers[r-1].to-n.to)<0;)r--;this.wrappers.splice(r,0,n)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let n=this.root;for(let r of this.wrappers){let o=n.lastChild;if(r.from<this.pos&&o instanceof Ur&&o.wrapper.eq(r.wrapper))n=o;else{let i=Ur.of(r.wrapper,(e=this.cache.find(Ur,s=>s.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);n.append(i),n=i}}return n}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let n=2|(e<0?16:32),r=this.cache.find(vl,void 0,1);return r&&(r.flags=n),r||new vl(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class mT{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:o,lineBreak:i,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=o;let a=this.textOff=Math.min(e,o.length);return i?null:o.slice(0,a)}let n=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,n);return this.textOff=n,r}}const yl=[Eo,ii,So,nn,vl,Ur,wl];for(let t=0;t<yl.length;t++)yl[t].bucket=t;class gT{constructor(e){this.view=e,this.buckets=yl.map(()=>[]),this.index=yl.map(()=>0),this.reused=new Map}add(e){let n=e.constructor.bucket,r=this.buckets[n];r.length<6?r.push(e):r[this.index[n]=(this.index[n]+1)%6]=e}find(e,n,r=2){let o=e.bucket,i=this.buckets[o],s=this.index[o];for(let a=i.length-1;a>=0;a--){let l=(a+s)%i.length,c=i[l];if((!n||n(c))&&!this.reused.has(c))return i.splice(l,1),l<s&&this.index[o]--,this.reused.set(c,r),c}return null}findWidget(e,n,r){let o=this.buckets[0];if(o.length)for(let i=0,s=0;;i++){if(i==o.length){if(s)return null;s=1,i=0}let a=o[i];if(!this.reused.has(a)&&(s==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return o.splice(i,1),i<this.index[0]&&this.index[0]--,a.widget==e&&a.length==n&&(a.flags&497)==r?(this.reused.set(a,1),a):(this.reused.set(a,2),new Eo(a.dom,n,e,a.flags&-498|r))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,n=2){if(!this.reused.has(e))return this.reused.set(e,n),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class wT{constructor(e,n,r,o,i){this.view=e,this.decorations=o,this.disallowBlockEffectsFor=i,this.openWidget=!1,this.openMarks=0,this.cache=new gT(e),this.text=new mT(e.state.doc),this.builder=new pT(this.cache,new wl(e,e.contentDOM),je.iter(r)),this.cache.reused.set(n,2),this.old=new fT(n),this.reuseWalker={skip:(s,a,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,n){let r=n&&this.getCompositionContext(n.text);for(let o=0,i=0,s=0;;){let a=s<e.length?e[s++]:null,l=a?a.fromA:this.old.root.length;if(l>o){let c=l-o;this.preserve(c,!s,!a),o=l,i+=c}if(!a)break;n&&a.fromA<=n.range.fromA&&a.toA>=n.range.toA?(this.forward(a.fromA,n.range.fromA,n.range.fromA<n.range.toA?1:-1),this.emit(i,n.range.fromB),this.cache.clear(),this.builder.addComposition(n,r),this.text.skip(n.range.toB-n.range.fromB),this.forward(n.range.fromA,a.toA),this.emit(n.range.toB,a.toB)):(this.forward(a.fromA,a.toA),this.emit(i,a.toB)),i=a.toB,o=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,n,r){let o=bT(this.old),i=this.openMarks;this.old.advance(e,r?1:-1,{skip:(s,a,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a<s.length?Eo.of(s.widget,this.view,l-a,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,o,i),i=o.length)}else if(s.isText())this.builder.ensureLine(null),!a&&l==s.length?this.builder.addText(s.text,o,i,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(a,l),o,i)),i=o.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof vl)this.cache.add(s);else if(s instanceof nn)this.builder.ensureLine(null),this.builder.addMark(s,o,i),this.cache.reused.set(s,1),i=o.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof nn&&o.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?o.length&&(o.length=i=0):s instanceof nn&&(o.shift(),i=Math.min(i,o.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,n){let r=null,o=this.builder,i=0,s=je.spans(this.decorations,e,n,{point:(a,l,c,u,d,f)=>{if(c instanceof Co){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(i=u.length,d>u.length)o.continueWidget(l-a);else{let p=c.widget||(c.block?si.block:si.inline),m=vT(c),w=this.cache.findWidget(p,l-a,m)||Eo.of(p,this.view,l-a,m);c.block?(c.startSide>0&&o.addLineStartIfNotCovered(r),o.addBlockWidget(w)):(o.ensureLine(r),o.addInlineWidget(w,u,d))}r=null}else r=yT(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,u)=>{for(let d=a;d<l;){let f=this.text.next(Math.min(512,l-d));f==null?(o.addLineStartIfNotCovered(r),o.addBreak(),d++):(o.ensureLine(r),o.addText(f,c,u),d+=f.length),r=null}}});o.addLineStartIfNotCovered(r),this.openWidget=s>i,this.openMarks=s}forward(e,n,r=1){n-e<=10?this.old.advance(n-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let n=[],r=null;for(let o=e.parentNode;;o=o.parentNode){let i=Ct.get(o);if(o==this.view.contentDOM)break;i instanceof nn?n.push(i):i!=null&&i.isLine()?r=i:o.nodeName=="DIV"&&!r&&o!=this.view.contentDOM?r=new ii(o,K0):n.push(nn.of(new ms({tagName:o.nodeName.toLowerCase(),attributes:qB(o)}),o))}return{line:r,marks:n}}}function G0(t,e){let n=r=>{for(let o of r.children)if((e?o.isText():o.length)||n(o))return!0;return!1};return n(t)}function vT(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const K0={class:"cm-line"};function yT(t,e){let n=e.spec.attributes,r=e.spec.class;return!n&&!r||(t||(t={class:"cm-line"}),n&&Ld(n,t),r&&(t.class+=" "+r)),t}function bT(t){let e=[];for(let n=t.parents.length;n>1;n--){let r=n==t.parents.length?t.tile:t.parents[n].tile;r instanceof nn&&e.push(r.mark)}return e}function Jd(t){let e=Ct.get(t);return e&&e.setDOM(t.cloneNode()),t}class si extends dn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}si.inline=new si("span"),si.block=new si("div");const Qd=new class extends dn{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class X0{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Se.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new wl(e,e.contentDOM),this.updateInner([new Cn(0,0,0,e.state.doc.length)],null)}update(e){var n;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:u,toA:d})=>d<this.minWidthFrom||u>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let o=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?o=this.domChanged.newSel.head:!BT(e.changes,this.hasComposition)&&!e.selectionSet&&(o=e.state.selection.main.head));let i=o>-1?kT(this.view,e.changes,o):null;if(this.domChanged=null,this.hasComposition){let{from:u,to:d}=this.hasComposition;r=new Cn(u,d,e.changes.mapPos(u,-1),e.changes.mapPos(d,1)).addToSet(r.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(xe.ie||xe.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,a=this.blockWrappers;this.updateDeco();let l=ET(s,this.decorations,e.changes);l.length&&(r=Cn.extendWithRanges(r,l));let c=AT(a,this.blockWrappers,e.changes);return c.length&&(r=Cn.extendWithRanges(r,c)),i&&!r.some(u=>u.fromA<=i.range.fromA&&u.toA>=i.range.toA)&&(r=i.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(n||e.length){let s=this.tile,a=new wT(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,n),Zd(s,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let i=xe.chrome||xe.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(i),i&&(i.written||r.selectionRange.focusNode!=i.node||!this.tile.dom.contains(i.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let i of this.tile.children)i.isWidget()&&i.widget instanceof ef&&o.push(i.dom);r.updateGaps(o)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let n of e.transactions)for(let r of n.effects)r.is($0)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,n=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,o=this.view.root.activeElement,i=o==r,s=!i&&!(this.view.state.facet(yr)||r.tabIndex>-1)&&vs(r,this.view.observer.selectionRange)&&!(o&&r.contains(o));if(!(i||n||s))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,u;if(l.empty?u=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(u=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),xe.gecko&&l.empty&&!this.hasComposition&&CT(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=u=new Nn(f,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!bs(c.node,c.offset,d.anchorNode,d.anchorOffset)||!bs(u.node,u.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{xe.android&&xe.chrome&&r.contains(d.focusNode)&&OT(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=ti(this.view.root);if(f)if(l.empty){if(xe.gecko){let p=xT(c.node,c.offset);if(p&&p!=3){let m=(p==1?S0:E0)(c.node,c.offset);m&&(c=new Nn(m.node,m.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(u.node,u.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,u]=[u,c]),p.setEnd(u.node,u.offset),p.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(p)}s&&this.view.root.activeElement==r&&(r.blur(),o&&o.focus())}),this.view.observer.setSelectionRange(c,u)),this.impreciseAnchor=c.precise?null:new Nn(d.anchorNode,d.anchorOffset),this.impreciseHead=u.precise?null:new Nn(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,n){return this.hasComposition&&n.empty&&bs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,r=ti(e.root),{anchorNode:o,anchorOffset:i}=e.observer.selectionRange;if(!r||!n.empty||!n.assoc||!r.modify)return;let s=this.lineAt(n.head,n.assoc);if(!s)return;let a=s.posAtStart;if(n.head==a||n.head==a+s.length)return;let l=this.coordsAt(n.head,-1),c=this.coordsAt(n.head,1);if(!l||!c||l.bottom>c.top)return;let u=this.domAtPos(n.head+n.assoc,n.assoc);r.collapse(u.node,u.offset),r.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=n.from&&r.collapse(o,i)}posFromDOM(e,n){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let o=r.posAtStart;if(r.isComposite()){let i;if(e==r.dom)i=r.dom.childNodes[n];else{let s=wr(e)==0?0:n==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;s==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?s=-1:s=1),e=a}s<0?i=e:i=e.nextSibling}if(i==r.dom.firstChild)return o;for(;i&&!Ct.get(i);)i=i.nextSibling;if(!i)return o+r.length;for(let s=0,a=o;;s++){let l=r.children[s];if(l.dom==i)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?o+n:o+(n?r.length:0):o}domAtPos(e,n){let{tile:r,offset:o}=this.tile.resolveBlock(e,n);return r.isWidget()?r.domPosFor(e,n):r.domIn(o,n)}inlineDOMNearPos(e,n){let r,o=-1,i=!1,s,a=-1,l=!1;return this.tile.blockTiles((c,u)=>{if(c.isWidget()){if(c.flags&32&&u>=e)return!0;c.flags&16&&(i=!0)}else{let d=u+c.length;if(u<=e&&(r=c,o=e-u,i=d<e),d>=e&&!s&&(s=c,a=e-u,l=u>e),u>e&&s)return!0}}),!r&&!s?this.domAtPos(e,n):(i&&s?r=null:l&&r&&(s=null),r&&n<0||!s?r.domIn(o,n):s.domIn(a,n))}coordsAt(e,n){let{tile:r,offset:o}=this.tile.resolveBlock(e,n);return r.isWidget()?r.widget instanceof ef?null:r.coordsInWidget(o,n,!0):r.coordsIn(o,n)}lineAt(e,n){let{tile:r}=this.tile.resolveBlock(e,n);return r.isLine()?r:null}coordsForChar(e){let{tile:n,offset:r}=this.tile.resolveBlock(e,1);if(!n.isLine())return null;function o(i,s){if(i.isComposite())for(let a of i.children){if(a.length>=s){let l=o(a,s);if(l)return l}if(s-=a.length,s<0)break}else if(i.isText()&&s<i.length){let a=St(i.text,s);if(a==s)return null;let l=ks(i.dom,s,a).getClientRects();for(let c=0;c<l.length;c++){let u=l[c];if(c==l.length-1||u.top<u.bottom&&u.left<u.right)return u}}return null}return o(n,r)}measureVisibleLineHeights(e){let n=[],{from:r,to:o}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Ze.LTR,c=0,u=(d,f,p)=>{for(let m=0;m<d.children.length&&!(f>o);m++){let w=d.children[m],v=f+w.length,y=w.dom.getBoundingClientRect(),{height:g}=y;if(p&&!m&&(c+=y.top-p.top),w instanceof Ur)v>r&&u(w,f,y);else if(f>=r&&(c>0&&n.push(-c),n.push(g+c),c=0,s)){let x=w.dom.lastChild,S=x?ys(x):[];if(S.length){let b=S[S.length-1],k=l?b.right-y.left:y.right-b.left;k>a&&(a=k,this.minWidth=i,this.minWidthFrom=f,this.minWidthTo=v)}}p&&m==d.children.length-1&&(c+=p.bottom-y.bottom),f=v+w.breakAfter}};return u(this.tile,0,null),n}textDirectionAt(e){let{tile:n}=this.tile.resolveBlock(e,1);return getComputedStyle(n.dom).direction=="rtl"?Ze.RTL:Ze.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let a=0,l;for(let c of s.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let u=ys(c.dom);if(u.length!=1)return;a+=u[0].width,l=u[0].height}if(a)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:a/s.length,textHeight:l}}});if(e)return e;let n=document.createElement("div"),r,o,i;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let s=ys(n.firstChild)[0];r=n.getBoundingClientRect().height,o=s&&s.width?s.width/27:7,i=s&&s.height?s.height:r,n.remove()}),{lineHeight:r,charWidth:o,textHeight:i}}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let r=0,o=0;;o++){let i=o==n.viewports.length?null:n.viewports[o],s=i?i.from-1:this.view.state.doc.length;if(s>r){let a=(n.lineBlockAt(s).bottom-n.lineBlockAt(r).top)/this.view.scaleY;e.push(Se.replace({widget:new ef(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,s))}if(!i)break;r=i.to+1}return Se.set(e)}updateDeco(){let e=1,n=this.view.state.facet(pl).map(i=>(this.dynamicDecorationMap[e++]=typeof i=="function")?i(this.view):i),r=!1,o=this.view.state.facet(Xd).map((i,s)=>{let a=typeof i=="function";return a&&(r=!0),a?i(this.view):i});for(o.length&&(this.dynamicDecorationMap[e++]=r,n.push(je.join(o))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(W0).map(i=>typeof i=="function"?i(this.view):i)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(H0))try{if(c(this.view,e.range,e))return!0}catch(u){tn(this.view.state,u,"scroll handler")}let{range:n}=e,r=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1),o;if(!r)return;!n.empty&&(o=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(r={left:Math.min(r.left,o.left),top:Math.min(r.top,o.top),right:Math.max(r.right,o.right),bottom:Math.max(r.bottom,o.bottom)});let i=Yd(this.view),s={left:r.left-i.left,top:r.top-i.top,right:r.right+i.right,bottom:r.bottom+i.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;KB(this.view.scrollDOM,s,n.head<n.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Ze.LTR)}lineHasWidget(e){let n=r=>r.isWidget()||r.children.some(n);return n(this.tile.resolveBlock(e,1).tile)}destroy(){Zd(this.tile)}}function Zd(t,e){let n=e==null?void 0:e.get(t);if(n!=1){n==null&&t.destroy();for(let r of t.children)Zd(r,e)}}function CT(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function Y0(t,e){let n=t.observer.selectionRange;if(!n.focusNode)return null;let r=S0(n.focusNode,n.focusOffset),o=E0(n.focusNode,n.focusOffset),i=r||o;if(o&&r&&o.node!=r.node){let a=Ct.get(o.node);if(!a||a.isText()&&a.text!=o.node.nodeValue)i=o;else if(t.docView.lastCompositionAfterCursor){let l=Ct.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(i=o)}}if(t.docView.lastCompositionAfterCursor=i!=r,!i)return null;let s=e-i.offset;return{from:s,to:s+i.node.nodeValue.length,node:i.node}}function kT(t,e,n){let r=Y0(t,n);if(!r)return null;let{node:o,from:i,to:s}=r,a=o.nodeValue;if(/[\n\r]/.test(a)||t.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new Cn(l.mapPos(i),l.mapPos(s),i,s),text:o}}function xT(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let ST=class{constructor(){this.changes=[]}compareRange(e,n){ei(e,n,this.changes)}comparePoint(e,n){ei(e,n,this.changes)}boundChange(e){ei(e,e,this.changes)}};function ET(t,e,n){let r=new ST;return je.compare(t,e,n,r),r.changes}class DT{constructor(){this.changes=[]}compareRange(e,n){ei(e,n,this.changes)}comparePoint(){}boundChange(e){ei(e,e,this.changes)}}function AT(t,e,n){let r=new DT;return je.compare(t,e,n,r),r.changes}function OT(t,e){for(let n=t;n&&n!=e;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable=="false")return!0;return!1}function BT(t,e){let n=!1;return e&&t.iterChangedRanges((r,o)=>{r<e.to&&o>e.from&&(n=!0)}),n}class ef extends dn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function TT(t,e,n=1){let r=t.charCategorizer(e),o=t.doc.lineAt(e),i=e-o.from;if(o.length==0)return oe.cursor(e);i==0?n=1:i==o.length&&(n=-1);let s=i,a=i;n<0?s=St(o.text,i,!1):a=St(o.text,i);let l=r(o.text.slice(s,a));for(;s>0;){let c=St(o.text,s,!1);if(r(o.text.slice(c,s))!=l)break;s=c}for(;a<o.length;){let c=St(o.text,a);if(r(o.text.slice(a,c))!=l)break;a=c}return oe.range(s+o.from,a+o.from)}function _T(t,e,n,r,o){let i=Math.round((r-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&n.height>t.defaultLineHeight*1.5){let a=t.viewState.heightOracle.textHeight,l=Math.floor((o-n.top-(t.defaultLineHeight-a)*.5)/a);i+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(n.from,n.to);return n.from+Od(s,i,t.state.tabSize)}function tf(t,e,n){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let o;for(let i of r.type){if(i.from>e)break;if(!(i.to<e)){if(i.from<e&&i.to>e)return i;(!o||i.type==It.Text&&(o.type!=i.type||(n<0?i.from<e:i.to>e)))&&(o=i)}}return o||r}return r}function NT(t,e,n,r){let o=tf(t,e.head,e.assoc||-1),i=!r||o.type!=It.Text||!(t.lineWrapping||o.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>o.from?e.head-1:e.head);if(i){let s=t.dom.getBoundingClientRect(),a=t.textDirectionAt(o.from),l=t.posAtCoords({x:n==(a==Ze.LTR)?s.right-1:s.left+1,y:(i.top+i.bottom)/2});if(l!=null)return oe.cursor(l,n?-1:1)}return oe.cursor(n?o.to:o.from,n?-1:1)}function J0(t,e,n,r){let o=t.state.doc.lineAt(e.head),i=t.bidiSpans(o),s=t.textDirectionAt(o.from);for(let a=e,l=null;;){let c=sT(o,i,s,a,n),u=T0;if(!c){if(o.number==(n?t.state.doc.lines:1))return a;u=`
17
+ `,o=t.state.doc.line(o.number+(n?1:-1)),i=t.bidiSpans(o),c=t.visualLineSide(o,!n)}if(l){if(!l(u))return a}else{if(!r)return c;l=r(u)}a=c}}function FT(t,e,n){let r=t.state.charCategorizer(e),o=r(n);return i=>{let s=r(i);return o==it.Space&&(o=s),o==s}}function MT(t,e,n,r){let o=e.head,i=n?1:-1;if(o==(n?t.state.doc.length:0))return oe.cursor(o,e.assoc);let s=e.goalColumn,a,l=t.contentDOM.getBoundingClientRect(),c=t.coordsAtPos(o,e.assoc||-1),u=t.documentTop;if(c)s==null&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let m=t.viewState.lineBlockAt(o);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(o-m.from))),a=(i<0?m.top:m.bottom)+u}let d=l.left+s,f=r??t.viewState.heightOracle.textHeight>>1,p=rf(t,{x:d,y:a+f*i},!1,i);return oe.cursor(p.pos,p.assoc,void 0,s)}function Es(t,e,n){for(;;){let r=0;for(let o of t)o.between(e-1,e+1,(i,s,a)=>{if(e>i&&e<s){let l=r||n||(e-i<s-e?-1:1);e=l<0?i:s,r=l}});if(!r)return e}}function Q0(t,e){let n=null;for(let r=0;r<e.ranges.length;r++){let o=e.ranges[r],i=null;if(o.empty){let s=Es(t,o.from,0);s!=o.from&&(i=oe.cursor(s,-1))}else{let s=Es(t,o.from,-1),a=Es(t,o.to,1);(s!=o.from||a!=o.to)&&(i=oe.range(o.from==o.anchor?s:a,o.from==o.head?s:a))}i&&(n||(n=e.ranges.slice()),n[r]=i)}return n?oe.create(n,e.mainIndex):e}function nf(t,e,n){let r=Es(t.state.facet(xs).map(o=>o(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:oe.cursor(r,r<n.from?1:-1)}class nr{constructor(e,n){this.pos=e,this.assoc=n}}function rf(t,e,n,r){let o=t.contentDOM.getBoundingClientRect(),i=o.top+t.viewState.paddingTop,{x:s,y:a}=e,l=a-i,c;for(;;){if(l<0)return new nr(0,1);if(l>t.viewState.docHeight)return new nr(t.state.doc.length,-1);if(c=t.elementAtHeight(l),r==null)break;if(c.type==It.Text){let f=t.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+i:f.bottom>=l+i))break}let d=t.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+d:c.top-d}if(t.viewport.from>=c.to||t.viewport.to<=c.from){if(n)return null;if(c.type==It.Text){let d=_T(t,o,c,s,a);return new nr(d,d==c.from?1:-1)}}if(c.type!=It.Text)return l<(c.top+c.bottom)/2?new nr(c.from,1):new nr(c.to,-1);let u=t.docView.lineAt(c.from,2);return(!u||u.length!=c.length)&&(u=t.docView.lineAt(c.from,-2)),Z0(t,u,c.from,s,a)}function Z0(t,e,n,r,o){let i=-1,s=null,a=1e9,l=1e9,c=o,u=o,d=(f,p)=>{for(let m=0;m<f.length;m++){let w=f[m];if(w.top==w.bottom)continue;let v=w.left>r?w.left-r:w.right<r?r-w.right:0,y=w.top>o?w.top-o:w.bottom<o?o-w.bottom:0;w.top<=u&&w.bottom>=c&&(c=Math.min(w.top,c),u=Math.max(w.bottom,u),y=0),(i<0||(y-l||v-a)<0)&&(i>=0&&l&&a<v&&s.top<=u-2&&s.bottom>=c+2?l=0:(i=p,a=v,l=y,s=w))}};if(e.isText()){for(let p=0;p<e.length;){let m=St(e.text,p);if(d(ks(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(s.left+s.right)/2==(ev(t,i+n)==Ze.LTR)?new nr(n+St(e.text,i),-1):new nr(n+i,1)}else{if(!e.length)return new nr(n,1);for(let w=0;w<e.children.length;w++){let v=e.children[w];if(v.flags&48)continue;let y=(v.dom.nodeType==1?v.dom:ks(v.dom,0,v.length)).getClientRects();if(d(y,w),!a&&!l)break}let f=e.children[i],p=e.posBefore(f,n);return f.isComposite()||f.isText()?Z0(t,f,p,Math.max(s.left,Math.min(s.right,r)),o):r>(s.left+s.right)/2==(ev(t,i+n)==Ze.LTR)?new nr(p+f.length,-1):new nr(p,1)}}function ev(t,e){let n=t.state.doc.lineAt(e);return t.bidiSpans(n)[vr.find(t.bidiSpans(n),e-n.from,-1,1)].dir}const Ds="￿";class IT{constructor(e,n){this.points=e,this.view=n,this.text="",this.lineSeparator=n.state.facet(Ve.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Ds}readRange(e,n){if(!e)return this;let r=e.parentNode;for(let o=e;;){this.findPointBefore(r,o);let i=this.text.length;this.readNode(o);let s=Ct.get(o),a=o.nextSibling;if(a==n){s!=null&&s.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Ct.get(a);(s&&l?s.breakAfter:(s?s.breakAfter:fl(o))||fl(a)&&(o.nodeName!="BR"||s!=null&&s.isWidget())&&this.text.length>i)&&!LT(a,n)&&this.lineBreak(),o=a}return this.findPointBefore(r,n),this}readTextNode(e){let n=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,n.length));for(let r=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,a;if(this.lineSeparator?(i=n.indexOf(this.lineSeparator,r),s=this.lineSeparator.length):(a=o.exec(n))&&(i=a.index,s=a[0].length),this.append(n.slice(r,i<0?n.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);r=i+s}}readNode(e){let n=Ct.get(e),r=n&&n.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let o=r.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==n&&(r.pos=this.text.length)}findPointInside(e,n){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(PT(e,r.node,r.offset)?n:0))}}function PT(t,e,n){for(;;){if(!e||n<wr(e))return!1;if(e==t)return!0;n=Vr(e)+1,e=e.parentNode}}function LT(t,e){let n;for(;!(t==e||!t);t=t.nextSibling){let r=Ct.get(t);if(!(r!=null&&r.isWidget()))return!1;r&&(n||(n=[])).push(r)}if(n)for(let r of n){let o=r.overrideDOMText;if(o!=null&&o.length)return!1}return!0}class tv{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}}class zT{constructor(e,n,r,o){this.typeOver=o,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=nv(e.docView.tile,n,r,0))){let a=i||s?[]:$T(e),l=new IT(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=jT(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=i&&i.node==a.focusNode&&i.offset==a.focusOffset||!Hd(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!Hd(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((xe.ios||xe.chrome)&&e.state.selection.main.empty&&l!=c&&(u.from>0||u.to<e.state.doc.length)){let d=Math.min(l,c),f=Math.max(l,c),p=u.from-d,m=u.to-f;(p==0||p==1||d==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(oe.range(c,l)):this.newSel=oe.single(c,l)}}}function nv(t,e,n,r){if(t.isComposite()){let o=-1,i=-1,s=-1,a=-1;for(let l=0,c=r,u=r;l<t.children.length;l++){let d=t.children[l],f=c+d.length;if(c<e&&f>n)return nv(d,e,n,c);if(f>=e&&o==-1&&(o=l,i=c),c>n&&d.dom.parentNode==t.dom){s=l,a=u;break}u=f,c=f+d.breakAfter}return{from:i,to:a<0?r+t.length:a,startDOM:(o?t.children[o-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function rv(t,e){let n,{newSel:r}=e,o=t.state.selection.main,i=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,l=o.from,c=null;(i===8||xe.android&&e.text.length<a-s)&&(l=o.to,c="end");let u=ov(t.state.doc.sliceString(s,a,Ds),e.text,l-s,c);u&&(xe.chrome&&i==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==Ds+Ds&&u.toB--,n={from:s+u.from,to:s+u.toA,insert:Xe.of(e.text.slice(u.from,u.toB).split(Ds))})}else r&&(!t.hasFocus&&t.state.facet(yr)||bl(r,o))&&(r=null);if(!n&&!r)return!1;if(!n&&e.typeOver&&!o.empty&&r&&r.main.empty?n={from:o.from,to:o.to,insert:t.state.doc.slice(o.from,o.to)}:(xe.mac||xe.android)&&n&&n.from==n.to&&n.from==o.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&n.insert.length==2&&(r=oe.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:Xe.of([n.insert.toString().replace("."," ")])}):n&&n.from>=o.from&&n.to<=o.to&&(n.from!=o.from||n.to!=o.to)&&o.to-o.from-(n.to-n.from)<=4?n={from:o.from,to:o.to,insert:t.state.doc.slice(o.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,o.to))}:t.state.doc.lineAt(o.from).to<o.to&&t.docView.lineHasWidget(o.to)&&t.inputState.insertingTextAt>Date.now()-50?n={from:o.from,to:o.to,insert:t.state.toText(t.inputState.insertingText)}:xe.chrome&&n&&n.from==n.to&&n.from==o.head&&n.insert.toString()==`
18
+ `&&t.lineWrapping&&(r&&(r=oe.single(r.main.anchor-1,r.main.head-1)),n={from:o.from,to:o.to,insert:Xe.of([" "])}),n)return of(t,n,r,i);if(r&&!bl(r,o)){let s=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(s=!0),a=t.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Q0(t.state.facet(xs).map(l=>l(t)),r))),t.dispatch({selection:r,scrollIntoView:s,userEvent:a}),!0}else return!1}function of(t,e,n,r=-1){if(xe.ios&&t.inputState.flushIOSKey(e))return!0;let o=t.state.selection.main;if(xe.android&&(e.to==o.to&&(e.from==o.from||e.from==o.from-1&&t.state.sliceDoc(e.from,o.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ni(t.contentDOM,"Enter",13)||(e.from==o.from-1&&e.to==o.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>o.head)&&ni(t.contentDOM,"Backspace",8)||e.from==o.from&&e.to==o.to+1&&e.insert.length==0&&ni(t.contentDOM,"Delete",46)))return!0;let i=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,a=()=>s||(s=HT(t,e,n));return t.state.facet(I0).some(l=>l(t,e.from,e.to,i,a))||t.dispatch(a()),!0}function HT(t,e,n){let r,o=t.state,i=o.selection.main,s=-1;if(e.from==e.to&&e.from<i.from||e.from>i.to){let l=e.from<i.from?-1:1,c=l<0?i.from:i.to,u=Es(o.facet(xs).map(d=>d(t)),c,l);e.from==u&&(s=u)}if(s>-1)r={changes:e,selection:oe.cursor(e.from+e.insert.length,-1)};else if(e.from>=i.from&&e.to<=i.to&&e.to-e.from>=(i.to-i.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=i.from<e.from?o.sliceDoc(i.from,e.from):"",c=i.to>e.to?o.sliceDoc(e.to,i.to):"";r=o.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+c))}else{let l=o.changes(e),c=n&&n.main.to<=l.newLength?n.main:void 0;if(o.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=i.to+10&&e.to>=i.to-10){let u=t.state.sliceDoc(e.from,e.to),d,f=n&&Y0(t,n.main.head);if(f){let m=e.insert.length-(e.to-e.from);d={from:f.from,to:f.to-m}}else d=t.state.doc.lineAt(i.head);let p=i.to-e.to;r=o.changeByRange(m=>{if(m.from==i.from&&m.to==i.to)return{changes:l,range:c||m.map(l)};let w=m.to-p,v=w-u.length;if(t.state.sliceDoc(v,w)!=u||w>=d.from&&v<=d.to)return{range:m};let y=o.changes({from:v,to:w,insert:e.insert}),g=m.to-i.to;return{changes:y,range:c?oe.range(Math.max(0,c.anchor+g),Math.max(0,c.head+g)):m.map(y)}})}else r={changes:l,selection:c&&o.selection.replaceRange(c)}}let a="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),o.update(r,{userEvent:a,scrollIntoView:!0})}function ov(t,e,n,r){let o=Math.min(t.length,e.length),i=0;for(;i<o&&t.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==o&&t.length==e.length)return null;let s=t.length,a=e.length;for(;s>0&&a>0&&t.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(r=="end"){let l=Math.max(0,i-Math.min(s,a));n-=s+l-i}if(s<i&&t.length<e.length){let l=n<=i&&n>=s?i-n:0;i-=l,a=i+(a-s),s=i}else if(a<i){let l=n<=i&&n>=a?i-n:0;i-=l,s=i+(s-a),a=i}return{from:i,toA:s,toB:a}}function $T(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:i}=t.observer.selectionRange;return n&&(e.push(new tv(n,r)),(o!=n||i!=r)&&e.push(new tv(o,i))),e}function jT(t,e){if(t.length==0)return null;let n=t[0].pos,r=t.length==2?t[1].pos:n;return n>-1&&r>-1?oe.single(n+e,r+e):null}function bl(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class WT{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,xe.safari&&e.contentDOM.addEventListener("input",()=>null),xe.gecko&&r_(e.contentDOM.ownerDocument)}handleEvent(e){!YT(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,n){let r=this.handlers[e];if(r){for(let o of r.observers)o(this.view,n);for(let o of r.handlers){if(n.defaultPrevented)break;if(o(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=VT(e),r=this.handlers,o=this.view.contentDOM;for(let i in n)if(i!="scroll"){let s=!n[i].handlers.length,a=r[i];a&&s!=!a.handlers.length&&(o.removeEventListener(i,this.handleEvent),a=null),a||o.addEventListener(i,this.handleEvent,{passive:s})}for(let i in r)i!="scroll"&&!n[i]&&o.removeEventListener(i,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&av.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),xe.android&&xe.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return xe.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=sv.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||UT.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,ni(this.view.contentDOM,n.key,n.keyCode,n instanceof KeyboardEvent?n:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:xe.safari&&!xe.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function iv(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(o){tn(n.state,o)}}}function VT(t){let e=Object.create(null);function n(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let o=r.spec,i=o&&o.plugin.domEventHandlers,s=o&&o.plugin.domEventObservers;if(i)for(let a in i){let l=i[a];l&&n(a).handlers.push(iv(r.value,l))}if(s)for(let a in s){let l=s[a];l&&n(a).observers.push(iv(r.value,l))}}for(let r in Fn)n(r).handlers.push(Fn[r]);for(let r in kn)n(r).observers.push(kn[r]);return e}const sv=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],UT="dthko",av=[16,17,18,20,91,92,224,225],Cl=6;function kl(t){return Math.max(0,t)*.7+8}function qT(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class RT{constructor(e,n,r,o){this.view=e,this.startEvent=n,this.style=r,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=XB(e.contentDOM),this.atoms=e.state.facet(xs).map(s=>s(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(Ve.allowMultipleSelections)&&GT(e,n),this.dragging=XT(e,n)&&pv(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&qT(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,o=0,i=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:o,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Yd(this.view);e.clientX-l.left<=o+Cl?n=-kl(o-e.clientX):e.clientX+l.right>=s-Cl&&(n=kl(e.clientX-s)),e.clientY-l.top<=i+Cl?r=-kl(i-e.clientY):e.clientY+l.bottom>=a-Cl&&(r=kl(e.clientY-a)),this.setScrollSpeed(n,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:n}=this,r=Q0(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function GT(t,e){let n=t.state.facet(_0);return n.length?n[0](e):xe.mac?e.metaKey:e.ctrlKey}function KT(t,e){let n=t.state.facet(N0);return n.length?n[0](e):xe.mac?!e.altKey:!e.ctrlKey}function XT(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=ti(t.root);if(!r||r.rangeCount==0)return!0;let o=r.getRangeAt(0).getClientRects();for(let i=0;i<o.length;i++){let s=o[i];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function YT(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,r;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=Ct.get(n))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Fn=Object.create(null),kn=Object.create(null),lv=xe.ie&&xe.ie_version<15||xe.ios&&xe.webkit_version<604;function JT(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),cv(t,n.value)},50)}function xl(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function cv(t,e){e=xl(t.state,qd,e);let{state:n}=t,r,o=1,i=n.toText(e),s=i.lines==n.selection.ranges.length;if(sf!=null&&n.selection.ranges.every(l=>l.empty)&&sf==i.toString()){let l=-1;r=n.changeByRange(c=>{let u=n.doc.lineAt(c.from);if(u.from==l)return{range:c};l=u.from;let d=n.toText((s?i.line(o++).text:e)+n.lineBreak);return{changes:{from:u.from,insert:d},range:oe.cursor(c.from+d.length)}})}else s?r=n.changeByRange(l=>{let c=i.line(o++);return{changes:{from:l.from,to:l.to,insert:c.text},range:oe.cursor(l.from+c.length)}}):r=n.replaceSelection(i);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}kn.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft},Fn.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1),kn.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},kn.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},Fn.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of t.state.facet(F0))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=ZT(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new RT(t,e,n,r)),r&&t.observer.ignore(()=>{C0(t.contentDOM);let i=t.root.activeElement;i&&!i.contains(t.contentDOM)&&i.blur()});let o=t.inputState.mouseSelection;if(o)return o.start(e),o.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function uv(t,e,n,r){if(r==1)return oe.cursor(e,n);if(r==2)return TT(t.state,e,n);{let o=t.docView.lineAt(e,n),i=t.state.doc.lineAt(o?o.posAtEnd:e),s=o?o.posAtStart:i.from,a=o?o.posAtEnd:i.to;return a<t.state.doc.length&&a==i.to&&a++,oe.range(s,a)}}const QT=xe.ie&&xe.ie_version<=11;let dv=null,fv=0,hv=0;function pv(t){if(!QT)return t.detail;let e=dv,n=hv;return dv=t,hv=Date.now(),fv=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(fv+1)%3:1}function ZT(t,e){let n=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=pv(e),o=t.state.selection;return{update(i){i.docChanged&&(n.pos=i.changes.mapPos(n.pos),o=o.map(i.changes))},get(i,s,a){let l=t.posAndSideAtCoords({x:i.clientX,y:i.clientY},!1),c,u=uv(t,l.pos,l.assoc,r);if(n.pos!=l.pos&&!s){let d=uv(t,n.pos,n.assoc,r),f=Math.min(d.from,u.from),p=Math.max(d.to,u.to);u=f<u.from?oe.range(f,p):oe.range(p,f)}return s?o.replaceRange(o.main.extend(u.from,u.to)):a&&r==1&&o.ranges.length>1&&(c=e_(o,l.pos))?c:a?o.addRange(u):oe.create([u])}}}function e_(t,e){for(let n=0;n<t.ranges.length;n++){let{from:r,to:o}=t.ranges[n];if(r<=e&&o>=e)return oe.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}Fn.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let o=t.docView.tile.nearest(e.target);if(o&&o.isWidget()){let i=o.posAtStart,s=i+o.length;(i>=n.to||s<=n.from)&&(n=oe.range(i,s))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",xl(t.state,Rd,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1},Fn.dragend=t=>(t.inputState.draggedContent=null,!1);function mv(t,e,n,r){if(n=xl(t.state,qd,n),!n)return;let o=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:i}=t.inputState,s=r&&i&&KT(t,e)?{from:i.from,to:i.to}:null,a={from:o,insert:n},l=t.state.changes(s?[s,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Fn.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let r=Array(n.length),o=0,i=()=>{++o==n.length&&mv(t,e,r.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<n.length;s++){let a=new FileReader;a.onerror=i,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[s]=a.result),i()},a.readAsText(n[s])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return mv(t,e,r,!0),!0}return!1},Fn.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=lv?null:e.clipboardData;return n?(cv(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(JT(t),!1)};function t_(t,e){let n=t.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function n_(t){let e=[],n=[],r=!1;for(let o of t.selection.ranges)o.empty||(e.push(t.sliceDoc(o.from,o.to)),n.push(o));if(!e.length){let o=-1;for(let{from:i}of t.selection.ranges){let s=t.doc.lineAt(i);s.number>o&&(e.push(s.text),n.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),o=s.number}r=!0}return{text:xl(t,Rd,e.join(t.lineBreak)),ranges:n,linewise:r}}let sf=null;Fn.copy=Fn.cut=(t,e)=>{let n=ti(t.root);if(n&&!vs(t.contentDOM,n))return!1;let{text:r,ranges:o,linewise:i}=n_(t.state);if(!r&&!i)return!1;sf=i?r:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let s=lv?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",r),!0):(t_(t,r),!1)};const gv=Zn.define();function wv(t,e){let n=[];for(let r of t.facet(P0)){let o=r(t,e);o&&n.push(o)}return n.length?t.update({effects:n,annotations:gv.of(!0)}):null}function vv(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=wv(t.state,e);n?t.dispatch(n):t.update([])}},10)}kn.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),vv(t)},kn.blur=t=>{t.observer.clearSelectionRange(),vv(t)},kn.compositionstart=kn.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))},kn.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,xe.chrome&&xe.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))},kn.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},Fn.beforeinput=(t,e)=>{var n,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let i=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),s=e.getTargetRanges();if(i&&s.length){let a=s[0],l=t.posAtDOM(a.startContainer,a.startOffset),c=t.posAtDOM(a.endContainer,a.endOffset);return of(t,{from:l,to:c,insert:t.state.toText(i)},null),!0}}let o;if(xe.chrome&&xe.android&&(o=sv.find(i=>i.inputType==e.inputType))&&(t.observer.delayAndroidKey(o.key,o.keyCode),o.key=="Backspace"||o.key=="Delete")){let i=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>i+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return xe.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),xe.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>kn.compositionend(t,e),20),!1};const yv=new Set;function r_(t){yv.has(t)||(yv.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const bv=["pre-wrap","normal","pre-line","break-spaces"];let ai=!1;function Cv(){ai=!1}class o_{constructor(e){this.lineWrapping=e,this.doc=Xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let r=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((n-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return bv.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r<e.length;r++){let o=e[r];o<0?r++:this.heightSamples[Math.floor(o*10)]||(n=!0,this.heightSamples[Math.floor(o*10)]=!0)}return n}refresh(e,n,r,o,i,s){let a=bv.indexOf(e)>-1,l=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=a||Math.abs(r-this.charWidth)>.1;if(this.lineWrapping=a,this.lineHeight=n,this.charWidth=r,this.textHeight=o,this.lineLength=i,l){this.heightSamples={};for(let c=0;c<s.length;c++){let u=s[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return l}}class i_{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class Mn{constructor(e,n,r,o,i){this.from=e,this.length=n,this.top=r,this.height=o,this._content=i}get type(){return typeof this._content=="number"?It.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Co?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Mn(this.from,this.length+e.length,this.top,this.height+e.height,n)}}var nt=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(nt||(nt={}));const Sl=.001;class Gt{constructor(e,n,r=2){this.length=e,this.height=n,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Sl&&(ai=!0),this.height=e)}replace(e,n,r){return Gt.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,o){let i=this,s=r.doc;for(let a=o.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:u,toB:d}=o[a],f=i.lineAt(l,nt.ByPosNoHeight,r.setDoc(n),0,0),p=f.to>=c?f:i.lineAt(c,nt.ByPosNoHeight,r,0,0);for(d+=p.to-c,c=p.to;a>0&&f.from<=o[a-1].toA;)l=o[a-1].fromA,u=o[a-1].fromB,a--,l<f.from&&(f=i.lineAt(l,nt.ByPosNoHeight,r,0,0));u+=f.from-l,l=f.from;let m=af.build(r.setDoc(s),e,u,d);i=El(i,i.replace(l,c,m))}return i.updateHeight(r,0)}static empty(){return new fn(0,0,0)}static of(e){if(e.length==1)return e[0];let n=0,r=e.length,o=0,i=0;for(;;)if(n==r)if(o>i*2){let a=e[n-1];a.break?e.splice(--n,1,a.left,null,a.right):e.splice(--n,1,a.left,a.right),r+=1+a.break,o-=a.size}else if(i>o*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,i-=a.size}else break;else if(o<i){let a=e[n++];a&&(o+=a.size)}else{let a=e[--r];a&&(i+=a.size)}let s=0;return e[n-1]==null?(s=1,n--):e[n]==null&&(s=1,r++),new a_(Gt.of(e.slice(0,n)),s,Gt.of(e.slice(r)))}}function El(t,e){return t==e?t:(t.constructor!=e.constructor&&(ai=!0),e)}Gt.prototype.size=1;const s_=Se.replace({});class kv extends Gt{constructor(e,n,r){super(e,n),this.deco=r,this.spaceAbove=0}mainBlock(e,n){return new Mn(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,n,r,o){return this.spaceAbove&&e<r+this.spaceAbove?new Mn(o,0,r,this.spaceAbove,s_):this.mainBlock(r,o)}lineAt(e,n,r,o,i){let s=this.mainBlock(o,i);return this.spaceAbove?this.blockAt(0,r,o,i).join(s):s}forEachLine(e,n,r,o,i,s){e<=i+this.length&&n>=i&&s(this.lineAt(0,nt.ByPos,r,o,i))}setMeasuredHeight(e){let n=e.heights[e.index++];n<0?(this.spaceAbove=-n,n=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(e,n=0,r=!1,o){return o&&o.from<=n&&o.more&&this.setMeasuredHeight(o),this.outdated=!1,this}toString(){return`block(${this.length})`}}class fn extends kv{constructor(e,n,r){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,n){return new Mn(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,n,r){let o=r[0];return r.length==1&&(o instanceof fn||o instanceof Pt&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof Pt?o=new fn(o.length,this.height,this.spaceAbove):o.height=this.height,this.outdated||(o.outdated=!1),o):Gt.of(r)}updateHeight(e,n=0,r=!1,o){return o&&o.from<=n&&o.more?this.setMeasuredHeight(o):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Pt extends Gt{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,o=e.doc.lineAt(n+this.length).number,i=o-r+1,s,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*i);s=l/i,this.length>i+1&&(a=(this.height-l)/(this.length-i-1))}else s=this.height/i;return{firstLine:r,lastLine:o,perLine:s,perChar:a}}blockAt(e,n,r,o){let{firstLine:i,lastLine:s,perLine:a,perChar:l}=this.heightMetrics(n,o);if(n.lineWrapping){let c=o+(e<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),u=n.doc.lineAt(c),d=a+u.length*l,f=Math.max(r,e-d/2);return new Mn(u.from,u.length,f,d,0)}else{let c=Math.max(0,Math.min(s-i,Math.floor((e-r)/a))),{from:u,length:d}=n.doc.line(i+c);return new Mn(u,d,r+a*c,a,0)}}lineAt(e,n,r,o,i){if(n==nt.ByHeight)return this.blockAt(e,r,o,i);if(n==nt.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new Mn(p,m-p,0,0,0)}let{firstLine:s,perLine:a,perChar:l}=this.heightMetrics(r,i),c=r.doc.lineAt(e),u=a+c.length*l,d=c.number-s,f=o+a*d+l*(c.from-i-d);return new Mn(c.from,c.length,Math.max(o,Math.min(f,o+this.height-u)),u,0)}forEachLine(e,n,r,o,i,s){e=Math.max(e,i),n=Math.min(n,i+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,i);for(let u=e,d=o;u<=n;){let f=r.doc.lineAt(u);if(u==e){let m=f.number-a;d+=l*m+c*(e-i-m)}let p=l+c*f.length;s(new Mn(f.from,f.length,d,p,0)),d+=p,u=f.to+1}}replace(e,n,r){let o=this.length-n;if(o>0){let i=r[r.length-1];i instanceof Pt?r[r.length-1]=new Pt(i.length+o):r.push(null,new Pt(o-1))}if(e>0){let i=r[0];i instanceof Pt?r[0]=new Pt(e+i.length):r.unshift(new Pt(e-1),null)}return Gt.of(r)}decomposeLeft(e,n){n.push(new Pt(e-1),null)}decomposeRight(e,n){n.push(null,new Pt(this.length-e-1))}updateHeight(e,n=0,r=!1,o){let i=n+this.length;if(o&&o.from<=n+this.length&&o.more){let s=[],a=Math.max(n,o.from),l=-1;for(o.from>n&&s.push(new Pt(o.from-n-1).updateHeight(e,n));a<=i&&o.more;){let u=e.doc.lineAt(a).length;s.length&&s.push(null);let d=o.heights[o.index++],f=0;d<0&&(f=-d,d=o.heights[o.index++]),l==-1?l=d:Math.abs(d-l)>=Sl&&(l=-2);let p=new fn(u,d,f);p.outdated=!1,s.push(p),a+=u+1}a<=i&&s.push(null,new Pt(i-a).updateHeight(e,a));let c=Gt.of(s);return(l<0||Math.abs(c.height-this.height)>=Sl||Math.abs(l-this.heightMetrics(e,n).perLine)>=Sl)&&(ai=!0),El(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class a_ extends Gt{constructor(e,n,r){super(e.length+n+r.length,e.height+r.height,n|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,n,r,o){let i=r+this.left.height;return e<i?this.left.blockAt(e,n,r,o):this.right.blockAt(e,n,i,o+this.left.length+this.break)}lineAt(e,n,r,o,i){let s=o+this.left.height,a=i+this.left.length+this.break,l=n==nt.ByHeight?e<s:e<a,c=l?this.left.lineAt(e,n,r,o,i):this.right.lineAt(e,n,r,s,a);if(this.break||(l?c.to<a:c.from>a))return c;let u=n==nt.ByPosNoHeight?nt.ByPosNoHeight:nt.ByPos;return l?c.join(this.right.lineAt(a,u,r,s,a)):this.left.lineAt(a,u,r,o,i).join(c)}forEachLine(e,n,r,o,i,s){let a=o+this.left.height,l=i+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,n,r,o,i,s),n>=l&&this.right.forEachLine(e,n,r,a,l,s);else{let c=this.lineAt(l,nt.ByPos,r,o,i);e<c.from&&this.left.forEachLine(e,c.from-1,r,o,i,s),c.to>=e&&c.from<=n&&s(c),n>c.to&&this.right.forEachLine(c.to+1,n,r,a,l,s)}}replace(e,n,r){let o=this.left.length+this.break;if(n<o)return this.balanced(this.left.replace(e,n,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,n-o,r));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let a of r)i.push(a);if(e>0&&xv(i,s-1),n<this.length){let a=i.length;this.decomposeRight(n,i),xv(i,a)}return Gt.of(i)}decomposeLeft(e,n){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(r++,e>=r&&n.push(null)),e>r&&this.right.decomposeLeft(e-r,n)}decomposeRight(e,n){let r=this.left.length,o=r+this.break;if(e>=o)return this.right.decomposeRight(e-o,n);e<r&&this.left.decomposeRight(e,n),this.break&&e<o&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?Gt.of(this.break?[e,null,n]:[e,n]):(this.left=El(this.left,e),this.right=El(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,r=!1,o){let{left:i,right:s}=this,a=n+i.length+this.break,l=null;return o&&o.from<=n+i.length&&o.more?l=i=i.updateHeight(e,n,r,o):i.updateHeight(e,n,r),o&&o.from<=a+s.length&&o.more?l=s=s.updateHeight(e,a,r,o):s.updateHeight(e,a,r),l?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function xv(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof Pt&&(r=t[e+1])instanceof Pt&&t.splice(e-1,3,new Pt(n.length+1+r.length))}const l_=5;class af{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let r=Math.min(n,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof fn?o.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new fn(r-this.pos,-1,0)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e<n||r.heightRelevant){let o=r.widget?r.widget.estimatedHeight:0,i=r.widget?r.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let s=n-e;r.block?this.addBlock(new kv(s,o,r)):(s||i||o>=l_)&&this.addLineDeco(o,i,s)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new fn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,n){let r=new Pt(n-e);return this.oracle.doc.lineAt(e).to==n&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof fn)return e;let n=new fn(0,-1,0);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,r){let o=this.ensureLine();o.length+=r,o.collapsed+=r,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=n,this.writtenTo=this.pos=this.pos+r}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof fn)&&!this.isCovered?this.nodes.push(new fn(0,-1,0)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let o of this.nodes)o instanceof fn&&o.updateHeight(this.oracle,r),r+=o?o.length:1;return this.nodes}static build(e,n,r,o){let i=new af(r,e);return je.spans(n,r,o,i,0),i.finish(r)}}function c_(t,e,n){let r=new u_;return je.compare(t,e,n,r,0),r.changes}class u_{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,r,o){(e<n||r&&r.heightRelevant||o&&o.heightRelevant)&&ei(e,n,this.changes,5)}}function d_(t,e){let n=t.getBoundingClientRect(),r=t.ownerDocument,o=r.defaultView||window,i=Math.max(0,n.left),s=Math.min(o.innerWidth,n.right),a=Math.max(0,n.top),l=Math.min(o.innerHeight,n.bottom);for(let c=t.parentNode;c&&c!=r.body;)if(c.nodeType==1){let u=c,d=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&d.overflow!="visible"){let f=u.getBoundingClientRect();i=Math.max(i,f.left),s=Math.min(s,f.right),a=Math.max(a,f.top),l=Math.min(c==t.parentNode?o.innerHeight:l,f.bottom)}c=d.position=="absolute"||d.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:i-n.left,right:Math.max(i,s)-n.left,top:a-(n.top+e),bottom:Math.max(a,l)-(n.top+e)}}function f_(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left<n.innerWidth&&e.right>0&&e.top<n.innerHeight&&e.bottom>0}function h_(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class lf{constructor(e,n,r,o){this.from=e,this.to=n,this.size=r,this.displaySize=o}static same(e,n){if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++){let o=e[r],i=n[r];if(o.from!=i.from||o.to!=i.to||o.size!=i.size)return!1}return!0}draw(e,n){return Se.replace({widget:new p_(this.displaySize*(n?e.scaleY:e.scaleX),n)}).range(this.from,this.to)}}class p_ extends dn{constructor(e,n){super(),this.size=e,this.vertical=n}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Sv{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ev,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ze.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(Kd).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new o_(n),this.stateDeco=Dv(e),this.heightMap=Gt.empty().applyChanges(this.stateDeco,Xe.empty,this.heightOracle.setDoc(e.doc),[new Cn(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Se.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let r=0;r<=1;r++){let o=r?n.head:n.anchor;if(!e.some(({from:i,to:s})=>o>=i&&o<=s)){let{from:i,to:s}=this.lineBlockAt(o);e.push(new Dl(i,s))}}return this.viewports=e.sort((r,o)=>r.from-o.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ev:new cf(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(As(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=Dv(this.state);let o=e.changedRanges,i=Cn.extendWithRanges(o,c_(r,this.stateDeco,e?e.changes:Et.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Cv(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=s||ai)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<l.from||n.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,n));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(z0)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,r=window.getComputedStyle(n),o=this.heightOracle,i=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Ze.RTL:Ze.LTR;let s=this.heightOracle.mustRefreshForWrapping(i)||this.mustMeasureContent,a=n.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,u=0;if(a.width&&a.height){let{scaleX:S,scaleY:b}=b0(n,a);(S>.005&&Math.abs(this.scaleX-S)>.005||b>.005&&Math.abs(this.scaleY-b)>.005)&&(this.scaleX=S,this.scaleY=b,c|=16,s=l=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=f)&&(this.paddingTop=d,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=x0(e.scrollDOM);let m=(this.printing?h_:d_)(n,this.paddingTop),w=m.top-this.pixelViewport.top,v=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget&&!f_(e.dom))return 0;let g=a.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let S=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(S)&&(s=!0),s||o.lineWrapping&&Math.abs(g-this.contentDOMWidth)>o.charWidth){let{lineHeight:b,charWidth:k,textHeight:A}=e.docView.measureTextSize();s=b>0&&o.refresh(i,b,k,A,Math.max(5,g/k),S),s&&(e.docView.minWidth=0,c|=16)}w>0&&v>0?u=Math.max(w,v):w<0&&v<0&&(u=Math.min(w,v)),Cv();for(let b of this.viewports){let k=b.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(b);this.heightMap=(s?Gt.empty().applyChanges(this.stateDeco,Xe.empty,this.heightOracle,[new Cn(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,s,new i_(b.from,k))}ai&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return x&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(u,this.scrollTarget),c|=this.updateForViewport()),(c&2||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,l=new Dl(o.lineAt(s-r*1e3,nt.ByHeight,i,0,0).from,o.lineAt(a+(1-r)*1e3,nt.ByHeight,i,0,0).to);if(n){let{head:c}=n.range;if(c<l.from||c>l.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=o.lineAt(c,nt.ByPos,i,0,0),f;n.y=="center"?f=(d.top+d.bottom)/2-u/2:n.y=="start"||n.y=="nearest"&&c<l.from?f=d.top:f=d.bottom-u,l=new Dl(o.lineAt(f-1e3/2,nt.ByHeight,i,0,0).from,o.lineAt(f+u+1e3/2,nt.ByHeight,i,0,0).to)}}return l}mapViewport(e,n){let r=n.mapPos(e.from,-1),o=n.mapPos(e.to,1);return new Dl(this.heightMap.lineAt(r,nt.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,nt.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},r=0){if(!this.inView)return!0;let{top:o}=this.heightMap.lineAt(e,nt.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(n,nt.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:a}=this;return(e==0||o<=s-Math.max(10,Math.min(-r,250)))&&(n==this.state.doc.length||i>=a+Math.max(10,Math.min(r,250)))&&o>s-2*1e3&&i<a+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let r=[];for(let o of e)n.touchesRange(o.from,o.to)||r.push(new lf(n.mapPos(o.from),n.mapPos(o.to),o.size,o.displaySize));return r}ensureLineGaps(e,n){let r=this.heightOracle.lineWrapping,o=r?1e4:2e3,i=o>>1,s=o<<1;if(this.defaultTextDirection!=Ze.LTR&&!r)return[];let a=[],l=(u,d,f,p)=>{if(d-u<i)return;let m=this.state.selection.main,w=[m.from];m.empty||w.push(m.to);for(let y of w)if(y>u&&y<d){l(u,y-10,f,p),l(y+10,d,f,p);return}let v=g_(e,y=>y.from>=f.from&&y.to<=f.to&&Math.abs(y.from-u)<i&&Math.abs(y.to-d)<i&&!w.some(g=>y.from<g&&y.to>g));if(!v){if(d<f.to&&n&&r&&n.visibleRanges.some(x=>x.from<=d&&x.to>=d)){let x=n.moveToLineBoundary(oe.cursor(d),!1,!0).head;x>u&&(d=x)}let y=this.gapSize(f,u,d,p),g=r||y<2e6?y:2e6;v=new lf(u,d,y,g)}a.push(v)},c=u=>{if(u.length<s||u.type!=It.Text)return;let d=m_(u.from,u.to,this.stateDeco);if(d.total<s)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let w=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,v,y;if(f!=null){let g=Ol(d,f),x=((this.visibleBottom-this.visibleTop)/2+w)/u.height;v=g-x,y=g+x}else v=(this.visibleTop-u.top-w)/u.height,y=(this.visibleBottom-u.top+w)/u.height;p=Al(d,v),m=Al(d,y)}else{let w=d.total*this.heightOracle.charWidth,v=o*this.heightOracle.charWidth,y=0;if(w>2e6)for(let k of e)k.from>=u.from&&k.from<u.to&&k.size!=k.displaySize&&k.from*this.heightOracle.charWidth+y<this.pixelViewport.left&&(y=k.size-k.displaySize);let g=this.pixelViewport.left+y,x=this.pixelViewport.right+y,S,b;if(f!=null){let k=Ol(d,f),A=((x-g)/2+v)/w;S=k-A,b=k+A}else S=(g-v)/w,b=(x+v)/w;p=Al(d,S),m=Al(d,b)}p>u.from&&l(u.from,p,u,d),m<u.to&&l(m,u.to,u,d)};for(let u of this.viewportLines)Array.isArray(u.type)?u.type.forEach(c):c(u);return a}gapSize(e,n,r,o){let i=Ol(o,r)-Ol(o,n);return this.heightOracle.lineWrapping?e.height*i:o.total*this.heightOracle.charWidth*i}updateLineGaps(e){lf.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Se.set(e.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];je.spans(n,this.viewport.from,this.viewport.to,{span(i,s){r.push({from:i,to:s})},point(){}},20);let o=0;if(r.length!=this.visibleRanges.length)o=12;else for(let i=0;i<r.length&&!(o&8);i++){let s=this.visibleRanges[i],a=r[i];(s.from!=a.from||s.to!=a.to)&&(o|=4,e&&e.mapPos(s.from,-1)==a.from&&e.mapPos(s.to,1)==a.to||(o|=8))}return this.visibleRanges=r,o}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||As(this.heightMap.lineAt(e,nt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||As(this.heightMap.lineAt(this.scaler.fromDOM(e),nt.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return As(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Dl{constructor(e,n){this.from=e,this.to=n}}function m_(t,e,n){let r=[],o=t,i=0;return je.spans(n,t,e,{span(){},point(s,a){s>o&&(r.push({from:o,to:s}),i+=s-o),o=a}},20),o<e&&(r.push({from:o,to:e}),i+=e-o),{total:i,ranges:r}}function Al({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let o=0;;o++){let{from:i,to:s}=e[o],a=s-i;if(r<=a)return i+r;r-=a}}function Ol(t,e){let n=0;for(let{from:r,to:o}of t.ranges){if(e<=o){n+=e-r;break}n+=o-r}return n/t.total}function g_(t,e){for(let n of t)if(e(n))return n}const Ev={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function Dv(t){let e=t.facet(pl).filter(r=>typeof r!="function"),n=t.facet(Xd).filter(r=>typeof r!="function");return n.length&&e.push(je.join(n)),e}class cf{constructor(e,n,r){let o=0,i=0,s=0;this.viewports=r.map(({from:a,to:l})=>{let c=n.lineAt(a,nt.ByPos,e,0,0).top,u=n.lineAt(l,nt.ByPos,e,0,0).bottom;return o+=u-c,{from:a,to:l,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(n.height-o);for(let a of this.viewports)a.domTop=s+(a.top-i)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),i=a.bottom}toDOM(e){for(let n=0,r=0,o=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.top)return o+(e-r)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);r=i.bottom,o=i.domBottom}}fromDOM(e){for(let n=0,r=0,o=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.domTop)return r+(e-o)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);r=i.bottom,o=i.domBottom}}eq(e){return e instanceof cf?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((n,r)=>n.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function As(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Mn(t.from,t.length,n,r-n,Array.isArray(t._content)?t._content.map(o=>As(o,e)):t._content)}const Bl=ke.define({combine:t=>t.join(" ")}),uf=ke.define({combine:t=>t.indexOf(!0)>-1}),df=jr.newName(),Av=jr.newName(),Ov=jr.newName(),Bv={"&light":"."+Av,"&dark":"."+Ov};function ff(t,e,n){return new jr(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,o=>{if(o=="&")return t;if(!n||!n[o])throw new RangeError(`Unsupported selector: ${o}`);return n[o]}):t+" "+r}})}const w_=ff("."+df,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Bv),v_={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},hf=xe.ie&&xe.ie_version<=11;class y_{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new YB,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let r of n)this.queue.push(r);(xe.ie&&xe.ie_version<=11||xe.ios&&e.composing)&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&xe.android&&e.constructor.EDIT_CONTEXT!==!1&&!(xe.chrome&&xe.chrome_version<126)&&(this.editContext=new C_(e),e.state.facet(yr)&&(e.contentDOM.editContext=this.editContext.editContext)),hf&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,r)=>n!=e[r]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,o=this.selectionRange;if(r.state.facet(yr)?r.root.activeElement!=this.dom:!vs(this.dom,o))return;let i=o.anchorNode&&r.docView.tile.nearest(o.anchorNode);if(i&&i.isWidget()&&i.widget.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(xe.ie&&xe.ie_version<=11||xe.android&&xe.chrome)&&!r.state.selection.main.empty&&o.focusNode&&bs(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=ti(e.root);if(!n)return!1;let r=xe.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&b_(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let o=vs(this.dom,r);return o&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&QB(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),o&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let r=this.dom;r;)if(r.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=n)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,v_),hf&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),hf&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var r;if(!this.delayedAndroidKey){let o=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&ni(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(o)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,r=-1,o=!1;for(let i of e){let s=this.readMutation(i);s&&(s.typeOver&&(o=!0),n==-1?{from:n,to:r}=s:(n=Math.min(s.from,n),r=Math.max(s.to,r)))}return{from:n,to:r,typeOver:o}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),o=this.selectionChanged&&vs(this.dom,this.selectionRange);if(e<0&&!o)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new zT(this.view,e,n,r);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let r=this.view.state,o=rv(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!bl(this.view.state.selection,n.newSel.main))&&this.view.update([]),o}readMutation(e){let n=this.view.docView.tile.nearest(e.target);if(!n||n.isWidget())return null;if(n.markDirty(e.type=="attributes"),e.type=="childList"){let r=Tv(n,e.previousSibling||e.target.previousSibling,-1),o=Tv(n,e.nextSibling||e.target.nextSibling,1);return{from:r?n.posAfter(r):n.posAtStart,to:o?n.posBefore(o):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(yr)!=e.state.facet(yr)&&(e.view.contentDOM.editContext=e.state.facet(yr)?this.editContext.editContext:null))}destroy(){var e,n,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Tv(t,e,n){for(;e;){let r=Ct.get(e);if(r&&r.parent==t)return r;let o=e.parentNode;e=o!=t.dom?o:n>0?e.nextSibling:e.previousSibling}return null}function _v(t,e){let n=e.startContainer,r=e.startOffset,o=e.endContainer,i=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return bs(s.node,s.offset,o,i)&&([n,r,o,i]=[o,i,n,r]),{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:i}}function b_(t,e){if(e.getComposedRanges){let o=e.getComposedRanges(t.root)[0];if(o)return _v(t,o)}let n=null;function r(o){o.preventDefault(),o.stopImmediatePropagation(),n=o.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),n?_v(t,n):null}class C_{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let o=e.state.selection.main,{anchor:i,head:s}=o,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&i<this.from?a=i:l==this.to&&i>this.to&&(l=i);let u=ov(e.state.sliceDoc(a,l),r.text,(c?o.from:o.to)-a,c?"end":null);if(!u){let f=oe.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));bl(f,o)||e.dispatch({selection:f,userEvent:"select"});return}let d={from:u.from+a,to:u.toA+a,insert:Xe.of(r.text.slice(u.from,u.toB).split(`
19
+ `))};if((xe.mac||xe.android)&&d.from==s-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:Xe.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let f=this.to-this.from+(d.to-d.from+d.insert.length);of(e,d,oe.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from<d.to&&!d.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(n.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let o=[],i=null;for(let s=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);s<a;s++){let l=e.coordsForChar(s);i=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||i||new DOMRect,o.push(i)}n.updateCharacterBounds(r.rangeStart,o)},this.handlers.textformatupdate=r=>{let o=[];for(let i of r.getTextFormats()){let s=i.underlineStyle,a=i.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let l=this.toEditorPos(i.rangeStart),c=this.toEditorPos(i.rangeEnd);if(l<c){let u=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;o.push(Se.mark({attributes:{style:u}}).range(l,c))}}}e.dispatch({effects:$0.of(Se.set(o))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)n.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let o=ti(r.root);o&&o.rangeCount&&this.editContext.updateSelectionBounds(o.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,r=!1,o=this.pendingContextChange;return e.changes.iterChanges((i,s,a,l,c)=>{if(r)return;let u=c.length-(s-i);if(o&&s>=o.to)if(o.from==i&&o.to==s&&o.insert.eq(c)){o=this.pendingContextChange=null,n+=u,this.to+=u;return}else o=null,this.revertPending(e.state);if(i+=n,s+=n,s<=this.from)this.from+=u,this.to+=u;else if(i<this.to){if(i<this.from||s>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(s),c.toString()),this.to+=u}n+=u}),o&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(o=>!o.isUserEvent("input.type")&&o.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),o=this.toContextPos(n.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=o)&&this.editContext.updateSelection(r,o)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to<e.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class ye{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(o=>o.forEach(i=>r(i,this)))||(o=>this.update(o)),this.dispatch=this.dispatch.bind(this),this._root=e.root||JB(e.parent)||document,this.viewState=new Sv(e.state||Ve.create(e)),e.scrollTo&&e.scrollTo.is(hl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(oi).map(o=>new Gd(o));for(let o of this.plugins)o.update(this);this.observer=new y_(this),this.inputState=new WT(this),this.inputState.ensureHandlers(this.plugins),this.docView=new X0(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...e){let n=e.length==1&&e[0]instanceof bt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,r=!1,o,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(gv))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=wv(i,s),l||(a=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(u=null)):this.observer.clear(),i.facet(Ve.phrases)!=this.state.facet(Ve.phrases))return this.setState(i);o=ml.create(this,i,e),o.flags|=a;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(d&&(d=d.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;d=new ri(p.empty?p:oe.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(hl)&&(d=p.value.clip(this.state))}this.viewState.update(o,d),this.bidiCache=Tl.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),n=this.docView.update(o),this.state.facet(Ss)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(Bl)!=o.state.facet(Bl)&&(this.viewState.mustMeasureContent=!0),(n||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!o.empty)for(let f of this.state.facet(Ud))try{f(o)}catch(p){tn(this.state,p,"update listener")}(l||u)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!rv(this,u)&&c.force&&ni(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new Sv(e),this.plugins=e.facet(oi).map(r=>new Gd(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new X0(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(oi),r=e.state.facet(oi);if(n!=r){let o=[];for(let i of r){let s=n.indexOf(i);if(s<0)o.push(new Gd(i));else{let a=this.plugins[s];a.mustUpdate=e,o.push(a)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=o,this.pluginMap.clear()}else for(let o of this.plugins)o.mustUpdate=e;for(let o=0;o<this.plugins.length;o++)this.plugins[o].update(this);n!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let n=e.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(r){tn(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,r=this.scrollDOM,o=r.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;Math.abs(o-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(x0(r))i=-1,s=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(o);i=p.from,s=p.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(p=>{try{return p.read(this)}catch(m){return tn(this.state,m),Nv}}),d=ml.create(this,this.state,[]),f=!1;d.flags|=l,n?n.flags|=l:n=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(u[p]!=Nv)try{let m=c[p];m.write&&m.write(u[p],this)}catch(m){tn(this.state,m)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let m=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(m>1||m<-1){o=o+m,r.scrollTop=o/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let a of this.state.facet(Ud))a(n)}get themeClasses(){return df+" "+(this.state.facet(uf)?Ov:Av)+" "+this.state.facet(Bl)}updateAttrs(){let e=Fv(this,j0,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(yr)?"true":"false",class:"cm-content",style:`${xe.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),Fv(this,Kd,n);let r=this.observer.ignore(()=>{let o=w0(this.contentDOM,this.contentAttrs,n),i=w0(this.dom,this.editorAttrs,e);return o||i});return this.editorAttrs=e,this.contentAttrs=n,r}showAnnouncements(e){let n=!0;for(let r of e)for(let o of r.effects)if(o.is(ye.announce)){n&&(this.announceDOM.textContent=""),n=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(Ss);let e=this.state.facet(ye.cspNonce);jr.mount(this.root,this.styleModules.concat(w_).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.plugin!=e)&&this.pluginMap.set(e,n=this.plugins.find(r=>r.plugin==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,r){return nf(this,e,J0(this,e,n,r))}moveByGroup(e,n){return nf(this,e,J0(this,e,n,r=>FT(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),o=this.textDirectionAt(e.from),i=r[n?r.length-1:0];return oe.cursor(i.side(n,o)+e.from,i.forward(!n,o)?1:-1)}moveToLineBoundary(e,n,r=!0){return NT(this,e,n,r)}moveVertically(e,n,r){return nf(this,e,MT(this,e,n,r))}domAtPos(e,n=1){return this.docView.domAtPos(e,n)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){this.readMeasured();let r=rf(this,e,n);return r&&r.pos}posAndSideAtCoords(e,n=!0){return this.readMeasured(),rf(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.docView.coordsAt(e,n);if(!r||r.left==r.right)return r;let o=this.state.doc.lineAt(e),i=this.bidiSpans(o),s=i[vr.find(i,e-o.from,-1,n)];return Cs(r,s.dir==Ze.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(L0)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>k_)return B0(e.length);let n=this.textDirectionAt(e.from),r;for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||O0(i.isolates,r=U0(this,e))))return i.order;r||(r=U0(this,e));let o=iT(e.text,n,r);return this.bidiCache.push(new Tl(e.from,e.to,n,r,!0,o)),o}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||xe.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{C0(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return hl.of(new ri(typeof e=="number"?oe.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return hl.of(new ri(oe.cursor(r.from),"start","start",r.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return st.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return st.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=jr.newName(),o=[Bl.of(r),Ss.of(ff(`.${r}`,e))];return n&&n.dark&&o.push(uf.of(!0)),o}static baseTheme(e){return Hr.lowest(Ss.of(ff("."+df,e,Bv)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),o=r&&Ct.get(r)||Ct.get(e);return((n=o==null?void 0:o.root)===null||n===void 0?void 0:n.view)||null}}ye.styleModule=Ss,ye.inputHandler=I0,ye.clipboardInputFilter=qd,ye.clipboardOutputFilter=Rd,ye.scrollHandler=H0,ye.focusChangeEffect=P0,ye.perLineTextDirection=L0,ye.exceptionSink=M0,ye.updateListener=Ud,ye.editable=yr,ye.mouseSelectionStyle=F0,ye.dragMovesSelection=N0,ye.clickAddsSelectionRange=_0,ye.decorations=pl,ye.blockWrappers=W0,ye.outerDecorations=Xd,ye.atomicRanges=xs,ye.bidiIsolatedRanges=V0,ye.scrollMargins=q0,ye.darkTheme=uf,ye.cspNonce=ke.define({combine:t=>t.length?t[0]:""}),ye.contentAttributes=Kd,ye.editorAttributes=j0,ye.lineWrapping=ye.contentAttributes.of({class:"cm-lineWrapping"}),ye.announce=Fe.define();const k_=4096,Nv={};class Tl{constructor(e,n,r,o,i,s){this.from=e,this.to=n,this.dir=r,this.isolates=o,this.fresh=i,this.order=s}static update(e,n){if(n.empty&&!e.some(i=>i.fresh))return e;let r=[],o=e.length?e[e.length-1].dir:Ze.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir==o&&!n.touchesRange(s.from,s.to)&&r.push(new Tl(n.mapPos(s.from,1),n.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return r}}function Fv(t,e,n){for(let r=t.state.facet(e),o=r.length-1;o>=0;o--){let i=r[o],s=typeof i=="function"?i(t):i;s&&Ld(s,n)}return n}const x_=xe.mac?"mac":xe.windows?"win":xe.linux?"linux":"key";function S_(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let o,i,s,a;for(let l=0;l<n.length-1;++l){const c=n[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))i=!0;else if(/^s(hift)?$/i.test(c))s=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:i=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(r="Alt-"+r),i&&(r="Ctrl-"+r),a&&(r="Meta-"+r),s&&(r="Shift-"+r),r}function _l(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}const E_=Hr.default(ye.domEventHandlers({keydown(t,e){return Pv(Iv(e.state),t,e,"editor")}})),Os=ke.define({enables:E_}),Mv=new WeakMap;function Iv(t){let e=t.facet(Os),n=Mv.get(e);return n||Mv.set(e,n=O_(e.reduce((r,o)=>r.concat(o),[]))),n}function D_(t,e,n){return Pv(Iv(t.state),e,t,n)}let qr=null;const A_=4e3;function O_(t,e=x_){let n=Object.create(null),r=Object.create(null),o=(s,a)=>{let l=r[s];if(l==null)r[s]=a;else if(l!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},i=(s,a,l,c,u)=>{var d,f;let p=n[s]||(n[s]=Object.create(null)),m=a.split(/ (?!$)/).map(y=>S_(y,e));for(let y=1;y<m.length;y++){let g=m.slice(0,y).join(" ");o(g,!0),p[g]||(p[g]={preventDefault:!0,stopPropagation:!1,run:[x=>{let S=qr={view:x,prefix:g,scope:s};return setTimeout(()=>{qr==S&&(qr=null)},A_),!0}]})}let w=m.join(" ");o(w,!1);let v=p[w]||(p[w]={preventDefault:!1,stopPropagation:!1,run:((f=(d=p._any)===null||d===void 0?void 0:d.run)===null||f===void 0?void 0:f.slice())||[]});l&&v.run.push(l),c&&(v.preventDefault=!0),u&&(v.stopPropagation=!0)};for(let s of t){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of a){let u=n[c]||(n[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:d}=s;for(let f in u)u[f].run.push(p=>d(p,pf))}let l=s[e]||s.key;if(l)for(let c of a)i(c,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&i(c,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return n}let pf=null;function Pv(t,e,n,r){pf=e;let o=WB(e),i=en(o,0),s=Jn(i)==o.length&&o!=" ",a="",l=!1,c=!1,u=!1;qr&&qr.view==n&&qr.scope==r&&(a=qr.prefix+" ",av.indexOf(e.keyCode)<0&&(c=!0,qr=null));let d=new Set,f=v=>{if(v){for(let y of v.run)if(!d.has(y)&&(d.add(y),y(n)))return v.stopPropagation&&(u=!0),!0;v.preventDefault&&(v.stopPropagation&&(u=!0),c=!0)}return!1},p=t[r],m,w;return p&&(f(p[a+_l(o,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(xe.windows&&e.ctrlKey&&e.altKey)&&!(xe.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Wr[e.keyCode])&&m!=o?(f(p[a+_l(m,e,!0)])||e.shiftKey&&(w=ps[e.keyCode])!=o&&w!=m&&f(p[a+_l(w,e,!1)]))&&(l=!0):s&&e.shiftKey&&f(p[a+_l(o,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&u&&e.stopPropagation(),pf=null,l}class Bs{constructor(e,n,r,o,i){this.className=e,this.left=n,this.top=r,this.width=o,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,r){if(r.empty){let o=e.coordsAtPos(r.head,r.assoc||1);if(!o)return[];let i=Lv(e);return[new Bs(n,o.left-i.left,o.top-i.top,null,o.bottom-o.top)]}else return B_(e,n,r)}}function Lv(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ze.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function zv(t,e,n,r){let o=t.coordsAtPos(e,n*2);if(!o)return r;let i=t.dom.getBoundingClientRect(),s=(o.top+o.bottom)/2,a=t.posAtCoords({x:i.left+1,y:s}),l=t.posAtCoords({x:i.right-1,y:s});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function B_(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let r=Math.max(n.from,t.viewport.from),o=Math.min(n.to,t.viewport.to),i=t.textDirection==Ze.LTR,s=t.contentDOM,a=s.getBoundingClientRect(),l=Lv(t),c=s.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=a.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=a.right-(u?parseInt(u.paddingRight):0),p=tf(t,r,1),m=tf(t,o,-1),w=p.type==It.Text?p:null,v=m.type==It.Text?m:null;if(w&&(t.lineWrapping||p.widgetLineBreaks)&&(w=zv(t,r,1,w)),v&&(t.lineWrapping||m.widgetLineBreaks)&&(v=zv(t,o,-1,v)),w&&v&&w.from==v.from&&w.to==v.to)return g(x(n.from,n.to,w));{let b=w?x(n.from,null,w):S(p,!1),k=v?x(null,n.to,v):S(m,!0),A=[];return(w||p).to<(v||m).from-(w&&v?1:0)||p.widgetLineBreaks>1&&b.bottom+t.defaultLineHeight/2<k.top?A.push(y(d,b.bottom,f,k.top)):b.bottom<k.top&&t.elementAtHeight((b.bottom+k.top)/2).type==It.Text&&(b.bottom=k.top=(b.bottom+k.top)/2),g(b).concat(A).concat(g(k))}function y(b,k,A,E){return new Bs(e,b-l.left,k-l.top,A-b,E-k)}function g({top:b,bottom:k,horizontal:A}){let E=[];for(let T=0;T<A.length;T+=2)E.push(y(A[T],b,A[T+1],k));return E}function x(b,k,A){let E=1e9,T=-1e9,D=[];function M(I,O,H,L,W){let R=t.coordsAtPos(I,I==A.to?-2:2),Y=t.coordsAtPos(H,H==A.from?2:-2);!R||!Y||(E=Math.min(R.top,Y.top,E),T=Math.max(R.bottom,Y.bottom,T),W==Ze.LTR?D.push(i&&O?d:R.left,i&&L?f:Y.right):D.push(!i&&L?d:Y.left,!i&&O?f:R.right))}let N=b??A.from,F=k??A.to;for(let I of t.visibleRanges)if(I.to>N&&I.from<F)for(let O=Math.max(I.from,N),H=Math.min(I.to,F);;){let L=t.state.doc.lineAt(O);for(let W of t.bidiSpans(L)){let R=W.from+L.from,Y=W.to+L.from;if(R>=H)break;Y>O&&M(Math.max(R,O),b==null&&R<=N,Math.min(Y,H),k==null&&Y>=F,W.dir)}if(O=L.to+1,O>=H)break}return D.length==0&&M(N,b==null,F,k==null,t.textDirection),{top:E,bottom:T,horizontal:D}}function S(b,k){let A=a.top+(k?b.top:b.bottom);return{top:A,bottom:A,horizontal:[]}}}function T_(t,e){return t.constructor==e.constructor&&t.eq(e)}class __{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(Nl)!=e.state.facet(Nl)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,r=e.facet(Nl);for(;n<r.length&&r[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:n}=this.view;(e!=this.scaleX||n!=this.scaleY)&&(this.scaleX=e,this.scaleY=n,this.dom.style.transform=`scale(${1/e}, ${1/n})`)}draw(e){if(e.length!=this.drawn.length||e.some((n,r)=>!T_(n,this.drawn[r]))){let n=this.dom.firstChild,r=0;for(let o of e)o.update&&n&&o.constructor&&this.drawn[r].constructor&&o.update(n,this.drawn[r])?(n=n.nextSibling,r++):this.dom.insertBefore(o.draw(),n);for(;n;){let o=n.nextSibling;n.remove(),n=o}this.drawn=e,xe.safari&&xe.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Nl=ke.define();function Hv(t){return[st.define(e=>new __(e,t)),Nl.of(t)]}const Ts=ke.define({combine(t){return er(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function N_(t={}){return[Ts.of(t),F_,M_,I_,z0.of(!0)]}function $v(t){return t.startState.facet(Ts)!=t.state.facet(Ts)}const F_=Hv({above:!0,markers(t){let{state:e}=t,n=e.facet(Ts),r=[];for(let o of e.selection.ranges){let i=o==e.selection.main;if(o.empty||n.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=o.empty?o:oe.cursor(o.head,o.head>o.anchor?-1:1);for(let l of Bs.forRange(t,s,a))r.push(l)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=$v(t);return n&&jv(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){jv(e.state,t)},class:"cm-cursorLayer"});function jv(t,e){e.style.animationDuration=t.facet(Ts).cursorBlinkRate+"ms"}const M_=Hv({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:Bs.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||$v(t)},class:"cm-selectionLayer"}),I_=Hr.highest(ye.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Wv=Fe.define({map(t,e){return t==null?null:e.mapPos(t)}}),_s=Bt.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is(Wv)?r.value:n,t)}}),P_=st.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(_s);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(_s)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(_s),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(_s)!=t&&this.view.dispatch({effects:Wv.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function L_(){return[_s,P_]}function Vv(t,e,n,r,o){e.lastIndex=0;for(let i=t.iterRange(n,r),s=n,a;!i.next().done;s+=i.value.length)if(!i.lineBreak)for(;a=e.exec(i.value);)o(s+a.index,a)}function z_(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let r=[];for(let{from:o,to:i}of n)o=Math.max(t.state.doc.lineAt(o).from,o-e),i=Math.min(t.state.doc.lineAt(i).to,i+e),r.length&&r[r.length-1].to>=o?r[r.length-1].to=i:r.push({from:o,to:i});return r}class Fl{constructor(e){const{regexp:n,decoration:r,decorate:o,boundary:i,maxLength:s=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,o)this.addMatch=(a,l,c,u)=>o(u,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,u)=>{let d=r(a,l,c);d&&u(c,c+a[0].length,d)};else if(r)this.addMatch=(a,l,c,u)=>u(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=s}createDeco(e){let n=new gr,r=n.add.bind(n);for(let{from:o,to:i}of z_(e,this.maxLength))Vv(e.state.doc,this.regexp,o,i,(s,a)=>this.addMatch(a,e,s,r));return n.finish()}updateDeco(e,n){let r=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((i,s,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),o=Math.max(l,o))}),e.viewportMoved||o-r>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,n.map(e.changes),r,o):n}updateRange(e,n,r,o){for(let i of e.visibleRanges){let s=Math.max(i.from,r),a=Math.min(i.to,o);if(a>=s){let l=e.state.doc.lineAt(s),c=l.to<a?e.state.doc.lineAt(a):l,u=Math.max(i.from,l.from),d=Math.min(i.to,c.to);if(this.boundary){for(;s>l.from;s--)if(this.boundary.test(l.text[s-1-l.from])){u=s;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){d=a;break}}let f=[],p,m=(w,v,y)=>f.push(y.range(w,v));if(l==c)for(this.regexp.lastIndex=u-l.from;(p=this.regexp.exec(l.text))&&p.index<d-l.from;)this.addMatch(p,e,p.index+l.from,m);else Vv(e.state.doc,this.regexp,u,d,(w,v)=>this.addMatch(v,e,w,m));n=n.update({filterFrom:u,filterTo:d,filter:(w,v)=>w<u||v>d,add:f})}}return n}}const mf=/x/.unicode!=null?"gu":"g",H_=new RegExp(`[\0-\b
20
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,mf),$_={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let gf=null;function j_(){var t;if(gf==null&&typeof document<"u"&&document.body){let e=document.body.style;gf=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return gf||!1}const Ml=ke.define({combine(t){let e=er(t,{render:null,specialChars:H_,addSpecialChars:null});return(e.replaceTabs=!j_())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,mf)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,mf)),e}});function W_(t={}){return[Ml.of(t),V_()]}let Uv=null;function V_(){return Uv||(Uv=st.fromClass(class{constructor(t){this.view=t,this.decorations=Se.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Ml)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new Fl({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:o}=n.state,i=en(e[0],0);if(i==9){let s=o.lineAt(r),a=n.state.tabSize,l=Zo(s.text,a,r-s.from);return Se.replace({widget:new G_((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=Se.replace({widget:new R_(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Ml);t.startState.facet(Ml)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const U_="•";function q_(t){return t>=32?U_:t==10?"␤":String.fromCharCode(9216+t)}class R_ extends dn{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=q_(this.code),r=e.state.phrase("Control character")+" "+($_[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,r,n);if(o)return o;let i=document.createElement("span");return i.textContent=n,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class G_ extends dn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function K_(){return Y_}const X_=Se.line({class:"cm-activeLine"}),Y_=st.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let o=t.lineBlockAt(r.head);o.from>e&&(n.push(X_.range(o.from)),e=o.from)}return Se.set(n)}},{decorations:t=>t.decorations});class J_ extends dn{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?ys(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),o=Cs(n[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return o.bottom-o.top>i*1.5?{left:o.left,right:o.right,top:o.top,bottom:o.top+i}:o}ignoreEvent(){return!1}}function Q_(t){let e=st.fromClass(class{constructor(n){this.view=n,this.placeholder=t?Se.set([Se.widget({widget:new J_(t),side:1}).range(0)]):Se.none}get decorations(){return this.view.state.doc.length?Se.none:this.placeholder}},{decorations:n=>n.decorations});return typeof t=="string"?[e,ye.contentAttributes.of({"aria-placeholder":t})]:e}const wf=2e3;function Z_(t,e,n){let r=Math.min(e.line,n.line),o=Math.max(e.line,n.line),i=[];if(e.off>wf||n.off>wf||e.col<0||n.col<0){let s=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let l=r;l<=o;l++){let c=t.doc.line(l);c.length<=a&&i.push(oe.range(c.from+s,c.to+a))}}else{let s=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let l=r;l<=o;l++){let c=t.doc.line(l),u=Od(c.text,s,t.tabSize,!0);if(u<0)i.push(oe.cursor(c.to));else{let d=Od(c.text,a,t.tabSize);i.push(oe.range(c.from+u,c.from+d))}}}return i}function eN(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function qv(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),o=n-r.from,i=o>wf?-1:o==r.length?eN(t,e.clientX):Zo(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:i,off:o}}function tN(t,e){let n=qv(t,e),r=t.state.selection;return n?{update(o){if(o.docChanged){let i=o.changes.mapPos(o.startState.doc.line(n.line).from),s=o.state.doc.lineAt(i);n={line:s.number,col:n.col,off:Math.min(n.off,s.length)},r=r.map(o.changes)}},get(o,i,s){let a=qv(t,o);if(!a)return r;let l=Z_(t.state,n,a);return l.length?s?oe.create(l.concat(r.ranges)):oe.create(l):r}}:null}function nN(t){let e=(n=>n.altKey&&n.button==0);return ye.mouseSelectionStyle.of((n,r)=>e(r)?tN(n,r):null)}const rN={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},oN={style:"cursor: crosshair"};function iN(t={}){let[e,n]=rN[t.key||"Alt"],r=st.fromClass(class{constructor(o){this.view=o,this.isDown=!1}set(o){this.isDown!=o&&(this.isDown=o,this.view.update([]))}},{eventObservers:{keydown(o){this.set(o.keyCode==e||n(o))},keyup(o){(o.keyCode==e||!n(o))&&this.set(!1)},mousemove(o){this.set(n(o))}}});return[r,ye.contentAttributes.of(o=>{var i;return!((i=o.plugin(r))===null||i===void 0)&&i.isDown?oN:null})]}const Il="-10000px";class Rv{constructor(e,n,r,o){this.facet=n,this.createTooltipView=r,this.removeTooltipView=o,this.input=e.state.facet(n),this.tooltips=this.input.filter(s=>s);let i=null;this.tooltipViews=this.tooltips.map(s=>i=r(s,i))}update(e,n){var r;let o=e.state.facet(this.facet),i=o.filter(l=>l);if(o===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],a=n?[]:null;for(let l=0;l<i.length;l++){let c=i[l],u=-1;if(c){for(let d=0;d<this.tooltips.length;d++){let f=this.tooltips[d];f&&f.create==c.create&&(u=d)}if(u<0)s[l]=this.createTooltipView(c,l?s[l-1]:null),a&&(a[l]=!!c.above);else{let d=s[l]=this.tooltipViews[u];a&&(a[l]=n[u]),d.update&&d.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return n&&(a.forEach((l,c)=>n[c]=l),n.length=a.length),this.input=o,this.tooltips=i,this.tooltipViews=s,!0}}function sN(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const vf=ke.define({combine:t=>{var e,n,r;return{position:xe.ios?"absolute":((e=t.find(o=>o.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(o=>o.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(o=>o.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||sN}}}),Gv=new WeakMap,yf=st.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(vf);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Rv(t,bf,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(vf);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let o of this.manager.tooltipViews)o.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let o of this.manager.tooltipViews)this.container.appendChild(o.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let o=document.createElement("div");o.className="cm-tooltip-arrow",n.dom.appendChild(o)}return n.dom.style.position=this.position,n.dom.style.top=Il,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(xe.safari){let s=i.getBoundingClientRect();n=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else n=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(t=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),o=Yd(this.view);return{visible:{left:r.left+o.left,top:r.top+o.top,right:r.right-o.right,bottom:r.bottom-o.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(vf).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:o,scaleY:i}=t,s=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:u}=c,d=t.pos[a],f=t.size[a];if(!d||l.clip!==!1&&(d.bottom<=Math.max(n.top,r.top)||d.top>=Math.min(n.bottom,r.bottom)||d.right<Math.max(n.left,r.left)-.1||d.left>Math.min(n.right,r.right)+.1)){u.style.top=Il;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,w=f.right-f.left,v=(e=Gv.get(c))!==null&&e!==void 0?e:f.bottom-f.top,y=c.offset||lN,g=this.view.textDirection==Ze.LTR,x=f.width>r.right-r.left?g?r.left:r.right-f.width:g?Math.max(r.left,Math.min(d.left-(p?14:0)+y.x,r.right-w)):Math.min(Math.max(r.left,d.left-w+(p?14:0)-y.x),r.right-w),S=this.above[a];!l.strictSide&&(S?d.top-v-m-y.y<r.top:d.bottom+v+m+y.y>r.bottom)&&S==r.bottom-d.bottom>d.top-r.top&&(S=this.above[a]=!S);let b=(S?d.top-r.top:r.bottom-d.bottom)-m;if(b<v&&c.resize!==!1){if(b<this.view.defaultLineHeight){u.style.top=Il;continue}Gv.set(c,v),u.style.height=(v=b)/i+"px"}else u.style.height&&(u.style.height="");let k=S?d.top-v-m-y.y:d.bottom+m+y.y,A=x+w;if(c.overlap!==!0)for(let E of s)E.left<A&&E.right>x&&E.top<k+v&&E.bottom>k&&(k=S?E.top-v-2-m:E.bottom+m+2);if(this.position=="absolute"?(u.style.top=(k-t.parent.top)/i+"px",Kv(u,(x-t.parent.left)/o)):(u.style.top=k/i+"px",Kv(u,x/o)),p){let E=d.left+(g?y.x:-y.x)-(x+14-7);p.style.left=E/o+"px"}c.overlap!==!0&&s.push({left:x,top:k,right:A,bottom:k+v}),u.classList.toggle("cm-tooltip-above",S),u.classList.toggle("cm-tooltip-below",!S),c.positioned&&c.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Il}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Kv(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const aN=ye.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),lN={x:0,y:0},bf=ke.define({enables:[yf,aN]}),Pl=ke.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class Ll{static create(e){return new Ll(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Rv(e,Pl,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let o=r[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const cN=bf.compute([Pl],t=>{let e=t.facet(Pl);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:Ll.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class uN{constructor(e,n,r,o,i){this.view=e,this.source=n,this.field=r,this.setHover=o,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.tile.nearest(n.target);if(!r)return;let o,i=1;if(r.isWidget())o=r.posAtStart;else{if(o=e.posAtCoords(n),o==null)return;let a=e.coordsAtPos(o);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(o)).find(u=>u.from<=o&&u.to>=o),c=l&&l.dir==Ze.RTL?-1:1;i=n.x<a.left?-c:c}let s=this.source(e,o,i);if(s!=null&&s.then){let a=this.pending={pos:o};s.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>tn(e.state,l,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(yf),n=e?e.manager.tooltips.findIndex(r=>r.create==Ll.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:o,tooltip:i}=this;if(o.length&&i&&!dN(i.dom,e)||this.pending){let{pos:s}=o[0]||this.pending,a=(r=(n=o[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!fN(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const zl=4;function dN(t,e){let{left:n,right:r,top:o,bottom:i}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();o=Math.min(a.top,o),i=Math.max(a.bottom,i)}return e.clientX>=n-zl&&e.clientX<=r+zl&&e.clientY>=o-zl&&e.clientY<=i+zl}function fN(t,e,n,r,o,i){let s=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>r||s.right<r||s.top>o||Math.min(s.bottom,a)<o)return!1;let l=t.posAtCoords({x:r,y:o},!1);return l>=e&&l<=n}function hN(t,e={}){let n=Fe.define(),r=Bt.define({create(){return[]},update(o,i){if(o.length&&(e.hideOnChange&&(i.docChanged||i.selection)?o=[]:e.hideOn&&(o=o.filter(s=>!e.hideOn(i,s))),i.docChanged)){let s=[];for(let a of o){let l=i.changes.mapPos(a.pos,-1,Ft.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=i.changes.mapPos(c.end)),s.push(c)}}o=s}for(let s of i.effects)s.is(n)&&(o=s.value),s.is(pN)&&(o=[]);return o},provide:o=>Pl.from(o)});return{active:r,extension:[r,st.define(o=>new uN(o,t,r,n,e.hoverTime||300)),cN]}}function Xv(t,e){let n=t.plugin(yf);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const pN=Fe.define(),Yv=ke.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function Cf(t,e){let n=t.plugin(Jv),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const Jv=st.fromClass(class{constructor(t){this.input=t.state.facet(Ns),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(Yv);this.top=new Hl(t,!0,e.topContainer),this.bottom=new Hl(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(Yv);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Hl(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Hl(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Ns);if(n!=this.input){let r=n.filter(l=>l),o=[],i=[],s=[],a=[];for(let l of r){let c=this.specs.indexOf(l),u;c<0?(u=l(t.view),a.push(u)):(u=this.panels[c],u.update&&u.update(t)),o.push(u),(u.top?i:s).push(u)}this.specs=r,this.panels=o,this.top.sync(i),this.bottom.sync(s);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>ye.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Hl{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=Qv(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=Qv(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Qv(t){let e=t.nextSibling;return t.remove(),e}const Ns=ke.define({enables:Jv});function mN(t,e){let n,r=new Promise(s=>n=s),o=s=>gN(s,e,n);t.state.field(kf,!1)?t.dispatch({effects:Zv.of(o)}):t.dispatch({effects:Fe.appendConfig.of(kf.init(()=>[o]))});let i=ey.of(o);return{close:i,result:r.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(kf).indexOf(o)>-1&&t.dispatch({effects:i})}),s))}}const kf=Bt.define({create(){return[]},update(t,e){for(let n of e.effects)n.is(Zv)?t=[n.value].concat(t):n.is(ey)&&(t=t.filter(r=>r!=n.value));return t},provide:t=>Ns.computeN([t],e=>e.field(t))}),Zv=Fe.define(),ey=Fe.define();function gN(t,e,n){let r=e.content?e.content(t,()=>s(null)):null;if(!r){if(r=Je("form"),e.input){let a=Je("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(Je("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(Je("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let o=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a<o.length;a++){let l=o[a];l.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),s(null)):c.keyCode==13&&(c.preventDefault(),s(l))}),l.addEventListener("submit",c=>{c.preventDefault(),s(l)})}let i=Je("div",r,Je("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(i.className=e.class),i.classList.add("cm-dialog");function s(a){i.contains(i.ownerDocument.activeElement)&&t.focus(),n(a)}return{dom:i,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class br extends $r{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}br.prototype.elementClass="",br.prototype.toDOM=void 0,br.prototype.mapMode=Ft.TrackBefore,br.prototype.startSide=br.prototype.endSide=-1,br.prototype.point=!0;const $l=ke.define(),wN=ke.define(),vN={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>je.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Fs=ke.define();function yN(t){return[ny(),Fs.of({...vN,...t})]}const ty=ke.define({combine:t=>t.some(e=>e)});function ny(t){return[bN]}const bN=st.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Fs).map(e=>new oy(t,e)),this.fixed=!t.state.facet(ty);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(ty)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=je.iter(this.view.state.facet($l),this.view.viewport.from),r=[],o=this.gutters.map(i=>new CN(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let s=!0;for(let a of i.type)if(a.type==It.Text&&s){xf(n,r,a.from);for(let l of o)l.line(this.view,a,r);s=!1}else if(a.widget)for(let l of o)l.widget(this.view,a)}else if(i.type==It.Text){xf(n,r,i.from);for(let s of o)s.line(this.view,i,r)}else if(i.widget)for(let s of o)s.widget(this.view,i);for(let i of o)i.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Fs),n=t.state.facet(Fs),r=t.docChanged||t.heightChanged||t.viewportChanged||!je.eq(t.startState.facet($l),t.state.facet($l),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let o of this.gutters)o.update(t)&&(r=!0);else{r=!0;let o=[];for(let i of n){let s=e.indexOf(i);s<0?o.push(new oy(this.view,i)):(this.gutters[s].update(t),o.push(this.gutters[s]))}for(let i of this.gutters)i.dom.remove(),o.indexOf(i)<0&&i.destroy();for(let i of o)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=o}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>ye.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,o=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ze.LTR?{left:r,right:o}:{right:r,left:o}})});function ry(t){return Array.isArray(t)?t:[t]}function xf(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class CN{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=je.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:o}=this,i=(n.top-this.height)/e.scaleY,s=n.height/e.scaleY;if(this.i==o.elements.length){let a=new iy(e,s,i,r);o.elements.push(a),o.dom.appendChild(a.dom)}else o.elements[this.i].update(e,s,i,r);this.height=n.bottom,this.i++}line(e,n,r){let o=[];xf(this.cursor,o,n.from),r.length&&(o=o.concat(r));let i=this.gutter.config.lineMarker(e,n,o);i&&o.unshift(i);let s=this.gutter;o.length==0&&!s.config.renderEmptyElements||this.addElement(e,n,o)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),o=r?[r]:null;for(let i of e.state.facet(wN)){let s=i(e,n.widget,n);s&&(o||(o=[])).push(s)}o&&this.addElement(e,n,o)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class oy{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,o=>{let i=o.target,s;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let l=i.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=o.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);n.domEventHandlers[r](e,a,o)&&o.preventDefault()});this.markers=ry(n.markers(e)),n.initialSpacer&&(this.spacer=new iy(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=ry(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let o=this.config.updateSpacer(this.spacer.markers[0],e);o!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[o])}let r=e.view.viewport;return!je.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class iy{constructor(e,n,r,o){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,o)}update(e,n,r,o){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),kN(this.markers,o)||this.setMarkers(e,o)}setMarkers(e,n){let r="cm-gutterElement",o=this.dom.firstChild;for(let i=0,s=0;;){let a=s,l=i<n.length?n[i++]:null,c=!1;if(l){let u=l.elementClass;u&&(r+=" "+u);for(let d=s;d<this.markers.length;d++)if(this.markers[d].compare(l)){a=d,c=!0;break}}else a=this.markers.length;for(;s<a;){let u=this.markers[s++];if(u.toDOM){u.destroy(o);let d=o.nextSibling;o.remove(),o=d}}if(!l)break;l.toDOM&&(c?o=o.nextSibling:this.dom.insertBefore(l.toDOM(e),o)),c&&s++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function kN(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const xN=ke.define(),SN=ke.define(),li=ke.define({combine(t){return er(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let o in n){let i=r[o],s=n[o];r[o]=i?(a,l,c)=>i(a,l,c)||s(a,l,c):s}return r}})}});class Sf extends br{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Ef(t,e){return t.state.facet(li).formatNumber(e,t.state)}const EN=Fs.compute([li],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(xN)},lineMarker(e,n,r){return r.some(o=>o.toDOM)?null:new Sf(Ef(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let o of e.state.facet(SN)){let i=o(e,n,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(li)!=e.state.facet(li),initialSpacer(e){return new Sf(Ef(e,sy(e.state.doc.lines)))},updateSpacer(e,n){let r=Ef(n.view,sy(n.view.state.doc.lines));return r==e.number?e:new Sf(r)},domEventHandlers:t.facet(li).domEventHandlers,side:"before"}));function DN(t={}){return[li.of(t),ny(),EN]}function sy(t){let e=9;for(;e<t;)e=e*10+9;return e}const AN=new class extends br{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},ON=$l.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head).from;o>n&&(n=o,e.push(AN.range(o)))}return je.of(e)});function BN(){return ON}var Df;const ci=new He;function TN(t){return ke.define({combine:t?e=>e.concat(t):void 0})}const _N=new He;class In{constructor(e,n,r=[],o=""){this.data=e,this.name=o,Ve.prototype.hasOwnProperty("tree")||Object.defineProperty(Ve.prototype,"tree",{get(){return jt(this)}}),this.parser=n,this.extension=[Rr.of(this),Ve.languageData.of((i,s,a)=>{let l=ay(i,s,a),c=l.type.prop(ci);if(!c)return[];let u=i.facet(c),d=l.type.prop(_N);if(d){let f=l.resolve(s-l.from,a);for(let p of d)if(p.test(f,i)){let m=i.facet(p.facet);return p.type=="replace"?m:m.concat(u)}}return u})].concat(r)}isActiveAt(e,n,r=-1){return ay(e,n,r).type.prop(ci)==this.data}findRegions(e){let n=e.facet(Rr);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],o=(i,s)=>{if(i.prop(ci)==this.data){r.push({from:s,to:s+i.length});return}let a=i.prop(He.mounted);if(a){if(a.tree.prop(ci)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+s,to:l.to+s});else r.push({from:s,to:s+i.length});return}else if(a.overlay){let l=r.length;if(o(a.tree,a.overlay[0].from+s),r.length>l)return}}for(let l=0;l<i.children.length;l++){let c=i.children[l];c instanceof mt&&o(c,i.positions[l]+s)}};return o(jt(e),0),r}get allowsNesting(){return!0}}In.setState=Fe.define();function ay(t,e,n){let r=t.facet(Rr),o=jt(t).topNode;if(!r||r.allowsNesting)for(let i=o;i;i=i.enter(e,n,dt.ExcludeBuffers|dt.EnterBracketed))i.type.isTop&&(o=i);return o}class jl extends In{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=TN(e.languageData);return new jl(n,e.parser.configure({props:[ci.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new jl(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function jt(t){let e=t.field(In.state,!1);return e?e.tree:mt.empty}class NN{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let Ms=null;class Wl{constructor(e,n,r=[],o,i,s,a,l){this.parser=e,this.state=n,this.fragments=r,this.tree=o,this.treeLen=i,this.viewport=s,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new Wl(e,n,[],mt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new NN(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=mt.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(wo.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(wo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=Ms;Ms=this;try{return e()}finally{Ms=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=ly(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:o,treeLen:i,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,u,d,f)=>l.push({fromA:c,toA:u,fromB:d,toB:f})),r=wo.applyChanges(r,l),o=mt.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),d=e.mapPos(c.to,-1);u<d&&a.push({from:u,to:d})}}}return new Wl(this.parser,n,r,o,i,s,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:o,to:i}=this.skipped[r];o<e.to&&i>e.from&&(this.fragments=ly(this.fragments,o,i),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends Dw{createParse(n,r,o){let i=o[0].from,s=o[o.length-1].to;return{parsedPos:i,advance(){let l=Ms;if(l){for(let c of o)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new mt(Zt.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return Ms}}function ly(t,e,n){return wo.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class ui{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new ui(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=Wl.create(e.facet(Rr).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new ui(r)}}In.state=Bt.define({create:ui.init,update(t,e){for(let n of e.effects)if(n.is(In.setState))return n.value;return e.startState.facet(Rr)!=e.state.facet(Rr)?ui.init(e.state):t.apply(e)}});let cy=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(cy=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const Af=typeof navigator<"u"&&(!((Df=navigator.scheduling)===null||Df===void 0)&&Df.isInputPending)?()=>navigator.scheduling.isInputPending():null,FN=st.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(In.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(In.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=cy(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:o}}=this.view,i=r.field(In.state);if(i.tree==i.context.tree&&i.context.isDone(o+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!Af?Math.max(25,e.timeRemaining()-5):1e9),a=i.context.treeLen<o&&r.doc.length>o+1e3,l=i.context.work(()=>Af&&Af()||Date.now()>s,o+(a?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:In.setState.of(new ui(i.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>tn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Rr=ke.define({combine(t){return t.length?t[0]:null},enables:t=>[In.state,FN,ye.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class MN{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const IN=ke.define(),Is=ke.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Vl(t){let e=t.facet(Is);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Ps(t,e){let n="",r=t.tabSize,o=t.facet(Is)[0];if(o==" "){for(;e>=r;)n+=" ",e-=r;o=" "}for(let i=0;i<e;i++)n+=o;return n}function Of(t,e){t instanceof Ve&&(t=new Ul(t));for(let r of t.state.facet(IN)){let o=r(t,e);if(o!==void 0)return o}let n=jt(t.state);return n.length>=e?PN(t,n,e):null}class Ul{constructor(e,n={}){this.state=e,this.options=n,this.unit=Vl(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:i}=this.options;return o!=null&&o>=r.from&&o<=r.to?i&&o==e?{text:"",from:e}:(n<0?o<e:o<=e)?{text:r.text.slice(o-r.from),from:o}:{text:r.text.slice(0,o-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:o}=this.lineAt(e,n);return r.slice(e-o,Math.min(r.length,e+100-o))}column(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.countColumn(r,e-o),s=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return s>-1&&(i+=s-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,n=e.length){return Zo(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let s=i(o);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const uy=new He;function PN(t,e,n){let r=e.resolveStack(n),o=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(o!=r.node){let i=[];for(let s=o;s&&!(s.from<r.node.from||s.to>r.node.to||s.from==r.node.from&&s.type==r.node.type);s=s.parent)i.push(s);for(let s=i.length-1;s>=0;s--)r={node:i[s],next:r}}return dy(r,t,n)}function dy(t,e,n){for(let r=t;r;r=r.next){let o=zN(r.node);if(o)return o(Bf.create(e,n,r))}return 0}function LN(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function zN(t){let e=t.type.prop(uy);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(He.closedBy))){let o=t.lastChild,i=o&&r.indexOf(o.name)>-1;return s=>WN(s,!0,1,void 0,i&&!LN(s)?o.from:void 0)}return t.parent==null?HN:null}function HN(){return 0}class Bf extends Ul{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new Bf(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if($N(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return dy(this.context.next,this.base,this.pos)}}function $N(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function jN(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let o=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),s=o==null||o<=i.from?i.to:Math.min(i.to,o);for(let a=n.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let c=/^ */.exec(i.text.slice(n.to-i.from))[0].length;return{from:n.from,to:n.to+c}}a=l.to}}function WN(t,e,n,r,o){let i=t.textAfter,s=i.match(/^\s*/)[0].length,a=r&&i.slice(s,s+r.length)==r||o==t.pos+s,l=jN(t);return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*n)}function fy({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const VN=200;function UN(){return Ve.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,o=n.lineAt(r);if(r>o.from+VN)return t;let i=n.sliceString(o.from,r);if(!e.some(c=>c.test(i)))return t;let{state:s}=t,a=-1,l=[];for(let{head:c}of s.selection.ranges){let u=s.doc.lineAt(c);if(u.from==a)continue;a=u.from;let d=Of(s,u.from);if(d==null)continue;let f=/^\s*/.exec(u.text)[0],p=Ps(s,d);f!=p&&l.push({from:u.from,to:u.from+f.length,insert:p})}return l.length?[t,{changes:l,sequential:!0}]:t})}const qN=ke.define(),hy=new He;function RN(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function GN(t,e,n){let r=jt(t);if(r.length<n)return null;let o=r.resolveStack(n,1),i=null;for(let s=o;s;s=s.next){let a=s.node;if(a.to<=n||a.from>n)continue;if(i&&a.from<e)break;let l=a.type.prop(hy);if(l&&(a.to<r.length-50||r.length==t.doc.length||!KN(a))){let c=l(a,t);c&&c.from<=n&&c.from>=e&&c.to>n&&(i=c)}}return i}function KN(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function ql(t,e,n){for(let r of t.facet(qN)){let o=r(t,e,n);if(o)return o}return GN(t,e,n)}function py(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const Rl=Fe.define({map:py}),Ls=Fe.define({map:py});function my(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const Do=Bt.define({create(){return Se.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,r)=>t=gy(t,n,r)),t=t.map(e.changes);for(let n of e.effects)if(n.is(Rl)&&!XN(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(yy),o=r?Se.replace({widget:new eF(r(e.state,n.value))}):ky;t=t.update({add:[o.range(n.value.from,n.value.to)]})}else n.is(Ls)&&(t=t.update({filter:(r,o)=>n.value.from!=r||n.value.to!=o,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=gy(t,e.selection.main.head)),t},provide:t=>ye.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,o)=>{n.push(r,o)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],o=t[n++];if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid JSON for fold state");e.push(ky.range(r,o))}return Se.set(e,!0)}});function gy(t,e,n=e){let r=!1;return t.between(e,n,(o,i)=>{o<n&&i>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(o,i)=>o>=n||i<=e}):t}function Gl(t,e,n){var r;let o=null;return(r=t.field(Do,!1))===null||r===void 0||r.between(e,n,(i,s)=>{(!o||o.from>i)&&(o={from:i,to:s})}),o}function XN(t,e,n){let r=!1;return t.between(e,e,(o,i)=>{o==e&&i==n&&(r=!0)}),r}function wy(t,e){return t.field(Do,!1)?e:e.concat(Fe.appendConfig.of(by()))}const YN=t=>{for(let e of my(t)){let n=ql(t.state,e.from,e.to);if(n)return t.dispatch({effects:wy(t.state,[Rl.of(n),vy(t,n)])}),!0}return!1},JN=t=>{if(!t.state.field(Do,!1))return!1;let e=[];for(let n of my(t)){let r=Gl(t.state,n.from,n.to);r&&e.push(Ls.of(r),vy(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function vy(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,o=t.state.doc.lineAt(e.to).number;return ye.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${o}.`)}const QN=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:YN},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:JN},{key:"Ctrl-Alt-[",run:t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let o=t.lineBlockAt(r),i=ql(e,o.from,o.to);i&&n.push(Rl.of(i)),r=(i?t.lineBlockAt(i.to):o).to+1}return n.length&&t.dispatch({effects:wy(t.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:t=>{let e=t.state.field(Do,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,o)=>{n.push(Ls.of({from:r,to:o}))}),t.dispatch({effects:n}),!0}}],ZN={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},yy=ke.define({combine(t){return er(t,ZN)}});function by(t){return[Do,rF]}function Cy(t,e){let{state:n}=t,r=n.facet(yy),o=s=>{let a=t.lineBlockAt(t.posAtDOM(s.target)),l=Gl(t.state,a.from,a.to);l&&t.dispatch({effects:Ls.of(l)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,o,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",n.phrase("folded code")),i.title=n.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const ky=Se.replace({widget:new class extends dn{toDOM(t){return Cy(t,null)}}});class eF extends dn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Cy(e,this.value)}}const tF={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Tf extends br{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function nF(t={}){let e={...tF,...t},n=new Tf(e,!0),r=new Tf(e,!1),o=st.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(Rr)!=s.state.facet(Rr)||s.startState.field(Do,!1)!=s.state.field(Do,!1)||jt(s.startState)!=jt(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new gr;for(let l of s.viewportLineBlocks){let c=Gl(s.state,l.from,l.to)?r:ql(s.state,l.from,l.to)?n:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:i}=e;return[o,yN({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(o))===null||a===void 0?void 0:a.markers)||je.empty},initialSpacer(){return new Tf(e,!1)},domEventHandlers:{...i,click:(s,a,l)=>{if(i.click&&i.click(s,a,l))return!0;let c=Gl(s.state,a.from,a.to);if(c)return s.dispatch({effects:Ls.of(c)}),!0;let u=ql(s.state,a.from,a.to);return u?(s.dispatch({effects:Rl.of(u)}),!0):!1}}}),by()]}const rF=ye.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class di{constructor(e,n){this.specs=e;let r;function o(a){let l=jr.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const i=typeof n.all=="string"?n.all:n.all?o(n.all):void 0,s=n.scope;this.scope=s instanceof In?a=>a.prop(ci)==s.data:s?a=>a==s:void 0,this.style=Iw(e.map(a=>({tag:a.tag,class:a.class||o(Object.assign({},a,{tag:null}))})),{all:i}).style,this.module=r?new jr(r):null,this.themeType=n.themeType}static define(e,n){return new di(e,n||{})}}const _f=ke.define(),xy=ke.define({combine(t){return t.length?[t[0]]:null}});function Nf(t){let e=t.facet(_f);return e.length?e:t.facet(xy)}function Ff(t,e){let n=[iF],r;return t instanceof di&&(t.module&&n.push(ye.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?n.push(xy.of(t)):r?n.push(_f.computeN([ye.darkTheme],o=>o.facet(ye.darkTheme)==(r=="dark")?[t]:[])):n.push(_f.of(t)),n}class oF{constructor(e){this.markCache=Object.create(null),this.tree=jt(e.state),this.decorations=this.buildDeco(e,Nf(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=jt(e.state),r=Nf(e.state),o=r!=Nf(e.startState),{viewport:i}=e.view,s=e.changes.mapPos(this.decoratedTo,1);n.length<i.to&&!o&&n.type==this.tree.type&&s>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(n!=this.tree||e.viewportChanged||o)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,n){if(!n||!this.tree.length)return Se.none;let r=new gr;for(let{from:o,to:i}of e.visibleRanges)mB(this.tree,n,(s,a,l)=>{r.add(s,a,this.markCache[l]||(this.markCache[l]=Se.mark({class:l})))},o,i);return r.finish()}}const iF=Hr.high(st.fromClass(oF,{decorations:t=>t.decorations})),sF=di.define([{tag:z.meta,color:"#404740"},{tag:z.link,textDecoration:"underline"},{tag:z.heading,textDecoration:"underline",fontWeight:"bold"},{tag:z.emphasis,fontStyle:"italic"},{tag:z.strong,fontWeight:"bold"},{tag:z.strikethrough,textDecoration:"line-through"},{tag:z.keyword,color:"#708"},{tag:[z.atom,z.bool,z.url,z.contentSeparator,z.labelName],color:"#219"},{tag:[z.literal,z.inserted],color:"#164"},{tag:[z.string,z.deleted],color:"#a11"},{tag:[z.regexp,z.escape,z.special(z.string)],color:"#e40"},{tag:z.definition(z.variableName),color:"#00f"},{tag:z.local(z.variableName),color:"#30a"},{tag:[z.typeName,z.namespace],color:"#085"},{tag:z.className,color:"#167"},{tag:[z.special(z.variableName),z.macroName],color:"#256"},{tag:z.definition(z.propertyName),color:"#00c"},{tag:z.comment,color:"#940"},{tag:z.invalid,color:"#f00"}]),aF=ye.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Sy=1e4,Ey="()[]{}",Dy=ke.define({combine(t){return er(t,{afterCursor:!0,brackets:Ey,maxScanDistance:Sy,renderMatch:uF})}}),lF=Se.mark({class:"cm-matchingBracket"}),cF=Se.mark({class:"cm-nonmatchingBracket"});function uF(t){let e=[],n=t.matched?lF:cF;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const dF=[Bt.define({create(){return Se.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(Dy);for(let o of e.state.selection.ranges){if(!o.empty)continue;let i=rr(e.state,o.head,-1,r)||o.head>0&&rr(e.state,o.head-1,1,r)||r.afterCursor&&(rr(e.state,o.head,1,r)||o.head<e.state.doc.length&&rr(e.state,o.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,e.state)))}return Se.set(n,!0)},provide:t=>ye.decorations.from(t)}),aF];function fF(t={}){return[Dy.of(t),dF]}const hF=new He;function Mf(t,e,n){let r=t.prop(e<0?He.openedBy:He.closedBy);if(r)return r;if(t.name.length==1){let o=n.indexOf(t.name);if(o>-1&&o%2==(e<0?1:0))return[n[o+e]]}return null}function If(t){let e=t.type.prop(hF);return e?e(t.node):t}function rr(t,e,n,r={}){let o=r.maxScanDistance||Sy,i=r.brackets||Ey,s=jt(t),a=s.resolveInner(e,n);for(let l=a;l;l=l.parent){let c=Mf(l.type,n,i);if(c&&l.from<l.to){let u=If(l);if(u&&(n>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return pF(t,e,n,l,u,c,i)}}return mF(t,e,n,s,a.type,o,i)}function pF(t,e,n,r,o,i,s){let a=r.parent,l={from:o.from,to:o.to},c=0,u=a==null?void 0:a.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do if(n<0?u.to<=r.from:u.from>=r.to){if(c==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let d=If(u);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(Mf(u.type,n,s))c++;else if(Mf(u.type,-n,s)){if(c==0){let d=If(u);return{start:l,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}c--}}while(n<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}function mF(t,e,n,r,o,i,s){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(a);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?e-1:e,to:n>0?e+1:e},u=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let f=0;!u.next().done&&f<=i;){let p=u.value;n<0&&(f+=p.length);let m=e+f*n;for(let w=n>0?0:p.length-1,v=n>0?p.length:-1;w!=v;w+=n){let y=s.indexOf(p[w]);if(!(y<0||r.resolveInner(m+w,1).type!=o))if(y%2==0==n>0)d++;else{if(d==1)return{start:c,end:{from:m+w,to:m+w+1},matched:y>>1==l>>1};d--}}n>0&&(f+=p.length)}return u.done?{start:c,matched:!1}:null}const gF=Object.create(null),Ay=[Zt.none],Oy=[],By=Object.create(null),wF=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])wF[t]=vF(gF,e);function Pf(t,e){Oy.indexOf(t)>-1||(Oy.push(t),console.warn(e))}function vF(t,e){let n=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let u=t[c]||z[c];u?typeof u=="function"?l.length?l=l.map(u):Pf(c,`Modifier ${c} used at start of tag`):l.length?Pf(c,`Tag ${c} used as modifier`):l=Array.isArray(u)?u:[u]:Pf(c,`Unknown highlighting tag ${c}`)}for(let c of l)n.push(c)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),o=r+" "+n.map(a=>a.id),i=By[o];if(i)return i.id;let s=By[o]=Zt.define({id:Ay.length,name:r,props:[Fw({[r]:n})]});return Ay.push(s),s.id}Ze.RTL,Ze.LTR;const yF=jl.define({name:"json",parser:yB.configure({props:[uy.add({Object:fy({except:/^\s*\}/}),Array:fy({except:/^\s*\]/})}),hy.add({"Object Array":RN})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function bF(){return new MN(yF)}var Ty=t=>{var{theme:e,settings:n={},styles:r=[]}=t,o={".cm-gutters":{}},i={};n.background&&(i.backgroundColor=n.background),n.backgroundImage&&(i.backgroundImage=n.backgroundImage),n.foreground&&(i.color=n.foreground),n.fontSize&&(i.fontSize=n.fontSize),(n.background||n.foreground)&&(o["&"]=i),n.fontFamily&&(o["&.cm-editor .cm-scroller"]={fontFamily:n.fontFamily}),n.gutterBackground&&(o[".cm-gutters"].backgroundColor=n.gutterBackground),n.gutterForeground&&(o[".cm-gutters"].color=n.gutterForeground),n.gutterBorder&&(o[".cm-gutters"].borderRightColor=n.gutterBorder),n.caret&&(o[".cm-content"]={caretColor:n.caret},o[".cm-cursor, .cm-dropCursor"]={borderLeftColor:n.caret});var s={};n.gutterActiveForeground&&(s.color=n.gutterActiveForeground),n.lineHighlight&&(o[".cm-activeLine"]={backgroundColor:n.lineHighlight},s.backgroundColor=n.lineHighlight),o[".cm-activeLineGutter"]=s,n.selection&&(o["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:n.selection+" !important"}),n.selectionMatch&&(o["& .cm-selectionMatch"]={backgroundColor:n.selectionMatch});var a=ye.theme(o,{dark:e==="dark"}),l=di.define(r),c=[a,Ff(l)];return c},CF={background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#b99d555c",selectionMatch:"#b99d555c",lineHighlight:"#baa1602b",gutterBackground:"#282828",gutterForeground:"#7c6f64"},kF=[{tag:z.keyword,color:"#fb4934"},{tag:[z.name,z.deleted,z.character,z.propertyName,z.macroName],color:"#8ec07c"},{tag:[z.variableName],color:"#83a598"},{tag:[z.function(z.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[z.labelName],color:"#ebdbb2"},{tag:[z.color,z.constant(z.name),z.standard(z.name)],color:"#d3869b"},{tag:[z.definition(z.name),z.separator],color:"#ebdbb2"},{tag:[z.brace],color:"#ebdbb2"},{tag:[z.annotation],color:"#fb4934d"},{tag:[z.number,z.changed,z.annotation,z.modifier,z.self,z.namespace],color:"#d3869b"},{tag:[z.typeName,z.className],color:"#fabd2f"},{tag:[z.operator,z.operatorKeyword],color:"#fb4934"},{tag:[z.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[z.squareBracket],color:"#fe8019"},{tag:[z.angleBracket],color:"#83a598"},{tag:[z.attributeName],color:"#8ec07c"},{tag:[z.regexp],color:"#8ec07c"},{tag:[z.quote],color:"#928374"},{tag:[z.string],color:"#ebdbb2"},{tag:z.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[z.url,z.escape,z.special(z.string)],color:"#d3869b"},{tag:[z.meta],color:"#fabd2f"},{tag:[z.comment],color:"#928374",fontStyle:"italic"},{tag:z.strong,fontWeight:"bold",color:"#fe8019"},{tag:z.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:z.strikethrough,textDecoration:"line-through"},{tag:z.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[z.heading1,z.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[z.heading3,z.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[z.heading5,z.heading6],color:"#fabd2f"},{tag:[z.atom,z.bool,z.special(z.variableName)],color:"#d3869b"},{tag:[z.processingInstruction,z.inserted],color:"#83a598"},{tag:[z.contentSeparator],color:"#fb4934"},{tag:z.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"}],xF=t=>{var{theme:e="dark",settings:n={},styles:r=[]}={};return Ty({theme:e,settings:go({},CF,n),styles:[...kF,...r]})},_y=xF(),SF={background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#bdae9391",selectionMatch:"#bdae9391",lineHighlight:"#a37f2238",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},EF=t=>{var{theme:e="light",settings:n={},styles:r=[]}={};return Ty({theme:e,settings:go({},SF,n),styles:[{tag:z.keyword,color:"#9d0006"},{tag:[z.name,z.deleted,z.character,z.propertyName,z.macroName],color:"#427b58"},{tag:[z.variableName],color:"#076678"},{tag:[z.function(z.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[z.labelName],color:"#3c3836"},{tag:[z.color,z.constant(z.name),z.standard(z.name)],color:"#8f3f71"},{tag:[z.definition(z.name),z.separator],color:"#3c3836"},{tag:[z.brace],color:"#3c3836"},{tag:[z.annotation],color:"#9d0006"},{tag:[z.number,z.changed,z.annotation,z.modifier,z.self,z.namespace],color:"#8f3f71"},{tag:[z.typeName,z.className],color:"#b57614"},{tag:[z.operator,z.operatorKeyword],color:"#9d0006"},{tag:[z.tagName],color:"#427b58",fontStyle:"bold"},{tag:[z.squareBracket],color:"#af3a03"},{tag:[z.angleBracket],color:"#076678"},{tag:[z.attributeName],color:"#427b58"},{tag:[z.regexp],color:"#427b58"},{tag:[z.quote],color:"#928374"},{tag:[z.string],color:"#3c3836"},{tag:z.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[z.url,z.escape,z.special(z.string)],color:"#8f3f71"},{tag:[z.meta],color:"#b57614"},{tag:[z.comment],color:"#928374",fontStyle:"italic"},{tag:z.strong,fontWeight:"bold",color:"#af3a03"},{tag:z.emphasis,fontStyle:"italic",color:"#79740e"},{tag:z.strikethrough,textDecoration:"line-through"},{tag:z.heading,fontWeight:"bold",color:"#79740e"},{tag:[z.heading1,z.heading2],fontWeight:"bold",color:"#79740e"},{tag:[z.heading3,z.heading4],fontWeight:"bold",color:"#b57614"},{tag:[z.heading5,z.heading6],color:"#b57614"},{tag:[z.atom,z.bool,z.special(z.variableName)],color:"#8f3f71"},{tag:[z.processingInstruction,z.inserted],color:"#076678"},{tag:[z.contentSeparator],color:"#9d0006"},{tag:z.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"},...r]})};EF();function DF(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}const AF=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=zf(t.state,n.from);return r.line?OF(t):r.block?TF(t):!1};function Lf(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=t(e,n);return o?(r(n.update(o)),!0):!1}}const OF=Lf(FF,0),BF=Lf(Ny,0),TF=Lf((t,e)=>Ny(t,e,NF(e)),0);function zf(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const zs=50;function _F(t,{open:e,close:n},r,o){let i=t.sliceDoc(r-zs,r),s=t.sliceDoc(o,o+zs),a=/\s*$/.exec(i)[0].length,l=/^\s*/.exec(s)[0].length,c=i.length-a;if(i.slice(c-e.length,c)==e&&s.slice(l,l+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+l,margin:l&&1}};let u,d;o-r<=2*zs?u=d=t.sliceDoc(r,o):(u=t.sliceDoc(r,r+zs),d=t.sliceDoc(o-zs,o));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+e.length)==e&&d.slice(m,m+n.length)==n?{open:{pos:r+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:o-p-n.length,margin:/\s/.test(d.charAt(m-1))?1:0}}:null}function NF(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),o=n.to<=r.to?r:t.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=o.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return e}function Ny(t,e,n=e.selection.ranges){let r=n.map(i=>zf(e,i.from).block);if(!r.every(i=>i))return null;let o=n.map((i,s)=>_F(e,r[s],i.from,i.to));if(t!=2&&!o.every(i=>i))return{changes:e.changes(n.map((i,s)=>o[s]?[]:[{from:i.from,insert:r[s].open+" "},{from:i.to,insert:" "+r[s].close}]))};if(t!=1&&o.some(i=>i)){let i=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let l=r[s],{open:c,close:u}=a;i.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+l.close.length})}return{changes:i}}return null}function FF(t,e,n=e.selection.ranges){let r=[],o=-1;for(let{from:i,to:s}of n){let a=r.length,l=1e9,c=zf(e,i).line;if(c){for(let u=i;u<=s;){let d=e.doc.lineAt(u);if(d.from>o&&(i==s||s>d.from)){o=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,m=d.text.slice(f,f+c.length)==c?f:-1;f<d.text.length&&f<l&&(l=f),r.push({line:d,comment:m,token:c,indent:f,empty:p,single:!1})}u=d.to+1}if(l<1e9)for(let u=a;u<r.length;u++)r[u].indent<r[u].line.text.length&&(r[u].indent=l);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:a,token:l,indent:c,empty:u,single:d}of r)(d||!u)&&i.push({from:a.from+c,insert:l+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:a,token:l}of r)if(a>=0){let c=s.from+a,u=c+l.length;s.text[u-s.from]==" "&&u++,i.push({from:c,to:u})}return{changes:i}}return null}const Hf=Zn.define(),MF=Zn.define(),IF=ke.define(),Fy=ke.define({combine(t){return er(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,o)=>e(r,o)||n(r,o)})}}),My=Bt.define({create(){return or.empty},update(t,e){let n=e.state.facet(Fy),r=e.annotation(Hf);if(r){let l=rn.fromTransaction(e,r.selection),c=r.side,u=c==0?t.undone:t.done;return l?u=Xl(u,u.length,n.minDepth,l):u=Ly(u,e.startState.selection),new or(c==0?r.rest:u,c==0?u:r.rest)}let o=e.annotation(MF);if((o=="full"||o=="before")&&(t=t.isolate()),e.annotation(bt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=rn.fromTransaction(e),s=e.annotation(bt.time),a=e.annotation(bt.userEvent);return i?t=t.addChanges(i,s,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,a,n.newGroupDelay)),(o=="full"||o=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new or(t.done.map(rn.fromJSON),t.undone.map(rn.fromJSON))}});function PF(t={}){return[My,Fy.of(t),ye.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?Iy:e.inputType=="historyRedo"?$f:null;return r?(e.preventDefault(),r(n)):!1}})]}function Kl(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let o=n.field(My,!1);if(!o)return!1;let i=o.pop(t,n,e);return i?(r(i),!0):!1}}const Iy=Kl(0,!1),$f=Kl(1,!1),LF=Kl(0,!0),zF=Kl(1,!0);class rn{constructor(e,n,r,o,i){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=i}setSelAfter(e){return new rn(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new rn(e.changes&&Et.fromJSON(e.changes),[],e.mapped&&Qn.fromJSON(e.mapped),e.startSelection&&oe.fromJSON(e.startSelection),e.selectionsAfter.map(oe.fromJSON))}static fromTransaction(e,n){let r=xn;for(let o of e.startState.facet(IF)){let i=o(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new rn(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,xn)}static selection(e){return new rn(void 0,xn,void 0,void 0,e)}}function Xl(t,e,n,r){let o=e+1>n+20?e-n-1:0,i=t.slice(o,e);return i.push(r),i}function HF(t,e){let n=[],r=!1;return t.iterChangedRanges((o,i)=>n.push(o,i)),e.iterChangedRanges((o,i,s,a)=>{for(let l=0;l<n.length;){let c=n[l++],u=n[l++];a>=c&&s<=u&&(r=!0)}}),r}function $F(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function Py(t,e){return t.length?e.length?t.concat(e):t:e}const xn=[],jF=200;function Ly(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-jF));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),Xl(t,t.length-1,1e9,n.setSelAfter(r)))}else return[rn.selection([e])]}function WF(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function jf(t,e){if(!t.length)return t;let n=t.length,r=xn;for(;n;){let o=VF(t[n-1],e,r);if(o.changes&&!o.changes.empty||o.effects.length){let i=t.slice(0,n);return i[n-1]=o,i}else e=o.mapped,n--,r=o.selectionsAfter}return r.length?[rn.selection(r)]:xn}function VF(t,e,n){let r=Py(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):xn,n);if(!t.changes)return rn.selection(r);let o=t.changes.map(e),i=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(i):i;return new rn(o,Fe.mapEffects(t.effects,e),s,t.startSelection.map(i),r)}const UF=/^(input\.type|delete)($|\.)/;class or{constructor(e,n,r=0,o=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new or(this.done,this.undone):this}addChanges(e,n,r,o,i){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||UF.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,HF(a.changes,e.changes))||r=="input.type.compose")?s=Xl(s,s.length-1,o.minDepth,new rn(e.changes.compose(a.changes),Py(Fe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,xn)):s=Xl(s,s.length,o.minDepth,e),new or(s,xn,n,r)}addSelection(e,n,r,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:xn;return i.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&$F(i[i.length-1],e)?this:new or(Ly(this.done,e),this.undone,n,r)}addMapping(e){return new or(jf(this.done,e),jf(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1],s=i.selectionsAfter[0]||n.selection;if(r&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Hf.of({side:e,rest:WF(o),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let a=o.length==1?xn:o.slice(0,o.length-1);return i.mapped&&(a=jf(a,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Hf.of({side:e,rest:a,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}or.empty=new or(xn,xn);const qF=[{key:"Mod-z",run:Iy,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:$f,preventDefault:!0},{linux:"Ctrl-Shift-z",run:$f,preventDefault:!0},{key:"Mod-u",run:LF,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:zF,preventDefault:!0}];function fi(t,e){return oe.create(t.ranges.map(e),t.mainIndex)}function Pn(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ln({state:t,dispatch:e},n){let r=fi(t.selection,n);return r.eq(t.selection,!0)?!1:(e(Pn(t,r)),!0)}function Yl(t,e){return oe.cursor(e?t.to:t.from)}function zy(t,e){return Ln(t,n=>n.empty?t.moveByChar(n,e):Yl(n,e))}function Wt(t){return t.textDirectionAt(t.state.selection.main.head)==Ze.LTR}const Hy=t=>zy(t,!Wt(t)),$y=t=>zy(t,Wt(t));function jy(t,e){return Ln(t,n=>n.empty?t.moveByGroup(n,e):Yl(n,e))}const RF=t=>jy(t,!Wt(t)),GF=t=>jy(t,Wt(t));function KF(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Jl(t,e,n){let r=jt(t).resolveInner(e.head),o=n?He.closedBy:He.openedBy;for(let l=e.head;;){let c=n?r.childAfter(l):r.childBefore(l);if(!c)break;KF(t,c,o)?r=c:l=n?c.to:c.from}let i=r.type.prop(o),s,a;return i&&(s=n?rr(t,r.from,1):rr(t,r.to,-1))&&s.matched?a=n?s.end.to:s.end.from:a=n?r.to:r.from,oe.cursor(a,n?-1:1)}const XF=t=>Ln(t,e=>Jl(t.state,e,!Wt(t))),YF=t=>Ln(t,e=>Jl(t.state,e,Wt(t)));function Wy(t,e){return Ln(t,n=>{if(!n.empty)return Yl(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const Vy=t=>Wy(t,!1),Uy=t=>Wy(t,!0);function qy(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,o;if(e){for(let i of t.state.facet(ye.scrollMargins)){let s=i(t);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(r=Math.max(s==null?void 0:s.bottom,r))}o=t.scrollDOM.clientHeight-n-r}else o=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,o-5)}}function Ry(t,e){let n=qy(t),{state:r}=t,o=fi(r.selection,s=>s.empty?t.moveVertically(s,e,n.height):Yl(s,e));if(o.eq(r.selection))return!1;let i;if(n.selfScroll){let s=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+n.marginTop,c=a.bottom-n.marginBottom;s&&s.top>l&&s.bottom<c&&(i=ye.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(Pn(r,o),{effects:i}),!0}const Gy=t=>Ry(t,!1),Wf=t=>Ry(t,!0);function Gr(t,e,n){let r=t.lineBlockAt(e.head),o=t.moveToLineBoundary(e,n);if(o.head==e.head&&o.head!=(n?r.to:r.from)&&(o=t.moveToLineBoundary(e,n,!1)),!n&&o.head==r.from&&r.length){let i=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(o=oe.cursor(r.from+i))}return o}const JF=t=>Ln(t,e=>Gr(t,e,!0)),QF=t=>Ln(t,e=>Gr(t,e,!1)),ZF=t=>Ln(t,e=>Gr(t,e,!Wt(t))),e2=t=>Ln(t,e=>Gr(t,e,Wt(t))),t2=t=>Ln(t,e=>oe.cursor(t.lineBlockAt(e.head).from,1)),n2=t=>Ln(t,e=>oe.cursor(t.lineBlockAt(e.head).to,-1));function r2(t,e,n){let r=!1,o=fi(t.selection,i=>{let s=rr(t,i.head,-1)||rr(t,i.head,1)||i.head>0&&rr(t,i.head-1,1)||i.head<t.doc.length&&rr(t,i.head+1,-1);if(!s||!s.end)return i;r=!0;let a=s.start.from==i.head?s.end.to:s.end.from;return oe.cursor(a)});return r?(e(Pn(t,o)),!0):!1}const o2=({state:t,dispatch:e})=>r2(t,e);function Sn(t,e){let n=fi(t.state.selection,r=>{let o=e(r);return oe.range(r.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(Pn(t.state,n)),!0)}function Ky(t,e){return Sn(t,n=>t.moveByChar(n,e))}const Xy=t=>Ky(t,!Wt(t)),Yy=t=>Ky(t,Wt(t));function Jy(t,e){return Sn(t,n=>t.moveByGroup(n,e))}const i2=t=>Jy(t,!Wt(t)),s2=t=>Jy(t,Wt(t)),a2=t=>Sn(t,e=>Jl(t.state,e,!Wt(t))),l2=t=>Sn(t,e=>Jl(t.state,e,Wt(t)));function Qy(t,e){return Sn(t,n=>t.moveVertically(n,e))}const Zy=t=>Qy(t,!1),eb=t=>Qy(t,!0);function tb(t,e){return Sn(t,n=>t.moveVertically(n,e,qy(t).height))}const nb=t=>tb(t,!1),rb=t=>tb(t,!0),c2=t=>Sn(t,e=>Gr(t,e,!0)),u2=t=>Sn(t,e=>Gr(t,e,!1)),d2=t=>Sn(t,e=>Gr(t,e,!Wt(t))),f2=t=>Sn(t,e=>Gr(t,e,Wt(t))),h2=t=>Sn(t,e=>oe.cursor(t.lineBlockAt(e.head).from)),p2=t=>Sn(t,e=>oe.cursor(t.lineBlockAt(e.head).to)),ob=({state:t,dispatch:e})=>(e(Pn(t,{anchor:0})),!0),ib=({state:t,dispatch:e})=>(e(Pn(t,{anchor:t.doc.length})),!0),sb=({state:t,dispatch:e})=>(e(Pn(t,{anchor:t.selection.main.anchor,head:0})),!0),ab=({state:t,dispatch:e})=>(e(Pn(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),m2=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),g2=({state:t,dispatch:e})=>{let n=Zl(t).map(({from:r,to:o})=>oe.range(r,Math.min(o+1,t.doc.length)));return e(t.update({selection:oe.create(n),userEvent:"select"})),!0},w2=({state:t,dispatch:e})=>{let n=fi(t.selection,r=>{let o=jt(t),i=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=i.node.from&&s.node.to<=i.node.to&&(i=s)}for(let s=i;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return oe.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e(Pn(t,n)),!0)};function lb(t,e){let{state:n}=t,r=n.selection,o=n.selection.ranges.slice();for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head);if(e?s.to<t.state.doc.length:s.from>0)for(let a=i;;){let l=t.moveVertically(a,e);if(l.head<s.from||l.head>s.to){o.some(c=>c.head==l.head)||o.push(l);break}else{if(l.head==a.head)break;a=l}}}return o.length==r.ranges.length?!1:(t.dispatch(Pn(n,oe.create(o,o.length-1))),!0)}const v2=t=>lb(t,!1),y2=t=>lb(t,!0),b2=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=oe.create([n.main]):n.main.empty||(r=oe.create([oe.cursor(n.main.head)])),r?(e(Pn(t,r)),!0):!1};function Hs(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,o=r.changeByRange(i=>{let{from:s,to:a}=i;if(s==a){let l=e(i);l<s?(n="delete.backward",l=Ql(t,l,!1)):l>s&&(n="delete.forward",l=Ql(t,l,!0)),s=Math.min(s,l),a=Math.max(a,l)}else s=Ql(t,s,!1),a=Ql(t,a,!0);return s==a?{range:i}:{changes:{from:s,to:a},range:oe.cursor(s,s<i.head?-1:1)}});return o.changes.empty?!1:(t.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?ye.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Ql(t,e,n){if(t instanceof ye)for(let r of t.state.facet(ye.atomicRanges).map(o=>o(t)))r.between(e,e,(o,i)=>{o<e&&i>e&&(e=n?i:o)});return e}const cb=(t,e,n)=>Hs(t,r=>{let o=r.from,{state:i}=t,s=i.doc.lineAt(o),a,l;if(n&&!e&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]==" ")return o-1;let c=Zo(a,i.tabSize),u=c%Vl(i)||Vl(i);for(let d=0;d<u&&a[a.length-1-d]==" ";d++)o--;l=o}else l=St(s.text,o-s.from,e,e)+s.from,l==o&&s.number!=(e?i.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,o-s.from))&&(l=St(s.text,l-s.from,!1,!1)+s.from);return l}),Vf=t=>cb(t,!1,!0),ub=t=>cb(t,!0,!1),db=(t,e)=>Hs(t,n=>{let r=n.head,{state:o}=t,i=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(e?i.to:i.from)){r==n.head&&i.number!=(e?o.doc.lines:1)&&(r+=e?1:-1);break}let l=St(i.text,r-i.from,e)+i.from,c=i.text.slice(Math.min(r,l)-i.from,Math.max(r,l)-i.from),u=s(c);if(a!=null&&u!=a)break;(c!=" "||r!=n.head)&&(a=u),r=l}return r}),fb=t=>db(t,!1),C2=t=>db(t,!0),k2=t=>Hs(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),x2=t=>Hs(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),S2=t=>Hs(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),E2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Xe.of(["",""])},range:oe.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},D2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let o=r.from,i=t.doc.lineAt(o),s=o==i.from?o-1:St(i.text,o-i.from,!1)+i.from,a=o==i.to?o+1:St(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:a,insert:t.doc.slice(o,a).append(t.doc.slice(s,o))},range:oe.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Zl(t){let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.from),i=t.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=t.doc.lineAt(r.to-1)),n>=o.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(r)}else e.push({from:o.from,to:i.to,ranges:[r]});n=i.number+1}return e}function hb(t,e,n){if(t.readOnly)return!1;let r=[],o=[];for(let i of Zl(t)){if(n?i.to==t.doc.length:i.from==0)continue;let s=t.doc.lineAt(n?i.to+1:i.from-1),a=s.length+1;if(n){r.push({from:i.to,to:s.to},{from:i.from,insert:s.text+t.lineBreak});for(let l of i.ranges)o.push(oe.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:s.from,to:i.from},{from:i.to,insert:t.lineBreak+s.text});for(let l of i.ranges)o.push(oe.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:oe.create(o,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const A2=({state:t,dispatch:e})=>hb(t,e,!1),O2=({state:t,dispatch:e})=>hb(t,e,!0);function pb(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of Zl(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});let o=t.changes(r);return e(t.update({changes:o,selection:t.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const B2=({state:t,dispatch:e})=>pb(t,e,!1),T2=({state:t,dispatch:e})=>pb(t,e,!0),_2=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Zl(e).map(({from:o,to:i})=>(o>0?o--:i<e.doc.length&&i++,{from:o,to:i}))),r=fi(e.selection,o=>{let i;if(t.lineWrapping){let s=t.lineBlockAt(o.head),a=t.coordsAtPos(o.head,o.assoc||1);a&&(i=s.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(o,!0,i)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function N2(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=jt(t).resolveInner(e),r=n.childBefore(e),o=n.childAfter(e),i;return r&&o&&r.to<=e&&o.from>=e&&(i=r.type.prop(He.closedBy))&&i.indexOf(o.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(o.from).from&&!/\S/.test(t.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}const mb=gb(!1),F2=gb(!0);function gb(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(o=>{let{from:i,to:s}=o,a=e.doc.lineAt(i),l=!t&&i==s&&N2(e,i);t&&(i=s=(s<=a.to?a:e.doc.lineAt(s)).to);let c=new Ul(e,{simulateBreak:i,simulateDoubleBreak:!!l}),u=Of(c,i);for(u==null&&(u=Zo(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;l?{from:i,to:s}=l:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let d=["",Ps(e,u)];return l&&d.push(Ps(e,c.lineIndent(a.from,-1))),{changes:{from:i,to:s,insert:Xe.of(d)},range:oe.cursor(i+1+d[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Uf(t,e){let n=-1;return t.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let a=t.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(e(a,o,r),n=a.number),s=a.to+1}let i=t.changes(o);return{changes:o,range:oe.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const M2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new Ul(t,{overrideIndentation:i=>{let s=n[i];return s??-1}}),o=Uf(t,(i,s,a)=>{let l=Of(r,i.from);if(l==null)return;/\S/.test(i.text)||(l=0);let c=/^\s*/.exec(i.text)[0],u=Ps(t,l);(c!=u||a.from<i.from+c.length)&&(n[i.from]=l,s.push({from:i.from,to:i.from+c.length,insert:u}))});return o.changes.empty||e(t.update(o,{userEvent:"indent"})),!0},wb=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Uf(t,(n,r)=>{r.push({from:n.from,insert:t.facet(Is)})}),{userEvent:"input.indent"})),!0),vb=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Uf(t,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let i=Zo(o,t.tabSize),s=0,a=Ps(t,Math.max(0,i-Vl(t)));for(;s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),I2=t=>(t.setTabFocusMode(),!0),P2=[{key:"Ctrl-b",run:Hy,shift:Xy,preventDefault:!0},{key:"Ctrl-f",run:$y,shift:Yy},{key:"Ctrl-p",run:Vy,shift:Zy},{key:"Ctrl-n",run:Uy,shift:eb},{key:"Ctrl-a",run:t2,shift:h2},{key:"Ctrl-e",run:n2,shift:p2},{key:"Ctrl-d",run:ub},{key:"Ctrl-h",run:Vf},{key:"Ctrl-k",run:k2},{key:"Ctrl-Alt-h",run:fb},{key:"Ctrl-o",run:E2},{key:"Ctrl-t",run:D2},{key:"Ctrl-v",run:Wf}],L2=[{key:"ArrowLeft",run:Hy,shift:Xy,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:RF,shift:i2,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:ZF,shift:d2,preventDefault:!0},{key:"ArrowRight",run:$y,shift:Yy,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:GF,shift:s2,preventDefault:!0},{mac:"Cmd-ArrowRight",run:e2,shift:f2,preventDefault:!0},{key:"ArrowUp",run:Vy,shift:Zy,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ob,shift:sb},{mac:"Ctrl-ArrowUp",run:Gy,shift:nb},{key:"ArrowDown",run:Uy,shift:eb,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ib,shift:ab},{mac:"Ctrl-ArrowDown",run:Wf,shift:rb},{key:"PageUp",run:Gy,shift:nb},{key:"PageDown",run:Wf,shift:rb},{key:"Home",run:QF,shift:u2,preventDefault:!0},{key:"Mod-Home",run:ob,shift:sb},{key:"End",run:JF,shift:c2,preventDefault:!0},{key:"Mod-End",run:ib,shift:ab},{key:"Enter",run:mb,shift:mb},{key:"Mod-a",run:m2},{key:"Backspace",run:Vf,shift:Vf,preventDefault:!0},{key:"Delete",run:ub,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:fb,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:C2,preventDefault:!0},{mac:"Mod-Backspace",run:x2,preventDefault:!0},{mac:"Mod-Delete",run:S2,preventDefault:!0}].concat(P2.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),z2=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:XF,shift:a2},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:YF,shift:l2},{key:"Alt-ArrowUp",run:A2},{key:"Shift-Alt-ArrowUp",run:B2},{key:"Alt-ArrowDown",run:O2},{key:"Shift-Alt-ArrowDown",run:T2},{key:"Mod-Alt-ArrowUp",run:v2},{key:"Mod-Alt-ArrowDown",run:y2},{key:"Escape",run:b2},{key:"Mod-Enter",run:F2},{key:"Alt-l",mac:"Ctrl-l",run:g2},{key:"Mod-i",run:w2,preventDefault:!0},{key:"Mod-[",run:vb},{key:"Mod-]",run:wb},{key:"Mod-Alt-\\",run:M2},{key:"Shift-Mod-k",run:_2},{key:"Shift-Mod-\\",run:o2},{key:"Mod-/",run:AF},{key:"Alt-A",run:BF},{key:"Ctrl-m",mac:"Shift-Alt-m",run:I2}].concat(L2),H2={key:"Tab",run:wb,shift:vb},yb=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class hi{constructor(e,n,r=0,o=e.length,i,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,o),this.bufferStart=r,this.normalize=i?a=>i(yb(a)):yb,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return en(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=dd(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Jn(e);let o=this.normalize(n);if(o.length)for(let i=0,s=r;;i++){let a=o.charCodeAt(i),l=this.match(a,s,this.bufferPos+this.bufferStart);if(i==o.length-1){if(l)return this.value=l,this;break}s==r&&i<n.length&&n.charCodeAt(i)==a&&s++}}}match(e,n,r){let o=null;for(let i=0;i<this.matches.length;i+=2){let s=this.matches[i],a=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?o={from:this.matches[i+1],to:r}:(this.matches[i]++,a=!0)),a||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:n,to:r}:this.matches.push(1,n)),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null),o}}typeof Symbol<"u"&&(hi.prototype[Symbol.iterator]=function(){return this});const bb={from:-1,to:-1,match:/.*/.exec("")},qf="gm"+(/x/.unicode==null?"":"u");class Cb{constructor(e,n,r,o=0,i=e.length){if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=bb,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new kb(e,n,r,o,i);this.re=new RegExp(n,qf+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.iter=e.iter();let s=e.lineAt(o);this.curLineStart=s.from,this.matchPos=ec(e,o),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,o=r+n[0].length;if(this.matchPos=ec(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Rf=new WeakMap;class pi{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let o=Rf.get(e);if(!o||o.from>=r||o.to<=n){let a=new pi(n,e.sliceString(n,r));return Rf.set(e,a),a}if(o.from==n&&o.to==r)return o;let{text:i,from:s}=o;return s>n&&(i=e.sliceString(n,s)+i,s=n),o.to<r&&(i+=e.sliceString(o.to,r)),Rf.set(e,new pi(s,i)),new pi(n,i.slice(n-s,r-s))}}class kb{constructor(e,n,r,o,i){this.text=e,this.to=i,this.done=!1,this.value=bb,this.matchPos=ec(e,o),this.re=new RegExp(n,qf+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.flat=pi.get(e,o,this.chunkEnd(o+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,o=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this.matchPos=ec(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=pi.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Cb.prototype[Symbol.iterator]=kb.prototype[Symbol.iterator]=function(){return this});function $2(t){try{return new RegExp(t,qf),!0}catch{return!1}}function ec(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}const j2=t=>{let{state:e}=t,n=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:o}=mN(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:e.phrase("go")});return o.then(i=>{let s=i&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(i.elements.line.value);if(!s){t.dispatch({effects:r});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,u,d]=s,f=u?+u.slice(1):0,p=c?+c:a.number;if(c&&d){let v=p/100;l&&(v=v*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*v)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),w=oe.cursor(m.from+Math.max(0,Math.min(f,m.length)));t.dispatch({effects:[r,ye.scrollIntoView(w.from,{y:"center"})],selection:w})}),!0},W2={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},V2=ke.define({combine(t){return er(t,W2,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function U2(t){return[X2,K2]}const q2=Se.mark({class:"cm-selectionMatch"}),R2=Se.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function xb(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=it.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=it.Word)}function G2(t,e,n,r){return t(e.sliceDoc(n,n+1))==it.Word&&t(e.sliceDoc(r-1,r))==it.Word}const K2=st.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(V2),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Se.none;let o=r.main,i,s=null;if(o.empty){if(!e.highlightWordAroundCursor)return Se.none;let l=n.wordAt(o.head);if(!l)return Se.none;s=n.charCategorizer(o.head),i=n.sliceDoc(l.from,l.to)}else{let l=o.to-o.from;if(l<e.minSelectionLength||l>200)return Se.none;if(e.wholeWords){if(i=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(xb(s,n,o.from,o.to)&&G2(s,n,o.from,o.to)))return Se.none}else if(i=n.sliceDoc(o.from,o.to),!i)return Se.none}let a=[];for(let l of t.visibleRanges){let c=new hi(n.doc,i,l.from,l.to);for(;!c.next().done;){let{from:u,to:d}=c.value;if((!s||xb(s,n,u,d))&&(o.empty&&u<=o.from&&d>=o.to?a.push(R2.range(u,d)):(u>=o.to||d<=o.from)&&a.push(q2.range(u,d)),a.length>e.maxMatches))return Se.none}}return Se.set(a)}},{decorations:t=>t.decorations}),X2=ye.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Y2=({state:t,dispatch:e})=>{let{selection:n}=t,r=oe.create(n.ranges.map(o=>t.wordAt(o.head)||oe.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function J2(t,e){let{main:n,ranges:r}=t.selection,o=t.wordAt(n.head),i=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new hi(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new hi(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(l=>l.from==a.value.from))continue;if(i){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const Q2=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(i=>i.from===i.to))return Y2({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(i=>t.sliceDoc(i.from,i.to)!=r))return!1;let o=J2(t,r);return o?(e(t.update({selection:t.selection.addRange(oe.range(o.from,o.to),!1),effects:ye.scrollIntoView(o.to)})),!0):!1},mi=ke.define({combine(t){return er(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new fM(e),scrollToMatch:e=>ye.scrollIntoView(e)})}});class Sb{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||$2(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
21
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new oM(this):new tM(this)}getCursor(e,n=0,r){let o=e.doc?e:Ve.create({doc:e});return r==null&&(r=o.doc.length),this.regexp?wi(this,o,n,r):gi(this,o,n,r)}}class Eb{constructor(e){this.spec=e}}function Z2(t,e,n){return(r,o,i,s)=>{if(n&&!n(r,o,i,s))return!1;let a=r>=s&&o<=s+i.length?i.slice(r-s,o-s):e.doc.sliceString(r,o);return t(a,e,r,o)}}function gi(t,e,n,r){let o;return t.wholeWord&&(o=eM(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(o=Z2(t.test,e,o)),new hi(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:i=>i.toLowerCase(),o)}function eM(t,e){return(n,r,o,i)=>((i>n||i+o.length<r)&&(i=Math.max(0,n-2),o=t.sliceString(i,Math.min(t.length,r+2))),(e(tc(o,n-i))!=it.Word||e(nc(o,n-i))!=it.Word)&&(e(nc(o,r-i))!=it.Word||e(tc(o,r-i))!=it.Word))}class tM extends Eb{constructor(e){super(e)}nextMatch(e,n,r){let o=gi(this.spec,e,r,e.doc.length).nextOverlapping();if(o.done){let i=Math.min(e.doc.length,n+this.spec.unquoted.length);o=gi(this.spec,e,0,i).nextOverlapping()}return o.done||o.value.from==n&&o.value.to==r?null:o.value}prevMatchInRange(e,n,r){for(let o=r;;){let i=Math.max(n,o-1e4-this.spec.unquoted.length),s=gi(this.spec,e,i,o),a=null;for(;!s.nextOverlapping().done;)a=s.value;if(a)return a;if(i==n)return null;o-=1e4}}prevMatch(e,n,r){let o=this.prevMatchInRange(e,0,n);return o||(o=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),o&&(o.from!=n||o.to!=r)?o:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=gi(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=gi(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}function nM(t,e,n){return(r,o,i)=>(!n||n(r,o,i))&&t(i[0],e,r,o)}function wi(t,e,n,r){let o;return t.wholeWord&&(o=rM(e.charCategorizer(e.selection.main.head))),t.test&&(o=nM(t.test,e,o)),new Cb(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:o},n,r)}function tc(t,e){return t.slice(St(t,e,!1),e)}function nc(t,e){return t.slice(e,St(t,e))}function rM(t){return(e,n,r)=>!r[0].length||(t(tc(r.input,r.index))!=it.Word||t(nc(r.input,r.index))!=it.Word)&&(t(nc(r.input,r.index+r[0].length))!=it.Word||t(tc(r.input,r.index+r[0].length))!=it.Word)}class oM extends Eb{nextMatch(e,n,r){let o=wi(this.spec,e,r,e.doc.length).next();return o.done&&(o=wi(this.spec,e,0,n).next()),o.done?null:o.value}prevMatchInRange(e,n,r){for(let o=1;;o++){let i=Math.max(n,r-o*1e4),s=wi(this.spec,e,i,r),a=null;for(;!s.next().done;)a=s.value;if(a&&(i==n||a.from>i+10))return a;if(i==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let i=+r.slice(0,o);if(i>0&&i<e.match.length)return e.match[i]+r.slice(o)}return n})}matchAll(e,n){let r=wi(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=wi(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}const $s=Fe.define(),Gf=Fe.define(),Kr=Bt.define({create(t){return new Kf(Yf(t).create(),null)},update(t,e){for(let n of e.effects)n.is($s)?t=new Kf(n.value.create(),t.panel):n.is(Gf)&&(t=new Kf(t.query,n.value?Xf:null));return t},provide:t=>Ns.from(t,e=>e.panel)});class Kf{constructor(e,n){this.query=e,this.panel=n}}const iM=Se.mark({class:"cm-searchMatch"}),sM=Se.mark({class:"cm-searchMatch cm-searchMatch-selected"}),aM=st.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Kr))}update(t){let e=t.state.field(Kr);(e!=t.startState.field(Kr)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Se.none;let{view:n}=this,r=new gr;for(let o=0,i=n.visibleRanges,s=i.length;o<s;o++){let{from:a,to:l}=i[o];for(;o<s-1&&l>i[o+1].from-500;)l=i[++o].to;t.highlight(n.state,a,l,(c,u)=>{let d=n.state.selection.ranges.some(f=>f.from==c&&f.to==u);r.add(c,u,d?sM:iM)})}return r.finish()}},{decorations:t=>t.decorations});function js(t){return e=>{let n=e.state.field(Kr,!1);return n&&n.query.spec.valid?t(e,n):Bb(e)}}const rc=js((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let o=oe.single(r.from,r.to),i=t.state.facet(mi);return t.dispatch({selection:o,effects:[Jf(t,r),i.scrollToMatch(o.main,t)],userEvent:"select.search"}),Ob(t),!0}),oc=js((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,o=e.prevMatch(n,r,r);if(!o)return!1;let i=oe.single(o.from,o.to),s=t.state.facet(mi);return t.dispatch({selection:i,effects:[Jf(t,o),s.scrollToMatch(i.main,t)],userEvent:"select.search"}),Ob(t),!0}),lM=js((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:oe.create(n.map(r=>oe.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),cM=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,i=[],s=0;for(let a=new hi(t.doc,t.sliceDoc(r,o));!a.next().done;){if(i.length>1e3)return!1;a.value.from==r&&(s=i.length),i.push(oe.range(a.value.from,a.value.to))}return e(t.update({selection:oe.create(i,s),userEvent:"select.search.matches"})),!0},Db=js((t,{query:e})=>{let{state:n}=t,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let i=e.nextMatch(n,r,r);if(!i)return!1;let s=i,a=[],l,c,u=[];s.from==r&&s.to==o&&(c=n.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:c}),s=e.nextMatch(n,s.from,s.to),u.push(ye.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let d=t.state.changes(a);return s&&(l=oe.single(s.from,s.to).map(d),u.push(Jf(t,s)),u.push(n.facet(mi).scrollToMatch(l.main,t))),t.dispatch({changes:d,selection:l,effects:u,userEvent:"input.replace"}),!0}),uM=js((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(o=>{let{from:i,to:s}=o;return{from:i,to:s,insert:e.getReplacement(o)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:ye.announce.of(r),userEvent:"input.replace.all"}),!0});function Xf(t){return t.state.facet(mi).createPanel(t)}function Yf(t,e){var n,r,o,i,s;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=t.facet(mi);return new Sb({search:((n=e==null?void 0:e.literal)!==null&&n!==void 0?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(o=e==null?void 0:e.literal)!==null&&o!==void 0?o:c.literal,regexp:(i=e==null?void 0:e.regexp)!==null&&i!==void 0?i:c.regexp,wholeWord:(s=e==null?void 0:e.wholeWord)!==null&&s!==void 0?s:c.wholeWord})}function Ab(t){let e=Cf(t,Xf);return e&&e.dom.querySelector("[main-field]")}function Ob(t){let e=Ab(t);e&&e==t.root.activeElement&&e.select()}const Bb=t=>{let e=t.state.field(Kr,!1);if(e&&e.panel){let n=Ab(t);if(n&&n!=t.root.activeElement){let r=Yf(t.state,e.query.spec);r.valid&&t.dispatch({effects:$s.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[Gf.of(!0),e?$s.of(Yf(t.state,e.query.spec)):Fe.appendConfig.of(pM)]});return!0},Tb=t=>{let e=t.state.field(Kr,!1);if(!e||!e.panel)return!1;let n=Cf(t,Xf);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Gf.of(!1)}),!0},dM=[{key:"Mod-f",run:Bb,scope:"editor search-panel"},{key:"F3",run:rc,shift:oc,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:rc,shift:oc,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Tb,scope:"editor search-panel"},{key:"Mod-Shift-l",run:cM},{key:"Mod-Alt-g",run:j2},{key:"Mod-d",run:Q2,preventDefault:!0}];class fM{constructor(e){this.view=e;let n=this.query=e.state.field(Kr).query.spec;this.commit=this.commit.bind(this),this.searchField=Je("input",{value:n.search,placeholder:hn(e,"Find"),"aria-label":hn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Je("input",{value:n.replace,placeholder:hn(e,"Replace"),"aria-label":hn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Je("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Je("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Je("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(o,i,s){return Je("button",{class:"cm-button",name:o,onclick:i,type:"button"},s)}this.dom=Je("div",{onkeydown:o=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>rc(e),[hn(e,"next")]),r("prev",()=>oc(e),[hn(e,"previous")]),r("select",()=>lM(e),[hn(e,"all")]),Je("label",null,[this.caseField,hn(e,"match case")]),Je("label",null,[this.reField,hn(e,"regexp")]),Je("label",null,[this.wordField,hn(e,"by word")]),...e.state.readOnly?[]:[Je("br"),this.replaceField,r("replace",()=>Db(e),[hn(e,"replace")]),r("replaceAll",()=>uM(e),[hn(e,"replace all")])],Je("button",{name:"close",onclick:()=>Tb(e),"aria-label":hn(e,"close"),type:"button"},["×"])])}commit(){let e=new Sb({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:$s.of(e)}))}keydown(e){D_(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?oc:rc)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Db(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is($s)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(mi).top}}function hn(t,e){return t.state.phrase(e)}const ic=30,sc=/[\s\.,:;?!]/;function Jf(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),o=t.state.doc.lineAt(n).to,i=Math.max(r.from,e-ic),s=Math.min(o,n+ic),a=t.state.sliceDoc(i,s);if(i!=r.from){for(let l=0;l<ic;l++)if(!sc.test(a[l+1])&&sc.test(a[l])){a=a.slice(l);break}}if(s!=o){for(let l=a.length-1;l>a.length-ic;l--)if(!sc.test(a[l-1])&&sc.test(a[l])){a=a.slice(0,l);break}}return ye.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const hM=ye.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),pM=[Kr,Hr.low(aM),hM];class _b{constructor(e,n,r,o){this.state=e,this.pos=n,this.explicit=r,this.view=o,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=jt(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),o=n.text.slice(r-n.from,this.pos-n.from),i=o.search(Mb(e,!1));return i<0?null:{from:r+i,to:this.pos,text:o.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Nb(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function mM(t){let e=Object.create(null),n=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let i=1;i<o.length;i++)n[o[i]]=!0}let r=Nb(e)+Nb(n)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function gM(t){let e=t.map(o=>typeof o=="string"?{label:o}:o),[n,r]=e.every(o=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:mM(e);return o=>{let i=o.matchBefore(r);return i||o.explicit?{from:i?i.from:o.pos,options:e,validFor:n}:null}}let Fb=class{constructor(e,n,r,o){this.completion=e,this.source=n,this.match=r,this.score=o}};function Ao(t){return t.selection.main.from}function Mb(t,e){var n;let{source:r}=t,o=e&&r[0]!="^",i=r[r.length-1]!="$";return!o&&!i?t:new RegExp(`${o?"^":""}(?:${r})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const Qf=Zn.define();function wM(t,e,n,r){let{main:o}=t.selection,i=n-o.from,s=r-o.from;return{...t.changeByRange(a=>{if(a!=o&&n!=r&&t.sliceDoc(a.from+i,a.from+s)!=t.sliceDoc(n,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+i,to:r==o.from?a.to:a.from+s,insert:l},range:oe.cursor(a.from+i+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Ib=new WeakMap;function vM(t){if(!Array.isArray(t))return t;let e=Ib.get(t);return e||Ib.set(t,e=gM(t)),e}const ac=Fe.define(),Ws=Fe.define();class yM{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let r=en(e,n),o=Jn(r);this.chars.push(r);let i=e.slice(n,n+o),s=i.toUpperCase();this.folded.push(en(s==i?i.toLowerCase():s,0)),n+=o}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:r,any:o,precise:i,byWord:s}=this;if(n.length==1){let g=en(e,0),x=Jn(g),S=x==e.length?0:-100;if(g!=n[0])if(g==r[0])S+=-200;else return null;return this.ret(S,[0,x])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=n.length,c=0;if(a<0){for(let g=0,x=Math.min(e.length,200);g<x&&c<l;){let S=en(e,g);(S==n[c]||S==r[c])&&(o[c++]=g),g+=Jn(S)}if(c<l)return null}let u=0,d=0,f=!1,p=0,m=-1,w=-1,v=/[a-z]/.test(e),y=!0;for(let g=0,x=Math.min(e.length,200),S=0;g<x&&d<l;){let b=en(e,g);a<0&&(u<l&&b==n[u]&&(i[u++]=g),p<l&&(b==n[p]||b==r[p]?(p==0&&(m=g),w=g+1,p++):p=0));let k,A=b<255?b>=48&&b<=57||b>=97&&b<=122?2:b>=65&&b<=90?1:0:(k=dd(b))!=k.toLowerCase()?1:k!=k.toUpperCase()?2:0;(!g||A==1&&v||S==0&&A!=0)&&(n[d]==b||r[d]==b&&(f=!0)?s[d++]=g:s.length&&(y=!1)),S=A,g+=Jn(b)}return d==l&&s[0]==0&&y?this.result(-100+(f?-200:0),s,e):p==l&&m==0?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,w]):d==l?this.result(-100+(f?-200:0)+-700+(y?0:-1100),s,e):n.length==2?null:this.result((o[0]?-700:0)+-200+-1100,o,e)}result(e,n,r){let o=[],i=0;for(let s of n){let a=s+(this.astral?Jn(en(r,s)):1);i&&o[i-1]==s?o[i-1]=a:(o[i++]=s,o[i++]=a)}return this.ret(e-r.length,o)}}class bM{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),r=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,n.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Tt=ke.define({combine(t){return er(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:CM,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>Pb(e(r),n(r)),optionClass:(e,n)=>r=>Pb(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function Pb(t,e){return t?e?t+" "+e:t:e}function CM(t,e,n,r,o,i){let s=t.textDirection==Ze.RTL,a=s,l=!1,c="top",u,d,f=e.left-o.left,p=o.right-e.right,m=r.right-r.left,w=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))u=Math.max(o.top,Math.min(n.top,o.bottom-w))-e.top,d=Math.min(400,a?f:p);else{l=!0,d=Math.min(400,(s?e.right:o.right-e.left)-30);let g=o.bottom-e.bottom;g>=w||g>e.top?u=n.bottom-e.top:(c="bottom",u=e.bottom-n.top)}let v=(e.bottom-e.top)/i.offsetHeight,y=(e.right-e.left)/i.offsetWidth;return{style:`${c}: ${u/v}px; max-width: ${d/y}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":a?"left":"right")}}function kM(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(o=>"cm-completionIcon-"+o)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,o,i){let s=document.createElement("span");s.className="cm-completionLabel";let a=n.displayLabel||n.label,l=0;for(let c=0;c<i.length;){let u=i[c++],d=i[c++];u>l&&s.appendChild(document.createTextNode(a.slice(l,u)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(u,d))),f.className="cm-completionMatchedText",l=d}return l<a.length&&s.appendChild(document.createTextNode(a.slice(l))),s},position:50},{render(n){if(!n.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=n.detail,r},position:80}),e.sort((n,r)=>n.position-r.position).map(n=>n.render)}function Zf(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let o=Math.floor(e/n);return{from:o*n,to:(o+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class xM{constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let o=e.state.field(n),{options:i,selected:s}=o.open,a=e.state.facet(Tt);this.optionContent=kM(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Zf(i.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(n).open;for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]<c.length){this.applyCompletion(e,c[+d[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Tt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ws.of(null)})}),this.showOptions(i,o.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),o=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=o){let{options:i,selected:s,disabled:a}=r.open;(!o.open||o.open.options!=i)&&(this.range=Zf(i.length,s,e.state.facet(Tt).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),a!=((n=o.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=Zf(n.options.length,n.selected,this.view.state.facet(Tt).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:o}=n.options[n.selected],{info:i}=o;if(!i)return;let s=typeof i=="string"?document.createTextNode(i):i(o);if(!s)return;"then"in s?s.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,o)}).catch(a=>tn(this.view.state,a,"completion info")):(this.addInfoPane(s,o),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:o,destroy:i}=e;r.appendChild(o),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,o=this.range.from;r;r=r.nextSibling,o++)r.nodeName!="LI"||!r.id?o--:o==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return n&&EM(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),i=this.space;if(!i){let s=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return o.top>Math.min(i.bottom,n.bottom)-10||o.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(Tt).positionInfo(this.view,n,o,r,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,r){const o=document.createElement("ul");o.id=n,o.setAttribute("role","listbox"),o.setAttribute("aria-expanded","true"),o.setAttribute("aria-label",this.view.state.phrase("Completions")),o.addEventListener("mousedown",s=>{s.target==o&&s.preventDefault()});let i=null;for(let s=r.from;s<r.to;s++){let{completion:a,match:l}=e[s],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=i&&(s>r.from||r.from==0))if(i=f,typeof c!="string"&&c.header)o.appendChild(c.header(c));else{let p=o.appendChild(document.createElement("completion-section"));p.textContent=f}}const u=o.appendChild(document.createElement("li"));u.id=n+"-"+s,u.setAttribute("role","option");let d=this.optionClass(a);d&&(u.className=d);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&u.appendChild(p)}}return r.from&&o.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&o.classList.add("cm-completionListIncompleteBottom"),o}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function SM(t,e){return n=>new xM(n,t,e)}function EM(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=n.height/t.offsetHeight;r.top<n.top?t.scrollTop-=(n.top-r.top)/o:r.bottom>n.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/o)}function Lb(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function DM(t,e){let n=[],r=null,o=null,i=u=>{n.push(u);let{section:d}=u.completion;if(d){r||(r=[]);let f=typeof d=="string"?d:d.name;r.some(p=>p.name==f)||r.push(typeof d=="string"?{name:f}:d)}},s=e.facet(Tt);for(let u of t)if(u.hasResult()){let d=u.result.getMatch;if(u.result.filter===!1)for(let f of u.result.options)i(new Fb(f,u.source,d?d(f):[],1e9-n.length));else{let f=e.sliceDoc(u.from,u.to),p,m=s.filterStrict?new bM(f):new yM(f);for(let w of u.result.options)if(p=m.match(w.label)){let v=w.displayLabel?d?d(w,p.matched):[]:p.matched,y=p.score+(w.boost||0);if(i(new Fb(w,u.source,v,y)),typeof w.section=="object"&&w.section.rank==="dynamic"){let{name:g}=w.section;o||(o=Object.create(null)),o[g]=Math.max(y,o[g]||-1e9)}}}}if(r){let u=Object.create(null),d=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?o[m.name]-o[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))d-=1e5,u[p.name]=d;for(let p of n){let{section:m}=p.completion;m&&(p.score+=u[typeof m=="string"?m:m.name])}}let a=[],l=null,c=s.compareCompletions;for(let u of n.sort((d,f)=>f.score-d.score||c(d.completion,f.completion))){let d=u.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(u):Lb(u.completion)>Lb(l)&&(a[a.length-1]=u),l=u.completion}return a}class vi{constructor(e,n,r,o,i,s){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=o,this.selected=i,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new vi(this.options,zb(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,o,i,s){if(o&&!s&&e.some(c=>c.isPending))return o.setDisabled();let a=DM(e,n);if(!a.length)return o&&e.some(c=>c.isPending)?o.setDisabled():null;let l=n.facet(Tt).selectOnOpen?0:-1;if(o&&o.selected!=l&&o.selected!=-1){let c=o.options[o.selected].completion;for(let u=0;u<a.length;u++)if(a[u].completion==c){l=u;break}}return new vi(a,zb(r,l),{pos:e.reduce((c,u)=>u.hasResult()?Math.min(c,u.from):c,1e8),create:NM,above:i.aboveCursor},o?o.timestamp:Date.now(),l,!1)}map(e){return new vi(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new vi(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class lc{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new lc(TM,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(Tt),i=(r.override||n.languageDataAt("autocomplete",Ao(n)).map(vM)).map(l=>(this.active.find(u=>u.source==l)||new En(l,this.active.some(u=>u.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((l,c)=>l==this.active[c])&&(i=this.active);let s=this.open,a=e.effects.some(l=>l.is(eh));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!AM(i,this.active)||a?s=vi.build(i,n,this.id,s,r,a):s&&s.disabled&&!i.some(l=>l.isPending)&&(s=null),!s&&i.every(l=>!l.isPending)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new En(l.source,0):l));for(let l of e.effects)l.is($b)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new lc(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?OM:BM}}function AM(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;r<e.length&&!e[r].hasResult();)r++;let o=n==t.length,i=r==e.length;if(o||i)return o==i;if(t[n++].result!=e[r++].result)return!1}}const OM={"aria-autocomplete":"list"},BM={};function zb(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const TM=[];function Hb(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(Qf);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class En{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=Hb(e,n),o=this;(r&8||r&16&&this.touches(e))&&(o=new En(o.source,0)),r&4&&o.state==0&&(o=new En(this.source,1)),o=o.updateFor(e,r);for(let i of e.effects)if(i.is(ac))o=new En(o.source,1,i.value);else if(i.is(Ws))o=new En(o.source,0);else if(i.is(eh))for(let s of i.value)s.source==o.source&&(o=s);return o}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Ao(e.state))}}class yi extends En{constructor(e,n,r,o,i,s){super(e,3,n),this.limit=r,this.result=o,this.from=i,this.to=s}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let o=this.result;o.map&&!e.changes.empty&&(o=o.map(o,e.changes));let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=Ao(e.state);if(a>s||!o||n&2&&(Ao(e.startState)==this.from||a<this.limit))return new En(this.source,n&4?1:0);let l=e.changes.mapPos(this.limit);return _M(o.validFor,e.state,i,s)?new yi(this.source,this.explicit,l,o,i,s):o.update&&(o=o.update(o,i,s,new _b(e.state,a,!1)))?new yi(this.source,this.explicit,l,o,o.from,(r=o.to)!==null&&r!==void 0?r:Ao(e.state)):new En(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new yi(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new En(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function _M(t,e,n,r){if(!t)return!1;let o=e.sliceDoc(n,r);return typeof t=="function"?t(o,n,r,e):Mb(t,!0).test(o)}const eh=Fe.define({map(t,e){return t.map(n=>n.map(e))}}),$b=Fe.define(),on=Bt.define({create(){return lc.start()},update(t,e){return t.update(e)},provide:t=>[bf.from(t,e=>e.tooltip),ye.contentAttributes.from(t,e=>e.attrs)]});function th(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(on).active.find(o=>o.source==e.source);return r instanceof yi?(typeof n=="string"?t.dispatch({...wM(t.state,n,r.from,r.to),annotations:Qf.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const NM=SM(on,th);function cc(t,e="option"){return n=>{let r=n.state.field(on,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(Tt).interactionDelay)return!1;let o=1,i;e=="page"&&(i=Xv(n,r.open.tooltip))&&(o=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:s}=r.open.options,a=r.open.selected>-1?r.open.selected+o*(t?1:-1):t?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),n.dispatch({effects:$b.of(a)}),!0}}const FM=t=>{let e=t.state.field(on,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(Tt).interactionDelay?!1:th(t,e.open.options[e.open.selected])},nh=t=>t.state.field(on,!1)?(t.dispatch({effects:ac.of(!0)}),!0):!1,MM=t=>{let e=t.state.field(on,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Ws.of(null)}),!0)};class IM{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const PM=50,LM=1e3,zM=st.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(on).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(on),n=t.state.facet(Tt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(on)==e)return;let r=t.transactions.some(i=>{let s=Hb(i,n);return s&8||(i.selection||i.docChanged)&&!(s&3)});for(let i=0;i<this.running.length;i++){let s=this.running[i];if(r||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>PM&&Date.now()-s.time>LM){for(let a of s.context.abortListeners)try{a()}catch(l){tn(this.view.state,l)}s.context.abortListeners=null,this.running.splice(i--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(i=>i.effects.some(s=>s.is(ac)))&&(this.pendingStart=!0);let o=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(s=>s.active.source==i.source))?setTimeout(()=>this.startUpdate(),o):-1,this.composing!=0)for(let i of t.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(on);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Tt).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=Ao(e),r=new _b(e,n,t.explicit,this.view),o=new IM(t,r);this.running.push(o),Promise.resolve(t.source(r)).then(i=>{o.context.aborted||(o.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:Ws.of(null)}),tn(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Tt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Tt),r=this.view.state.field(on);for(let o=0;o<this.running.length;o++){let i=this.running[o];if(i.done===void 0)continue;if(this.running.splice(o--,1),i.done){let a=Ao(i.updates.length?i.updates[0].startState:this.view.state),l=Math.min(a,i.done.from+(i.active.explicit?0:1)),c=new yi(i.active.source,i.active.explicit,l,i.done,i.done.from,(t=i.done.to)!==null&&t!==void 0?t:a);for(let u of i.updates)c=c.update(u,n);if(c.hasResult()){e.push(c);continue}}let s=r.active.find(a=>a.source==i.active.source);if(s&&s.isPending)if(i.done==null){let a=new En(i.active.source,0);for(let l of i.updates)a=a.update(l,n);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:eh.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(on,!1);if(e&&e.tooltip&&this.view.state.facet(Tt).closeOnBlur){let n=e.open&&Xv(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Ws.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ac.of(!1)}),20),this.composing=0}}}),HM=typeof navigator=="object"&&/Win/.test(navigator.platform),$M=Hr.highest(ye.domEventHandlers({keydown(t,e){let n=e.state.field(on,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(HM&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],o=n.active.find(s=>s.source==r.source),i=r.completion.commitCharacters||o.result.commitCharacters;return i&&i.indexOf(t.key)>-1&&th(e,r),!1}})),jb=ye.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class jM{constructor(e,n,r,o){this.field=e,this.line=n,this.from=r,this.to=o}}class rh{constructor(e,n,r){this.field=e,this.from=n,this.to=r}map(e){let n=e.mapPos(this.from,-1,Ft.TrackDel),r=e.mapPos(this.to,1,Ft.TrackDel);return n==null||r==null?null:new rh(this.field,n,r)}}class oh{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let r=[],o=[n],i=e.doc.lineAt(n),s=/^\s*/.exec(i.text)[0];for(let l of this.lines){if(r.length){let c=s,u=/^\t*/.exec(l)[0].length;for(let d=0;d<u;d++)c+=e.facet(Is);o.push(n+c.length-u),l=c+l.slice(u)}r.push(l),n+=l.length+1}let a=this.fieldPositions.map(l=>new rh(l.field,o[l.line]+l.from,o[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let n=[],r=[],o=[],i;for(let s of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=i[1]?+i[1]:null,l=i[2]||i[3]||"",c=-1,u=l.replace(/\\[{}]/g,d=>d[1]);for(let d=0;d<n.length;d++)(a!=null?n[d].seq==a:u&&n[d].name==u)&&(c=d);if(c<0){let d=0;for(;d<n.length&&(a==null||n[d].seq!=null&&n[d].seq<a);)d++;n.splice(d,0,{seq:a,name:u}),c=d;for(let f of o)f.field>=c&&f.field++}for(let d of o)if(d.line==r.length&&d.from>i.index){let f=i[2]?3+(i[1]||"").length:2;d.from-=f,d.to-=f}o.push(new jM(c,r.length,i.index,i.index+u.length)),s=s.slice(0,i.index)+l+s.slice(i.index+i[0].length)}s=s.replace(/\\([{}])/g,(a,l,c)=>{for(let u of o)u.line==r.length&&u.from>c&&(u.from--,u.to--);return l}),r.push(s)}return new oh(r,o)}}let WM=Se.widget({widget:new class extends dn{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),VM=Se.mark({class:"cm-snippetField"});class bi{constructor(e,n){this.ranges=e,this.active=n,this.deco=Se.set(e.map(r=>(r.from==r.to?WM:VM).range(r.from,r.to)),!0)}map(e){let n=[];for(let r of this.ranges){let o=r.map(e);if(!o)return null;n.push(o)}return new bi(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(r=>r.field==this.active&&r.from<=n.from&&r.to>=n.to))}}const Vs=Fe.define({map(t,e){return t&&t.map(e)}}),UM=Fe.define(),Us=Bt.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(Vs))return n.value;if(n.is(UM)&&t)return new bi(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>ye.decorations.from(t,e=>e?e.deco:Se.none)});function ih(t,e){return oe.create(t.filter(n=>n.field==e).map(n=>oe.range(n.from,n.to)))}function qM(t){let e=oh.parse(t);return(n,r,o,i)=>{let{text:s,ranges:a}=e.instantiate(n.state,o),{main:l}=n.state.selection,c={changes:{from:o,to:i==l.from?l.to:i,insert:Xe.of(s)},scrollIntoView:!0,annotations:r?[Qf.of(r),bt.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=ih(a,0)),a.some(u=>u.field>0)){let u=new bi(a,0),d=c.effects=[Vs.of(u)];n.state.field(Us,!1)===void 0&&d.push(Fe.appendConfig.of([Us,GM,KM,jb]))}n.dispatch(n.state.update(c))}}function Wb(t){return({state:e,dispatch:n})=>{let r=e.field(Us,!1);if(!r||t<0&&r.active==0)return!1;let o=r.active+t,i=t>0&&!r.ranges.some(s=>s.field==o+t);return n(e.update({selection:ih(r.ranges,o),effects:Vs.of(i?null:new bi(r.ranges,o)),scrollIntoView:!0})),!0}}const RM=[{key:"Tab",run:Wb(1),shift:Wb(-1)},{key:"Escape",run:({state:t,dispatch:e})=>t.field(Us,!1)?(e(t.update({effects:Vs.of(null)})),!0):!1}],Vb=ke.define({combine(t){return t.length?t[0]:RM}}),GM=Hr.highest(Os.compute([Vb],t=>t.facet(Vb)));function uc(t,e){return{...e,apply:qM(t)}}const KM=ye.domEventHandlers({mousedown(t,e){let n=e.state.field(Us,!1),r;if(!n||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=n.ranges.find(i=>i.from<=r&&i.to>=r);return!o||o.field==n.active?!1:(e.dispatch({selection:ih(n.ranges,o.field),effects:Vs.of(n.ranges.some(i=>i.field>o.field)?new bi(n.ranges,o.field):null),scrollIntoView:!0}),!0)}}),qs={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Oo=Fe.define({map(t,e){let n=e.mapPos(t,-1,Ft.TrackAfter);return n??void 0}}),sh=new class extends $r{};sh.startSide=1,sh.endSide=-1;const Ub=Bt.define({create(){return je.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(Oo)&&(t=t.update({add:[sh.range(n.value,n.value+1)]}));return t}});function XM(){return[JM,Ub]}const ah="()[]{}<>«»»«[]{}";function qb(t){for(let e=0;e<ah.length;e+=2)if(ah.charCodeAt(e)==t)return ah.charAt(e+1);return dd(t<128?t:t+1)}function Rb(t,e){return t.languageDataAt("closeBrackets",e)[0]||qs}const YM=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),JM=ye.inputHandler.of((t,e,n,r)=>{if((YM?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let o=t.state.selection.main;if(r.length>2||r.length==2&&Jn(en(r,0))==1||e!=o.from||n!=o.to)return!1;let i=ZM(t.state,r);return i?(t.dispatch(i),!0):!1}),QM=[{key:"Backspace",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=Rb(t,t.selection.main.head).brackets||qs.brackets,o=null,i=t.changeByRange(s=>{if(s.empty){let a=eI(t.doc,s.head);for(let l of r)if(l==a&&dc(t.doc,s.head)==qb(en(l,0)))return{changes:{from:s.head-l.length,to:s.head+l.length},range:oe.cursor(s.head-l.length)}}return{range:o=s}});return o||e(t.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!o}}];function ZM(t,e){let n=Rb(t,t.selection.main.head),r=n.brackets||qs.brackets;for(let o of r){let i=qb(en(o,0));if(e==o)return i==o?rI(t,o,r.indexOf(o+o+o)>-1,n):tI(t,o,i,n.before||qs.before);if(e==i&&Gb(t,t.selection.main.from))return nI(t,o,i)}return null}function Gb(t,e){let n=!1;return t.field(Ub).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function dc(t,e){let n=t.sliceString(e,e+2);return n.slice(0,Jn(en(n,0)))}function eI(t,e){let n=t.sliceString(e-2,e);return Jn(en(n,0))==n.length?n:n.slice(1)}function tI(t,e,n,r){let o=null,i=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:Oo.of(s.to+e.length),range:oe.range(s.anchor+e.length,s.head+e.length)};let a=dc(t.doc,s.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+n,from:s.head},effects:Oo.of(s.head+e.length),range:oe.cursor(s.head+e.length)}:{range:o=s}});return o?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function nI(t,e,n){let r=null,o=t.changeByRange(i=>i.empty&&dc(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:oe.cursor(i.head+n.length)}:r={range:i});return r?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function rI(t,e,n,r){let o=r.stringPrefixes||qs.stringPrefixes,i=null,s=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Oo.of(a.to+e.length),range:oe.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=dc(t.doc,l),u;if(c==e){if(Kb(t,l))return{changes:{insert:e+e,from:l},effects:Oo.of(l+e.length),range:oe.cursor(l+e.length)};if(Gb(t,l)){let f=n&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:oe.cursor(l+f.length)}}}else{if(n&&t.sliceDoc(l-2*e.length,l)==e+e&&(u=Xb(t,l-2*e.length,o))>-1&&Kb(t,u))return{changes:{insert:e+e+e+e,from:l},effects:Oo.of(l+e.length),range:oe.cursor(l+e.length)};if(t.charCategorizer(l)(c)!=it.Word&&Xb(t,l,o)>-1&&!oI(t,l,e,o))return{changes:{insert:e+e,from:l},effects:Oo.of(l+e.length),range:oe.cursor(l+e.length)}}return{range:i=a}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Kb(t,e){let n=jt(t).resolveInner(e+1);return n.parent&&n.from==e}function oI(t,e,n,r){let o=jt(t).resolveInner(e,-1),i=r.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=t.sliceDoc(o.from,Math.min(o.to,o.from+n.length+i)),l=a.indexOf(n);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>n.length+l;){if(t.sliceDoc(u.to-n.length,u.to)==n)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function Xb(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=it.Word)return e;for(let o of n){let i=e-o.length;if(t.sliceDoc(i,e)==o&&r(t.sliceDoc(i-1,i))!=it.Word)return i}return-1}function Yb(t={}){return[$M,on,Tt.of(t),zM,iI,jb]}const Jb=[{key:"Ctrl-Space",run:nh},{mac:"Alt-`",run:nh},{mac:"Alt-i",run:nh},{key:"Escape",run:MM},{key:"ArrowDown",run:cc(!0)},{key:"ArrowUp",run:cc(!1)},{key:"PageDown",run:cc(!0,"page")},{key:"PageUp",run:cc(!1,"page")},{key:"Enter",run:FM}],iI=Hr.highest(Os.computeN([Tt],t=>t.facet(Tt).defaultKeymap?[Jb]:[]));class Qb{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class Bo{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let o=r.facet(Rs).markerFilter;o&&(e=o(e,r));let i=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),s=new gr,a=[],l=0,c=r.doc.iter(),u=0,d=r.doc.length;for(let p=0;;){let m=p==i.length?null:i[p];if(!m&&!a.length)break;let w,v;if(a.length)w=l,v=a.reduce((x,S)=>Math.min(x,S.to),m&&m.from>w?m.from:1e8);else{if(w=m.from,w>d)break;v=m.to,a.push(m),p++}for(;p<i.length;){let x=i[p];if(x.from==w&&(x.to>x.from||x.to==w))a.push(x),p++,v=Math.min(x.to,v);else{v=Math.min(x.from,v);break}}v=Math.min(v,d);let y=!1;if(a.some(x=>x.from==w&&(x.to==v||v==d))&&(y=w==v,!y&&v-w<10)){let x=w-(u+c.value.length);x>0&&(c.next(x),u=w);for(let S=w;;){if(S>=v){y=!0;break}if(!c.lineBreak&&u+c.value.length>S)break;S=u+c.value.length,u+=c.value.length,c.next()}}let g=wI(a);if(y)s.add(w,w,Se.widget({widget:new hI(g),diagnostics:a.slice()}));else{let x=a.reduce((S,b)=>b.markClass?S+" "+b.markClass:S,"");s.add(w,v,Se.mark({class:"cm-lintRange cm-lintRange-"+g+x,diagnostics:a.slice(),inclusiveEnd:a.some(S=>S.to>v)}))}if(l=v,l==d)break;for(let x=0;x<a.length;x++)a[x].to<=l&&a.splice(x--,1)}let f=s.finish();return new Bo(f,n,Ci(f))}}function Ci(t,e=null,n=0){let r=null;return t.between(n,1e9,(o,i,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!r)r=new Qb(o,i,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Qb(r.from,i,r.diagnostic)}}),r}function sI(t,e){let n=e.pos,r=e.end||n,o=t.state.facet(Rs).hideOn(t,n,r);if(o!=null)return o;let i=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Zb))||t.changes.touchesRange(i.from,Math.max(i.to,r)))}function aI(t,e){return t.field(pn,!1)?e:e.concat(Fe.appendConfig.of(vI))}const Zb=Fe.define(),lh=Fe.define(),eC=Fe.define(),pn=Bt.define({create(){return new Bo(Se.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,o=t.panel;if(t.selected){let i=e.changes.mapPos(t.selected.from,1);r=Ci(n,t.selected.diagnostic,i)||Ci(n,null,i)}!n.size&&o&&e.state.facet(Rs).autoPanel&&(o=null),t=new Bo(n,o,r)}for(let n of e.effects)if(n.is(Zb)){let r=e.state.facet(Rs).autoPanel?n.value.length?Gs.open:null:t.panel;t=Bo.init(n.value,r,e.state)}else n.is(lh)?t=new Bo(t.diagnostics,n.value?Gs.open:null,t.selected):n.is(eC)&&(t=new Bo(t.diagnostics,t.panel,n.value));return t},provide:t=>[Ns.from(t,e=>e.panel),ye.decorations.from(t,e=>e.diagnostics)]}),lI=Se.mark({class:"cm-lintRange cm-lintRange-active"});function cI(t,e,n){let{diagnostics:r}=t.state.field(pn),o,i=-1,s=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(l,c,{spec:u})=>{if(e>=l&&e<=c&&(l==c||(e>l||n>0)&&(e<c||n<0)))return o=u.diagnostics,i=l,s=c,!1});let a=t.state.facet(Rs).tooltipFilter;return o&&a&&(o=a(o,t.state)),o?{pos:i,end:s,above:t.state.doc.lineAt(i).to<s,create(){return{dom:uI(t,o)}}}:null}function uI(t,e){return Je("ul",{class:"cm-tooltip-lint"},e.map(n=>oC(t,n,!1)))}const dI=t=>{let e=t.state.field(pn,!1);(!e||!e.panel)&&t.dispatch({effects:aI(t.state,[lh.of(!0)])});let n=Cf(t,Gs.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},tC=t=>{let e=t.state.field(pn,!1);return!e||!e.panel?!1:(t.dispatch({effects:lh.of(!1)}),!0)},fI=[{key:"Mod-Shift-m",run:dI,preventDefault:!0},{key:"F8",run:t=>{let e=t.state.field(pn,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],Rs=ke.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...er(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:nC,tooltipFilter:nC,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,o,i)=>e(r,o,i)||n(r,o,i):e:n,autoPanel:(e,n)=>e||n})}}});function nC(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function rC(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;r<n.length;r++){let o=n[r];if(/[a-zA-Z]/.test(o)&&!e.some(i=>i.toLowerCase()==o.toLowerCase())){e.push(o);continue e}}e.push("")}return e}function oC(t,e,n){var r;let o=n?rC(e.actions):[];return Je("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Je("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,s)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=Ci(t.state.field(pn).diagnostics,e);m&&i.apply(t,m.from,m.to)},{name:c}=i,u=o[s]?c.indexOf(o[s]):-1,d=u<0?c:[c.slice(0,u),Je("u",c.slice(u,u+1)),c.slice(u+1)],f=i.markClass?" "+i.markClass:"";return Je("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${u<0?"":` (access key "${o[s]})"`}.`},d)}),e.source&&Je("div",{class:"cm-diagnosticSource"},e.source))}class hI extends dn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Je("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class iC{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=oC(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Gs{constructor(e){this.view=e,this.items=[];let n=o=>{if(o.keyCode==27)tC(this.view),this.view.focus();else if(o.keyCode==38||o.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(o.keyCode==40||o.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(o.keyCode==36)this.moveSelection(0);else if(o.keyCode==35)this.moveSelection(this.items.length-1);else if(o.keyCode==13)this.view.focus();else if(o.keyCode>=65&&o.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],s=rC(i.actions);for(let a=0;a<s.length;a++)if(s[a].toUpperCase().charCodeAt(0)==o.keyCode){let l=Ci(this.view.state.field(pn).diagnostics,i);l&&i.actions[a].apply(e,l.from,l.to)}}else return;o.preventDefault()},r=o=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(o.target)&&this.moveSelection(i)};this.list=Je("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=Je("div",{class:"cm-panel-lint"},this.list,Je("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>tC(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(pn).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(pn),r=0,o=!1,i=null,s=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let u of c.diagnostics){if(s.has(u))continue;s.add(u);let d=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==u){d=p;break}d<0?(f=new iC(this.view,u),this.items.splice(r,0,f),o=!0):(f=this.items[d],d>r&&(this.items.splice(r,d-r),o=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),i=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)o=!0,this.items.pop();this.items.length==0&&(this.items.push(new iC(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),o=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(pn),r=Ci(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:eC.of(r)})}static open(e){return new Gs(e)}}function pI(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function fc(t){return pI(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const mI=ye.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:fc("#d11")},".cm-lintRange-warning":{backgroundImage:fc("orange")},".cm-lintRange-info":{backgroundImage:fc("#999")},".cm-lintRange-hint":{backgroundImage:fc("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function gI(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function wI(t){let e="hint",n=1;for(let r of t){let o=gI(r.severity);o>n&&(n=o,e=r.severity)}return e}const vI=[pn,ye.decorations.compute([pn],t=>{let{selected:e,panel:n}=t.field(pn);return!e||!n||e.from==e.to?Se.none:Se.set([lI.range(e.from,e.to)])}),hN(cI,{hideOn:sI}),mI];var sC=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(QM)),e.defaultKeymap!==!1&&(r=r.concat(z2)),e.searchKeymap!==!1&&(r=r.concat(dM)),e.historyKeymap!==!1&&(r=r.concat(qF)),e.foldKeymap!==!1&&(r=r.concat(QN)),e.completionKeymap!==!1&&(r=r.concat(Jb)),e.lintKeymap!==!1&&(r=r.concat(fI));var o=[];return e.lineNumbers!==!1&&o.push(DN()),e.highlightActiveLineGutter!==!1&&o.push(BN()),e.highlightSpecialChars!==!1&&o.push(W_()),e.history!==!1&&o.push(PF()),e.foldGutter!==!1&&o.push(nF()),e.drawSelection!==!1&&o.push(N_()),e.dropCursor!==!1&&o.push(L_()),e.allowMultipleSelections!==!1&&o.push(Ve.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&o.push(UN()),e.syntaxHighlighting!==!1&&o.push(Ff(sF,{fallback:!0})),e.bracketMatching!==!1&&o.push(fF()),e.closeBrackets!==!1&&o.push(XM()),e.autocompletion!==!1&&o.push(Yb()),e.rectangularSelection!==!1&&o.push(nN()),n!==!1&&o.push(iN()),e.highlightActiveLine!==!1&&o.push(K_()),e.highlightSelectionMatches!==!1&&o.push(U2()),e.tabSize&&typeof e.tabSize=="number"&&o.push(Is.of(" ".repeat(e.tabSize))),o.concat([Os.of(r.flat())]).filter(Boolean)};const yI="#e5c07b",aC="#e06c75",bI="#56b6c2",CI="#ffffff",hc="#abb2bf",ch="#7d8799",kI="#61afef",xI="#98c379",lC="#d19a66",SI="#c678dd",EI="#21252b",cC="#2c313a",uC="#282c34",uh="#353a42",DI="#3E4451",dC="#528bff",AI=ye.theme({"&":{color:hc,backgroundColor:uC},".cm-content":{caretColor:dC},".cm-cursor, .cm-dropCursor":{borderLeftColor:dC},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:DI},".cm-panels":{backgroundColor:EI,color:hc},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:uC,color:ch,border:"none"},".cm-activeLineGutter":{backgroundColor:cC},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:uh},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:uh,borderBottomColor:uh},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:cC,color:hc}}},{dark:!0}),OI=di.define([{tag:z.keyword,color:SI},{tag:[z.name,z.deleted,z.character,z.propertyName,z.macroName],color:aC},{tag:[z.function(z.variableName),z.labelName],color:kI},{tag:[z.color,z.constant(z.name),z.standard(z.name)],color:lC},{tag:[z.definition(z.name),z.separator],color:hc},{tag:[z.typeName,z.className,z.number,z.changed,z.annotation,z.modifier,z.self,z.namespace],color:yI},{tag:[z.operator,z.operatorKeyword,z.url,z.escape,z.regexp,z.link,z.special(z.string)],color:bI},{tag:[z.meta,z.comment],color:ch},{tag:z.strong,fontWeight:"bold"},{tag:z.emphasis,fontStyle:"italic"},{tag:z.strikethrough,textDecoration:"line-through"},{tag:z.link,color:ch,textDecoration:"underline"},{tag:z.heading,fontWeight:"bold",color:aC},{tag:[z.atom,z.bool,z.special(z.variableName)],color:lC},{tag:[z.processingInstruction,z.string,z.inserted],color:xI},{tag:z.invalid,color:CI}]),BI=[AI,Ff(OI)];var TI=ye.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),_I=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:o=!1,theme:i="light",placeholder:s="",basicSetup:a=!0}=e,l=[];switch(n&&l.unshift(Os.of([H2])),a&&(typeof a=="boolean"?l.unshift(sC()):l.unshift(sC(a))),s&&l.unshift(Q_(s)),i){case"light":l.push(TI);break;case"dark":l.push(BI);break;case"none":break;default:l.push(i);break}return r===!1&&l.push(ye.editable.of(!1)),o&&l.push(Ve.readOnly.of(!0)),[...l]},NI=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class FI{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}let fC=class{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}};var dh=null,MI=()=>typeof window>"u"?new fC:(dh||(dh=new fC),dh),hC=Zn.define(),II=200,PI=[];function LI(t){var{value:e,selection:n,onChange:r,onStatistics:o,onCreateEditor:i,onUpdate:s,extensions:a=PI,autoFocus:l,theme:c="light",height:u=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:w=null,placeholder:v="",editable:y=!0,readOnly:g=!1,indentWithTab:x=!0,basicSetup:S=!0,root:b,initialState:k}=t,[A,E]=C.useState(),[T,D]=C.useState(),[M,N]=C.useState(),F=C.useState(()=>({current:null}))[0],I=C.useState(()=>({current:null}))[0],O=ye.theme({"&":{height:u,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:w},"& .cm-scroller":{height:"100% !important"}}),H=ye.updateListener.of(R=>{if(R.docChanged&&typeof r=="function"&&!R.transactions.some(le=>le.annotation(hC))){F.current?F.current.reset():(F.current=new FI(()=>{if(I.current){var le=I.current;I.current=null,le()}F.current=null},II),MI().add(F.current));var Y=R.state.doc,K=Y.toString();r(K,R)}o&&o(NI(R))}),L=_I({theme:c,editable:y,readOnly:g,placeholder:v,indentWithTab:x,basicSetup:S}),W=[H,O,...L];return s&&typeof s=="function"&&W.push(ye.updateListener.of(s)),W=W.concat(a),C.useLayoutEffect(()=>{if(A&&!M){var R={doc:e,selection:n,extensions:W},Y=k?Ve.fromJSON(k.json,R,k.fields):Ve.create(R);if(N(Y),!T){var K=new ye({state:Y,parent:A,root:b});D(K),i&&i(K,Y)}}return()=>{T&&(N(void 0),D(void 0))}},[A,M]),C.useEffect(()=>{t.container&&E(t.container)},[t.container]),C.useEffect(()=>()=>{T&&(T.destroy(),D(void 0)),F.current&&(F.current.cancel(),F.current=null)},[T]),C.useEffect(()=>{l&&T&&T.focus()},[l,T]),C.useEffect(()=>{T&&T.dispatch({effects:Fe.reconfigure.of(W)})},[c,a,u,d,f,p,m,w,v,y,g,x,S,r,s]),C.useEffect(()=>{if(e!==void 0){var R=T?T.state.doc.toString():"";if(T&&e!==R){var Y=F.current&&!F.current.isDone,K=()=>{T&&e!==T.state.doc.toString()&&T.dispatch({changes:{from:0,to:T.state.doc.toString().length,insert:e||""},annotations:[hC.of(!0)]})};Y?I.current=K:K()}}},[e,T]),{state:M,setState:N,view:T,setView:D,container:A,setContainer:E}}var zI=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],fh=C.forwardRef((t,e)=>{var{className:n,value:r="",selection:o,extensions:i=[],onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:u,theme:d="light",height:f,minHeight:p,maxHeight:m,width:w,minWidth:v,maxWidth:y,basicSetup:g,placeholder:x,indentWithTab:S,editable:b,readOnly:k,root:A,initialState:E}=t,T=DF(t,zI),D=C.useRef(null),{state:M,view:N,container:F,setContainer:I}=LI({root:A,value:r,autoFocus:u,theme:d,height:f,minHeight:p,maxHeight:m,width:w,minWidth:v,maxWidth:y,basicSetup:g,placeholder:x,indentWithTab:S,editable:b,readOnly:k,selection:o,onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:i,initialState:E});C.useImperativeHandle(e,()=>({editor:D.current,state:M,view:N}),[D,F,M,N]);var O=C.useCallback(L=>{D.current=L,I(L)},[I]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var H=typeof d=="string"?"cm-theme-"+d:"cm-theme";return h.jsx("div",go({ref:O,className:""+H+(n?" "+n:"")},T))});fh.displayName="CodeMirror";const HI=t=>h.jsx(fh,{height:"300px",style:{borderRadius:4,overflow:"hidden"},theme:_y,extensions:[bF()],...t}),{Text:$I}=B.Typography,jI=t=>h.jsx("div",{style:{padding:6,paddingRight:0,border:"1px solid #b0b5cb",borderRadius:4},children:h.jsx(B.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",overlayInnerStyle:{width:500},children:h.jsx($I,{style:{color:"#b0b5cb"},ellipsis:!0,copyable:{text:t.value},children:t.value})})}),WI=t=>h.jsx(B.Input.Password,{addonBefore:te("link.flow.ciphertext"),...t}),VI=t=>{var r;const{multiple:e,...n}=t;return h.jsx(B.Select,{style:{borderRadius:6},mode:e?"multiple":void 0,...n,getPopupContainer:o=>o.parentNode,children:(r=t==null?void 0:t.options)==null?void 0:r.map(o=>h.jsx(B.Select.Option,{label:o.label,value:o.value,children:o.label},o.value))})},{TextArea:UI}=B.Input,qI=t=>h.jsx(UI,{...t}),RI=t=>h.jsx(B.Input,{addonBefore:te("link.flow.text"),...t}),GI=t=>h.jsx(B.TimePicker,{style:{width:"100%"},value:pr(t.value??"00:00:00","HH:mm:ss"),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),KI={configformContainer:"_configformContainer_gl8f1_1"},XI=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],YI=t=>{const e=t.display_name;switch(t.page_control){case Ce.SELECT:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_select")+t.display_name}],label:e,name:t.name,children:h.jsx(VI,{options:ww(t.option_value_objects??t.option_values),multiple:t.multi_valued})},t.ui_id);case Ce.EXTEND_OBJ:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(RO,{valueType:t.value_type})},t.ui_id);case Ce.HIDDEN:return h.jsx(B.Form.Item,{style:{display:"none"},required:t.required,label:e,name:t.name,children:h.jsx(GO,{})},t.ui_id);case Ce.TEXT:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(RI,{valueType:t.value_type})},t.ui_id);case Ce.PASSWORD:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(WI,{valueType:t.value_type})},t.ui_id);case Ce.LABEL:return h.jsx(B.Form.Item,{required:t.required,label:e,name:t.name,children:h.jsx(jI,{})},t.ui_id);case Ce.DATE:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(UO,{})},t.ui_id);case Ce.TIME:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(GI,{})},t.ui_id);case Ce.DATETIME:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(qO,{})},t.ui_id);case Ce.TEXTAREA:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(qI,{valueType:t.value_type})},t.ui_id);case Ce.FIXED_OBJ:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(B.Input.TextArea,{})},t.ui_id);case Ce.JSON:return h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:te("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(HI,{})},t.ui_id)}},JI=t=>{switch(t.page_control){case Ce.SELECT:return t.multi_valued?[]:null;case Ce.EXTEND_OBJ:return{};case Ce.HIDDEN:return"";case Ce.TEXT:return"";case Ce.PASSWORD:return"";case Ce.LABEL:return"";case Ce.DATE:return null;case Ce.TIME:return null;case Ce.DATETIME:return null;case Ce.TEXTAREA:return"";case Ce.FIXED_OBJ:return"";case Ce.JSON:return JSON.stringify({})}},pC=C.memo(t=>{var c,u;const{config:e,proxy_id:n,connector:r}=t,[o]=B.Form.useForm(),i=C.useRef(),s=ft.useReactive({proxyId:"0"});e!=null&&e.sub_params&&o.setFieldsValue({...(c=e.sub_params)==null?void 0:c.reduce((d,f)=>{let p=f.value;return f.page_control===Ce.EXTEND_OBJ&&(p=XI(p)),d[f.name]=p??JI(f.page_control),d},{})}),C.useEffect(()=>{n&&(s.proxyId=n)},[n]);const a=()=>{o.validateFields().then(async d=>{var f;d.proxy_id=(f=i.current)==null?void 0:f.getProxyId(),t.onSubmited(d)})},l=()=>{o.validateFields().then(async d=>{var f;d.proxy_id=(f=i.current)==null?void 0:f.getProxyId(),t.onSubmited(d,!0)})};return h.jsxs("div",{style:{height:"100%",position:"relative"},onClick:d=>{d.stopPropagation(),d.preventDefault()},children:[h.jsxs(B.Form,{form:o,style:{maxHeight:"calc(100vh - 300px)",overflowY:"scroll"},layout:"vertical",className:KI.configformContainer,children:[(u=e==null?void 0:e.sub_params)==null?void 0:u.map(d=>h.jsxs("div",{children:[YI(d),h.jsx("div",{style:{minHeight:10},children:d.page_control!==Ce.HIDDEN&&h.jsx("p",{style:{color:"#999",fontSize:12,marginTop:-18},children:d.description})})]},d.ui_id)),r.deployment_type!=="SaasApp"?h.jsx(vw,{proxyId:s.proxyId,ref:i}):null]}),t.auth_type==="RDBMS_ACCOUNT"&&h.jsx("div",{children:h.jsx(B.Button,{type:"primary",style:{width:"100%"},onClick:l,children:h.jsx(Be.FormattedMessage,{id:"app.common.word.connection-test"})})}),h.jsxs("div",{style:{display:"flex",padding:"10px",justifyContent:"center"},children:[h.jsx(B.Button,{icon:h.jsx(ce.RollbackOutlined,{}),style:{width:90,borderRadius:4,marginRight:10},onClick:t.onCancel,children:h.jsx(Be.FormattedMessage,{id:"app.common.word.cancel"})}),h.jsx(B.Button,{type:"primary",icon:h.jsx(ce.CloudUploadOutlined,{}),style:{width:90,borderRadius:4},onClick:()=>a(),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})]})]})}),QI=t=>{const{visible:e,connector:n,config:r,onCancel:o,onSubmit:i,auth_type:s,inAI:a}=t;return h.jsx(B.Modal,{title:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-account"}),style:{marginTop:0,borderRadius:10,overflow:"hidden",paddingBottom:0,position:"absolute",right:a?"calc(50vw - 280px)":615,height:"calc(100vh - 20px)"},mask:!1,getContainer:()=>document.getElementById("flow-designer-container"),zIndex:999999,width:560,styles:{body:{height:"100%"}},footer:null,maskClosable:!a,open:e,onCancel:o,children:h.jsx(pC,{config:r,connector:n,nodeId:"",auth_type:s,onCancel:o,onSubmited:i})})},ZI=t=>{const{visible:e,connector:n,config:r,onCancel:o,onSubmit:i,auth_type:s,proxy_id:a,inAI:l}=t;return h.jsx(B.Modal,{title:te("link.flow.edit_account"),mask:!1,style:{marginTop:0,borderRadius:10,overflow:"hidden",paddingBottom:0,position:"absolute",right:l?"calc(50vw - 280px)":665,height:"calc(100vh - 20px)"},getContainer:()=>document.getElementById("flow-designer-container"),zIndex:999999,width:560,footer:null,open:e,maskClosable:!l,onCancel:o,children:h.jsx(pC,{config:r,proxy_id:a,connector:n,nodeId:"",auth_type:s,onCancel:o,onSubmited:i})})},Cr={accountSelectContainer:"_accountSelectContainer_fr775_1",selectTitle:"_selectTitle_fr775_5",accountOption:"_accountOption_fr775_11",accountName:"_accountName_fr775_19",nameEditIcon:"_nameEditIcon_fr775_32",editInputWrapper:"_editInputWrapper_fr775_42",nameEditInput:"_nameEditInput_fr775_46",accountActions:"_accountActions_fr775_51",updateTime:"_updateTime_fr775_56"},{Option:eP}=B.Select,{Text:tP,Title:gV}=B.Typography,mC=({value:t,onChange:e,linkApp:n,actionAccountSchemaId:r,disabled:o=!1,placeholder:i="请选择账号"})=>{const[s,a]=C.useState([]),[l,c]=C.useState(!1),[u,d]=C.useState(!1),[f,p]=C.useState(!1),m=C.useRef(null),w=C.useRef(null),v=ft.useReactive({createModalVisible:!1,modifyModalVisible:!1,configModel:{},account_scheme_id:"",name:"",auth_type:"",modifyId:"",proxy_id:"",editId:"",editValue:"",createLoading:!1,createRequestLock:!1,isEditing:!1}),y=async()=>{if(n!=null&&n.id){c(!0);try{const F=await Qg(n.id,r);a(F.items||[])}catch(F){console.error("获取账号列表失败:",F),B.message.error("获取账号列表失败")}finally{c(!1)}}};C.useEffect(()=>{y()},[n==null?void 0:n.id]),C.useEffect(()=>{v.editId&&m.current&&setTimeout(()=>{var F;(F=m.current)==null||F.focus()},100)},[v.editId]);const g=F=>{if(f){d(!0);return}d(F)},x=()=>{if(!v.editId||!v.editValue){v.editId="",v.isEditing=!1,p(!1);return}Gg(v.editId,v.editValue).then(()=>{y(),v.editId="",v.editValue="",v.isEditing=!1,p(!1),B.message.success(te("link.flow.modification_success"))}).catch(()=>{v.editId="",v.isEditing=!1,p(!1)})},S=(F,I,O)=>{F.stopPropagation(),F.preventDefault(),v.isEditing=!0,p(!0),d(!0),v.editId=I,v.editValue=O,setTimeout(()=>{w.current&&w.current.focus()},0)},b=F=>{F.stopPropagation(),F.preventDefault(),p(!0)},k=F=>{v.isEditing||e&&e(F)},A=()=>{if(!r){B.message.error("未配置账号模式");return}v.createLoading=!0,Vg(r).then(F=>{v.configModel=F.auth_schema,v.account_scheme_id=F.id,v.name=F.name,v.auth_type=F.auth_type,v.createModalVisible=!0}).finally(()=>{v.createLoading=!1})},E=F=>{Ug(F).then(I=>{v.configModel=I.config,v.account_scheme_id=I.id,v.name=I.name,v.proxy_id=I.proxy_id,v.auth_type=I.auth_type,v.modifyId=F,v.modifyModalVisible=!0})},T=C.useCallback((F,I)=>{if(v.createRequestLock)return;const O=ht.cloneDeep(v.configModel);O.sub_params.forEach(L=>{let W=F[L.name];L.page_control===Ce.EXTEND_OBJ&&(W=Qu(W)),L.value=W});const H=F.proxy_id;delete F.proxy_id,v.createRequestLock=!0,I?qu(n.id,v.account_scheme_id,v.auth_type,v.name,O,v.modifyId,H).then(L=>{L&&B.message.success({content:"测试连接成功!",style:{zIndex:9999999999999}})}).finally(()=>{v.createRequestLock=!1}):qg(n.id,v.account_scheme_id,v.auth_type,v.name,O,H).then(()=>{B.message.success(te("link.flow.creation_success")),y(),v.createModalVisible=!1}).finally(()=>{v.createRequestLock=!1})},[]),D=C.useCallback(()=>{v.createModalVisible=!1},[]),M=(F,I)=>{const O=ht.cloneDeep(v.configModel);O.sub_params.forEach(L=>{let W=F[L.name];L.page_control===Ce.EXTEND_OBJ&&(W=Qu(W)),L.value=W});const H=F.proxy_id;delete F.proxy_id,I?qu(n.id,v.account_scheme_id,v.auth_type,v.name,O,v.modifyId,H).then(L=>{L&&B.message.success({content:"测试连接成功!",style:{zIndex:9999999999999}})}):Rg(v.modifyId,null,null,null,null,O,H).then(()=>{B.message.success(te("link.flow.modification_success")),y(),v.modifyModalVisible=!1,v.modifyId=""})},N=F=>h.jsxs("div",{children:[F,h.jsx(B.Divider,{style:{margin:"4px 0"}}),h.jsx("div",{style:{padding:"8px",textAlign:"center"},children:h.jsx(B.Button,{icon:h.jsx(ce.UserAddOutlined,{}),onClick:A,loading:v.createLoading,type:"link",block:!0,children:"创建新账号"})})]});return h.jsxs("div",{className:Cr.accountSelectContainer,children:[h.jsx("h5",{className:Cr.selectTitle,children:"授权配置"}),h.jsx(B.Select,{ref:w,value:t,onChange:k,style:{width:"100%"},placeholder:i,disabled:o,loading:l,dropdownRender:N,listHeight:320,open:u,onDropdownVisibleChange:g,children:s.map(F=>h.jsx(eP,{value:F.id,children:h.jsxs("div",{className:Cr.accountOption,onClick:I=>{v.isEditing&&I.stopPropagation()},children:[h.jsx("div",{className:Cr.accountName,children:v.editId!==F.id?h.jsxs(C.Fragment,{children:[h.jsx("span",{children:F.name}),h.jsx(ce.EditOutlined,{className:Cr.nameEditIcon,onClick:I=>S(I,F.id,F.name)})]}):h.jsx("div",{className:Cr.editInputWrapper,onClick:b,children:h.jsx(B.Input,{ref:m,defaultValue:F.name,className:Cr.nameEditInput,onClick:b,onMouseDown:I=>{I.stopPropagation(),I.preventDefault()},onFocus:I=>{I.stopPropagation(),p(!0)},onPressEnter:I=>{I.stopPropagation(),I.preventDefault(),x()},onBlur:()=>{x()},onChange:I=>{v.editValue=I.target.value}})})}),h.jsxs("div",{className:Cr.accountActions,children:[h.jsx(tP,{type:"secondary",className:Cr.updateTime,children:pr(Number(F.update_time)*1e3).format("YYYY-MM-DD HH:mm:ss")}),h.jsx(B.Button,{type:"link",icon:h.jsx(ce.FileSearchOutlined,{}),size:"small",onClick:I=>{I.stopPropagation(),E(F.id)},children:"编辑"})]})]})},F.id))}),h.jsx(QI,{onSubmit:T,onCancel:D,inAI:!0,auth_type:v.auth_type,config:v.configModel,visible:v.createModalVisible,connector:n}),h.jsx(ZI,{onSubmit:M,inAI:!0,onCancel:()=>{v.modifyModalVisible=!1},proxy_id:v.proxy_id,auth_type:v.auth_type,config:v.configModel,visible:v.modifyModalVisible,connector:n})]})},nP=({children:t,value:e,onChange:n})=>{const[r,o]=C.useState(e==="{{$fromAI}}"),i=()=>{const a=!r;o(a),a?n==null||n("{{$fromAI}}"):n==null||n("")},s=()=>r?h.jsxs("div",{style:{position:"relative"},children:[h.jsx(B.Input,{value:"由AI生成 ",readOnly:!0,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"1px solid transparent",borderImage:"linear-gradient(45deg, #00d4ff, #9b59b6, #e74c3c) 1",color:"#ffffff",fontWeight:"500",textShadow:"0 1px 2px rgba(0,0,0,0.3)",borderRadius:"6px",fontSize:"13px",paddingLeft:"32px",paddingRight:"28px",height:"32px",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)"},prefix:h.jsx("div",{style:{background:"linear-gradient(45deg, #00d4ff, #1e3c72)",borderRadius:"50%",width:"16px",height:"16px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:"4px",animation:"pulse 2s ease-in-out infinite alternate"},children:h.jsx("span",{style:{color:"#fff",fontSize:"8px"},children:"AI"})}),suffix:h.jsx(B.Button,{type:"text",size:"small",onClick:i,style:{color:"#ffffff",border:"none",background:"rgba(255,255,255,0.2)",borderRadius:"50%",width:"18px",height:"18px",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease",minWidth:"18px",padding:0},onMouseEnter:a=>{a.currentTarget.style.background="rgba(255,255,255,0.3)",a.currentTarget.style.transform="scale(1.1)"},onMouseLeave:a=>{a.currentTarget.style.background="rgba(255,255,255,0.2)",a.currentTarget.style.transform="scale(1)"},children:h.jsx(ce.CloseOutlined,{style:{fontSize:"10px"}})})}),h.jsx("style",{children:`
22
+ @keyframes pulse {
23
+ 0% { box-shadow: 0 0 0 0 rgba(0, 212, 255, 0.6); }
24
+ 100% { box-shadow: 0 0 0 6px rgba(0, 212, 255, 0); }
25
+ }
26
+ `})]}):C.isValidElement(t)?C.cloneElement(t,{value:e,onChange:n,...t.props}):t;return h.jsxs(h.Fragment,{children:[!r&&h.jsx("div",{style:{marginBottom:6,textAlign:"right"},children:h.jsxs(B.Button,{size:"small",type:"primary",onClick:i,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"none",borderRadius:"14px",padding:"0 10px",height:"24px",fontSize:"11px",fontWeight:"500",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)",transition:"all 0.2s ease",display:"flex",alignItems:"center",gap:"4px",lineHeight:1},onMouseEnter:a=>{a.currentTarget.style.transform="translateY(-1px)",a.currentTarget.style.boxShadow="0 4px 12px rgba(102, 126, 234, 0.5)"},onMouseLeave:a=>{a.currentTarget.style.transform="translateY(0)",a.currentTarget.style.boxShadow="0 2px 8px rgba(102, 126, 234, 0.3)"},children:[h.jsx(ce.RobotOutlined,{style:{fontSize:"11px"}}),"由AI生成"]})}),s()]})},rP=t=>h.jsx(B.DatePicker,{style:{width:"100%"},picker:"date",value:t.value?pr(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),oP=t=>h.jsx(C.Fragment,{children:h.jsx(B.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:t.value?pr(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}})});function ir(){return Yu()}const iP=({value:t=[],onChange:e,selectType:n="KNOWLEDGE_BASE",placeholder:r="请选择"})=>{const o=ft.useReactive({items:[]}),[i,s]=C.useState([]),[a,l]=C.useState(!1);C.useEffect(()=>{n&&(l(!0),Jg(n).then(p=>{p&&Array.isArray(p)&&s(p)}).catch(p=>{console.error("获取选项失败:",p),s([])}).finally(()=>{l(!1)}))},[n]),C.useEffect(()=>{const p=Array.isArray(t)?t:[];o.items=p.map(m=>({...m,id:m.id??ir()}))},[t]);const c=At(),u=p=>{const m=o.items.filter(w=>w.id!==p);e==null||e(m)},d=()=>{e([...o.items,{value:"",id:ir()}])},f=(p,m)=>{e(o.items.map((w,v)=>v===p?{...w,value:m}:w))};return h.jsxs("div",{children:[o.items.length?o.items.map((p,m)=>h.jsxs(B.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(B.Select,{value:p.value||void 0,onChange:w=>f(m,w),placeholder:r,style:{width:300},disabled:!c||a,loading:a,options:i,showSearch:!0,filterOption:(w,v)=>((v==null?void 0:v.label)??"").toLowerCase().includes(w.toLowerCase()),getPopupContainer:w=>w.parentNode}),c&&h.jsx(ce.DeleteOutlined,{onClick:()=>{u(p.id)},style:{cursor:"pointer",color:"#ff4d4f"}})]},p.id)):null,c&&h.jsx(B.Button,{type:"dashed",onClick:d,block:!0,icon:h.jsx(ce.PlusOutlined,{}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-field"})})]})},sP=[["sys_tenant_id","租户ID"],["response","响应数据"]];class aP{constructor(){Qe(this,"config",window.__FLOW_DESIGNER_CONFI_NOT_USE_OR_U_WILL_BE_FIRED={icons:new Map,tips:new Map(sP)})}getConfig(){return window.__FLOW_DESIGNER_CONFI_NOT_USE_OR_U_WILL_BE_FIRED}addConnectorIcon(e,n){this.config.icons.set(e,n)}addNodeIcon(e,n){this.config.icons.set(e,n)}getNodeIcon(e){return this.config.icons.get(e)}addNodeTips(e,n){this.config.tips.set(e,n)}getNodeTips(e){return this.config.tips.get(e)??te("link.flow.cannot_find_variable_output_node")}getBuiltnVaribleTips(e){return this.config.tips.get(e)??te("link.flow.cannot_find_variable_output_node")}getToolTipColor(e){return this.config.tips.get(e)?"#2db7f5":"red"}getConnectorIcon(e){return this.config.icons.get(e)}}const pc=new aP,ki={modalContainer:"_modalContainer_6vx6e_1",editorContainer:"_editorContainer_6vx6e_10",sider:"_sider_6vx6e_20",main:"_main_6vx6e_23",header:"_header_6vx6e_28",editor:"_editor_6vx6e_10"},kr=()=>yn().flowId,gC={BOOLEAN:"green",NUMBER:"blue",OBJECT:"cyan",STRING:"orange"},wC={BOOLEAN:"Bool",NUMBER:"Num",OBJECT:"Obj",STRING:"Str"},vC=t=>{t.length&&t.forEach(e=>{e.label||(e.label=e.name),Array.isArray(e.sub_params)?vC(e.sub_params):e.sub_params=[]})},lP=t=>{const e=t.map(r=>(r.output.label=r.seq+"-"+r.connector_name+" : "+r.action_name,r.note&&(r.output.label+=`(${r.note})`),{...r,label:r.connector_name+"-"+r.action_name,sub_params:[r.output]})),n=ht.cloneDeep(e);return vC(n),n},yC={container:"_container_judzo_1",header:"_header_judzo_13"},{TreeNode:bC}=B.Tree,CC={VariableModalTitle:h.jsx(Be.FormattedMessage,{id:"app.common.word.select-variable"}),NoTestDataDesc:h.jsx(Be.FormattedMessage,{id:"common.no-process-variables-yet"})},cP=t=>{const e=kr(),{nodeId:n,onInsert:r}=t,o=ft.useReactive({data:[],currentInputId:"",visible:!0,updateNum:0});let i=0;const[s,a]=C.useState([]);if(C.useEffect(()=>{t.open&&Wa(e,n).then(c=>{const u=lP(c);ht.isEqual(u,s)||a(u)})},[e,o.updateNum,t.open]),!o.visible)return!1;const l=(c,u)=>c&&c.map(d=>{var f;return(f=d.sub_params)!=null&&f.length?h.jsx(bC,{title:h.jsxs(h.Fragment,{children:[u?h.jsx(ce.UsbOutlined,{style:{color:"#108ee9",marginRight:4,fontSize:16}}):h.jsx(B.Tag,{color:gC[d.type]||"gray",children:d.multi_valued?wC[d.type]+"[]":"Obj"}),h.jsxs("span",{style:{fontSize:14,fontWeight:"bold",color:"#777"},children:[" ",d.label," "]})]}),children:l(d.sub_params)},i++):h.jsx(bC,{title:h.jsxs("div",{style:{display:"flex",flexWrap:"nowrap"},children:[h.jsx(B.Tag,{color:gC[d.type]||"gray",style:{textWrap:"nowrap",padding:"0 3px"},children:wC[d.type]+(d.multi_valued?"[]":"")}),h.jsxs("span",{style:{fontSize:14,fontWeight:"bold",textWrap:"nowrap"},children:[" ",d.label," "]}),h.jsx("span",{style:{color:"#666",fontSize:12,textWrap:"nowrap",marginLeft:8},children:d.value})]})},i++)});return h.jsxs("div",{className:yC.container,children:[h.jsx("div",{className:yC.header,children:h.jsxs("div",{style:{display:"flex",alignItems:"center",color:"#999"},children:[h.jsx(ce.RocketOutlined,{style:{fontSize:20,marginRight:10}}),h.jsx("h3",{style:{margin:0,color:"#999"},children:CC.VariableModalTitle})]})}),h.jsx("div",{style:{flex:1,overflowY:"scroll"},className:"grayBeautifyScrollbar",children:s.length?s.map((c,u)=>h.jsx("div",{style:{margin:"5px 0"},children:h.jsx(B.Tree,{showLine:!0,onSelect:(d,f)=>{var S,b;if(f.node.pos==="0-0")return!1;const m=f.node.pos.split("-").slice(1),w=m.length;let v=0,y;const g=[];for(;v<w;){const k=y||c.sub_params;g.push((S=k[m[v]])==null?void 0:S.name),y=(b=k[m[v]])==null?void 0:b.sub_params,v++}const x=`{{${g[0]}.${g.slice(1).join(".")}}}`;r(x)},switcherIcon:h.jsx(ce.CaretDownOutlined,{}),children:l(c.sub_params,!0)})},u)):h.jsx(B.Empty,{image:B.Empty.PRESENTED_IMAGE_SIMPLE,style:{color:"white"},description:CC.NoTestDataDesc})})]})},uP={siderContainer:"_siderContainer_fhkbn_1"};function dP(t){return h.jsxs("div",{className:uP.siderContainer,children:[h.jsx("div",{children:h.jsx(cP,{open:t.open,nodeId:t.nodeId,onInsert:t.onInsert})}),h.jsx("div",{style:{textAlign:"center"}})]})}function fP(){return h.jsxs("h3",{style:{color:"#999",fontSize:16,margin:"6px 0"},children:[h.jsx(Be.FormattedMessage,{id:"link.flow.code_editor"})," (Javascript)"]})}function hP(t){return h.jsxs("div",{style:{color:"white",display:"flex",paddingRight:30,alignItems:"center",height:"100%",fontSize:16},children:[h.jsx(B.Button,{type:"primary",size:"small",style:{marginRight:10},disabled:!1,danger:!0,onClick:t.onCancel,icon:h.jsx(ce.CloseCircleFilled,{onClick:t.onCancel}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.cancel"})}),h.jsx(B.Button,{type:"primary",size:"small",style:{marginRight:10},onClick:t.onFinish,icon:h.jsx(ce.CheckCircleFilled,{}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.finish"})})]})}const pP={snippets:[{trigger:"log",content:"console.log('$1');$2",desc:"输出日志"},{trigger:"imp",content:"import $1 from '$2';$3"},{trigger:"loop",content:`for (let $1=0; i< $2.length;i++) {
27
+
28
+ }`,desc:"循环操作"}]};function mP(t){const e=/{{N(.+?)}}/g,n=[];let r;for(;(r=e.exec(t))!==null;){const{index:o,0:i}=r,s=t.substring(0,o).split(`
29
+ `),a=s.length,l=s[s.length-1].length+1,c=a+i.split(`
30
+ `).length-1,u=i.split(`
31
+ `).length>1?i.split(`
32
+ `)[i.split(`
33
+ `).length-1].length+1:l+i.length-1;n.push({value:i,startLine:a,startColumn:l,endLine:c,endColumn:u})}return n}const gP={selectOnLineNumbers:!0,language:"javascript",automaticLayout:!0,padding:{top:10}};function wP(t){const[e,...n]=t.slice(2,-2).split(".");return e==null||e.slice(1),pc.getNodeTips(0)+" | "+n.join(".")}function vP(t){const e=[].map(n=>({insertText:n,kind:t.languages.CompletionItemKind.Function,label:n}));t.languages.registerCompletionItemProvider("javascript",{provideCompletionItems(){return{suggestions:e}},quickSuggestions:!0,triggerCharacters:["{",".","=",":"]})}function yP(t){t.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),t.languages.typescript.javascriptDefaults.setCompilerOptions({target:t.languages.typescript.ScriptTarget.ES2015,allowNonTsExtensions:!0}),t.languages.registerCompletionItemProvider("javascript",{provideCompletionItems:()=>({suggestions:pP.snippets.map(n=>({label:n.trigger,kind:t.languages.CompletionItemKind.Method,detail:n.desc??"",insertText:n.content,insertTextRules:t.languages.CompletionItemInsertTextRule.InsertAsSnippet}))})})}function bP(t){const{open:e,nodeId:n,initialValue:r}=t;console.log("onlineide nodeId",n);const o=C.useRef(null),i=ft.useReactive({code:"",range:new bD.Range(1,1,1,1)}),s=(f,p)=>{f.onDidChangeCursorPosition(m=>{const w=m.position,{lineNumber:v=0,column:y=0}=w;i.range=new p.Range(v,y,v,y)}),o.current=f,f.focus(),i.code=f.getValue(),p.languages.registerHoverProvider("javascript",{provideHover:(m,w)=>new Promise(v=>{const g=mP(i.code).find(b=>b.startLine===b.startLine&&w.column>=b.startColumn&&w.column<=b.endColumn);let x="",S=new p.Range(0,0,0,0);g&&(x=wP(g.value),S=new p.Range(g.startLine,g.startColumn,g.endLine,g.endColumn)),v({range:S,contents:[{value:x}]})})})},a=f=>{vP(f),yP(f)};C.useEffect(()=>{},[i.code]);const l=f=>{const p=[{range:i.range,text:f,forceMoveMarkers:!0}];o.current&&i.range&&o.current.executeEdits("my-source",p)},c=()=>{var f;(f=t.onFinish)==null||f.call(t,i.code)},u=C.useRef(null),d=ft.useSize(u);return Tm.createPortal(h.jsx("div",{className:ki.modalContainer,ref:u,style:{display:e?"flex":"none"},children:h.jsxs("div",{className:ki.editorContainer,id:"shuxi-code-editor",children:[h.jsx("div",{className:ki.sider,children:h.jsx(dP,{onCancel:t.onCancel,onFinish:c,editor:o.current,nodeId:n,open:e,onInsert:l})}),h.jsxs("div",{className:ki.main,children:[h.jsxs("div",{className:ki.header,children:[h.jsx(fP,{}),h.jsx(hP,{onCancel:t.onCancel,onFinish:c})]}),h.jsx("div",{className:ki.editor,children:h.jsx(mD,{width:"100%",height:((d==null?void 0:d.height)??0)-40,language:"javascript",theme:"vs-dark",value:r,options:gP,onChange:(f,p)=>{i.code=f},editorWillMount:a,editorDidMount:s},n)})]})]})}),document.body)}const CP=t=>{const e=ft.useReactive({editorVisiable:!1}),n=()=>{e.editorVisiable=!0};C.useEffect(()=>{t.openEditorNumber&&n()},[t.openEditorNumber]);const r=o=>{t.onFinish(o),e.editorVisiable=!1};return t.canEditInEditor?h.jsxs(C.Fragment,{children:[h.jsx("div",{style:{display:"flex",flexDirection:"column"},children:t.children}),e.editorVisiable&&h.jsx(bP,{open:!0,initialValue:t.value,nodeId:t.nodeId??"",onCancel:()=>{e.editorVisiable=!1},onFinish:r})]}):t.children},kC=t=>h.jsx("div",{style:{display:t.show?"block":"none",height:"100%",width:"100%",...t.style??{}},children:t.children}),kP={magenta:{textColor:"#c41d7f",backgroudColor:"#fff0f6",borderColor:"#ffadd2"},red:{textColor:"#cf1322",backgroudColor:"#fff1f0",borderColor:"#ffa39e"},volcano:{textColor:"#d4380d",backgroudColor:"#fff2e8",borderColor:"#ffbb96"},orange:{textColor:"#d46b08",backgroudColor:"#fff7e6",borderColor:"#ffd591"},gold:{textColor:"#d48806",backgroudColor:"#fffbe6",borderColor:"#ffe58f"},lime:{textColor:"#7cb305",backgroudColor:"#fcffe6",borderColor:"#eaff8f"},green:{textColor:"#389e0d",backgroudColor:"#f6ffed",borderColor:"#b7eb8f"},cyan:{textColor:"#08979c",backgroudColor:"#edf2f7",borderColor:"#c6dbf0"},blue:{textColor:"rgba(0, 0, 0, 0.5)",backgroudColor:"#edf2f7",borderColor:"#91caff"},geekblue:{textColor:"#1d39c4",backgroudColor:"#f0f5ff",borderColor:"#adc6ff"},purple:{textColor:"#531dab",backgroudColor:"#f9f0ff",borderColor:"#d3adf7"}},xP=ye.baseTheme({"&.cm-editor":{fontSize:"15px"},"&.cm-editor.cm-focused":{outline:"none"},"&.cm-editor .cm-gutterElement":{lineHeight:"28px"},"&.cm-editor .cm-line":{lineHeight:"28px"},"&.cm-editor .ͼt .ͼs":{color:"#d73a49"}});function SP(t){return e=>{const n=e.matchBefore(/\w*/);return n.from==n.to&&!e.explicit?null:{from:n.from,options:(t==null?void 0:t.map(r=>uc(r.template,{label:r.label,detail:r.detail,type:r.type})))||[]}}}const EP=t=>{class e extends dn{constructor(i){super();Qe(this,"text");this.text=i}eq(i){return this.text==i.text}toDOM(){const i=document.createElement("span");i.style.cssText=`
34
+ color: #d73a49;
35
+ font-size: 14px;
36
+ `,i.textContent=this.text;const s=document.createElement("span");return s.style.cssText="color: #6a737d;",s.textContent="(",i.appendChild(s),i}ignoreEvent(){return!0}}const n=new Fl({regexp:/func\.(.+?)\(/g,decoration:r=>{const o=r[1];return t.some(i=>i.label===o)?Se.replace({widget:new e(`${o}`)}):null}});return st.fromClass(class{constructor(r){Qe(this,"function");this.function=n.createDeco(r)}update(r){this.function=n.updateDeco(r,this.function)}},{decorations:r=>r.function,provide:r=>ye.atomicRanges.of(o=>{var i;return((i=o.plugin(r))==null?void 0:i.function)||Se.none})})},DP=t=>e=>{var s,a,l;const n=e.matchBefore(/\S*/);if(!n||n.from==n.to&&!e.explicit)return null;const r=n.text[n.text.length-1],o=e.state.doc.lineAt(e.pos).text;let i="";for(let c=n.to;c>=0;c-=1){if(c===0){i=o.slice(c,n.to);break}if(o[c]===" "){i=o.slice(c+1,n.to);break}}if(!i)return null;if(!i.includes(".")&&r!==".")return{from:n.from,options:((s=t==null?void 0:t.map)==null?void 0:s.call(t,c=>uc(`${c.label}`,{label:`${c.label}`,detail:c.detail,type:c.type})))||[]};if(i.includes(".")&&r!=="."){const c=i.split(".").filter(f=>f),u=c.pop()||"";let d=t;return c.forEach(f=>{var p;d=((p=d.find(m=>m.label===f))==null?void 0:p.children)||[]}),{from:n.to-u.length,to:n.to,options:((a=d==null?void 0:d.map)==null?void 0:a.call(d,f=>uc(`${f.label}`,{label:`${f.label}`,detail:f.detail,type:f.type})))||[]}}else if(r==="."){const c=i.split(".").filter(d=>d);if(!c.length)return null;let u=t;return c.forEach(d=>{var f;u=((f=u.find(p=>p.label===d))==null?void 0:f.children)||[]}),{from:n.to-1,to:n.to,options:((l=u==null?void 0:u.map)==null?void 0:l.call(u,d=>uc(`.${d.label}`,{label:`.${d.label}`,detail:d.detail,type:d.type})))||[]}}return null},AP=(t=[],e,n)=>{const r=new RegExp(t.join("|"),"g"),o=new Fl({regexp:r,decoration:(i,s,a)=>{const l=s.state.doc.lineAt(a).text,[c]=i;if(l!=null&&l[a+c.length]&&(l==null?void 0:l[a+c.length])!==" ")return Se.mark({});if(l!=null&&l[a-1]&&(l==null?void 0:l[a-1])!==" ")return Se.mark({});let u;return e&&(u=`color: ${e};`),Se.mark({attributes:{style:u},class:n})}});return st.fromClass(class{constructor(i){Qe(this,"keywords");this.keywords=o.createDeco(i)}update(i){this.keywords=o.updateDeco(i,this.keywords)}},{decorations:i=>i.keywords})},OP=(t,e="name")=>{class n extends dn{constructor(s){super();Qe(this,"curFlag");Qe(this,"text");if(s){if(ht.includes(["sys_tenant_id","response"],s)){this.text=s,this.curFlag=s;return}const[a,...l]=s.split(".");a&&l.length&&(this.text=l.map(c=>c.split(":")[e==="code"?1:0]).join("."),this.curFlag=a)}}eq(s){return this.text==s.text}toDOM(){const s=document.createElement("span");if(!this.text)return s;const{backgroudColor:a,borderColor:l,textColor:c}=t.blue;return s.style.cssText=`
37
+ border: 1px solid ${l};
38
+ border-radius: 6px;
39
+ line-height: 20px;
40
+ margin: 0 2px;
41
+ font-weight: 500;
42
+ background: ${a};
43
+ color: ${c};
44
+ font-size: 12px;
45
+ padding: 2px 7px;
46
+ user-select: none;
47
+ `,s.textContent=this.text,s}ignoreEvent(){return!0}}const r=new Fl({regexp:/{{(.*?)}}/g,decoration:o=>Se.replace({widget:new n(o[1])})});return st.fromClass(class{constructor(o){Qe(this,"placeholders");this.placeholders=r.createDeco(o)}update(o){this.placeholders=r.updateDeco(o,this.placeholders)}},{decorations:o=>o.placeholders,provide:o=>ye.atomicRanges.of(i=>{var s;return((s=i.plugin(o))==null?void 0:s.placeholders)||Se.none})})},BP=({completions:t,keywords:e,placeholderThemes:n,mode:r,functions:o,keywordsColor:i,keywordsClassName:s,hintPaths:a})=>[e!=null&&e.length?AP(e,i,s):null,xP,OP(n,r),ye.lineWrapping,Yb({override:[SP(t),a!=null&&a.length?DP(a):null].filter(l=>!!l)}),EP(o)].filter(l=>!!l),TP=({completions:t,onValueChange:e,keywords:n,handleFocus:r,placeholderThemes:o,mode:i,functions:s,height:a,width:l,keywordsColor:c,keywordsClassName:u,defaultValue:d,hintPaths:f,extensions:p,disabled:m,id:w},v)=>{const y=C.useRef(null),g=C.useCallback((A,E)=>{var N;const{view:T}=y.current;if(!T)return;const{state:D}=T;if(!D)return;const[M]=((N=D==null?void 0:D.selection)==null?void 0:N.ranges)||[];T.focus(),T.dispatch({changes:{from:M.from,to:M.to,insert:A},selection:{anchor:M.from+A.length}})},[]),x=C.useCallback(()=>{const{view:A}=y.current;A.dispatch({changes:{from:0,to:A.state.doc.length,insert:""},selection:{anchor:0}}),A.focus()},[]),S=C.useCallback(A=>{const{view:E}=y.current;E.dispatch({changes:{from:0,to:E.state.doc.length,insert:A},selection:{anchor:A.length}}),E.focus()},[]);C.useImperativeHandle(v,()=>({insertText:g,clearText:x,setText:S,originEditorRef:y}),[g,x,S]);const b=C.useMemo(()=>[...BP({completions:t,keywords:n,placeholderThemes:o,mode:i,functions:s,keywordsColor:c,keywordsClassName:u,hintPaths:f}),...p||[]],[t,n,o,i,s,c,u,f,p]),k=C.useCallback(A=>{e&&e(A)},[e]);return h.jsx(fh,{id:w,readOnly:m,height:a,width:l,onFocus:r,extensions:b,theme:_y,onChange:k,value:d,ref:y})},_P=C.forwardRef(TP);function NP(t){const e=C.useMemo(()=>ir(),[]),n=C.useRef(null),{event$:r}=C.useContext(aa),o=At();return r.useSubscription(i=>{var s,a;if(i.type==="insert"&&i.currentInputId===e){const l=i.expression;(s=n==null?void 0:n.current)!=null&&s.insertText&&((a=n==null?void 0:n.current)==null||a.insertText(l,!1))}}),h.jsx(_P,{handleFocus:()=>{o&&(r.emit({type:"visible",visible:!0}),r.emit({type:"setCurrentInputId",currentInputId:e}))},id:e,ref:n,mode:"name",onValueChange:i=>{var s,a;(s=t.onChange)==null||s.call(t,i),(a=t.onValueChange)==null||a.call(t,i)},defaultValue:t.value,placeholderThemes:kP,completions:[],functions:[],height:"200px",width:"100%"})}var FP={transform(t,e){var{current:n,affinity:r}=t;if(n!=null){var o=j.transform(n,e,{affinity:r});t.current=o,o==null&&t.unref()}}},MP={transform(t,e){var{current:n,affinity:r}=t;if(n!=null){var o=qe.transform(n,e,{affinity:r});t.current=o,o==null&&t.unref()}}},IP={transform(t,e){var{current:n,affinity:r}=t;if(n!=null){var o=Q.transform(n,e,{affinity:r});t.current=o,o==null&&t.unref()}}},mc=new WeakMap,gc=new WeakMap,Ks=new WeakMap,xC=new WeakMap,SC=new WeakMap,EC=new WeakMap,DC=new WeakMap,j={ancestors(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{reverse:n=!1}=e,r=j.levels(t,e);return n?r=r.slice(1):r=r.slice(0,-1),r},common(t,e){for(var n=[],r=0;r<t.length&&r<e.length;r++){var o=t[r],i=e[r];if(o!==i)break;n.push(o)}return n},compare(t,e){for(var n=Math.min(t.length,e.length),r=0;r<n;r++){if(t[r]<e[r])return-1;if(t[r]>e[r])return 1}return 0},endsAfter(t,e){var n=t.length-1,r=t.slice(0,n),o=e.slice(0,n),i=t[n],s=e[n];return j.equals(r,o)&&i>s},endsAt(t,e){var n=t.length,r=t.slice(0,n),o=e.slice(0,n);return j.equals(r,o)},endsBefore(t,e){var n=t.length-1,r=t.slice(0,n),o=e.slice(0,n),i=t[n],s=e[n];return j.equals(r,o)&&i<s},equals(t,e){return t.length===e.length&&t.every((n,r)=>n===e[r])},hasPrevious(t){return t[t.length-1]>0},isAfter(t,e){return j.compare(t,e)===1},isAncestor(t,e){return t.length<e.length&&j.compare(t,e)===0},isBefore(t,e){return j.compare(t,e)===-1},isChild(t,e){return t.length===e.length+1&&j.compare(t,e)===0},isCommon(t,e){return t.length<=e.length&&j.compare(t,e)===0},isDescendant(t,e){return t.length>e.length&&j.compare(t,e)===0},isParent(t,e){return t.length+1===e.length&&j.compare(t,e)===0},isPath(t){return Array.isArray(t)&&(t.length===0||typeof t[0]=="number")},isSibling(t,e){if(t.length!==e.length)return!1;var n=t.slice(0,-1),r=e.slice(0,-1),o=t[t.length-1],i=e[e.length-1];return o!==i&&j.equals(n,r)},levels(t){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{reverse:n=!1}=e,r=[],o=0;o<=t.length;o++)r.push(t.slice(0,o));return n&&r.reverse(),r},next(t){if(t.length===0)throw new Error("Cannot get the next path of a root path [".concat(t,"], because it has no next index."));var e=t[t.length-1];return t.slice(0,-1).concat(e+1)},operationCanTransformPath(t){switch(t.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(t){if(t.length===0)throw new Error("Cannot get the parent path of the root path [".concat(t,"]."));return t.slice(0,-1)},previous(t){if(t.length===0)throw new Error("Cannot get the previous path of a root path [".concat(t,"], because it has no previous index."));var e=t[t.length-1];if(e<=0)throw new Error("Cannot get the previous path of a first child path [".concat(t,"] because it would result in a negative index."));return t.slice(0,-1).concat(e-1)},relative(t,e){if(!j.isAncestor(e,t)&&!j.equals(t,e))throw new Error("Cannot get the relative path of [".concat(t,"] inside ancestor [").concat(e,"], because it is not above or equal to the path."));return t.slice(e.length)},transform(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t)return null;var r=[...t],{affinity:o="forward"}=n;if(t.length===0)return r;switch(e.type){case"insert_node":{var{path:i}=e;(j.equals(i,r)||j.endsBefore(i,r)||j.isAncestor(i,r))&&(r[i.length-1]+=1);break}case"remove_node":{var{path:s}=e;if(j.equals(s,r)||j.isAncestor(s,r))return null;j.endsBefore(s,r)&&(r[s.length-1]-=1);break}case"merge_node":{var{path:a,position:l}=e;j.equals(a,r)||j.endsBefore(a,r)?r[a.length-1]-=1:j.isAncestor(a,r)&&(r[a.length-1]-=1,r[a.length]+=l);break}case"split_node":{var{path:c,position:u}=e;if(j.equals(c,r)){if(o==="forward")r[r.length-1]+=1;else if(o!=="backward")return null}else j.endsBefore(c,r)?r[c.length-1]+=1:j.isAncestor(c,r)&&t[c.length]>=u&&(r[c.length-1]+=1,r[c.length]-=u);break}case"move_node":{var{path:d,newPath:f}=e;if(j.equals(d,f))return r;if(j.isAncestor(d,r)||j.equals(d,r)){var p=f.slice();return j.endsBefore(d,f)&&d.length<f.length&&(p[d.length-1]-=1),p.concat(r.slice(d.length))}else j.isSibling(d,f)&&(j.isAncestor(f,r)||j.equals(f,r))?j.endsBefore(d,r)?r[d.length-1]-=1:r[d.length-1]+=1:j.endsBefore(f,r)||j.equals(f,r)||j.isAncestor(f,r)?(j.endsBefore(d,r)&&(r[d.length-1]-=1),r[f.length-1]+=1):j.endsBefore(d,r)&&(j.equals(f,r)&&(r[f.length-1]+=1),r[d.length-1]-=1);break}}return r}};function Xs(t){"@babel/helpers - typeof";return Xs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xs(t)}function PP(t,e){if(Xs(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Xs(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function LP(t){var e=PP(t,"string");return Xs(e)==="symbol"?e:String(e)}function Lt(t,e,n){return e=LP(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function zP(t,e){if(t==null)return{};var n={},r=Object.keys(t),o,i;for(i=0;i<r.length;i++)o=r[i],!(e.indexOf(o)>=0)&&(n[o]=t[o]);return n}function xr(t,e){if(t==null)return{};var n=zP(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var HP=["anchor","focus"];function AC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function $P(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?AC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):AC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var Q={edges(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{reverse:n=!1}=e,{anchor:r,focus:o}=t;return Q.isBackward(t)===n?[r,o]:[o,r]},end(t){var[,e]=Q.edges(t);return e},equals(t,e){return qe.equals(t.anchor,e.anchor)&&qe.equals(t.focus,e.focus)},surrounds(t,e){var n=Q.intersection(t,e);return n?Q.equals(n,e):!1},includes(t,e){if(Q.isRange(e)){if(Q.includes(t,e.anchor)||Q.includes(t,e.focus))return!0;var[n,r]=Q.edges(t),[o,i]=Q.edges(e);return qe.isBefore(n,o)&&qe.isAfter(r,i)}var[s,a]=Q.edges(t),l=!1,c=!1;return qe.isPoint(e)?(l=qe.compare(e,s)>=0,c=qe.compare(e,a)<=0):(l=j.compare(e,s.path)>=0,c=j.compare(e,a.path)<=0),l&&c},intersection(t,e){var n=xr(t,HP),[r,o]=Q.edges(t),[i,s]=Q.edges(e),a=qe.isBefore(r,i)?i:r,l=qe.isBefore(o,s)?o:s;return qe.isBefore(l,a)?null:$P({anchor:a,focus:l},n)},isBackward(t){var{anchor:e,focus:n}=t;return qe.isAfter(e,n)},isCollapsed(t){var{anchor:e,focus:n}=t;return qe.equals(e,n)},isExpanded(t){return!Q.isCollapsed(t)},isForward(t){return!Q.isBackward(t)},isRange(t){return Vt(t)&&qe.isPoint(t.anchor)&&qe.isPoint(t.focus)},*points(t){yield[t.anchor,"anchor"],yield[t.focus,"focus"]},start(t){var[e]=Q.edges(t);return e},transform(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(t===null)return null;var{affinity:r="inward"}=n,o,i;if(r==="inward"){var s=Q.isCollapsed(t);Q.isForward(t)?(o="forward",i=s?o:"backward"):(o="backward",i=s?o:"forward")}else r==="outward"?Q.isForward(t)?(o="backward",i="forward"):(o="forward",i="backward"):(o=r,i=r);var a=qe.transform(t.anchor,e,{affinity:o}),l=qe.transform(t.focus,e,{affinity:i});return!a||!l?null:{anchor:a,focus:l}}},OC=function(e){var{deep:n=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Vt(e))return!1;var r=typeof e.apply=="function";if(r)return!1;var o=n?we.isNodeList(e.children):Array.isArray(e.children);return o},Ee={isAncestor(t){var{deep:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Vt(t)&&we.isNodeList(t.children,{deep:e})},isElement:OC,isElementList(t){var{deep:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Array.isArray(t)&&t.every(n=>Ee.isElement(n,{deep:e}))},isElementProps(t){return t.children!==void 0},isElementType:function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"type";return OC(e)&&e[r]===n},matches(t,e){for(var n in e)if(n!=="children"&&t[n]!==e[n])return!1;return!0}},jP=["children"],WP=["text"];function BC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function wc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?BC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):BC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var we={ancestor(t,e){var n=we.get(t,e);if(De.isText(n))throw new Error("Cannot get the ancestor node at path [".concat(e,"] because it refers to a text node instead: ").concat(Dt.stringify(n)));return n},ancestors(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return(function*(){for(var r of j.ancestors(e,n)){var o=we.ancestor(t,r),i=[o,r];yield i}})()},child(t,e){if(De.isText(t))throw new Error("Cannot get the child of a text node: ".concat(Dt.stringify(t)));var n=t.children[e];if(n==null)throw new Error("Cannot get child at index `".concat(e,"` in node: ").concat(Dt.stringify(t)));return n},children(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return(function*(){for(var{reverse:r=!1}=n,o=we.ancestor(t,e),{children:i}=o,s=r?i.length-1:0;r?s>=0:s<i.length;){var a=we.child(o,s),l=e.concat(s);yield[a,l],s=r?s-1:s+1}})()},common(t,e,n){var r=j.common(e,n),o=we.get(t,r);return[o,r]},descendant(t,e){var n=we.get(t,e);if(_.isEditor(n))throw new Error("Cannot get the descendant node at path [".concat(e,"] because it refers to the root editor node instead: ").concat(Dt.stringify(n)));return n},descendants(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){for(var[n,r]of we.nodes(t,e))r.length!==0&&(yield[n,r])})()},elements(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){for(var[n,r]of we.nodes(t,e))Ee.isElement(n)&&(yield[n,r])})()},extractProps(t){if(Ee.isAncestor(t)){var e=xr(t,jP);return e}else{var e=xr(t,WP);return e}},first(t,e){for(var n=e.slice(),r=we.get(t,n);r&&!(De.isText(r)||r.children.length===0);)r=r.children[0],n.push(0);return[r,n]},fragment(t,e){var n={children:t.children},[r,o]=Q.edges(e),i=we.nodes(n,{reverse:!0,pass:l=>{var[,c]=l;return!Q.includes(e,c)}}),s=function(){if(!Q.includes(e,a)){var c=a[a.length-1];To(n,j.parent(a),u=>gh(u,c,1))}j.equals(a,o.path)&&yc(n,a,u=>{var d=u.text.slice(0,o.offset);return wc(wc({},u),{},{text:d})}),j.equals(a,r.path)&&yc(n,a,u=>{var d=u.text.slice(r.offset);return wc(wc({},u),{},{text:d})})};for(var[,a]of i)s();return n.children},get(t,e){var n=we.getIf(t,e);if(n===void 0)throw new Error("Cannot find a descendant at path [".concat(e,"] in node: ").concat(Dt.stringify(t)));return n},getIf(t,e){for(var n=t,r=0;r<e.length;r++){var o=e[r];if(De.isText(n)||!n.children[o])return;n=n.children[o]}return n},has(t,e){for(var n=t,r=0;r<e.length;r++){var o=e[r];if(De.isText(n)||!n.children[o])return!1;n=n.children[o]}return!0},isNode(t){var{deep:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return De.isText(t)||Ee.isElement(t,{deep:e})||_.isEditor(t,{deep:e})},isNodeList(t){var{deep:e=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Array.isArray(t)&&t.every(n=>we.isNode(n,{deep:e}))},last(t,e){for(var n=e.slice(),r=we.get(t,n);r&&!(De.isText(r)||r.children.length===0);){var o=r.children.length-1;r=r.children[o],n.push(o)}return[r,n]},leaf(t,e){var n=we.get(t,e);if(!De.isText(n))throw new Error("Cannot get the leaf node at path [".concat(e,"] because it refers to a non-leaf node: ").concat(Dt.stringify(n)));return n},levels(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return(function*(){for(var r of j.levels(e,n)){var o=we.get(t,r);yield[o,r]}})()},matches(t,e){return Ee.isElement(t)&&Ee.isElementProps(e)&&Ee.matches(t,e)||De.isText(t)&&De.isTextProps(e)&&De.matches(t,e)},nodes(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){for(var{pass:n,reverse:r=!1}=e,{from:o=[],to:i}=e,s=new Set,a=[],l=t;!(i&&(r?j.isBefore(a,i):j.isAfter(a,i)));){if(s.has(l)||(yield[l,a]),!s.has(l)&&!De.isText(l)&&l.children.length!==0&&(n==null||n([l,a])===!1)){s.add(l);var c=r?l.children.length-1:0;j.isAncestor(a,o)&&(c=o[a.length]),a=a.concat(c),l=we.get(t,a);continue}if(a.length===0)break;if(!r){var u=j.next(a);if(we.has(t,u)){a=u,l=we.get(t,a);continue}}if(r&&a[a.length-1]!==0){var d=j.previous(a);a=d,l=we.get(t,a);continue}a=j.parent(a),l=we.get(t,a),s.add(l)}})()},parent(t,e){var n=j.parent(e),r=we.get(t,n);if(De.isText(r))throw new Error("Cannot get the parent of path [".concat(e,"] because it does not exist in the root."));return r},string(t){return De.isText(t)?t.text:t.children.map(we.string).join("")},texts(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){for(var[n,r]of we.nodes(t,e))De.isText(n)&&(yield[n,r])})()}};function TC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function at(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?TC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):TC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var Xr={isNodeOperation(t){return Xr.isOperation(t)&&t.type.endsWith("_node")},isOperation(t){if(!Vt(t))return!1;switch(t.type){case"insert_node":return j.isPath(t.path)&&we.isNode(t.node);case"insert_text":return typeof t.offset=="number"&&typeof t.text=="string"&&j.isPath(t.path);case"merge_node":return typeof t.position=="number"&&j.isPath(t.path)&&Vt(t.properties);case"move_node":return j.isPath(t.path)&&j.isPath(t.newPath);case"remove_node":return j.isPath(t.path)&&we.isNode(t.node);case"remove_text":return typeof t.offset=="number"&&typeof t.text=="string"&&j.isPath(t.path);case"set_node":return j.isPath(t.path)&&Vt(t.properties)&&Vt(t.newProperties);case"set_selection":return t.properties===null&&Q.isRange(t.newProperties)||t.newProperties===null&&Q.isRange(t.properties)||Vt(t.properties)&&Vt(t.newProperties);case"split_node":return j.isPath(t.path)&&typeof t.position=="number"&&Vt(t.properties);default:return!1}},isOperationList(t){return Array.isArray(t)&&t.every(e=>Xr.isOperation(e))},isSelectionOperation(t){return Xr.isOperation(t)&&t.type.endsWith("_selection")},isTextOperation(t){return Xr.isOperation(t)&&t.type.endsWith("_text")},inverse(t){switch(t.type){case"insert_node":return at(at({},t),{},{type:"remove_node"});case"insert_text":return at(at({},t),{},{type:"remove_text"});case"merge_node":return at(at({},t),{},{type:"split_node",path:j.previous(t.path)});case"move_node":{var{newPath:e,path:n}=t;if(j.equals(e,n))return t;if(j.isSibling(n,e))return at(at({},t),{},{path:e,newPath:n});var r=j.transform(n,t),o=j.transform(j.next(n),t);return at(at({},t),{},{path:r,newPath:o})}case"remove_node":return at(at({},t),{},{type:"insert_node"});case"remove_text":return at(at({},t),{},{type:"insert_text"});case"set_node":{var{properties:i,newProperties:s}=t;return at(at({},t),{},{properties:s,newProperties:i})}case"set_selection":{var{properties:a,newProperties:l}=t;return a==null?at(at({},t),{},{properties:l,newProperties:null}):l==null?at(at({},t),{},{properties:null,newProperties:a}):at(at({},t),{},{properties:l,newProperties:a})}case"split_node":return at(at({},t),{},{type:"merge_node",path:j.next(t.path)})}}},Vt=t=>typeof t=="object"&&t!==null,_C=(t,e)=>{for(var n in t){var r=t[n],o=e[n];if(Array.isArray(r)&&Array.isArray(o)){if(r.length!==o.length)return!1;for(var i=0;i<r.length;i++)if(r[i]!==o[i])return!1}else if(Vt(r)&&Vt(o)){if(!_C(r,o))return!1}else if(r!==o)return!1}for(var s in e)if(t[s]===void 0&&e[s]!==void 0)return!1;return!0},hh=t=>t.selection?t.selection:t.children.length>0?_.end(t,[]):[0],xi=(t,e)=>{var[n]=_.node(t,e);return r=>r===n},ph=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=!n,o=n?KP(e):e,i=Ie.None,s=Ie.None,a=0,l=null,c=null;for(var u of o){var d=u.codePointAt(0);if(!d)break;var f=sL(u,d);if([i,s]=r?[s,f]:[f,i],Si(i,Ie.ZWJ)&&Si(s,Ie.ExtPict)&&(r?l=NC(e.substring(0,a)):l=NC(e.substring(0,e.length-a)),!l)||Si(i,Ie.RI)&&Si(s,Ie.RI)&&(c!==null?c=!c:r?c=!0:c=dL(e.substring(0,e.length-a)),!c)||i!==Ie.None&&s!==Ie.None&&lL(i,s))break;a+=u.length}return a||1},VP=/\s/,UP=/[\u002B\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,qP=/['\u2018\u2019]/,RP=function(e){for(var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=0,o=!1;e.length>0;){var i=ph(e,n),[s,a]=mh(e,i,n);if(GP(s,a,n))o=!0,r+=i;else if(!o)r+=i;else break;e=a}return r},mh=(t,e,n)=>{if(n){var r=t.length-e;return[t.slice(r,t.length),t.slice(0,r)]}return[t.slice(0,e),t.slice(e)]},GP=function t(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(VP.test(e))return!1;if(qP.test(e)){var o=ph(n,r),[i,s]=mh(n,o,r);if(t(i,s,r))return!0}return!UP.test(e)},KP=function*(e){for(var n=e.length-1,r=0;r<e.length;r++){var o=e.charAt(n-r);if(YP(o.charCodeAt(0))){var i=e.charAt(n-r-1);if(XP(i.charCodeAt(0))){yield i+o,r++;continue}}yield o}},XP=t=>t>=55296&&t<=56319,YP=t=>t>=56320&&t<=57343,Ie;(function(t){t[t.None=0]="None",t[t.Extend=1]="Extend",t[t.ZWJ=2]="ZWJ",t[t.RI=4]="RI",t[t.Prepend=8]="Prepend",t[t.SpacingMark=16]="SpacingMark",t[t.L=32]="L",t[t.V=64]="V",t[t.T=128]="T",t[t.LV=256]="LV",t[t.LVT=512]="LVT",t[t.ExtPict=1024]="ExtPict",t[t.Any=2048]="Any"})(Ie||(Ie={}));var JP=/^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/,QP=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,ZP=/^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/,eL=/^[\u1100-\u115F\uA960-\uA97C]$/,tL=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,nL=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,rL=/^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/,oL=/^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/,iL=/^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/,sL=(t,e)=>{var n=Ie.Any;return t.search(JP)!==-1&&(n|=Ie.Extend),e===8205&&(n|=Ie.ZWJ),e>=127462&&e<=127487&&(n|=Ie.RI),t.search(QP)!==-1&&(n|=Ie.Prepend),t.search(ZP)!==-1&&(n|=Ie.SpacingMark),t.search(eL)!==-1&&(n|=Ie.L),t.search(tL)!==-1&&(n|=Ie.V),t.search(nL)!==-1&&(n|=Ie.T),t.search(rL)!==-1&&(n|=Ie.LV),t.search(oL)!==-1&&(n|=Ie.LVT),t.search(iL)!==-1&&(n|=Ie.ExtPict),n};function Si(t,e){return(t&e)!==0}var aL=[[Ie.L,Ie.L|Ie.V|Ie.LV|Ie.LVT],[Ie.LV|Ie.V,Ie.V|Ie.T],[Ie.LVT|Ie.T,Ie.T],[Ie.Any,Ie.Extend|Ie.ZWJ],[Ie.Any,Ie.SpacingMark],[Ie.Prepend,Ie.Any],[Ie.ZWJ,Ie.ExtPict],[Ie.RI,Ie.RI]];function lL(t,e){return aL.findIndex(n=>Si(t,n[0])&&Si(e,n[1]))===-1}var cL=/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])*\u200D$/,NC=t=>t.search(cL)!==-1,uL=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,dL=t=>{var e=t.match(uL);if(e===null)return!1;var n=e[0].length/2;return n%2===1},fL=function(e){var{deep:n=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Vt(e))return!1;var r=typeof e.addMark=="function"&&typeof e.apply=="function"&&typeof e.deleteFragment=="function"&&typeof e.insertBreak=="function"&&typeof e.insertSoftBreak=="function"&&typeof e.insertFragment=="function"&&typeof e.insertNode=="function"&&typeof e.insertText=="function"&&typeof e.isElementReadOnly=="function"&&typeof e.isInline=="function"&&typeof e.isSelectable=="function"&&typeof e.isVoid=="function"&&typeof e.normalizeNode=="function"&&typeof e.onChange=="function"&&typeof e.removeMark=="function"&&typeof e.getDirtyPaths=="function"&&(e.marks===null||Vt(e.marks))&&(e.selection===null||Q.isRange(e.selection))&&(!n||we.isNodeList(e.children))&&Xr.isOperationList(e.operations);return r},_={above(t,e){return t.above(e)},addMark(t,e,n){t.addMark(e,n)},after(t,e,n){return t.after(e,n)},before(t,e,n){return t.before(e,n)},deleteBackward(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{unit:n="character"}=e;t.deleteBackward(n)},deleteForward(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{unit:n="character"}=e;t.deleteForward(n)},deleteFragment(t,e){t.deleteFragment(e)},edges(t,e){return t.edges(e)},elementReadOnly(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t.elementReadOnly(e)},end(t,e){return t.end(e)},first(t,e){return t.first(e)},fragment(t,e){return t.fragment(e)},hasBlocks(t,e){return t.hasBlocks(e)},hasInlines(t,e){return t.hasInlines(e)},hasPath(t,e){return t.hasPath(e)},hasTexts(t,e){return t.hasTexts(e)},insertBreak(t){t.insertBreak()},insertFragment(t,e,n){t.insertFragment(e,n)},insertNode(t,e){t.insertNode(e)},insertSoftBreak(t){t.insertSoftBreak()},insertText(t,e){t.insertText(e)},isBlock(t,e){return t.isBlock(e)},isEdge(t,e,n){return t.isEdge(e,n)},isEditor(t){return fL(t)},isElementReadOnly(t,e){return t.isElementReadOnly(e)},isEmpty(t,e){return t.isEmpty(e)},isEnd(t,e,n){return t.isEnd(e,n)},isInline(t,e){return t.isInline(e)},isNormalizing(t){return t.isNormalizing()},isSelectable(t,e){return t.isSelectable(e)},isStart(t,e,n){return t.isStart(e,n)},isVoid(t,e){return t.isVoid(e)},last(t,e){return t.last(e)},leaf(t,e,n){return t.leaf(e,n)},levels(t,e){return t.levels(e)},marks(t){return t.getMarks()},next(t,e){return t.next(e)},node(t,e,n){return t.node(e,n)},nodes(t,e){return t.nodes(e)},normalize(t,e){t.normalize(e)},parent(t,e,n){return t.parent(e,n)},path(t,e,n){return t.path(e,n)},pathRef(t,e,n){return t.pathRef(e,n)},pathRefs(t){return t.pathRefs()},point(t,e,n){return t.point(e,n)},pointRef(t,e,n){return t.pointRef(e,n)},pointRefs(t){return t.pointRefs()},positions(t,e){return t.positions(e)},previous(t,e){return t.previous(e)},range(t,e,n){return t.range(e,n)},rangeRef(t,e,n){return t.rangeRef(e,n)},rangeRefs(t){return t.rangeRefs()},removeMark(t,e){t.removeMark(e)},setNormalizing(t,e){t.setNormalizing(e)},start(t,e){return t.start(e)},string(t,e,n){return t.string(e,n)},unhangRange(t,e,n){return t.unhangRange(e,n)},void(t,e){return t.void(e)},withoutNormalizing(t,e){t.withoutNormalizing(e)},shouldMergeNodesRemovePrevNode:(t,e,n)=>t.shouldMergeNodesRemovePrevNode(e,n)},hL={isLocation(t){return j.isPath(t)||qe.isPoint(t)||Q.isRange(t)}},pL={isSpan(t){return Array.isArray(t)&&t.length===2&&t.every(j.isPath)}};function FC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function MC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?FC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):FC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var qe={compare(t,e){var n=j.compare(t.path,e.path);return n===0?t.offset<e.offset?-1:t.offset>e.offset?1:0:n},isAfter(t,e){return qe.compare(t,e)===1},isBefore(t,e){return qe.compare(t,e)===-1},equals(t,e){return t.offset===e.offset&&j.equals(t.path,e.path)},isPoint(t){return Vt(t)&&typeof t.offset=="number"&&j.isPath(t.path)},transform(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(t===null)return null;var{affinity:r="forward"}=n,{path:o,offset:i}=t;switch(e.type){case"insert_node":case"move_node":{o=j.transform(o,e,n);break}case"insert_text":{j.equals(e.path,o)&&(e.offset<i||e.offset===i&&r==="forward")&&(i+=e.text.length);break}case"merge_node":{j.equals(e.path,o)&&(i+=e.position),o=j.transform(o,e,n);break}case"remove_text":{j.equals(e.path,o)&&e.offset<=i&&(i-=Math.min(i-e.offset,e.text.length));break}case"remove_node":{if(j.equals(e.path,o)||j.isAncestor(e.path,o))return null;o=j.transform(o,e,n);break}case"split_node":{if(j.equals(e.path,o)){if(e.position===i&&r==null)return null;(e.position<i||e.position===i&&r==="forward")&&(i-=e.position,o=j.transform(o,e,MC(MC({},n),{},{affinity:"forward"})))}else o=j.transform(o,e,n);break}default:return t}return{path:o,offset:i}}},IC=void 0,Dt={setScrubber(t){IC=t},stringify(t){return JSON.stringify(t,IC)}},mL=["text"],gL=["anchor","focus","merge"];function PC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Sr(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?PC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):PC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var De={equals(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{loose:r=!1}=n;function o(i){var s=xr(i,mL);return s}return _C(r?o(t):t,r?o(e):e)},isText(t){return Vt(t)&&typeof t.text=="string"},isTextList(t){return Array.isArray(t)&&t.every(e=>De.isText(e))},isTextProps(t){return t.text!==void 0},matches(t,e){for(var n in e)if(n!=="text"&&(!t.hasOwnProperty(n)||t[n]!==e[n]))return!1;return!0},decorations(t,e){var n=[{leaf:Sr({},t)}];for(var r of e){var{anchor:o,focus:i,merge:s}=r,a=xr(r,gL),[l,c]=Q.edges(r),u=[],d=0,f=l.offset,p=c.offset,m=s??Object.assign;for(var{leaf:w}of n){var{length:v}=w.text,y=d;if(d+=v,f<=y&&d<=p){m(w,a),u.push({leaf:w});continue}if(f!==p&&(f===d||p===y)||f>d||p<y||p===y&&y!==0){u.push({leaf:w});continue}var g=w,x=void 0,S=void 0;if(p<d){var b=p-y;S={leaf:Sr(Sr({},g),{},{text:g.text.slice(b)})},g=Sr(Sr({},g),{},{text:g.text.slice(0,b)})}if(f>y){var k=f-y;x={leaf:Sr(Sr({},g),{},{text:g.text.slice(0,k)})},g=Sr(Sr({},g),{},{text:g.text.slice(k)})}m(g,a),x&&u.push(x),u.push({leaf:g}),S&&u.push(S)}n=u}if(n.length>1){var A=0;for(var[E,T]of n.entries()){var D=A,M=D+T.leaf.text.length,N={start:D,end:M};E===0&&(N.isFirst=!0),E===n.length-1&&(N.isLast=!0),T.position=N,A=M}}return n}};function LC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function vc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?LC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):LC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var zC=function(e,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];return[...e.slice(0,n),...o,...e.slice(n)]},Ys=function(e,n,r){for(var o=arguments.length,i=new Array(o>3?o-3:0),s=3;s<o;s++)i[s-3]=arguments[s];return[...e.slice(0,n),...i,...e.slice(n+r)]},gh=Ys,wh=(t,e,n)=>{if(e.length===0)throw new Error("Cannot modify the editor");for(var r=we.get(t,e),o=e.slice(),i=n(r);o.length>1;){var s=o.pop(),a=we.get(t,o);i=vc(vc({},a),{},{children:Ys(a.children,s,1,i)})}var l=o.pop();t.children=Ys(t.children,l,1,i)},To=(t,e,n)=>{e.length===0?t.children=n(t.children):wh(t,e,r=>{if(De.isText(r))throw new Error("Cannot get the element at path [".concat(e,"] because it refers to a leaf node: ").concat(Dt.stringify(r)));return vc(vc({},r),{},{children:n(r.children)})})},yc=(t,e,n)=>wh(t,e,r=>{if(!De.isText(r))throw new Error("Cannot get the leaf node at path [".concat(e,"] because it refers to a non-leaf node: ").concat(Dt.stringify(r)));return n(r)});function HC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function wt(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?HC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):HC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var wL={transform(t,e){var n=!1;switch(e.type){case"insert_node":{var{path:r,node:o}=e;To(t,j.parent(r),U=>{var G=r[r.length-1];if(G>U.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(r,"] because the destination is past the end of the node."));return zC(U,G,o)}),n=!0;break}case"insert_text":{var{path:i,offset:s,text:a}=e;if(a.length===0)break;yc(t,i,U=>{var G=U.text.slice(0,s),X=U.text.slice(s);return wt(wt({},U),{},{text:G+a+X})}),n=!0;break}case"merge_node":{var{path:l}=e,c=l[l.length-1],u=j.previous(l),d=u[u.length-1];To(t,j.parent(l),U=>{var G=U[c],X=U[d],ge;if(De.isText(G)&&De.isText(X))ge=wt(wt({},X),{},{text:X.text+G.text});else if(!De.isText(G)&&!De.isText(X))ge=wt(wt({},X),{},{children:X.children.concat(G.children)});else throw new Error('Cannot apply a "merge_node" operation at path ['.concat(l,"] to nodes of different interfaces: ").concat(Dt.stringify(G)," ").concat(Dt.stringify(X)));return Ys(U,d,2,ge)}),n=!0;break}case"move_node":{var{path:f,newPath:p}=e,m=f[f.length-1];if(j.isAncestor(f,p))throw new Error("Cannot move a path [".concat(f,"] to new path [").concat(p,"] because the destination is inside itself."));var w=we.get(t,f);To(t,j.parent(f),U=>gh(U,m,1));var v=j.transform(f,e),y=v[v.length-1];To(t,j.parent(v),U=>zC(U,y,w)),n=!0;break}case"remove_node":{var{path:g}=e,x=g[g.length-1];if(To(t,j.parent(g),U=>gh(U,x,1)),t.selection){var S=wt({},t.selection);for(var[b,k]of Q.points(S)){var A=qe.transform(b,e);if(S!=null&&A!=null)S[k]=A;else{var E=void 0,T=void 0;for(var[D,M]of we.texts(t))if(j.compare(M,g)===-1)E=[D,M];else{T=[D,M];break}var N=!1;E&&T&&(j.isSibling(E[1],g)?N=!1:j.equals(T[1],g)?N=!0:N=j.common(E[1],g).length<j.common(T[1],g).length),E&&!N?S[k]={path:E[1],offset:E[0].text.length}:T?S[k]={path:T[1],offset:0}:S=null}}(!S||!Q.equals(S,t.selection))&&(t.selection=S)}break}case"remove_text":{var{path:F,offset:I,text:O}=e;if(O.length===0)break;yc(t,F,U=>{var G=U.text.slice(0,I),X=U.text.slice(I+O.length);return wt(wt({},U),{},{text:G+X})}),n=!0;break}case"set_node":{var{path:H,properties:L,newProperties:W}=e;if(H.length===0)throw new Error("Cannot set properties on the root node!");wh(t,H,U=>{var G=wt({},U);for(var X in W){if(X==="children"||X==="text")throw new Error('Cannot set the "'.concat(X,'" property of nodes!'));var ge=W[X];ge==null?delete G[X]:G[X]=ge}for(var ue in L)W.hasOwnProperty(ue)||delete G[ue];return G});break}case"set_selection":{var{newProperties:R}=e;if(R==null){t.selection=null;break}if(t.selection==null){if(!Q.isRange(R))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(Dt.stringify(R)," when there is no current selection."));t.selection=wt({},R);break}var Y=wt({},t.selection);for(var K in R){var le=R[K];if(le==null){if(K==="anchor"||K==="focus")throw new Error('Cannot remove the "'.concat(K,'" selection property'));delete Y[K]}else Y[K]=le}t.selection=Y;break}case"split_node":{var{path:$,position:V,properties:q}=e,ee=$[$.length-1];if($.length===0)throw new Error('Cannot apply a "split_node" operation at path ['.concat($,"] because the root node cannot be split."));To(t,j.parent($),U=>{var G=U[ee],X,ge;if(De.isText(G)){var ue=G.text.slice(0,V),Pe=G.text.slice(V);X=wt(wt({},G),{},{text:ue}),ge=wt(wt({},q),{},{text:Pe})}else{var $e=G.children.slice(0,V),de=G.children.slice(V);X=wt(wt({},G),{},{children:$e}),ge=wt(wt({},q),{},{children:de})}return Ys(U,ee,1,X,ge)}),n=!0;break}}if(n&&t.selection){var pe=wt({},t.selection);for(var[se,P]of Q.points(pe))pe[P]=qe.transform(se,e);Q.equals(pe,t.selection)||(t.selection=pe)}}},vL={insertNodes(t,e,n){t.insertNodes(e,n)},liftNodes(t,e){t.liftNodes(e)},mergeNodes(t,e){t.mergeNodes(e)},moveNodes(t,e){t.moveNodes(e)},removeNodes(t,e){t.removeNodes(e)},setNodes(t,e,n){t.setNodes(e,n)},splitNodes(t,e){t.splitNodes(e)},unsetNodes(t,e,n){t.unsetNodes(e,n)},unwrapNodes(t,e){t.unwrapNodes(e)},wrapNodes(t,e,n){t.wrapNodes(e,n)}},yL={collapse(t,e){t.collapse(e)},deselect(t){t.deselect()},move(t,e){t.move(e)},select(t,e){t.select(e)},setPoint(t,e,n){t.setPoint(e,n)},setSelection(t,e){t.setSelection(e)}},bL={delete(t,e){t.delete(e)},insertFragment(t,e,n){t.insertFragment(e,n)},insertText(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_.withoutNormalizing(t,()=>{var{voids:r=!1}=n,{at:o=hh(t)}=n;if(j.isPath(o)&&(o=_.range(t,o)),Q.isRange(o))if(Q.isCollapsed(o))o=o.anchor;else{var i=Q.end(o);if(!r&&_.void(t,{at:i}))return;var s=Q.start(o),a=_.pointRef(t,s),l=_.pointRef(t,i);re.delete(t,{at:o,voids:r});var c=a.unref(),u=l.unref();o=c||u,re.setSelection(t,{anchor:o,focus:o})}if(!(!r&&_.void(t,{at:o})||_.elementReadOnly(t,{at:o}))){var{path:d,offset:f}=o;e.length>0&&t.apply({type:"insert_text",path:d,offset:f,text:e})}})}};function $C(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function bc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?$C(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$C(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var re=bc(bc(bc(bc({},wL),vL),yL),bL),Cc=new WeakMap,CL=t=>Cc.get(t)||!1,kL=(t,e,n)=>{var r=Cc.get(t)||!1;Cc.set(t,!0);try{e(),n()}finally{Cc.set(t,r)}};function jC(t,e,n){var r=mc.get(t)||[],o=gc.get(t)||new Set,i,s,a=d=>{if(d){var f=d.join(",");s.has(f)||(s.add(f),i.push(d))}};if(n){i=[],s=new Set;for(var l of r){var c=n(l);a(c)}}else i=r,s=o;for(var u of e)a(u);mc.set(t,i),gc.set(t,s)}var xL=(t,e)=>{for(var n of _.pathRefs(t))FP.transform(n,e);for(var r of _.pointRefs(t))MP.transform(r,e);for(var o of _.rangeRefs(t))IP.transform(o,e);if(!CL(t)){var i=j.operationCanTransformPath(e)?s=>j.transform(s,e):void 0;jC(t,t.getDirtyPaths(e),i)}re.transform(t,e),t.operations.push(e),_.normalize(t,{operation:e}),e.type==="set_selection"&&(t.marks=null),Ks.get(t)||(Ks.set(t,!0),Promise.resolve().then(()=>{Ks.set(t,!1),t.onChange({operation:e}),t.operations=[]}))},SL=(t,e)=>{switch(e.type){case"insert_text":case"remove_text":case"set_node":{var{path:n}=e;return j.levels(n)}case"insert_node":{var{node:r,path:o}=e,i=j.levels(o),s=De.isText(r)?[]:Array.from(we.nodes(r),D=>{var[,M]=D;return o.concat(M)});return[...i,...s]}case"merge_node":{var{path:a}=e,l=j.ancestors(a),c=j.previous(a);return[...l,c]}case"move_node":{var{path:u,newPath:d}=e;if(j.equals(u,d))return[];var f=[],p=[];for(var m of j.ancestors(u)){var w=j.transform(m,e);f.push(w)}for(var v of j.ancestors(d)){var y=j.transform(v,e);p.push(y)}var g=p[p.length-1],x=d[d.length-1],S=g.concat(x);return[...f,...p,S]}case"remove_node":{var{path:b}=e,k=j.ancestors(b);return[...k]}case"split_node":{var{path:A}=e,E=j.levels(A),T=j.next(A);return[...E,T]}default:return[]}},EL=t=>{var{selection:e}=t;return e?we.fragment(t,e):[]},DL=(t,e,n)=>{var[r,o]=e;if(!De.isText(r)){if(Ee.isElement(r)&&r.children.length===0){var i={text:""};re.insertNodes(t,i,{at:o.concat(0),voids:!0});return}for(var s=_.isEditor(r)?!1:Ee.isElement(r)&&(t.isInline(r)||r.children.length===0||De.isText(r.children[0])||t.isInline(r.children[0])),a=0,l=0;l<r.children.length;l++,a++){var c=we.get(t,o);if(!De.isText(c)){var u=c.children[a],d=c.children[a-1],f=l===r.children.length-1,p=De.isText(u)||Ee.isElement(u)&&t.isInline(u);if(p!==s)p?n!=null&&n.fallbackElement?re.wrapNodes(t,n.fallbackElement(),{at:o.concat(a),voids:!0}):re.removeNodes(t,{at:o.concat(a),voids:!0}):re.unwrapNodes(t,{at:o.concat(a),voids:!0}),a--;else if(Ee.isElement(u)){if(t.isInline(u)){if(d==null||!De.isText(d)){var m={text:""};re.insertNodes(t,m,{at:o.concat(a),voids:!0}),a++}else if(f){var w={text:""};re.insertNodes(t,w,{at:o.concat(a+1),voids:!0}),a++}}}else{if(!De.isText(u)&&!("children"in u)){var v=u;v.children=[]}d!=null&&De.isText(d)&&(De.equals(u,d,{loose:!0})?(re.mergeNodes(t,{at:o.concat(a),voids:!0}),a--):d.text===""?(re.removeNodes(t,{at:o.concat(a-1),voids:!0}),a--):u.text===""&&(re.removeNodes(t,{at:o.concat(a),voids:!0}),a--))}}}}},AL=(t,e)=>{var{iteration:n,initialDirtyPathsLength:r}=e,o=r*42;if(n>o)throw new Error("Could not completely normalize the editor after ".concat(o," iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state."));return!0},OL=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{voids:r=!1,mode:o="lowest",at:i=e.selection,match:s}=n;if(i){var a=_.path(e,i);if(!Q.isRange(i)||j.equals(i.focus.path,i.anchor.path)){if(a.length===0)return;a=j.parent(a)}var l=o==="lowest",[c]=_.levels(e,{at:a,voids:r,match:s,reverse:l});return c}};function WC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function VC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?WC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):WC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var BL=(t,e,n)=>{var{selection:r}=t;if(r){var o=(d,f)=>{if(!De.isText(d))return!1;var[p,m]=_.parent(t,f);return!t.isVoid(p)||t.markableVoid(p)},i=Q.isExpanded(r),s=!1;if(!i){var[a,l]=_.node(t,r);if(a&&o(a,l)){var[c]=_.parent(t,l);s=c&&t.markableVoid(c)}}if(i||s)re.setNodes(t,{[e]:n},{match:o,split:!0,voids:!0});else{var u=VC(VC({},_.marks(t)||{}),{},{[e]:n});t.marks=u,Ks.get(t)||t.onChange()}}};function UC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function qC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?UC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):UC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var TL=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=_.point(e,n,{edge:"end"}),i=_.end(e,[]),s={anchor:o,focus:i},{distance:a=1}=r,l=0,c;for(var u of _.positions(e,qC(qC({},r),{},{at:s}))){if(l>a)break;l!==0&&(c=u),l++}return c};function RC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function GC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?RC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):RC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var _L=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=_.start(e,[]),i=_.point(e,n,{edge:"start"}),s={anchor:o,focus:i},{distance:a=1}=r,l=0,c;for(var u of _.positions(e,GC(GC({},r),{},{at:s,reverse:!0}))){if(l>a)break;l!==0&&(c=u),l++}return c},NL=(t,e)=>{var{selection:n}=t;n&&Q.isCollapsed(n)&&re.delete(t,{unit:e,reverse:!0})},FL=(t,e)=>{var{selection:n}=t;n&&Q.isCollapsed(n)&&re.delete(t,{unit:e})},ML=function(e){var{direction:n="forward"}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{selection:r}=e;r&&Q.isExpanded(r)&&re.delete(e,{reverse:n==="backward"})},IL=(t,e)=>[_.start(t,e),_.end(t,e)];function KC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function XC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?KC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):KC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var PL=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return _.above(e,XC(XC({},n),{},{match:r=>Ee.isElement(r)&&_.isElementReadOnly(e,r)}))},LL=(t,e)=>_.point(t,e,{edge:"end"}),zL=(t,e)=>{var n=_.path(t,e,{edge:"start"});return _.node(t,n)},HL=(t,e)=>{var n=_.range(t,e);return we.fragment(t,n)};function YC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function JC(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?YC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):YC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var $L=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return _.above(e,JC(JC({},n),{},{match:r=>Ee.isElement(r)&&_.isVoid(e,r)}))},jL=(t,e)=>e.children.some(n=>Ee.isElement(n)&&_.isBlock(t,n)),WL=(t,e)=>e.children.some(n=>De.isText(n)||_.isInline(t,n)),VL=(t,e)=>we.has(t,e),UL=(t,e)=>e.children.every(n=>De.isText(n)),qL=t=>{re.splitNodes(t,{always:!0})},RL=(t,e,n)=>{re.insertNodes(t,e,n)},GL=t=>{re.splitNodes(t,{always:!0})};function QC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function KL(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?QC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):QC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var XL=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{selection:o,marks:i}=e;if(o){if(i){var s=KL({text:n},i);re.insertNodes(e,s,{at:r.at,voids:r.voids})}else re.insertText(e,n,r);e.marks=null}},YL=(t,e)=>!t.isInline(e),JL=(t,e,n)=>_.isStart(t,e,n)||_.isEnd(t,e,n),QL=(t,e)=>{var{children:n}=e,[r]=n;return n.length===0||n.length===1&&De.isText(r)&&r.text===""&&!t.isVoid(e)},ZL=(t,e,n)=>{var r=_.end(t,n);return qe.equals(e,r)},e3=t=>{var e=xC.get(t);return e===void 0?!0:e},t3=(t,e,n)=>{if(e.offset!==0)return!1;var r=_.start(t,n);return qe.equals(e,r)},n3=(t,e)=>{var n=_.path(t,e,{edge:"end"});return _.node(t,n)},r3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=_.path(e,n,r),i=we.leaf(e,o);return[i,o]};function o3(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){var{at:n=t.selection,reverse:r=!1,voids:o=!1}=e,{match:i}=e;if(i==null&&(i=()=>!0),!!n){var s=[],a=_.path(t,n);for(var[l,c]of we.levels(t,a))if(i(l,c)&&(s.push([l,c]),!o&&Ee.isElement(l)&&_.isVoid(t,l)))break;r&&s.reverse(),yield*s}})()}var i3=["text"],s3=["text"],a3=function(e){var{marks:n,selection:r}=e;if(!r)return null;var{anchor:o,focus:i}=r;if(n)return n;if(Q.isExpanded(r)){var s=Q.isBackward(r);s&&([i,o]=[o,i]);var a=_.isEnd(e,o,o.path);if(a){var l=_.after(e,o);l&&(o=l)}var[c]=_.nodes(e,{match:De.isText,at:{anchor:o,focus:i}});if(c){var[u]=c,d=xr(u,i3);return d}else return{}}var{path:f}=o,[p]=_.leaf(e,f);if(o.offset===0){var m=_.previous(e,{at:f,match:De.isText}),w=_.above(e,{match:b=>Ee.isElement(b)&&_.isVoid(e,b)&&e.markableVoid(b)});if(!w){var v=_.above(e,{match:b=>Ee.isElement(b)&&_.isBlock(e,b)});if(m&&v){var[y,g]=m,[,x]=v;j.isAncestor(x,g)&&(p=y)}}}var S=xr(p,s3);return S},l3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{mode:r="lowest",voids:o=!1}=n,{match:i,at:s=e.selection}=n;if(s){var a=_.after(e,s,{voids:o});if(a){var[,l]=_.last(e,[]),c=[a.path,l];if(j.isPath(s)&&s.length===0)throw new Error("Cannot get the next node from the root node!");if(i==null)if(j.isPath(s)){var[u]=_.parent(e,s);i=f=>u.children.includes(f)}else i=()=>!0;var[d]=_.nodes(e,{at:c,match:i,mode:r,voids:o});return d}}},c3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=_.path(e,n,r),i=we.get(e,o);return[i,o]};function u3(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){var{at:n=t.selection,mode:r="all",universal:o=!1,reverse:i=!1,voids:s=!1,pass:a}=e,{match:l}=e;if(l||(l=()=>!0),!!n){var c,u;if(pL.isSpan(n))c=n[0],u=n[1];else{var d=_.path(t,n,{edge:"start"}),f=_.path(t,n,{edge:"end"});c=i?f:d,u=i?d:f}var p=we.nodes(t,{reverse:i,from:c,to:u,pass:S=>{var[b,k]=S;return a&&a([b,k])?!0:Ee.isElement(b)?!!(!s&&(_.isVoid(t,b)||_.isElementReadOnly(t,b))):!1}}),m=[],w;for(var[v,y]of p){var g=w&&j.compare(y,w[1])===0;if(!(r==="highest"&&g)){if(!l(v,y)){if(o&&!g&&De.isText(v))return;continue}if(r==="lowest"&&g){w=[v,y];continue}var x=r==="lowest"?w:[v,y];x&&(o?m.push(x):yield x),w=[v,y]}}r==="lowest"&&w&&(o?m.push(w):yield w),o&&(yield*m)}})()}var d3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{force:r=!1,operation:o}=n,i=u=>mc.get(u)||[],s=u=>gc.get(u)||new Set,a=u=>{var d=i(u).pop(),f=d.join(",");return s(u).delete(f),d};if(_.isNormalizing(e)){if(r){var l=Array.from(we.nodes(e),u=>{var[,d]=u;return d}),c=new Set(l.map(u=>u.join(",")));mc.set(e,l),gc.set(e,c)}i(e).length!==0&&_.withoutNormalizing(e,()=>{for(var u of i(e))if(we.has(e,u)){var d=_.node(e,u),[f,p]=d;Ee.isElement(f)&&f.children.length===0&&e.normalizeNode(d,{operation:o})}for(var m=i(e),w=m.length,v=0;m.length!==0;){if(!e.shouldNormalize({dirtyPaths:m,iteration:v,initialDirtyPathsLength:w,operation:o}))return;var y=a(e);if(we.has(e,y)){var g=_.node(e,y);e.normalizeNode(g,{operation:o})}v++,m=i(e)}})}},f3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=_.path(e,n,r),i=j.parent(o),s=_.node(e,i);return s},h3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{affinity:o="forward"}=r,i={current:n,affinity:o,unref(){var{current:a}=i,l=_.pathRefs(e);return l.delete(i),i.current=null,a}},s=_.pathRefs(e);return s.add(i),i},p3=t=>{var e=SC.get(t);return e||(e=new Set,SC.set(t,e)),e},m3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{depth:o,edge:i}=r;if(j.isPath(n)){if(i==="start"){var[,s]=we.first(e,n);n=s}else if(i==="end"){var[,a]=we.last(e,n);n=a}}return Q.isRange(n)&&(i==="start"?n=Q.start(n):i==="end"?n=Q.end(n):n=j.common(n.anchor.path,n.focus.path)),qe.isPoint(n)&&(n=n.path),o!=null&&(n=n.slice(0,o)),n},g3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{affinity:o="forward"}=r,i={current:n,affinity:o,unref(){var{current:a}=i,l=_.pointRefs(e);return l.delete(i),i.current=null,a}},s=_.pointRefs(e);return s.add(i),i},w3=t=>{var e=EC.get(t);return e||(e=new Set,EC.set(t,e)),e},v3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{edge:o="start"}=r;if(j.isPath(n)){var i;if(o==="end"){var[,s]=we.last(e,n);i=s}else{var[,a]=we.first(e,n);i=a}var l=we.get(e,i);if(!De.isText(l))throw new Error("Cannot get the ".concat(o," point in the node at path [").concat(n,"] because it has no ").concat(o," text node."));return{path:i,offset:o==="end"?l.text.length:0}}if(Q.isRange(n)){var[c,u]=Q.edges(n);return o==="start"?c:u}return n};function y3(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(function*(){var{at:n=t.selection,unit:r="offset",reverse:o=!1,voids:i=!1}=e;if(!n)return;var s=_.range(t,n),[a,l]=Q.edges(s),c=o?l:a,u=!1,d="",f=0,p=0,m=0,w=[],v=function*(k){var A=w.some(F=>j.isAncestor(F,k));function*E(F){A||(yield F)}if(Ee.isElement(g)){if(!t.isSelectable(g)){if(w.push(k),o)return j.hasPrevious(k)&&(yield*E(_.end(t,j.previous(k)))),0;var T=j.next(k);return _.hasPath(t,T)&&(yield*E(_.start(t,T))),0}if(!i&&(t.isVoid(g)||t.isElementReadOnly(g)))return yield*E(_.start(t,k)),0;if(t.isInline(g))return 0;if(_.hasInlines(t,g)){var D=j.isAncestor(k,l.path)?l:_.end(t,k),M=j.isAncestor(k,a.path)?a:_.start(t,k);d=_.string(t,{anchor:M,focus:D},{voids:i}),u=!0}}if(De.isText(g)){var N=j.equals(k,c.path);for(N?(p=o?c.offset:g.text.length-c.offset,m=c.offset):(p=g.text.length,m=o?p:0),(N||u||r==="offset")&&(yield*E({path:k,offset:m}),u=!1);;){if(f===0){if(d==="")break;f=S(d,r,o),d=mh(d,f,o)[1]}if(m=o?m-f:m+f,p=p-f,p<0){f=-p;break}f=0,yield*E({path:k,offset:m})}}},y;for(var[g,x]of _.nodes(t,{at:n,reverse:o,voids:i}))y=yield*v(x);function S(b,k,A){return k==="character"?ph(b,A):k==="word"?RP(b,A):k==="line"||k==="block"?b.length:1}})()}var b3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{mode:r="lowest",voids:o=!1}=n,{match:i,at:s=e.selection}=n;if(s){var a=_.before(e,s,{voids:o});if(a){var[,l]=_.first(e,[]),c=[a.path,l];if(j.isPath(s)&&s.length===0)throw new Error("Cannot get the previous node from the root node!");if(i==null)if(j.isPath(s)){var[u]=_.parent(e,s);i=f=>u.children.includes(f)}else i=()=>!0;var[d]=_.nodes(e,{reverse:!0,at:c,match:i,mode:r,voids:o});return d}}},C3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{affinity:o="forward"}=r,i={current:n,affinity:o,unref(){var{current:a}=i,l=_.rangeRefs(e);return l.delete(i),i.current=null,a}},s=_.rangeRefs(e);return s.add(i),i},k3=t=>{var e=DC.get(t);return e||(e=new Set,DC.set(t,e)),e},x3=(t,e,n)=>{if(Q.isRange(e)&&!n)return e;var r=_.start(t,e),o=_.end(t,n||e);return{anchor:r,focus:o}};function ZC(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function S3(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ZC(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ZC(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var E3=(t,e)=>{var{selection:n}=t;if(n){var r=(u,d)=>{if(!De.isText(u))return!1;var[f,p]=_.parent(t,d);return!t.isVoid(f)||t.markableVoid(f)},o=Q.isExpanded(n),i=!1;if(!o){var[s,a]=_.node(t,n);if(s&&r(s,a)){var[l]=_.parent(t,a);i=l&&t.markableVoid(l)}}if(o||i)re.unsetNodes(t,e,{match:r,split:!0,voids:!0});else{var c=S3({},_.marks(t)||{});delete c[e],t.marks=c,Ks.get(t)||t.onChange()}}},D3=(t,e)=>{xC.set(t,e)},A3=(t,e)=>_.point(t,e,{edge:"start"}),O3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{voids:o=!1}=r,i=_.range(e,n),[s,a]=Q.edges(i),l="";for(var[c,u]of _.nodes(e,{at:i,match:De.isText,voids:o})){var d=c.text;j.equals(u,a.path)&&(d=d.slice(0,a.offset)),j.equals(u,s.path)&&(d=d.slice(s.offset)),l+=d}return l},B3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{voids:o=!1}=r,[i,s]=Q.edges(n);if(i.offset!==0||s.offset!==0||Q.isCollapsed(n)||j.hasPrevious(s.path))return n;var a=_.above(e,{at:s,match:m=>Ee.isElement(m)&&_.isBlock(e,m),voids:o}),l=a?a[1]:[],c=_.start(e,i),u={anchor:c,focus:s},d=!0;for(var[f,p]of _.nodes(e,{at:u,match:De.isText,reverse:!0,voids:o})){if(d){d=!1;continue}if(f.text!==""||j.isBefore(p,l)){s={path:p,offset:f.text.length};break}}return{anchor:i,focus:s}},T3=(t,e)=>{var n=_.isNormalizing(t);_.setNormalizing(t,!1);try{e()}finally{_.setNormalizing(t,n)}_.normalize(t)},_3=(t,e,n)=>{var[r,o]=e;return Ee.isElement(r)&&_.isEmpty(t,r)||De.isText(r)&&r.text===""&&o[o.length-1]!==0},N3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var r,o,{reverse:i=!1,unit:s="character",distance:a=1,voids:l=!1}=n,{at:c=e.selection,hanging:u=!1}=n;if(c){var d=!1;if(Q.isRange(c)&&Q.isCollapsed(c)&&(d=!0,c=c.anchor),qe.isPoint(c)){var f=_.void(e,{at:c,mode:"highest"});if(!l&&f){var[,p]=f;c=p}else{var m={unit:s,distance:a},w=i?_.before(e,c,m)||_.start(e,[]):_.after(e,c,m)||_.end(e,[]);c={anchor:c,focus:w},u=!0}}if(j.isPath(c)){re.removeNodes(e,{at:c,voids:l});return}if(!Q.isCollapsed(c)){if(!u){var[,v]=Q.edges(c),y=_.end(e,[]);qe.equals(v,y)||(c=_.unhangRange(e,c,{voids:l}))}var[g,x]=Q.edges(c),S=_.above(e,{match:ue=>Ee.isElement(ue)&&_.isBlock(e,ue),at:g,voids:l}),b=_.above(e,{match:ue=>Ee.isElement(ue)&&_.isBlock(e,ue),at:x,voids:l}),k=S&&b&&!j.equals(S[1],b[1]),A=j.equals(g.path,x.path),E=l?null:(r=_.void(e,{at:g,mode:"highest"}))!==null&&r!==void 0?r:_.elementReadOnly(e,{at:g,mode:"highest"}),T=l?null:(o=_.void(e,{at:x,mode:"highest"}))!==null&&o!==void 0?o:_.elementReadOnly(e,{at:x,mode:"highest"});if(E){var D=_.before(e,g);D&&S&&j.isAncestor(S[1],D.path)&&(g=D)}if(T){var M=_.after(e,x);M&&b&&j.isAncestor(b[1],M.path)&&(x=M)}var N=[],F;for(var I of _.nodes(e,{at:c,voids:l})){var[O,H]=I;F&&j.compare(H,F)===0||(!l&&Ee.isElement(O)&&(_.isVoid(e,O)||_.isElementReadOnly(e,O))||!j.isCommon(H,g.path)&&!j.isCommon(H,x.path))&&(N.push(I),F=H)}var L=Array.from(N,ue=>{var[,Pe]=ue;return _.pathRef(e,Pe)}),W=_.pointRef(e,g),R=_.pointRef(e,x),Y="";if(!A&&!E){var K=W.current,[le]=_.leaf(e,K),{path:$}=K,{offset:V}=g,q=le.text.slice(V);q.length>0&&(e.apply({type:"remove_text",path:$,offset:V,text:q}),Y=q)}if(L.reverse().map(ue=>ue.unref()).filter(ue=>ue!==null).forEach(ue=>re.removeNodes(e,{at:ue,voids:l})),!T){var ee=R.current,[pe]=_.leaf(e,ee),{path:se}=ee,P=A?g.offset:0,U=pe.text.slice(P,x.offset);U.length>0&&(e.apply({type:"remove_text",path:se,offset:P,text:U}),Y=U)}!A&&k&&R.current&&W.current&&re.mergeNodes(e,{at:R.current,hanging:!0,voids:l}),d&&i&&s==="character"&&Y.length>1&&Y.match(/[\u0980-\u09FF\u0E00-\u0E7F\u1000-\u109F\u0900-\u097F\u1780-\u17FF\u0D00-\u0D7F\u0B00-\u0B7F\u0A00-\u0A7F\u0B80-\u0BFF\u0C00-\u0C7F]+/)&&re.insertText(e,Y.slice(0,Y.length-a));var G=W.unref(),X=R.unref(),ge=i?G||X:X||G;n.at==null&&ge&&re.select(e,ge)}}})},F3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_.withoutNormalizing(e,()=>{var{hanging:o=!1,voids:i=!1}=r,{at:s=hh(e),batchDirty:a=!0}=r;if(n.length){if(Q.isRange(s))if(o||(s=_.unhangRange(e,s,{voids:i})),Q.isCollapsed(s))s=s.anchor;else{var[,l]=Q.edges(s);if(!i&&_.void(e,{at:l}))return;var c=_.pointRef(e,l);re.delete(e,{at:s}),s=c.unref()}else j.isPath(s)&&(s=_.start(e,s));if(!(!i&&_.void(e,{at:s}))){var u=_.above(e,{at:s,match:$=>Ee.isElement($)&&_.isInline(e,$),mode:"highest",voids:i});if(u){var[,d]=u;if(_.isEnd(e,s,d)){var f=_.after(e,d);s=f}else if(_.isStart(e,s,d)){var p=_.before(e,d);s=p}}var m=_.above(e,{match:$=>Ee.isElement($)&&_.isBlock(e,$),at:s,voids:i}),[,w]=m,v=_.isStart(e,s,w),y=_.isEnd(e,s,w),g=v&&y,[,x]=we.first({children:n},[]),[,S]=we.last({children:n},[]),b=$=>{var[V,q]=$,ee=q.length===0;return ee?!1:g?!0:!(!v&&j.isAncestor(q,x)&&Ee.isElement(V)&&!e.isVoid(V)&&!e.isInline(V)||!y&&j.isAncestor(q,S)&&Ee.isElement(V)&&!e.isVoid(V)&&!e.isInline(V))},k=!0,A=[],E=[],T=[];for(var D of we.nodes({children:n},{pass:b})){var[M,N]=D;k&&Ee.isElement(M)&&!e.isInline(M)&&!j.isAncestor(N,x)&&(k=!1),b(D)&&(Ee.isElement(M)&&!e.isInline(M)?(k=!1,E.push(M)):k?A.push(M):T.push(M))}var[F]=_.nodes(e,{at:s,match:$=>De.isText($)||_.isInline(e,$),mode:"highest",voids:i}),[,I]=F,O=_.isStart(e,s,I),H=_.isEnd(e,s,I),L=_.pathRef(e,y&&!T.length?j.next(w):w),W=_.pathRef(e,H?j.next(I):I),R=T.length>0;re.splitNodes(e,{at:s,match:$=>R?Ee.isElement($)&&_.isBlock(e,$):De.isText($)||_.isInline(e,$),mode:R?"lowest":"highest",always:R&&(!v||A.length>0)&&(!y||T.length>0),voids:i});var Y=_.pathRef(e,!O||O&&H?j.next(I):I);if(re.insertNodes(e,A,{at:Y.current,match:$=>De.isText($)||_.isInline(e,$),mode:"highest",voids:i,batchDirty:a}),g&&!A.length&&E.length&&!T.length&&re.delete(e,{at:w,voids:i}),re.insertNodes(e,E,{at:L.current,match:$=>Ee.isElement($)&&_.isBlock(e,$),mode:"lowest",voids:i,batchDirty:a}),re.insertNodes(e,T,{at:W.current,match:$=>De.isText($)||_.isInline(e,$),mode:"highest",voids:i,batchDirty:a}),!r.at){var K;if(T.length>0&&W.current?K=j.previous(W.current):E.length>0&&L.current?K=j.previous(L.current):Y.current&&(K=j.previous(Y.current)),K){var le=_.end(e,K);re.select(e,le)}}Y.unref(),L.unref(),W.unref()}}})},M3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{edge:r="anchor"}=n,{selection:o}=e;if(o){if(r==="anchor")re.select(e,o.anchor);else if(r==="focus")re.select(e,o.focus);else if(r==="start"){var[i]=Q.edges(o);re.select(e,i)}else if(r==="end"){var[,s]=Q.edges(o);re.select(e,s)}}else return},I3=t=>{var{selection:e}=t;e&&t.apply({type:"set_selection",properties:e,newProperties:null})},P3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{selection:r}=e,{distance:o=1,unit:i="character",reverse:s=!1}=n,{edge:a=null}=n;if(r){a==="start"&&(a=Q.isBackward(r)?"focus":"anchor"),a==="end"&&(a=Q.isBackward(r)?"anchor":"focus");var{anchor:l,focus:c}=r,u={distance:o,unit:i},d={};if(a==null||a==="anchor"){var f=s?_.before(e,l,u):_.after(e,l,u);f&&(d.anchor=f)}if(a==null||a==="focus"){var p=s?_.before(e,c,u):_.after(e,c,u);p&&(d.focus=p)}re.setSelection(e,d)}},L3=(t,e)=>{var{selection:n}=t;if(e=_.range(t,e),n){re.setSelection(t,e);return}if(!Q.isRange(e))throw new Error("When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: ".concat(Dt.stringify(e)));t.apply({type:"set_selection",properties:n,newProperties:e})};function e1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function t1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?e1(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var z3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{selection:o}=e,{edge:i="both"}=r;if(o){i==="start"&&(i=Q.isBackward(o)?"focus":"anchor"),i==="end"&&(i=Q.isBackward(o)?"anchor":"focus");var{anchor:s,focus:a}=o,l=i==="anchor"?s:a;re.setSelection(e,{[i==="anchor"?"anchor":"focus"]:t1(t1({},l),n)})}},H3=(t,e)=>{var{selection:n}=t,r={},o={};if(n){for(var i in e)(i==="anchor"&&e.anchor!=null&&!qe.equals(e.anchor,n.anchor)||i==="focus"&&e.focus!=null&&!qe.equals(e.focus,n.focus)||i!=="anchor"&&i!=="focus"&&e[i]!==n[i])&&(r[i]=n[i],o[i]=e[i]);Object.keys(r).length>0&&t.apply({type:"set_selection",properties:r,newProperties:o})}},$3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_.withoutNormalizing(e,()=>{var{hanging:o=!1,voids:i=!1,mode:s="lowest",batchDirty:a=!0}=r,{at:l,match:c,select:u}=r;if(we.isNode(n)&&(n=[n]),n.length!==0){var[d]=n;if(l||(l=hh(e),u!==!1&&(u=!0)),u==null&&(u=!1),Q.isRange(l))if(o||(l=_.unhangRange(e,l,{voids:i})),Q.isCollapsed(l))l=l.anchor;else{var[,f]=Q.edges(l),p=_.pointRef(e,f);re.delete(e,{at:l}),l=p.unref()}if(qe.isPoint(l)){c==null&&(De.isText(d)?c=D=>De.isText(D):e.isInline(d)?c=D=>De.isText(D)||_.isInline(e,D):c=D=>Ee.isElement(D)&&_.isBlock(e,D));var[m]=_.nodes(e,{at:l.path,match:c,mode:s,voids:i});if(m){var[,w]=m,v=_.pathRef(e,w),y=_.isEnd(e,l,w);re.splitNodes(e,{at:l,match:c,mode:s,voids:i});var g=v.unref();l=y?j.next(g):g}else return}var x=j.parent(l),S=l[l.length-1];if(!(!i&&_.void(e,{at:x}))){if(a){var b=[],k=j.levels(x);kL(e,()=>{var D=function(){var F=x.concat(S);S++;var I={type:"insert_node",path:F,node:M};e.apply(I),l=j.next(l),b.push(I),De.isText(M)?k.push(F):k.push(...Array.from(we.nodes(M),O=>{var[,H]=O;return F.concat(H)}))};for(var M of n)D()},()=>{jC(e,k,D=>{var M=D;for(var N of b)if(j.operationCanTransformPath(N)&&(M=j.transform(M,N),!M))return null;return M})})}else for(var A of n){var E=x.concat(S);S++,e.apply({type:"insert_node",path:E,node:A}),l=j.next(l)}if(l=j.previous(l),u){var T=_.end(e,l);T&&re.select(e,T)}}}})},j3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var{at:r=e.selection,mode:o="lowest",voids:i=!1}=n,{match:s}=n;if(s==null&&(s=j.isPath(r)?xi(e,r):S=>Ee.isElement(S)&&_.isBlock(e,S)),!!r){var a=_.nodes(e,{at:r,match:s,mode:o,voids:i}),l=Array.from(a,S=>{var[,b]=S;return _.pathRef(e,b)});for(var c of l){var u=c.unref();if(u.length<2)throw new Error("Cannot lift node at a path [".concat(u,"] because it has a depth of less than `2`."));var d=_.node(e,j.parent(u)),[f,p]=d,m=u[u.length-1],{length:w}=f.children;if(w===1){var v=j.next(p);re.moveNodes(e,{at:u,to:v,voids:i}),re.removeNodes(e,{at:p,voids:i})}else if(m===0)re.moveNodes(e,{at:u,to:p,voids:i});else if(m===w-1){var y=j.next(p);re.moveNodes(e,{at:u,to:y,voids:i})}else{var g=j.next(u),x=j.next(p);re.splitNodes(e,{at:g,voids:i}),re.moveNodes(e,{at:u,to:x,voids:i})}}}})},W3=["text"],V3=["children"],n1=(t,e)=>{if(Ee.isElement(e)){var n=e;return _.isVoid(t,e)?!0:n.children.length===1?n1(t,n.children[0]):!1}else return!_.isEditor(e)},U3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var{match:r,at:o=e.selection}=n,{hanging:i=!1,voids:s=!1,mode:a="lowest"}=n;if(o){if(r==null)if(j.isPath(o)){var[l]=_.parent(e,o);r=D=>l.children.includes(D)}else r=D=>Ee.isElement(D)&&_.isBlock(e,D);if(!i&&Q.isRange(o)&&(o=_.unhangRange(e,o,{voids:s})),Q.isRange(o))if(Q.isCollapsed(o))o=o.anchor;else{var[,c]=Q.edges(o),u=_.pointRef(e,c);re.delete(e,{at:o}),o=u.unref(),n.at==null&&re.select(e,o)}var[d]=_.nodes(e,{at:o,match:r,voids:s,mode:a}),f=_.previous(e,{at:o,match:r,voids:s,mode:a});if(!(!d||!f)){var[p,m]=d,[w,v]=f;if(!(m.length===0||v.length===0)){var y=j.next(v),g=j.common(m,v),x=j.isSibling(m,v),S=Array.from(_.levels(e,{at:m}),D=>{var[M]=D;return M}).slice(g.length).slice(0,-1),b=_.above(e,{at:m,mode:"highest",match:D=>S.includes(D)&&n1(e,D)}),k=b&&_.pathRef(e,b[1]),A,E;if(De.isText(p)&&De.isText(w)){var T=xr(p,W3);E=w.text.length,A=T}else if(Ee.isElement(p)&&Ee.isElement(w)){var T=xr(p,V3);E=w.children.length,A=T}else throw new Error("Cannot merge the node at path [".concat(m,"] with the previous sibling because it is not the same kind: ").concat(Dt.stringify(p)," ").concat(Dt.stringify(w)));x||re.moveNodes(e,{at:m,to:y,voids:s}),k&&re.removeNodes(e,{at:k.current,voids:s}),_.shouldMergeNodesRemovePrevNode(e,f,d)?re.removeNodes(e,{at:v,voids:s}):e.apply({type:"merge_node",path:y,position:E,properties:A}),k&&k.unref()}}}})},q3=(t,e)=>{_.withoutNormalizing(t,()=>{var{to:n,at:r=t.selection,mode:o="lowest",voids:i=!1}=e,{match:s}=e;if(r){s==null&&(s=j.isPath(r)?xi(t,r):p=>Ee.isElement(p)&&_.isBlock(t,p));var a=_.pathRef(t,n),l=_.nodes(t,{at:r,match:s,mode:o,voids:i}),c=Array.from(l,p=>{var[,m]=p;return _.pathRef(t,m)});for(var u of c){var d=u.unref(),f=a.current;d.length!==0&&t.apply({type:"move_node",path:d,newPath:f}),a.current&&j.isSibling(f,d)&&j.isAfter(f,d)&&(a.current=j.next(a.current))}a.unref()}})},R3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var{hanging:r=!1,voids:o=!1,mode:i="lowest"}=n,{at:s=e.selection,match:a}=n;if(s){a==null&&(a=j.isPath(s)?xi(e,s):p=>Ee.isElement(p)&&_.isBlock(e,p)),!r&&Q.isRange(s)&&(s=_.unhangRange(e,s,{voids:o}));var l=_.nodes(e,{at:s,match:a,mode:i,voids:o}),c=Array.from(l,p=>{var[,m]=p;return _.pathRef(e,m)});for(var u of c){var d=u.unref();if(d){var[f]=_.node(e,d);e.apply({type:"remove_node",path:d,node:f})}}}})},G3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_.withoutNormalizing(e,()=>{var{match:o,at:i=e.selection,compare:s,merge:a}=r,{hanging:l=!1,mode:c="lowest",split:u=!1,voids:d=!1}=r;if(i){if(o==null&&(o=j.isPath(i)?xi(e,i):E=>Ee.isElement(E)&&_.isBlock(e,E)),!l&&Q.isRange(i)&&(i=_.unhangRange(e,i,{voids:d})),u&&Q.isRange(i)){if(Q.isCollapsed(i)&&_.leaf(e,i.anchor)[0].text.length>0)return;var f=_.rangeRef(e,i,{affinity:"inward"}),[p,m]=Q.edges(i),w=c==="lowest"?"lowest":"highest",v=_.isEnd(e,m,m.path);re.splitNodes(e,{at:m,match:o,mode:w,voids:d,always:!v});var y=_.isStart(e,p,p.path);re.splitNodes(e,{at:p,match:o,mode:w,voids:d,always:!y}),i=f.unref(),r.at==null&&re.select(e,i)}s||(s=(E,T)=>E!==T);for(var[g,x]of _.nodes(e,{at:i,match:o,mode:c,voids:d})){var S={},b={};if(x.length!==0){var k=!1;for(var A in n)A==="children"||A==="text"||s(n[A],g[A])&&(k=!0,g.hasOwnProperty(A)&&(S[A]=g[A]),a?n[A]!=null&&(b[A]=a(g[A],n[A])):n[A]!=null&&(b[A]=n[A]));k&&e.apply({type:"set_node",path:x,properties:S,newProperties:b})}}}})},K3=(t,e)=>{if(Q.isCollapsed(e))return e.anchor;var[,n]=Q.edges(e),r=_.pointRef(t,n);return re.delete(t,{at:e}),r.unref()},X3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var{mode:r="lowest",voids:o=!1}=n,{match:i,at:s=e.selection,height:a=0,always:l=!1}=n;if(i==null&&(i=R=>Ee.isElement(R)&&_.isBlock(e,R)),Q.isRange(s)&&(s=K3(e,s)),j.isPath(s)){var c=s,u=_.point(e,c),[d]=_.parent(e,c);i=R=>R===d,a=u.path.length-c.length+1,s=u,l=!0}if(s){var f=_.pointRef(e,s,{affinity:"backward"}),p;try{var[m]=_.nodes(e,{at:s,match:i,mode:r,voids:o});if(!m)return;var w=_.void(e,{at:s,mode:"highest"}),v=0;if(!o&&w){var[y,g]=w;if(Ee.isElement(y)&&e.isInline(y)){var x=_.after(e,g);if(!x){var S={text:""},b=j.next(g);re.insertNodes(e,S,{at:b,voids:o}),x=_.point(e,b)}s=x,l=!0}var k=s.path.length-g.length;a=k+1,l=!0}p=_.pointRef(e,s);var A=s.path.length-a,[,E]=m,T=s.path.slice(0,A),D=a===0?s.offset:s.path[A]+v;for(var[M,N]of _.levels(e,{at:T,reverse:!0,voids:o})){var F=!1;if(N.length<E.length||N.length===0||!o&&Ee.isElement(M)&&_.isVoid(e,M))break;var I=f.current,O=_.isEnd(e,I,N);if(l||!f||!_.isEdge(e,I,N)){F=!0;var H=we.extractProps(M);e.apply({type:"split_node",path:N,position:D,properties:H})}D=N[N.length-1]+(F||O?1:0)}if(n.at==null){var L=p.current||_.end(e,[]);re.select(e,L)}}finally{var W;f.unref(),(W=p)===null||W===void 0||W.unref()}}})},Y3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Array.isArray(n)||(n=[n]);var o={};for(var i of n)o[i]=null;re.setNodes(e,o,r)},J3=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.withoutNormalizing(e,()=>{var{mode:r="lowest",split:o=!1,voids:i=!1}=n,{at:s=e.selection,match:a}=n;if(s){a==null&&(a=j.isPath(s)?xi(e,s):p=>Ee.isElement(p)&&_.isBlock(e,p)),j.isPath(s)&&(s=_.range(e,s));var l=Q.isRange(s)?_.rangeRef(e,s):null,c=_.nodes(e,{at:s,match:a,mode:r,voids:i}),u=Array.from(c,p=>{var[,m]=p;return _.pathRef(e,m)}).reverse(),d=function(){var m=f.unref(),[w]=_.node(e,m),v=_.range(e,m);o&&l&&(v=Q.intersection(l.current,v)),re.liftNodes(e,{at:v,match:y=>Ee.isAncestor(w)&&w.children.includes(y),voids:i})};for(var f of u)d();l&&l.unref()}})};function r1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function o1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?r1(Object(n),!0).forEach(function(r){Lt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):r1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var Q3=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_.withoutNormalizing(e,()=>{var{mode:o="lowest",split:i=!1,voids:s=!1}=r,{match:a,at:l=e.selection}=r;if(l){if(a==null&&(j.isPath(l)?a=xi(e,l):e.isInline(n)?a=y=>Ee.isElement(y)&&_.isInline(e,y)||De.isText(y):a=y=>Ee.isElement(y)&&_.isBlock(e,y)),i&&Q.isRange(l)){var[c,u]=Q.edges(l),d=_.rangeRef(e,l,{affinity:"inward"}),f=y=>{var g=_.above(e,{at:y,match:x=>Ee.isElement(x)&&_.isBlock(e,x)});return g&&_.isEdge(e,y,g[1])};re.splitNodes(e,{at:u,match:a,voids:s,always:!f(u)}),re.splitNodes(e,{at:c,match:a,voids:s,always:!f(c)}),l=d.unref(),r.at==null&&re.select(e,l)}var p=Array.from(_.nodes(e,{at:l,match:e.isInline(n)?y=>Ee.isElement(y)&&_.isBlock(e,y):y=>_.isEditor(y),mode:"lowest",voids:s})),m=function(){var g=Q.isRange(l)?Q.intersection(l,_.range(e,v)):l;if(!g)return 0;var x=Array.from(_.nodes(e,{at:g,match:a,mode:o,voids:s}));if(x.length>0){var[S]=x,b=x[x.length-1],[,k]=S,[,A]=b;if(k.length===0&&A.length===0)return 0;var E=j.equals(k,A)?j.parent(k):j.common(k,A),T=_.range(e,k,A),D=_.node(e,E),[M]=D,N=E.length+1,F=j.next(A.slice(0,N)),I=o1(o1({},n),{},{children:[]});re.insertNodes(e,I,{at:F,voids:s}),re.moveNodes(e,{at:T,match:O=>Ee.isAncestor(M)&&M.children.includes(O),to:F.concat(0),voids:s})}},w;for(var[,v]of p)w=m()}})},i1=()=>{var t={children:[],operations:[],selection:null,marks:null,isElementReadOnly:()=>!1,isInline:()=>!1,isSelectable:()=>!0,isVoid:()=>!1,markableVoid:()=>!1,onChange:()=>{},apply:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return xL(t,...r)},addMark:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return BL(t,...r)},deleteBackward:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return NL(t,...r)},deleteForward:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return FL(t,...r)},deleteFragment:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return ML(t,...r)},getFragment:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return EL(t,...r)},insertBreak:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return qL(t,...r)},insertSoftBreak:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return GL(t,...r)},insertFragment:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return F3(t,...r)},insertNode:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return RL(t,...r)},insertText:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return XL(t,...r)},normalizeNode:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return DL(t,...r)},removeMark:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return E3(t,...r)},getDirtyPaths:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return SL(t,...r)},shouldNormalize:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return AL(t,...r)},above:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return OL(t,...r)},after:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return TL(t,...r)},before:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return _L(t,...r)},collapse:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return M3(t,...r)},delete:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return N3(t,...r)},deselect:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return I3(t,...r)},edges:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return IL(t,...r)},elementReadOnly:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return PL(t,...r)},end:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return LL(t,...r)},first:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return zL(t,...r)},fragment:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return HL(t,...r)},getMarks:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return a3(t,...r)},hasBlocks:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return jL(t,...r)},hasInlines:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return WL(t,...r)},hasPath:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return VL(t,...r)},hasTexts:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return UL(t,...r)},insertNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return $3(t,...r)},isBlock:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return YL(t,...r)},isEdge:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return JL(t,...r)},isEmpty:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return QL(t,...r)},isEnd:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return ZL(t,...r)},isNormalizing:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return e3(t,...r)},isStart:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t3(t,...r)},last:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return n3(t,...r)},leaf:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return r3(t,...r)},levels:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return o3(t,...r)},liftNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return j3(t,...r)},mergeNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return U3(t,...r)},move:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return P3(t,...r)},moveNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return q3(t,...r)},next:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return l3(t,...r)},node:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return c3(t,...r)},nodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return u3(t,...r)},normalize:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return d3(t,...r)},parent:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return f3(t,...r)},path:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return m3(t,...r)},pathRef:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return h3(t,...r)},pathRefs:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return p3(t,...r)},point:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return v3(t,...r)},pointRef:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return g3(t,...r)},pointRefs:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return w3(t,...r)},positions:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return y3(t,...r)},previous:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return b3(t,...r)},range:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return x3(t,...r)},rangeRef:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return C3(t,...r)},rangeRefs:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return k3(t,...r)},removeNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return R3(t,...r)},select:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return L3(t,...r)},setNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return G3(t,...r)},setNormalizing:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return D3(t,...r)},setPoint:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return z3(t,...r)},setSelection:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return H3(t,...r)},splitNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return X3(t,...r)},start:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return A3(t,...r)},string:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return O3(t,...r)},unhangRange:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return B3(t,...r)},unsetNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Y3(t,...r)},unwrapNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return J3(t,...r)},void:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return $L(t,...r)},withoutNormalizing:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return T3(t,...r)},wrapNodes:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Q3(t,...r)},shouldMergeNodesRemovePrevNode:function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return _3(t,...r)}};return t},vh,s1;function Z3(){if(s1)return vh;s1=1,vh=o;var t="֑-߿יִ-﷽ﹰ-ﻼ",e="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",n=new RegExp("^[^"+e+"]*["+t+"]"),r=new RegExp("^[^"+t+"]*["+e+"]");function o(i){return i=String(i||""),n.test(i)?"rtl":r.test(i)?"ltr":"neutral"}return vh}var e4=Z3();const a1=Xo(e4);var yh,l1;function bh(){if(l1)return yh;l1=1;function t(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}return yh=t,yh}var Ch,c1;function t4(){if(c1)return Ch;c1=1;var t=typeof Va=="object"&&Va&&Va.Object===Object&&Va;return Ch=t,Ch}var kh,u1;function d1(){if(u1)return kh;u1=1;var t=t4(),e=typeof self=="object"&&self&&self.Object===Object&&self,n=t||e||Function("return this")();return kh=n,kh}var xh,f1;function n4(){if(f1)return xh;f1=1;var t=d1(),e=function(){return t.Date.now()};return xh=e,xh}var Sh,h1;function r4(){if(h1)return Sh;h1=1;var t=/\s/;function e(n){for(var r=n.length;r--&&t.test(n.charAt(r)););return r}return Sh=e,Sh}var Eh,p1;function o4(){if(p1)return Eh;p1=1;var t=r4(),e=/^\s+/;function n(r){return r&&r.slice(0,t(r)+1).replace(e,"")}return Eh=n,Eh}var Dh,m1;function g1(){if(m1)return Dh;m1=1;var t=d1(),e=t.Symbol;return Dh=e,Dh}var Ah,w1;function i4(){if(w1)return Ah;w1=1;var t=g1(),e=Object.prototype,n=e.hasOwnProperty,r=e.toString,o=t?t.toStringTag:void 0;function i(s){var a=n.call(s,o),l=s[o];try{s[o]=void 0;var c=!0}catch{}var u=r.call(s);return c&&(a?s[o]=l:delete s[o]),u}return Ah=i,Ah}var Oh,v1;function s4(){if(v1)return Oh;v1=1;var t=Object.prototype,e=t.toString;function n(r){return e.call(r)}return Oh=n,Oh}var Bh,y1;function a4(){if(y1)return Bh;y1=1;var t=g1(),e=i4(),n=s4(),r="[object Null]",o="[object Undefined]",i=t?t.toStringTag:void 0;function s(a){return a==null?a===void 0?o:r:i&&i in Object(a)?e(a):n(a)}return Bh=s,Bh}var Th,b1;function l4(){if(b1)return Th;b1=1;function t(e){return e!=null&&typeof e=="object"}return Th=t,Th}var _h,C1;function c4(){if(C1)return _h;C1=1;var t=a4(),e=l4(),n="[object Symbol]";function r(o){return typeof o=="symbol"||e(o)&&t(o)==n}return _h=r,_h}var Nh,k1;function u4(){if(k1)return Nh;k1=1;var t=o4(),e=bh(),n=c4(),r=NaN,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,s=/^0o[0-7]+$/i,a=parseInt;function l(c){if(typeof c=="number")return c;if(n(c))return r;if(e(c)){var u=typeof c.valueOf=="function"?c.valueOf():c;c=e(u)?u+"":u}if(typeof c!="string")return c===0?c:+c;c=t(c);var d=i.test(c);return d||s.test(c)?a(c.slice(2),d?2:8):o.test(c)?r:+c}return Nh=l,Nh}var Fh,x1;function S1(){if(x1)return Fh;x1=1;var t=bh(),e=n4(),n=u4(),r="Expected a function",o=Math.max,i=Math.min;function s(a,l,c){var u,d,f,p,m,w,v=0,y=!1,g=!1,x=!0;if(typeof a!="function")throw new TypeError(r);l=n(l)||0,t(c)&&(y=!!c.leading,g="maxWait"in c,f=g?o(n(c.maxWait)||0,l):f,x="trailing"in c?!!c.trailing:x);function S(F){var I=u,O=d;return u=d=void 0,v=F,p=a.apply(O,I),p}function b(F){return v=F,m=setTimeout(E,l),y?S(F):p}function k(F){var I=F-w,O=F-v,H=l-I;return g?i(H,f-O):H}function A(F){var I=F-w,O=F-v;return w===void 0||I>=l||I<0||g&&O>=f}function E(){var F=e();if(A(F))return T(F);m=setTimeout(E,k(F))}function T(F){return m=void 0,x&&u?S(F):(u=d=void 0,p)}function D(){m!==void 0&&clearTimeout(m),v=0,u=w=d=m=void 0}function M(){return m===void 0?p:T(e())}function N(){var F=e(),I=A(F);if(u=arguments,d=this,w=F,I){if(m===void 0)return b(w);if(g)return clearTimeout(m),m=setTimeout(E,l),S(w)}return m===void 0&&(m=setTimeout(E,l)),p}return N.cancel=D,N.flush=M,N}return Fh=s,Fh}var d4=S1();const f4=Xo(d4);var Mh,E1;function h4(){if(E1)return Mh;E1=1;var t=S1(),e=bh(),n="Expected a function";function r(o,i,s){var a=!0,l=!0;if(typeof o!="function")throw new TypeError(n);return e(s)&&(a="leading"in s?!!s.leading:a,l="trailing"in s?!!s.trailing:l),t(o,i,{leading:a,maxWait:i,trailing:l})}return Mh=r,Mh}var p4=h4();const m4=Xo(p4),D1=t=>typeof t=="object"&&t!=null&&t.nodeType===1,A1=(t,e)=>(!e||t!=="hidden")&&t!=="visible"&&t!=="clip",kc=(t,e)=>{if(t.clientHeight<t.scrollHeight||t.clientWidth<t.scrollWidth){const n=getComputedStyle(t,null);return A1(n.overflowY,e)||A1(n.overflowX,e)||(r=>{const o=(i=>{if(!i.ownerDocument||!i.ownerDocument.defaultView)return null;try{return i.ownerDocument.defaultView.frameElement}catch{return null}})(r);return!!o&&(o.clientHeight<r.scrollHeight||o.clientWidth<r.scrollWidth)})(t)}return!1},xc=(t,e,n,r,o,i,s,a)=>i<t&&s>e||i>t&&s<e?0:i<=t&&a<=n||s>=e&&a>=n?i-t-r:s>e&&a<n||i<t&&a>n?s-e+o:0,g4=t=>{const e=t.parentElement;return e??(t.getRootNode().host||null)},O1=(t,e)=>{var n,r,o,i;if(typeof document>"u")return[];const{scrollMode:s,block:a,inline:l,boundary:c,skipOverflowHiddenElements:u}=e,d=typeof c=="function"?c:H=>H!==c;if(!D1(t))throw new TypeError("Invalid target");const f=document.scrollingElement||document.documentElement,p=[];let m=t;for(;D1(m)&&d(m);){if(m=g4(m),m===f){p.push(m);break}m!=null&&m===document.body&&kc(m)&&!kc(document.documentElement)||m!=null&&kc(m,u)&&p.push(m)}const w=(r=(n=window.visualViewport)==null?void 0:n.width)!=null?r:innerWidth,v=(i=(o=window.visualViewport)==null?void 0:o.height)!=null?i:innerHeight,{scrollX:y,scrollY:g}=window,{height:x,width:S,top:b,right:k,bottom:A,left:E}=t.getBoundingClientRect(),{top:T,right:D,bottom:M,left:N}=(H=>{const L=window.getComputedStyle(H);return{top:parseFloat(L.scrollMarginTop)||0,right:parseFloat(L.scrollMarginRight)||0,bottom:parseFloat(L.scrollMarginBottom)||0,left:parseFloat(L.scrollMarginLeft)||0}})(t);let F=a==="start"||a==="nearest"?b-T:a==="end"?A+M:b+x/2-T+M,I=l==="center"?E+S/2-N+D:l==="end"?k+D:E-N;const O=[];for(let H=0;H<p.length;H++){const L=p[H],{height:W,width:R,top:Y,right:K,bottom:le,left:$}=L.getBoundingClientRect();if(s==="if-needed"&&b>=0&&E>=0&&A<=v&&k<=w&&(L===f&&!kc(L)||b>=Y&&A<=le&&E>=$&&k<=K))return O;const V=getComputedStyle(L),q=parseInt(V.borderLeftWidth,10),ee=parseInt(V.borderTopWidth,10),pe=parseInt(V.borderRightWidth,10),se=parseInt(V.borderBottomWidth,10);let P=0,U=0;const G="offsetWidth"in L?L.offsetWidth-L.clientWidth-q-pe:0,X="offsetHeight"in L?L.offsetHeight-L.clientHeight-ee-se:0,ge="offsetWidth"in L?L.offsetWidth===0?0:R/L.offsetWidth:0,ue="offsetHeight"in L?L.offsetHeight===0?0:W/L.offsetHeight:0;if(f===L)P=a==="start"?F:a==="end"?F-v:a==="nearest"?xc(g,g+v,v,ee,se,g+F,g+F+x,x):F-v/2,U=l==="start"?I:l==="center"?I-w/2:l==="end"?I-w:xc(y,y+w,w,q,pe,y+I,y+I+S,S),P=Math.max(0,P+g),U=Math.max(0,U+y);else{P=a==="start"?F-Y-ee:a==="end"?F-le+se+X:a==="nearest"?xc(Y,le,W,ee,se+X,F,F+x,x):F-(Y+W/2)+X/2,U=l==="start"?I-$-q:l==="center"?I-($+R/2)+G/2:l==="end"?I-K+pe+G:xc($,K,R,q,pe+G,I,I+S,S);const{scrollLeft:Pe,scrollTop:$e}=L;P=ue===0?0:Math.max(0,Math.min($e+P/ue,L.scrollHeight-W/ue+X)),U=ge===0?0:Math.max(0,Math.min(Pe+U/ge,L.scrollWidth-R/ge+G)),F+=$e-P,I+=Pe-U}O.push({el:L,top:P,left:U})}return O},w4=t=>t===!1?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&Object.keys(e).length!==0)(t)?t:{block:"start",inline:"nearest"};function v4(t,e){if(!t.isConnected||!(o=>{let i=o;for(;i&&i.parentNode;){if(i.parentNode===document)return!0;i=i.parentNode instanceof ShadowRoot?i.parentNode.host:i.parentNode}return!1})(t))return;const n=(o=>{const i=window.getComputedStyle(o);return{top:parseFloat(i.scrollMarginTop)||0,right:parseFloat(i.scrollMarginRight)||0,bottom:parseFloat(i.scrollMarginBottom)||0,left:parseFloat(i.scrollMarginLeft)||0}})(t);if((o=>typeof o=="object"&&typeof o.behavior=="function")(e))return e.behavior(O1(t,e));const r=typeof e=="boolean"||e==null?void 0:e.behavior;for(const{el:o,top:i,left:s}of O1(t,w4(e))){const a=i-n.top+n.bottom,l=s-n.left+n.right;o.scroll({top:a,left:l,behavior:r})}}var zn={},B1;function y4(){if(B1)return zn;B1=1,Object.defineProperty(zn,"__esModule",{value:!0});for(var t=typeof window<"u"&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),e={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},n={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:t?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},r={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},o=1;o<20;o++)r["f"+o]=111+o;function i(f,p,m){p&&!("byKey"in p)&&(m=p,p=null),Array.isArray(f)||(f=[f]);var w=f.map(function(g){return l(g,p)}),v=function(x){return w.some(function(S){return c(S,x)})},y=m==null?v:v(m);return y}function s(f,p){return i(f,p)}function a(f,p){return i(f,{byKey:!0},p)}function l(f,p){var m=p&&p.byKey,w={};f=f.replace("++","+add");var v=f.split("+"),y=v.length;for(var g in e)w[e[g]]=!1;var x=!0,S=!1,b=void 0;try{for(var k=v[Symbol.iterator](),A;!(x=(A=k.next()).done);x=!0){var E=A.value,T=E.endsWith("?")&&E.length>1;T&&(E=E.slice(0,-1));var D=d(E),M=e[D];if(E.length>1&&!M&&!n[E]&&!r[D])throw new TypeError('Unknown modifier: "'+E+'"');(y===1||!M)&&(m?w.key=D:w.which=u(E)),M&&(w[M]=T?null:!0)}}catch(N){S=!0,b=N}finally{try{!x&&k.return&&k.return()}finally{if(S)throw b}}return w}function c(f,p){for(var m in f){var w=f[m],v=void 0;if(w!=null&&(m==="key"&&p.key!=null?v=p.key.toLowerCase():m==="which"?v=w===91&&p.which===93?91:p.which:v=p[m],!(v==null&&w===!1)&&v!==w))return!1}return!0}function u(f){f=d(f);var p=r[f]||f.toUpperCase().charCodeAt(0);return p}function d(f){return f=f.toLowerCase(),f=n[f]||f,f}return zn.default=i,zn.isHotkey=i,zn.isCodeHotkey=s,zn.isKeyHotkey=a,zn.parseHotkey=l,zn.compareHotkey=c,zn.toKeyCode=u,zn.toKeyName=d,zn}var Ih=y4(),T1=globalThis.Node,b4=globalThis.Text,Ph=t=>t&&t.ownerDocument&&t.ownerDocument.defaultView||null,C4=t=>Yr(t)&&t.nodeType===8,Dn=t=>Yr(t)&&t.nodeType===1,Yr=t=>{var e=Ph(t);return!!e&&t instanceof e.Node},Lh=t=>{var e=t&&t.anchorNode&&Ph(t.anchorNode);return!!e&&t instanceof e.Selection},_1=t=>Yr(t)&&t.nodeType===3,k4=t=>t.clipboardData&&t.clipboardData.getData("text/plain")!==""&&t.clipboardData.types.length===1,x4=t=>{var[e,n]=t;if(Dn(e)&&e.childNodes.length){var r=n===e.childNodes.length,o=r?n-1:n;for([e,o]=N1(e,o,r?"backward":"forward"),r=o<n;Dn(e)&&e.childNodes.length;){var i=r?e.childNodes.length-1:0;e=E4(e,i,r?"backward":"forward")}n=r&&e.textContent!=null?e.textContent.length:0}return[e,n]},S4=t=>{for(var e=t&&t.parentNode;e;){if(e.toString()==="[object ShadowRoot]")return!0;e=e.parentNode}return!1},N1=(t,e,n)=>{for(var{childNodes:r}=t,o=r[e],i=e,s=!1,a=!1;(C4(o)||Dn(o)&&o.childNodes.length===0||Dn(o)&&o.getAttribute("contenteditable")==="false")&&!(s&&a);){if(i>=r.length){s=!0,i=e-1,n="backward";continue}if(i<0){a=!0,i=e+1,n="forward";continue}o=r[i],e=i,i+=n==="forward"?1:-1}return[o,e]},E4=(t,e,n)=>{var[r]=N1(t,e,n);return r},F1=t=>{var e="";if(_1(t)&&t.nodeValue)return t.nodeValue;if(Dn(t)){for(var n of Array.from(t.childNodes))e+=F1(n);var r=getComputedStyle(t).getPropertyValue("display");(r==="block"||r==="list"||t.tagName==="BR")&&(e+=`
48
+ `)}return e},D4=/data-slate-fragment="(.+?)"/m,A4=t=>{var e=t.getData("text/html"),[,n]=e.match(D4)||[];return n},Js=t=>t.getSelection!=null?t.getSelection():document.getSelection(),zh=(t,e,n)=>{var{target:r}=e;if(Dn(r)&&r.matches('[contentEditable="false"]'))return!1;var{document:o}=Le.getWindow(t);if(_o(o,r))return Le.hasDOMNode(t,r,{editable:!0});var i=n.find(s=>{var{addedNodes:a,removedNodes:l}=s;for(var c of a)if(c===r||_o(c,r))return!0;for(var u of l)if(u===r||_o(u,r))return!0});return!i||i===e?!1:zh(t,i,n)},O4=()=>{for(var t=document.activeElement;(e=t)!==null&&e!==void 0&&e.shadowRoot&&(n=t.shadowRoot)!==null&&n!==void 0&&n.activeElement;){var e,n,r;t=(r=t)===null||r===void 0||(r=r.shadowRoot)===null||r===void 0?void 0:r.activeElement}return t},M1=(t,e)=>!!(t.compareDocumentPosition(e)&T1.DOCUMENT_POSITION_PRECEDING),B4=(t,e)=>!!(t.compareDocumentPosition(e)&T1.DOCUMENT_POSITION_FOLLOWING),I1=(t,e)=>{if(!t)return null;for(var n=t;n;){if(n.matches&&n.matches(e))return n;if(n.parentElement)n=n.parentElement;else if(n.parentNode&&"host"in n.parentNode)n=n.parentNode.host;else return null}return null},_o=(t,e)=>{if(!t||!e)return!1;if(t.contains(e))return!0;for(var n=e;n;){if(n===t)return!0;if(n.parentNode)"host"in n.parentNode?n=n.parentNode.host:n=n.parentNode;else return!1}return!1},Hh,$h,T4=typeof navigator<"u"&&typeof window<"u"&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,P1=typeof navigator<"u"&&/Mac OS X/.test(navigator.userAgent),Ut=typeof navigator<"u"&&/Android/.test(navigator.userAgent),Ei=typeof navigator<"u"&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),No=typeof navigator<"u"&&/AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent),_4=typeof navigator<"u"&&/Edge?\/(?:[0-6][0-9]|[0-7][0-8])(?:\.)/i.test(navigator.userAgent),jh=typeof navigator<"u"&&/Chrome/i.test(navigator.userAgent),L1=typeof navigator<"u"&&/Chrome?\/(?:[0-7][0-5]|[0-6][0-9])(?:\.)/i.test(navigator.userAgent),N4=Ut&&typeof navigator<"u"&&/Chrome?\/(?:[0-5]?\d)(?:\.)/i.test(navigator.userAgent),F4=typeof navigator<"u"&&/^(?!.*Seamonkey)(?=.*Firefox\/(?:[0-7][0-9]|[0-8][0-6])(?:\.)).*/i.test(navigator.userAgent),M4=typeof navigator<"u"&&/.*UCBrowser/.test(navigator.userAgent),I4=typeof navigator<"u"&&/.*Wechat/.test(navigator.userAgent)&&!/.*MacWechat/.test(navigator.userAgent)&&(!jh||L1),Sc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&/Version\/(\d+)/.test(navigator.userAgent)&&((Hh=navigator.userAgent.match(/Version\/(\d+)/))!==null&&Hh!==void 0&&Hh[1]&&parseInt(($h=navigator.userAgent.match(/Version\/(\d+)/))===null||$h===void 0?void 0:$h[1],10)<17);var Jr=(!L1||!N4)&&!_4&&typeof globalThis<"u"&&globalThis.InputEvent&&typeof globalThis.InputEvent.prototype.getTargetRanges=="function";function Qs(t){"@babel/helpers - typeof";return Qs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qs(t)}function P4(t,e){if(Qs(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Qs(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function L4(t){var e=P4(t,"string");return Qs(e)==="symbol"?e:String(e)}function Wh(t,e,n){return e=L4(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var z4=0;class z1{constructor(){Wh(this,"id",void 0),this.id="".concat(z4++)}}var Di=new WeakMap,Ai=new WeakMap,Zs=new WeakMap,H1=new WeakMap,ea=new WeakMap,Vh=new WeakMap,ta=new WeakMap,Fo=new WeakMap,Ec=new WeakMap,Dc=new WeakMap,Uh=new WeakMap,Qr=new WeakMap,Mo=new WeakMap,na=new WeakMap,qh=new WeakMap,Rh=new WeakMap,Hn=new WeakMap,Er=new WeakMap,sn=new WeakMap,Zr=new WeakMap,Dr=new WeakMap,$1=new WeakMap,Oi=Symbol("placeholder"),j1=Symbol("mark-placeholder"),Le={androidPendingDiffs:t=>sn.get(t),androidScheduleFlush:t=>{var e;(e=Rh.get(t))===null||e===void 0||e()},blur:t=>{var e=Le.toDOMNode(t,t),n=Le.findDocumentOrShadowRoot(t);Qr.set(t,!1),n.activeElement===e&&e.blur()},deselect:t=>{var{selection:e}=t,n=Le.findDocumentOrShadowRoot(t),r=Js(n);r&&r.rangeCount>0&&r.removeAllRanges(),e&&re.deselect(t)},findDocumentOrShadowRoot:t=>{var e=Le.toDOMNode(t,t),n=e.getRootNode();return n instanceof Document||n instanceof ShadowRoot?n:e.ownerDocument},findEventRange:(t,e)=>{"nativeEvent"in e&&(e=e.nativeEvent);var{clientX:n,clientY:r,target:o}=e;if(n==null||r==null)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(e));var i=Le.toSlateNode(t,e.target),s=Le.findPath(t,i);if(we.isElement(i)&&_.isVoid(t,i)){var a=o.getBoundingClientRect(),l=t.isInline(i)?n-a.left<a.left+a.width-n:r-a.top<a.top+a.height-r,c=_.point(t,s,{edge:l?"start":"end"}),u=l?_.before(t,c):_.after(t,c);if(u){var d=_.range(t,u);return d}}var f,{document:p}=Le.getWindow(t);if(p.caretRangeFromPoint)f=p.caretRangeFromPoint(n,r);else{var m=p.caretPositionFromPoint(n,r);m&&(f=p.createRange(),f.setStart(m.offsetNode,m.offset),f.setEnd(m.offsetNode,m.offset))}if(!f)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(e));var w=Le.toSlateRange(t,f,{exactMatch:!1,suppressThrow:!1});return w},findKey:(t,e)=>{var n=Ec.get(e);return n||(n=new z1,Ec.set(e,n)),n},findPath:(t,e)=>{for(var n=[],r=e;;){var o=Zs.get(r);if(o==null){if(r===t)return n;break}var i=Ai.get(r);if(i==null)break;n.unshift(i),r=o}throw new Error("Unable to find the path for Slate node: ".concat(Dt.stringify(e)))},focus:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{retries:5};if(!Qr.get(e)&&ea.get(e)){if(n.retries<=0)throw new Error("Could not set focus, editor seems stuck with pending operations");if(e.operations.length>0){setTimeout(()=>{Le.focus(e,{retries:n.retries-1})},10);return}var r=Le.toDOMNode(e,e),o=Le.findDocumentOrShadowRoot(e);if(o.activeElement!==r){if(e.selection&&o instanceof Document){var i=Js(o),s=Le.toDOMRange(e,e.selection);i==null||i.removeAllRanges(),i==null||i.addRange(s)}e.selection||re.select(e,_.start(e,[])),Qr.set(e,!0),r.focus({preventScroll:!0})}}},getWindow:t=>{var e=H1.get(t);if(!e)throw new Error("Unable to find a host window element for this editor");return e},hasDOMNode:function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{editable:o=!1}=r,i=Le.toDOMNode(e,e),s;try{s=Dn(n)?n:n.parentElement}catch(a){if(a instanceof Error&&!a.message.includes('Permission denied to access property "nodeType"'))throw a}return s?I1(s,"[data-slate-editor]")===i&&(!o||s.isContentEditable?!0:typeof s.isContentEditable=="boolean"&&I1(s,'[contenteditable="false"]')===i||!!s.getAttribute("data-slate-zero-width")):!1},hasEditableTarget:(t,e)=>Yr(e)&&Le.hasDOMNode(t,e,{editable:!0}),hasRange:(t,e)=>{var{anchor:n,focus:r}=e;return _.hasPath(t,n.path)&&_.hasPath(t,r.path)},hasSelectableTarget:(t,e)=>Le.hasEditableTarget(t,e)||Le.isTargetInsideNonReadonlyVoid(t,e),hasTarget:(t,e)=>Yr(e)&&Le.hasDOMNode(t,e),insertData:(t,e)=>{t.insertData(e)},insertFragmentData:(t,e)=>t.insertFragmentData(e),insertTextData:(t,e)=>t.insertTextData(e),isComposing:t=>!!Mo.get(t),isFocused:t=>!!Qr.get(t),isReadOnly:t=>!!Uh.get(t),isTargetInsideNonReadonlyVoid:(t,e)=>{if(Uh.get(t)||!Le.hasTarget(t,e))return!1;var n=Le.toSlateNode(t,e);return we.isElement(n)&&_.isVoid(t,n)},setFragmentData:(t,e,n)=>t.setFragmentData(e,n),toDOMNode:(t,e)=>{var n,r=e===t?ea.get(t):(n=Dc.get(t))===null||n===void 0?void 0:n.get(Le.findKey(t,e));if(!r)throw new Error("Cannot resolve a DOM node from Slate node: ".concat(Dt.stringify(e)));return r},toDOMPoint:(t,e)=>{var[n]=_.node(t,e.path),r=Le.toDOMNode(t,n),o;_.void(t,{at:e})&&(e={path:e.path,offset:0});for(var i="[data-slate-string], [data-slate-zero-width]",s=Array.from(r.querySelectorAll(i)),a=0,l=0;l<s.length;l++){var c=s[l],u=c.childNodes[0];if(!(u==null||u.textContent==null)){var{length:d}=u.textContent,f=c.getAttribute("data-slate-length"),p=f==null?d:parseInt(f,10),m=a+p,w=s[l+1];if(e.offset===m&&w!==null&&w!==void 0&&w.hasAttribute("data-slate-mark-placeholder")){var v,y=w.childNodes[0];o=[y instanceof b4?y:w,(v=w.textContent)!==null&&v!==void 0&&v.startsWith("\uFEFF")?1:0];break}if(e.offset<=m){var g=Math.min(d,Math.max(0,e.offset-a));o=[u,g];break}a=m}}if(!o)throw new Error("Cannot resolve a DOM point from Slate point: ".concat(Dt.stringify(e)));return o},toDOMRange:(t,e)=>{var{anchor:n,focus:r}=e,o=Q.isBackward(e),i=Le.toDOMPoint(t,n),s=Q.isCollapsed(e)?i:Le.toDOMPoint(t,r),a=Le.getWindow(t),l=a.document.createRange(),[c,u]=o?s:i,[d,f]=o?i:s,p=Dn(c)?c:c.parentElement,m=!!p.getAttribute("data-slate-zero-width"),w=Dn(d)?d:d.parentElement,v=!!w.getAttribute("data-slate-zero-width");return l.setStart(c,m?1:u),l.setEnd(d,v?1:f),l},toSlateNode:(t,e)=>{var n=Dn(e)?e:e.parentElement;n&&!n.hasAttribute("data-slate-node")&&(n=n.closest("[data-slate-node]"));var r=n?ta.get(n):null;if(!r)throw new Error("Cannot resolve a Slate node from DOM node: ".concat(n));return r},toSlatePoint:(t,e,n)=>{var{exactMatch:r,suppressThrow:o,searchDirection:i}=n,[s,a]=r?e:x4(e),l=s.parentNode,c=null,u=0;if(l){var d,f,p=Le.toDOMNode(t,t),m=l.closest('[data-slate-void="true"]'),w=m&&_o(p,m)?m:null,v=l.closest('[contenteditable="false"]'),y=v&&_o(p,v)?v:null,g=l.closest("[data-slate-leaf]"),x=null;if(g){if(c=g.closest('[data-slate-node="text"]'),c){var S=Le.getWindow(t),b=S.document.createRange();b.setStart(c,0),b.setEnd(s,a);var k=b.cloneContents(),A=[...Array.prototype.slice.call(k.querySelectorAll("[data-slate-zero-width]")),...Array.prototype.slice.call(k.querySelectorAll("[contenteditable=false]"))];A.forEach($=>{if(Ut&&!r&&$.hasAttribute("data-slate-zero-width")&&$.textContent.length>0&&$.textContext!=="\uFEFF"){$.textContent.startsWith("\uFEFF")&&($.textContent=$.textContent.slice(1));return}$.parentNode.removeChild($)}),u=k.textContent.length,x=c}}else if(w){for(var E=w.querySelectorAll("[data-slate-leaf]"),T=0;T<E.length;T++){var D=E[T];if(Le.hasDOMNode(t,D)){g=D;break}}g?(c=g.closest('[data-slate-node="text"]'),x=g,u=x.textContent.length,x.querySelectorAll("[data-slate-zero-width]").forEach($=>{u-=$.textContent.length})):u=1}else if(y){var M=$=>$?$.querySelectorAll("[data-slate-leaf]:not(:scope [data-slate-editor] [data-slate-leaf])"):[],N=y.closest('[data-slate-node="element"]');if(i==="backward"||!i){var F,I=[...M(N==null?void 0:N.previousElementSibling),...M(N)];g=(F=I.findLast($=>M1(y,$)))!==null&&F!==void 0?F:null}if(i==="forward"||!i){var O,H=[...M(N),...M(N==null?void 0:N.nextElementSibling)];g=(O=H.find($=>B4(y,$)))!==null&&O!==void 0?O:null}g&&(c=g.closest('[data-slate-node="text"]'),x=g,i==="forward"?u=0:(u=x.textContent.length,x.querySelectorAll("[data-slate-zero-width]").forEach($=>{u-=$.textContent.length})))}x&&u===x.textContent.length&&Ut&&x.getAttribute("data-slate-zero-width")==="z"&&(d=x.textContent)!==null&&d!==void 0&&d.startsWith("\uFEFF")&&(l.hasAttribute("data-slate-zero-width")||Ei&&(f=x.textContent)!==null&&f!==void 0&&f.endsWith(`
49
+
50
+ `))&&u--}if(Ut&&!c&&!r){var L=l.hasAttribute("data-slate-node")?l:l.closest("[data-slate-node]");if(L&&Le.hasDOMNode(t,L,{editable:!0})){var W=Le.toSlateNode(t,L),{path:R,offset:Y}=_.start(t,Le.findPath(t,W));return L.querySelector("[data-slate-leaf]")||(Y=a),{path:R,offset:Y}}}if(!c){if(o)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(e))}var K=Le.toSlateNode(t,c),le=Le.findPath(t,K);return{path:le,offset:u}},toSlateRange:(t,e,n)=>{var r,{exactMatch:o,suppressThrow:i}=n,s=Lh(e)?e.anchorNode:e.startContainer,a,l,c,u,d;if(s)if(Lh(e)){if(Ei&&e.rangeCount>1){c=e.focusNode;var f=e.getRangeAt(0),p=e.getRangeAt(e.rangeCount-1);if(c instanceof HTMLTableRowElement&&f.startContainer instanceof HTMLTableRowElement&&p.startContainer instanceof HTMLTableRowElement){let k=function(A){return A.childElementCount>0?k(A.children[0]):A};var m=f.startContainer,w=p.startContainer,v=k(m.children[f.startOffset]),y=k(w.children[p.startOffset]);u=0,y.childNodes.length>0?a=y.childNodes[0]:a=y,v.childNodes.length>0?c=v.childNodes[0]:c=v,y instanceof HTMLElement?l=y.innerHTML.length:l=0}else f.startContainer===c?(a=p.endContainer,l=p.endOffset,u=f.startOffset):(a=f.startContainer,l=f.endOffset,u=p.startOffset)}else a=e.anchorNode,l=e.anchorOffset,c=e.focusNode,u=e.focusOffset;jh&&S4(a)||Ei?d=e.anchorNode===e.focusNode&&e.anchorOffset===e.focusOffset:d=e.isCollapsed}else a=e.startContainer,l=e.startOffset,c=e.endContainer,u=e.endOffset,d=e.collapsed;if(a==null||c==null||l==null||u==null)throw new Error("Cannot resolve a Slate range from DOM range: ".concat(e));Ei&&(r=c.textContent)!==null&&r!==void 0&&r.endsWith(`
51
+
52
+ `)&&u===c.textContent.length&&u--;var g=Le.toSlatePoint(t,[a,l],{exactMatch:o,suppressThrow:i});if(!g)return null;var x=M1(a,c)||a===c&&u<l,S=d?g:Le.toSlatePoint(t,[c,u],{exactMatch:o,suppressThrow:i,searchDirection:x?"forward":"backward"});if(!S)return null;var b={anchor:g,focus:S};return Q.isExpanded(b)&&Q.isForward(b)&&Dn(c)&&_.void(t,{at:b.focus,mode:"highest"})&&(b=_.unhangRange(t,b,{voids:!0})),b}};function H4(t,e){var{path:n,diff:r}=e;if(!_.hasPath(t,n))return!1;var o=we.get(t,n);if(!we.isText(o))return!1;if(r.start!==o.text.length||r.text.length===0)return o.text.slice(r.start,r.start+r.text.length)===r.text;var i=j.next(n);if(!_.hasPath(t,i))return!1;var s=we.get(t,i);return we.isText(s)&&s.text.startsWith(r.text)}function W1(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return n.reduce((o,i)=>o.slice(0,i.start)+i.text+o.slice(i.end),t)}function $4(t,e){for(var n=Math.min(t.length,e.length),r=0;r<n;r++)if(t.charAt(r)!==e.charAt(r))return r;return n}function j4(t,e,n){for(var r=Math.min(t.length,e.length,n),o=0;o<r;o++)if(t.charAt(t.length-o-1)!==e.charAt(e.length-o-1))return o;return r}function V1(t,e){var{start:n,end:r,text:o}=e,i=t.slice(n,r),s=$4(i,o),a=Math.min(i.length-s,o.length-s),l=j4(i,o,a),c={start:n+s,end:r-l,text:o.slice(s,o.length-l)};return c.start===c.end&&c.text.length===0?null:c}function W4(t,e,n){var r=Math.min(e.start,n.start),o=Math.max(0,Math.min(e.start+e.text.length,n.end)-n.start),i=W1(t,e,n),s=Math.max(n.start+n.text.length,e.start+e.text.length+(e.start+e.text.length>n.start?n.text.length:0)-o),a=i.slice(r,s),l=Math.max(e.end,n.end-e.text.length+(e.end-e.start));return V1(t,{start:r,end:l,text:a})}function V4(t){var{path:e,diff:n}=t;return{anchor:{path:e,offset:n.start},focus:{path:e,offset:n.end}}}function Gh(t,e){var{path:n,offset:r}=e;if(!_.hasPath(t,n))return null;var o=we.get(t,n);if(!we.isText(o))return null;var i=_.above(t,{match:a=>we.isElement(a)&&_.isBlock(t,a),at:n});if(!i)return null;for(;r>o.text.length;){var s=_.next(t,{at:n,match:we.isText});if(!s||!j.isDescendant(s[1],i[1]))return null;r-=o.text.length,o=s[0],n=s[1]}return{path:n,offset:r}}function U1(t,e){var n=Gh(t,e.anchor);if(!n)return null;if(Q.isCollapsed(e))return{anchor:n,focus:n};var r=Gh(t,e.focus);return r?{anchor:n,focus:r}:null}function Kh(t,e,n){var r=sn.get(t),o=r==null?void 0:r.find(u=>{var{path:d}=u;return j.equals(d,e.path)});if(!o||e.offset<=o.diff.start)return qe.transform(e,n,{affinity:"backward"});var{diff:i}=o;if(e.offset<=i.start+i.text.length){var s={path:e.path,offset:i.start},a=qe.transform(s,n,{affinity:"backward"});return a?{path:a.path,offset:a.offset+e.offset-i.start}:null}var l={path:e.path,offset:e.offset-i.text.length+i.end-i.start},c=qe.transform(l,n,{affinity:"backward"});return c?n.type==="split_node"&&j.equals(n.path,e.path)&&l.offset<n.position&&i.start<n.position?c:{path:c.path,offset:c.offset+i.text.length-i.end+i.start}:null}function q1(t,e,n){var r=Kh(t,e.anchor,n);if(!r)return null;if(Q.isCollapsed(e))return{anchor:r,focus:r};var o=Kh(t,e.focus,n);return o?{anchor:r,focus:o}:null}function U4(t,e){var{path:n,diff:r,id:o}=t;switch(e.type){case"insert_text":return!j.equals(e.path,n)||e.offset>=r.end?t:e.offset<=r.start?{diff:{start:e.text.length+r.start,end:e.text.length+r.end,text:r.text},id:o,path:n}:{diff:{start:r.start,end:r.end+e.text.length,text:r.text},id:o,path:n};case"remove_text":return!j.equals(e.path,n)||e.offset>=r.end?t:e.offset+e.text.length<=r.start?{diff:{start:r.start-e.text.length,end:r.end-e.text.length,text:r.text},id:o,path:n}:{diff:{start:r.start,end:r.end-e.text.length,text:r.text},id:o,path:n};case"split_node":return!j.equals(e.path,n)||e.position>=r.end?{diff:r,id:o,path:j.transform(n,e,{affinity:"backward"})}:e.position>r.start?{diff:{start:r.start,end:Math.min(e.position,r.end),text:r.text},id:o,path:n}:{diff:{start:r.start-e.position,end:r.end-e.position,text:r.text},id:o,path:j.transform(n,e,{affinity:"forward"})};case"merge_node":return j.equals(e.path,n)?{diff:{start:r.start+e.position,end:r.end+e.position,text:r.text},id:o,path:j.transform(n,e)}:{diff:r,id:o,path:j.transform(n,e)}}var i=j.transform(n,e);return i?{diff:r,path:i,id:o}:null}var R1=(t,e)=>{var n=(e.top+e.bottom)/2;return t.top<=n&&t.bottom>=n},G1=(t,e,n)=>{var r=Le.toDOMRange(t,e).getBoundingClientRect(),o=Le.toDOMRange(t,n).getBoundingClientRect();return R1(r,o)&&R1(o,r)},q4=(t,e)=>{var n=_.range(t,Q.end(e)),r=Array.from(_.positions(t,{at:e})),o=0,i=r.length,s=Math.floor(i/2);if(G1(t,_.range(t,r[o]),n))return _.range(t,r[o],n);if(r.length<2)return _.range(t,r[r.length-1],n);for(;s!==r.length&&s!==o;)G1(t,_.range(t,r[s]),n)?i=s:o=s,s=Math.floor((o+i)/2);return _.range(t,r[o],n)};function K1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function X1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?K1(Object(n),!0).forEach(function(r){Wh(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):K1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var R4=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"x-slate-fragment",r=e,{apply:o,onChange:i,deleteBackward:s,addMark:a,removeMark:l}=r;return Dc.set(r,new WeakMap),r.addMark=(c,u)=>{var d,f;(d=Rh.get(r))===null||d===void 0||d(),!Hn.get(r)&&(f=sn.get(r))!==null&&f!==void 0&&f.length&&Hn.set(r,null),Er.delete(r),a(c,u)},r.removeMark=c=>{var u;!Hn.get(r)&&(u=sn.get(r))!==null&&u!==void 0&&u.length&&Hn.set(r,null),Er.delete(r),l(c)},r.deleteBackward=c=>{if(c!=="line")return s(c);if(r.selection&&Q.isCollapsed(r.selection)){var u=_.above(r,{match:m=>we.isElement(m)&&_.isBlock(r,m),at:r.selection});if(u){var[,d]=u,f=_.range(r,d,r.selection.anchor),p=q4(r,f);Q.isCollapsed(p)||re.delete(r,{at:p})}}},r.apply=c=>{var u=[],d=[],f=sn.get(r);if(f!=null&&f.length){var p=f.map(I=>U4(I,c)).filter(Boolean);sn.set(r,p)}var m=Dr.get(r);m&&Dr.set(r,q1(r,m,c));var w=Zr.get(r);if(w!=null&&w.at){var v=hL.isPoint(w==null?void 0:w.at)?Kh(r,w.at,c):q1(r,w.at,c);Zr.set(r,v?X1(X1({},w),{},{at:v}):null)}switch(c.type){case"insert_text":case"remove_text":case"set_node":case"split_node":{u.push(...Bi(r,c.path));break}case"set_selection":{var y;(y=na.get(r))===null||y===void 0||y.unref(),na.delete(r);break}case"insert_node":case"remove_node":{u.push(...Bi(r,j.parent(c.path)));break}case"merge_node":{var g=j.previous(c.path);u.push(...Bi(r,g));break}case"move_node":{var x=j.common(j.parent(c.path),j.parent(c.newPath));u.push(...Bi(r,x));var S;j.isBefore(c.path,c.newPath)?(u.push(...Bi(r,j.parent(c.path))),S=c.newPath):(u.push(...Bi(r,j.parent(c.newPath))),S=c.path);var b=we.get(e,j.parent(S)),k=Le.findKey(r,b),A=_.pathRef(r,j.parent(S));d.push([A,k]);break}}switch(o(c),c.type){case"insert_node":case"remove_node":case"merge_node":case"move_node":case"split_node":case"insert_text":case"remove_text":case"set_selection":Di.set(r,!0)}for(var[E,T]of u){var[D]=_.node(r,E);Ec.set(D,T)}for(var[M,N]of d){if(M.current){var[F]=_.node(r,M.current);Ec.set(F,N)}M.unref()}},r.setFragmentData=c=>{var{selection:u}=r;if(u){var[d,f]=Q.edges(u),p=_.void(r,{at:d.path}),m=_.void(r,{at:f.path});if(!(Q.isCollapsed(u)&&!p)){var w=Le.toDOMRange(r,u),v=w.cloneContents(),y=v.childNodes[0];if(v.childNodes.forEach(D=>{D.textContent&&D.textContent.trim()!==""&&(y=D)}),m){var[g]=m,x=w.cloneRange(),S=Le.toDOMNode(r,g);x.setEndAfter(S),v=x.cloneContents()}if(p&&(y=v.querySelector("[data-slate-spacer]")),Array.from(v.querySelectorAll("[data-slate-zero-width]")).forEach(D=>{var M=D.getAttribute("data-slate-zero-width")==="n";D.textContent=M?`
53
+ `:""}),_1(y)){var b=y.ownerDocument.createElement("span");b.style.whiteSpace="pre",b.appendChild(y),v.appendChild(b),y=b}var k=r.getFragment(),A=JSON.stringify(k),E=window.btoa(encodeURIComponent(A));y.setAttribute("data-slate-fragment",E),c.setData("application/".concat(n),E);var T=v.ownerDocument.createElement("div");return T.appendChild(v),T.setAttribute("hidden","true"),v.ownerDocument.body.appendChild(T),c.setData("text/html",T.innerHTML),c.setData("text/plain",F1(T)),v.ownerDocument.body.removeChild(T),c}}},r.insertData=c=>{r.insertFragmentData(c)||r.insertTextData(c)},r.insertFragmentData=c=>{var u=c.getData("application/".concat(n))||A4(c);if(u){var d=decodeURIComponent(window.atob(u)),f=JSON.parse(d);return r.insertFragment(f),!0}return!1},r.insertTextData=c=>{var u=c.getData("text/plain");if(u){var d=u.split(/\r\n|\r|\n/),f=!1;for(var p of d)f&&re.splitNodes(r,{always:!0}),r.insertText(p),f=!0;return!0}return!1},r.onChange=c=>{var u=qh.get(r);u&&u(c),i(c)},r},Bi=(t,e)=>{var n=[];for(var[r,o]of _.levels(t,{at:e})){var i=Le.findKey(t,r);n.push([o,i])}return n},G4=3,K4={bold:"mod+b",compose:["down","left","right","up","backspace","enter"],moveBackward:"left",moveForward:"right",moveWordBackward:"ctrl+left",moveWordForward:"ctrl+right",deleteBackward:"shift?+backspace",deleteForward:"shift?+delete",extendBackward:"shift+left",extendForward:"shift+right",italic:"mod+i",insertSoftBreak:"shift+enter",splitBlock:"enter",undo:"mod+z"},X4={moveLineBackward:"opt+up",moveLineForward:"opt+down",moveWordBackward:"opt+left",moveWordForward:"opt+right",deleteBackward:["ctrl+backspace","ctrl+h"],deleteForward:["ctrl+delete","ctrl+d"],deleteLineBackward:"cmd+shift?+backspace",deleteLineForward:["cmd+shift?+delete","ctrl+k"],deleteWordBackward:"opt+shift?+backspace",deleteWordForward:"opt+shift?+delete",extendLineBackward:"opt+shift+up",extendLineForward:"opt+shift+down",redo:"cmd+shift+z",transposeCharacter:"ctrl+t"},Y4={deleteWordBackward:"ctrl+shift?+backspace",deleteWordForward:"ctrl+shift?+delete",redo:["ctrl+y","ctrl+shift+z"]},lt=t=>{var e=K4[t],n=X4[t],r=Y4[t],o=e&&Ih.isHotkey(e),i=n&&Ih.isHotkey(n),s=r&&Ih.isHotkey(r);return a=>!!(o&&o(a)||P1&&i&&i(a)||!P1&&s&&s(a))},ut={isBold:lt("bold"),isCompose:lt("compose"),isMoveBackward:lt("moveBackward"),isMoveForward:lt("moveForward"),isDeleteBackward:lt("deleteBackward"),isDeleteForward:lt("deleteForward"),isDeleteLineBackward:lt("deleteLineBackward"),isDeleteLineForward:lt("deleteLineForward"),isDeleteWordBackward:lt("deleteWordBackward"),isDeleteWordForward:lt("deleteWordForward"),isExtendBackward:lt("extendBackward"),isExtendForward:lt("extendForward"),isExtendLineBackward:lt("extendLineBackward"),isExtendLineForward:lt("extendLineForward"),isItalic:lt("italic"),isMoveLineBackward:lt("moveLineBackward"),isMoveLineForward:lt("moveLineForward"),isMoveWordBackward:lt("moveWordBackward"),isMoveWordForward:lt("moveWordForward"),isRedo:lt("redo"),isSoftBreak:lt("insertSoftBreak"),isSplitBlock:lt("splitBlock"),isTransposeCharacter:lt("transposeCharacter"),isUndo:lt("undo")};function J4(t,e){if(t==null)return{};var n={},r=Object.keys(t),o,i;for(i=0;i<r.length;i++)o=r[i],!(e.indexOf(o)>=0)&&(n[o]=t[o]);return n}function Y1(t,e){if(t==null)return{};var n=J4(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var Q4=["anchor","focus"],Z4=["anchor","focus"];function J1(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Q1(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?J1(Object(n),!0).forEach(function(r){Wh(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J1(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var e8=(t,e)=>Object.keys(t).length===Object.keys(e).length&&Object.keys(t).every(n=>e.hasOwnProperty(n)&&t[n]===e[n]),Z1=(t,e)=>{var n=Y1(t,Q4),r=Y1(e,Z4);return t[Oi]===e[Oi]&&e8(n,r)},Xh=(t,e)=>{if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(var n=0;n<t.length;n++){var r=t[n],o=e[n];if(!Q.equals(r,o)||!Z1(r,o))return!1}return!0},ek=(t,e)=>{if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(var n=0;n<t.length;n++){var r=t[n],o=e[n];if(r.anchor.offset!==o.anchor.offset||r.focus.offset!==o.focus.offset||!Z1(r,o))return!1}return!0},t8=(t,e,n)=>{var r=Array.from(e.children,()=>[]);if(n.length===0)return r;var o=Le.findPath(t,e),i=o.length,s=_.range(t,o),a=new Array(e.children.length),l=x=>{var S=a[x];if(S)return S;var b=_.range(t,[...o,x]);return a[x]=b,b};for(var c of n){var u=Q.intersection(s,c);if(u)for(var[d,f]=Q.edges(u),p=d.path[i],m=f.path[i],w=p;w<=m;w++){var v=r[w];if(v){var y=l(w),g=Q.intersection(y,c);g&&v.push(Q1(Q1({},c),g))}}}return r},Io=[],n8=function(){return Io.some(function(t){return t.activeTargets.length>0})},r8=function(){return Io.some(function(t){return t.skippedTargets.length>0})},tk="ResizeObserver loop completed with undelivered notifications.",o8=function(){var t;typeof ErrorEvent=="function"?t=new ErrorEvent("error",{message:tk}):(t=document.createEvent("Event"),t.initEvent("error",!1,!1),t.message=tk),window.dispatchEvent(t)},ra;(function(t){t.BORDER_BOX="border-box",t.CONTENT_BOX="content-box",t.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(ra||(ra={}));var Po=function(t){return Object.freeze(t)},i8=(function(){function t(e,n){this.inlineSize=e,this.blockSize=n,Po(this)}return t})(),nk=(function(){function t(e,n,r,o){return this.x=e,this.y=n,this.width=r,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,Po(this)}return t.prototype.toJSON=function(){var e=this,n=e.x,r=e.y,o=e.top,i=e.right,s=e.bottom,a=e.left,l=e.width,c=e.height;return{x:n,y:r,top:o,right:i,bottom:s,left:a,width:l,height:c}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t})(),Yh=function(t){return t instanceof SVGElement&&"getBBox"in t},rk=function(t){if(Yh(t)){var e=t.getBBox(),n=e.width,r=e.height;return!n&&!r}var o=t,i=o.offsetWidth,s=o.offsetHeight;return!(i||s||t.getClientRects().length)},ok=function(t){var e;if(t instanceof Element)return!0;var n=(e=t==null?void 0:t.ownerDocument)===null||e===void 0?void 0:e.defaultView;return!!(n&&t instanceof n.Element)},s8=function(t){switch(t.tagName){case"INPUT":if(t.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},oa=typeof window<"u"?window:{},Ac=new WeakMap,ik=/auto|scroll/,a8=/^tb|vertical/,l8=/msie|trident/i.test(oa.navigator&&oa.navigator.userAgent),sr=function(t){return parseFloat(t||"0")},Ti=function(t,e,n){return t===void 0&&(t=0),e===void 0&&(e=0),n===void 0&&(n=!1),new i8((n?e:t)||0,(n?t:e)||0)},sk=Po({devicePixelContentBoxSize:Ti(),borderBoxSize:Ti(),contentBoxSize:Ti(),contentRect:new nk(0,0,0,0)}),ak=function(t,e){if(e===void 0&&(e=!1),Ac.has(t)&&!e)return Ac.get(t);if(rk(t))return Ac.set(t,sk),sk;var n=getComputedStyle(t),r=Yh(t)&&t.ownerSVGElement&&t.getBBox(),o=!l8&&n.boxSizing==="border-box",i=a8.test(n.writingMode||""),s=!r&&ik.test(n.overflowY||""),a=!r&&ik.test(n.overflowX||""),l=r?0:sr(n.paddingTop),c=r?0:sr(n.paddingRight),u=r?0:sr(n.paddingBottom),d=r?0:sr(n.paddingLeft),f=r?0:sr(n.borderTopWidth),p=r?0:sr(n.borderRightWidth),m=r?0:sr(n.borderBottomWidth),w=r?0:sr(n.borderLeftWidth),v=d+c,y=l+u,g=w+p,x=f+m,S=a?t.offsetHeight-x-t.clientHeight:0,b=s?t.offsetWidth-g-t.clientWidth:0,k=o?v+g:0,A=o?y+x:0,E=r?r.width:sr(n.width)-k-b,T=r?r.height:sr(n.height)-A-S,D=E+v+b+g,M=T+y+S+x,N=Po({devicePixelContentBoxSize:Ti(Math.round(E*devicePixelRatio),Math.round(T*devicePixelRatio),i),borderBoxSize:Ti(D,M,i),contentBoxSize:Ti(E,T,i),contentRect:new nk(d,l,E,T)});return Ac.set(t,N),N},lk=function(t,e,n){var r=ak(t,n),o=r.borderBoxSize,i=r.contentBoxSize,s=r.devicePixelContentBoxSize;switch(e){case ra.DEVICE_PIXEL_CONTENT_BOX:return s;case ra.BORDER_BOX:return o;default:return i}},c8=(function(){function t(e){var n=ak(e);this.target=e,this.contentRect=n.contentRect,this.borderBoxSize=Po([n.borderBoxSize]),this.contentBoxSize=Po([n.contentBoxSize]),this.devicePixelContentBoxSize=Po([n.devicePixelContentBoxSize])}return t})(),ck=function(t){if(rk(t))return 1/0;for(var e=0,n=t.parentNode;n;)e+=1,n=n.parentNode;return e},u8=function(){var t=1/0,e=[];Io.forEach(function(s){if(s.activeTargets.length!==0){var a=[];s.activeTargets.forEach(function(c){var u=new c8(c.target),d=ck(c.target);a.push(u),c.lastReportedSize=lk(c.target,c.observedBox),d<t&&(t=d)}),e.push(function(){s.callback.call(s.observer,a,s.observer)}),s.activeTargets.splice(0,s.activeTargets.length)}});for(var n=0,r=e;n<r.length;n++){var o=r[n];o()}return t},uk=function(t){Io.forEach(function(n){n.activeTargets.splice(0,n.activeTargets.length),n.skippedTargets.splice(0,n.skippedTargets.length),n.observationTargets.forEach(function(o){o.isActive()&&(ck(o.target)>t?n.activeTargets.push(o):n.skippedTargets.push(o))})})},d8=function(){var t=0;for(uk(t);n8();)t=u8(),uk(t);return r8()&&o8(),t>0},Jh,dk=[],f8=function(){return dk.splice(0).forEach(function(t){return t()})},h8=function(t){if(!Jh){var e=0,n=document.createTextNode(""),r={characterData:!0};new MutationObserver(function(){return f8()}).observe(n,r),Jh=function(){n.textContent="".concat(e?e--:e++)}}dk.push(t),Jh()},p8=function(t){h8(function(){requestAnimationFrame(t)})},Oc=0,m8=function(){return!!Oc},g8=250,w8={attributes:!0,characterData:!0,childList:!0,subtree:!0},fk=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],hk=function(t){return t===void 0&&(t=0),Date.now()+t},Qh=!1,v8=(function(){function t(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return t.prototype.run=function(e){var n=this;if(e===void 0&&(e=g8),!Qh){Qh=!0;var r=hk(e);p8(function(){var o=!1;try{o=d8()}finally{if(Qh=!1,e=r-hk(),!m8())return;o?n.run(1e3):e>0?n.run(e):n.start()}})}},t.prototype.schedule=function(){this.stop(),this.run()},t.prototype.observe=function(){var e=this,n=function(){return e.observer&&e.observer.observe(document.body,w8)};document.body?n():oa.addEventListener("DOMContentLoaded",n)},t.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),fk.forEach(function(n){return oa.addEventListener(n,e.listener,!0)}))},t.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),fk.forEach(function(n){return oa.removeEventListener(n,e.listener,!0)}),this.stopped=!0)},t})(),Zh=new v8,pk=function(t){!Oc&&t>0&&Zh.start(),Oc+=t,!Oc&&Zh.stop()},y8=function(t){return!Yh(t)&&!s8(t)&&getComputedStyle(t).display==="inline"},b8=(function(){function t(e,n){this.target=e,this.observedBox=n||ra.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var e=lk(this.target,this.observedBox,!0);return y8(this.target)&&(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},t})(),C8=(function(){function t(e,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=n}return t})(),Bc=new WeakMap,mk=function(t,e){for(var n=0;n<t.length;n+=1)if(t[n].target===e)return n;return-1},Tc=(function(){function t(){}return t.connect=function(e,n){var r=new C8(e,n);Bc.set(e,r)},t.observe=function(e,n,r){var o=Bc.get(e),i=o.observationTargets.length===0;mk(o.observationTargets,n)<0&&(i&&Io.push(o),o.observationTargets.push(new b8(n,r&&r.box)),pk(1),Zh.schedule())},t.unobserve=function(e,n){var r=Bc.get(e),o=mk(r.observationTargets,n),i=r.observationTargets.length===1;o>=0&&(i&&Io.splice(Io.indexOf(r),1),r.observationTargets.splice(o,1),pk(-1))},t.disconnect=function(e){var n=this,r=Bc.get(e);r.observationTargets.slice().forEach(function(o){return n.unobserve(e,o.target)}),r.activeTargets.splice(0,r.activeTargets.length)},t})(),k8=(function(){function t(e){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof e!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Tc.connect(this,e)}return t.prototype.observe=function(e,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ok(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Tc.observe(this,e,n)},t.prototype.unobserve=function(e){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!ok(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Tc.unobserve(this,e)},t.prototype.disconnect=function(){Tc.disconnect(this)},t.toString=function(){return"function ResizeObserver () { [polyfill code] }"},t})();function x8(t,e){if(t==null)return{};var n={},r=Object.keys(t),o,i;for(i=0;i<r.length;i++)o=r[i],!(e.indexOf(o)>=0)&&(n[o]=t[o]);return n}function _c(t,e){if(t==null)return{};var n=x8(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function ia(t){"@babel/helpers - typeof";return ia=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ia(t)}function S8(t,e){if(ia(t)!=="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ia(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function E8(t){var e=S8(t,"string");return ia(e)==="symbol"?e:String(e)}function ct(t,e,n){return e=E8(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var ep=C.createContext(null),$n=()=>{var t=C.useContext(ep);if(!t)throw new Error("The `useSlateStatic` hook must be used inside the <Slate> component's context.");return t},he=Le;function gk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Nc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?gk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):gk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var D8=25,A8=200,O8=function(){},B8=t=>(t==null?void 0:t.constructor.name)==="DataTransfer";function T8(t){var{editor:e,scheduleOnDOMSelectionChange:n,onDOMSelectionChange:r}=t,o=!1,i=null,s=null,a=null,l=0,c=!1,u=()=>{var N=Dr.get(e);if(Dr.delete(e),N){var{selection:F}=e,I=U1(e,N);I&&(!F||!Q.equals(I,F))&&re.select(e,I)}},d=()=>{var N=Zr.get(e);if(Zr.delete(e),!!N){if(N.at){var F=qe.isPoint(N.at)?Gh(e,N.at):U1(e,N.at);if(!F)return;var I=_.range(e,F);(!e.selection||!Q.equals(e.selection,I))&&re.select(e,F)}N.run()}},f=()=>{if(s&&(clearTimeout(s),s=null),a&&(clearTimeout(a),a=null),!S()&&!x()){u();return}o||(o=!0,setTimeout(()=>o=!1)),x()&&(o="action");var N=e.selection&&_.rangeRef(e,e.selection,{affinity:"forward"});Er.set(e,e.marks),O8("flush",Zr.get(e),sn.get(e));for(var F=S(),I;I=(O=sn.get(e))===null||O===void 0?void 0:O[0];){var O,H,L=Hn.get(e);L!==void 0&&(Hn.delete(e),e.marks=L),L&&c===!1&&(c=null);var W=V4(I);(!e.selection||!Q.equals(e.selection,W))&&re.select(e,W),I.diff.text?_.insertText(e,I.diff.text):_.deleteFragment(e),sn.set(e,(H=sn.get(e))===null||H===void 0?void 0:H.filter(K=>{var{id:le}=K;return le!==I.id})),H4(e,I)||(F=!1,Zr.delete(e),Er.delete(e),o="action",Dr.delete(e),n.cancel(),r.cancel(),N==null||N.unref())}var R=N==null?void 0:N.unref();if(R&&!Dr.get(e)&&(!e.selection||!Q.equals(R,e.selection))&&re.select(e,R),x()){d();return}F&&n(),n.flush(),r.flush(),u();var Y=Er.get(e);Er.delete(e),Y!==void 0&&(e.marks=Y,e.onChange())},p=N=>{i&&clearTimeout(i),i=setTimeout(()=>{Mo.set(e,!1),f()},D8)},m=N=>{Mo.set(e,!0),i&&(clearTimeout(i),i=null)},w=function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,I=Vh.get(e);if(I){if(S()||F){I.style.display="none";return}I.style.removeProperty("display")}},v=(N,F)=>{var I,O=(I=sn.get(e))!==null&&I!==void 0?I:[];sn.set(e,O);var H=we.leaf(e,N),L=O.findIndex(Y=>j.equals(Y.path,N));if(L<0){var W=V1(H.text,F);W&&O.push({path:N,diff:F,id:l++}),w();return}var R=W4(H.text,O[L].diff,F);if(!R){O.splice(L,1),w();return}O[L]=Nc(Nc({},O[L]),{},{diff:R})},y=function(F){var{at:I}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};c=!1,Dr.delete(e),n.cancel(),r.cancel(),x()&&f(),Zr.set(e,{at:I,run:F}),a=setTimeout(f)},g=N=>{var F;if(s&&(clearTimeout(s),s=null),!Di.get(e)){var{inputType:I}=N,O=null,H=N.dataTransfer||N.data||void 0;c!==!1&&I!=="insertText"&&I!=="insertCompositionText"&&(c=!1);var[L]=N.getTargetRanges();L&&(O=he.toSlateRange(e,L,{exactMatch:!1,suppressThrow:!0}));var W=he.getWindow(e),R=W.getSelection();if(!O&&R&&(L=R,O=he.toSlateRange(e,R,{exactMatch:!1,suppressThrow:!0})),O=(F=O)!==null&&F!==void 0?F:e.selection,!!O){var Y=!0;if(I.startsWith("delete")){var K=I.endsWith("Backward")?"backward":"forward",[le,$]=Q.edges(O),[V,q]=_.leaf(e,le.path);if(Q.isExpanded(O)&&V.text.length===le.offset&&$.offset===0){var ee=_.next(e,{at:le.path,match:De.isText});ee&&j.equals(ee[1],$.path)&&(K==="backward"?(O={anchor:$,focus:$},le=$,[V,q]=ee):(O={anchor:le,focus:le},$=le))}var pe={text:"",start:le.offset,end:$.offset},se=sn.get(e),P=se==null?void 0:se.find(Xt=>j.equals(Xt.path,q)),U=P?[P.diff,pe]:[pe],G=W1(V.text,...U);if(G.length===0&&(Y=!1),Q.isExpanded(O)){if(Y&&j.equals(O.anchor.path,O.focus.path)){var X={path:O.anchor.path,offset:le.offset},ge=_.range(e,X,X);return A(ge),v(O.anchor.path,{text:"",end:$.offset,start:le.offset})}return y(()=>_.deleteFragment(e,{direction:K}),{at:O})}}switch(I){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return y(()=>_.deleteFragment(e),{at:O});case"deleteContent":case"deleteContentForward":{var{anchor:ue}=O;if(Y&&Q.isCollapsed(O)){var Pe=we.leaf(e,ue.path);if(ue.offset<Pe.text.length)return v(ue.path,{text:"",start:ue.offset,end:ue.offset+1})}return y(()=>_.deleteForward(e),{at:O})}case"deleteContentBackward":{var $e,{anchor:de}=O,Me=Lh(L)?L.isCollapsed:!!(($e=L)!==null&&$e!==void 0&&$e.collapsed);return Y&&Me&&Q.isCollapsed(O)&&de.offset>0?v(de.path,{text:"",start:de.offset-1,end:de.offset}):y(()=>_.deleteBackward(e),{at:O})}case"deleteEntireSoftLine":return y(()=>{_.deleteBackward(e,{unit:"line"}),_.deleteForward(e,{unit:"line"})},{at:O});case"deleteHardLineBackward":return y(()=>_.deleteBackward(e,{unit:"block"}),{at:O});case"deleteSoftLineBackward":return y(()=>_.deleteBackward(e,{unit:"line"}),{at:O});case"deleteHardLineForward":return y(()=>_.deleteForward(e,{unit:"block"}),{at:O});case"deleteSoftLineForward":return y(()=>_.deleteForward(e,{unit:"line"}),{at:O});case"deleteWordBackward":return y(()=>_.deleteBackward(e,{unit:"word"}),{at:O});case"deleteWordForward":return y(()=>_.deleteForward(e,{unit:"word"}),{at:O});case"insertLineBreak":return y(()=>_.insertSoftBreak(e),{at:O});case"insertParagraph":return y(()=>_.insertBreak(e),{at:O});case"insertCompositionText":case"deleteCompositionText":case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":{if(B8(H))return y(()=>he.insertData(e,H),{at:O});var Oe=H??"";if(Hn.get(e)&&(Oe=Oe.replace("\uFEFF","")),I==="insertText"&&/.*\n.*\n$/.test(Oe)&&(Oe=Oe.slice(0,-1)),Oe.includes(`
54
+ `))return y(()=>{var Xt=Oe.split(`
55
+ `);Xt.forEach((vt,xt)=>{vt&&_.insertText(e,vt),xt!==Xt.length-1&&_.insertSoftBreak(e)})},{at:O});if(j.equals(O.anchor.path,O.focus.path)){var[Ge,Ye]=Q.edges(O),Ot={start:Ge.offset,end:Ye.offset,text:Oe};if(Oe&&c&&I==="insertCompositionText"){var dr=c.start+c.text.search(/\S|$/),oo=Ot.start+Ot.text.search(/\S|$/);oo===dr+1&&Ot.end===c.start+c.text.length?(Ot.start-=1,c=null,D()):c=!1}else I==="insertText"?c===null?c=Ot:c&&Q.isCollapsed(O)&&c.end+c.text.length===Ge.offset?c=Nc(Nc({},c),{},{text:c.text+Oe}):c=!1:c=!1;if(Y){var Vn=e.selection;if(v(Ge.path,Ot),Vn){var On={path:Ge.path,offset:Ge.offset+Oe.length};y(()=>{re.select(e,{anchor:On,focus:On})},{at:On})}return}}return y(()=>_.insertText(e,Oe),{at:O})}}}}},x=()=>!!Zr.get(e),S=()=>{var N;return!!((N=sn.get(e))!==null&&N!==void 0&&N.length)},b=()=>x()||S(),k=()=>o,A=N=>{Dr.set(e,N),s&&(clearTimeout(s),s=null);var{selection:F}=e;if(N){var I=!F||!j.equals(F.anchor.path,N.anchor.path),O=!F||!j.equals(F.anchor.path.slice(0,-1),N.anchor.path.slice(0,-1));(I&&c||O)&&(c=!1),(I||S())&&(s=setTimeout(f,A8))}},E=()=>{(x()||!S())&&f()},T=N=>{S()||(w(!0),setTimeout(w))},D=()=>{x()||(a=setTimeout(f))},M=N=>{if(!(S()||x())&&N.some(I=>zh(e,I,N))){var F;(F=$1.get(e))===null||F===void 0||F()}};return{flush:f,scheduleFlush:D,hasPendingDiffs:S,hasPendingAction:x,hasPendingChanges:b,isFlushing:k,handleUserSelect:A,handleCompositionEnd:p,handleCompositionStart:m,handleDOMBeforeInput:g,handleKeyDown:T,handleDomMutations:M,handleInput:E}}function _8(){var t=C.useRef(!1);return C.useEffect(()=>(t.current=!0,()=>{t.current=!1}),[]),t.current}var ar=Sc?C.useLayoutEffect:C.useEffect;function N8(t,e,n){var[r]=C.useState(()=>new MutationObserver(e));ar(()=>{r.takeRecords()}),C.useEffect(()=>{if(!t.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");return r.observe(t.current,n),()=>r.disconnect()},[r,t,n])}var F8=["node"];function wk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function M8(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?wk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var I8={subtree:!0,childList:!0,characterData:!0},P8=Ut?t=>{var{node:e}=t,n=_c(t,F8);if(!Ut)return null;var r=$n(),o=_8(),[i]=C.useState(()=>T8(M8({editor:r},n)));return N8(e,i.handleDomMutations,I8),Rh.set(r,i.scheduleFlush),o&&i.flush(),i}:()=>null;function vk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function L8(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?vk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):vk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var z8=t=>{var{isLast:e,leaf:n,parent:r,text:o}=t,i=$n(),s=he.findPath(i,o),a=j.parent(s),l=!!n[j1];return i.isVoid(r)?C.createElement(tp,{length:we.string(r).length}):n.text===""&&r.children[r.children.length-1]===o&&!i.isInline(r)&&_.string(i,a)===""?C.createElement(tp,{isLineBreak:!0,isMarkPlaceholder:l}):n.text===""?C.createElement(tp,{isMarkPlaceholder:l}):e&&n.text.slice(-1)===`
56
+ `?C.createElement(yk,{isTrailing:!0,text:n.text}):C.createElement(yk,{text:n.text})},yk=t=>{var{text:e,isTrailing:n=!1}=t,r=C.useRef(null),o=()=>"".concat(e??"").concat(n?`
57
+ `:""),[i]=C.useState(o);return ar(()=>{var s=o();r.current&&r.current.textContent!==s&&(r.current.textContent=s)}),C.createElement(H8,{ref:r},i)},H8=C.memo(C.forwardRef((t,e)=>C.createElement("span",{"data-slate-string":!0,ref:e},t.children))),tp=t=>{var{length:e=0,isLineBreak:n=!1,isMarkPlaceholder:r=!1}=t,o={"data-slate-zero-width":n?"n":"z","data-slate-length":e};return r&&(o["data-slate-mark-placeholder"]=!0),C.createElement("span",L8({},o),!Ut||!n?"\uFEFF":null,n?C.createElement("br",null):null)};function bk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ck(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?bk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):bk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var $8=Ut?300:0;function j8(t,e){t.current&&(t.current.disconnect(),e&&(t.current=null))}function kk(t){t.current&&(clearTimeout(t.current),t.current=null)}var W8=t=>C.createElement(q8,Ck({},t)),V8=t=>{var{leaf:e,isLast:n,text:r,parent:o,renderPlaceholder:i,renderLeaf:s=W8,leafPosition:a}=t,l=$n(),c=C.useRef(null),u=C.useRef(null),[d,f]=C.useState(!1),p=C.useRef(null),m=C.useCallback(x=>{if(j8(c,x==null),x==null){var S;Vh.delete(l),(S=e.onPlaceholderResize)===null||S===void 0||S.call(e,null)}else{if(Vh.set(l,x),!c.current){var b=window.ResizeObserver||k8;c.current=new b(()=>{var k;(k=e.onPlaceholderResize)===null||k===void 0||k.call(e,x)})}c.current.observe(x),u.current=x}},[u,e,l]),w=C.createElement(z8,{isLast:n,leaf:e,parent:o,text:r}),v=!!e[Oi];if(C.useEffect(()=>(v?p.current||(p.current=setTimeout(()=>{f(!0),p.current=null},$8)):(kk(p),f(!1)),()=>kk(p)),[v,f]),v&&d){var y={children:e.placeholder,attributes:{"data-slate-placeholder":!0,style:{position:"absolute",top:0,pointerEvents:"none",width:"100%",maxWidth:"100%",display:"block",opacity:"0.333",userSelect:"none",textDecoration:"none",WebkitUserModify:No?"inherit":void 0},contentEditable:!1,ref:m}};w=C.createElement(C.Fragment,null,w,i(y))}var g={"data-slate-leaf":!0};return s({attributes:g,children:w,leaf:e,text:r,leafPosition:a})},U8=C.memo(V8,(t,e)=>e.parent===t.parent&&e.isLast===t.isLast&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&e.text===t.text&&De.equals(e.leaf,t.leaf)&&e.leaf[Oi]===t.leaf[Oi]),q8=t=>{var{attributes:e,children:n}=t;return C.createElement("span",Ck({},e),n)};function xk(t,e){var[,n]=C.useReducer(c=>c+1,0),r=C.useRef(),o=C.useRef(()=>null),i=C.useRef(null),s;try{if(t!==o.current||r.current){var a=t();e(i.current,a)?s=i.current:s=a}else s=i.current}catch(c){throw r.current&&R8(c)&&(c.message+=`
58
+ The error may be correlated with this previous error:
59
+ `.concat(r.current.stack,`
60
+
61
+ `)),c}o.current=t,i.current=s,r.current=void 0;var l=C.useCallback(()=>{try{var c=o.current();if(e(i.current,c))return;i.current=c}catch(u){u instanceof Error?r.current=u:r.current=new Error(String(u))}n()},[]);return[s,l]}function R8(t){return t instanceof Error}var Sk=C.createContext({}),Ek=(t,e)=>{var n=$n(),{decorate:r,addEventListener:o}=C.useContext(Sk),i=()=>{var c=he.findPath(n,t);return r([t,c])},s=De.isText(t)?ek:Xh,[a,l]=xk(i,s);return ar(()=>{var c=o(l);return l(),c},[o,l]),C.useMemo(()=>[...a,...e],[a,e])},G8=t=>{var e=C.useRef(new Set),n=C.useRef(t);ar(()=>{n.current=t,e.current.forEach(i=>i())},[t]);var r=C.useCallback(i=>n.current(i),[]),o=C.useCallback(i=>(e.current.add(i),()=>{e.current.delete(i)}),[]);return C.useMemo(()=>({decorate:r,addEventListener:o}),[r,o])};function Dk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ak(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Dk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Dk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var K8=t=>C.createElement(Y8,Ak({},t)),X8=t=>{for(var{decorations:e,isLast:n,parent:r,renderPlaceholder:o,renderLeaf:i,renderText:s=K8,text:a}=t,l=$n(),c=C.useRef(null),u=Ek(a,e),d=De.decorations(a,u),f=he.findKey(l,a),p=[],m=0;m<d.length;m++){var{leaf:w,position:v}=d[m];p.push(C.createElement(U8,{isLast:n&&m===d.length-1,key:"".concat(f.id,"-").concat(m),renderPlaceholder:o,leaf:w,leafPosition:v,text:a,parent:r,renderLeaf:i}))}var y=C.useCallback(x=>{var S=Dc.get(l);x?(S==null||S.set(f,x),Fo.set(a,x),ta.set(x,a)):(S==null||S.delete(f),Fo.delete(a),c.current&&ta.delete(c.current)),c.current=x},[c,l,f,a]),g={"data-slate-node":"text",ref:y};return s({text:a,children:p,attributes:g})},Ok=C.memo(X8,(t,e)=>e.parent===t.parent&&e.isLast===t.isLast&&e.renderText===t.renderText&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&e.text===t.text&&ek(e.decorations,t.decorations)),Y8=t=>{var{attributes:e,children:n}=t;return C.createElement("span",Ak({},e),n)};function Bk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function np(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Bk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Bk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var J8=t=>C.createElement(e5,np({},t)),Q8=t=>{var{decorations:e,element:n,renderElement:r=J8,renderChunk:o,renderPlaceholder:i,renderLeaf:s,renderText:a}=t,l=$n(),c=u5(),u=l.isInline(n),d=Ek(n,e),f=he.findKey(l,n),p=C.useCallback(S=>{var b=Dc.get(l);S?(b==null||b.set(f,S),Fo.set(n,S),ta.set(S,n)):(b==null||b.delete(f),Fo.delete(n))},[l,f,n]),m=Ik({decorations:d,node:n,renderElement:r,renderChunk:o,renderPlaceholder:i,renderLeaf:s,renderText:a}),w={"data-slate-node":"element",ref:p};if(u&&(w["data-slate-inline"]=!0),!u&&_.hasInlines(l,n)){var v=we.string(n),y=a1(v);y==="rtl"&&(w.dir=y)}if(_.isVoid(l,n)){w["data-slate-void"]=!0,!c&&u&&(w.contentEditable=!1);var g=u?"span":"div",[[x]]=we.texts(n);m=C.createElement(g,{"data-slate-spacer":!0,style:{height:"0",color:"transparent",outline:"none",position:"absolute"}},C.createElement(Ok,{renderPlaceholder:i,decorations:[],isLast:!1,parent:n,text:x})),Ai.set(x,0),Zs.set(x,n)}return r({attributes:w,children:m,element:n})},Z8=C.memo(Q8,(t,e)=>t.element===e.element&&t.renderElement===e.renderElement&&t.renderChunk===e.renderChunk&&t.renderText===e.renderText&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&Xh(t.decorations,e.decorations)),e5=t=>{var{attributes:e,children:n,element:r}=t,o=$n(),i=o.isInline(r)?"span":"div";return C.createElement(i,np(np({},e),{},{style:{position:"relative"}}),n)};class t5{constructor(e,n){var{chunkSize:r,debug:o}=n;ct(this,"root",void 0),ct(this,"chunkSize",void 0),ct(this,"debug",void 0),ct(this,"reachedEnd",void 0),ct(this,"pointerChunk",void 0),ct(this,"pointerIndex",void 0),ct(this,"pointerIndexStack",void 0),ct(this,"cachedPointerNode",void 0),this.root=e,this.chunkSize=r,this.debug=o??!1,this.pointerChunk=e,this.pointerIndex=-1,this.pointerIndexStack=[],this.reachedEnd=!1,this.validateState()}readLeaf(){if(this.reachedEnd)return null;for(;;)if(this.pointerIndex+1<this.pointerSiblings.length){this.pointerIndex++,this.cachedPointerNode=void 0;break}else{if(this.pointerChunk.type==="root")return this.reachedEnd=!0,null;this.exitChunk()}return this.validateState(),this.enterChunkUntilLeaf(!1),this.pointerNode}returnToPreviousLeaf(){if(this.reachedEnd){this.reachedEnd=!1,this.enterChunkUntilLeaf(!0);return}for(;;)if(this.pointerIndex>=1){this.pointerIndex--,this.cachedPointerNode=void 0;break}else if(this.pointerChunk.type==="root"){this.pointerIndex=-1;return}else this.exitChunk();this.validateState(),this.enterChunkUntilLeaf(!0)}insertBefore(e){this.returnToPreviousLeaf(),this.insertAfter(e),this.readLeaf()}insertAfter(e){if(e.length!==0){for(var n=0,r=0;this.pointerChunk.type==="chunk"&&this.pointerIndex===this.pointerSiblings.length-1;){var o=this.chunkSize-this.pointerSiblings.length,i=Math.min(o,e.length);if(i>0){var s=e.splice(0,i);this.rawInsertAfter(s,n)}this.exitChunk(),n++}if(e.length!==0){var a=this.savePointer(),l=null;if(this.readLeaf())for(;this.pointerChunk.type==="chunk"&&this.pointerIndex===0;){var c=this.chunkSize-this.pointerSiblings.length,u=Math.min(c,e.length);if(u>0){var d=e.splice(-u,u);this.pointerIndex=-1,this.cachedPointerNode=void 0,this.rawInsertAfter(d,r),l||(l=this.savePointer())}this.exitChunk(),r++}this.restorePointer(a);var f=Math.max(n,r);this.rawInsertAfter(e,f),l&&this.restorePointer(l),this.validateState()}}}remove(){this.pointerSiblings.splice(this.pointerIndex--,1),this.cachedPointerNode=void 0,this.pointerSiblings.length===0&&this.pointerChunk.type==="chunk"?(this.exitChunk(),this.remove()):this.invalidateChunk(),this.validateState()}invalidateChunk(){for(var e=this.pointerChunk;e.type==="chunk";e=e.parent)this.root.modifiedChunks.add(e)}get atStart(){return this.pointerChunk.type==="root"&&this.pointerIndex===-1}get pointerSiblings(){return this.pointerChunk.children}getPointerNode(){return this.reachedEnd||this.pointerIndex===-1?null:this.pointerSiblings[this.pointerIndex]}get pointerNode(){if(this.cachedPointerNode!==void 0)return this.cachedPointerNode;var e=this.getPointerNode();return this.cachedPointerNode=e,e}getChunkPath(e){for(var n=[],r=e;r.type==="chunk";r=r.parent){var o=r.parent.children.indexOf(r);if(o===-1)return null;n.unshift(o)}return n}savePointer(){if(this.atStart)return"start";if(!this.pointerNode)throw new Error("Cannot save pointer when pointerNode is null");return{chunk:this.pointerChunk,node:this.pointerNode}}restorePointer(e){if(e==="start"){this.pointerChunk=this.root,this.pointerIndex=-1,this.pointerIndexStack=[],this.reachedEnd=!1,this.cachedPointerNode=void 0;return}var{chunk:n,node:r}=e,o=n.children.indexOf(r);if(o===-1)throw new Error("Cannot restore point because saved node is no longer in saved chunk");var i=this.getChunkPath(n);if(!i)throw new Error("Cannot restore point because saved chunk is no longer connected to root");this.pointerChunk=n,this.pointerIndex=o,this.pointerIndexStack=i,this.reachedEnd=!1,this.cachedPointerNode=r,this.validateState()}enterChunk(e){var n;if(((n=this.pointerNode)===null||n===void 0?void 0:n.type)!=="chunk")throw new Error("Cannot enter non-chunk");if(this.pointerIndexStack.push(this.pointerIndex),this.pointerChunk=this.pointerNode,this.pointerIndex=e?this.pointerSiblings.length-1:0,this.cachedPointerNode=void 0,this.validateState(),this.pointerChunk.children.length===0)throw new Error("Cannot enter empty chunk")}enterChunkUntilLeaf(e){for(;((n=this.pointerNode)===null||n===void 0?void 0:n.type)==="chunk";){var n;this.enterChunk(e)}}exitChunk(){if(this.pointerChunk.type==="root")throw new Error("Cannot exit root");var e=this.pointerChunk;this.pointerChunk=e.parent,this.pointerIndex=this.pointerIndexStack.pop(),this.cachedPointerNode=void 0,this.validateState()}rawInsertAfter(e,n){if(e.length!==0){for(var r=(u,d,f)=>{if(f===1)return u;for(var p=[],m=0;m<this.chunkSize;m++){var w=u.slice(m*f,(m+1)*f);if(w.length===0)break;var v={type:"chunk",key:new z1,parent:d,children:[]};v.children=r(w,v,f/this.chunkSize),p.push(v)}return p},o=this.pointerSiblings.length+e.length,i=0,s=this.chunkSize;s<o;s*=this.chunkSize)i++;var a=Math.max(i,n),l=Math.pow(this.chunkSize,a),c=r(e,this.pointerChunk,l);this.pointerSiblings.splice(this.pointerIndex+1,0,...c),this.pointerIndex+=c.length,this.cachedPointerNode=void 0,this.invalidateChunk(),this.validateState()}}validateState(){if(this.debug){var e=r=>{if(r.type==="chunk"){var{parent:o,children:i}=r;if(!o.children.includes(r))throw new Error("Debug: Chunk ".concat(r.key.id," has an incorrect parent property"));i.forEach(e)}};if(this.root.children.forEach(e),this.cachedPointerNode!==void 0&&this.cachedPointerNode!==this.getPointerNode())throw new Error("Debug: The cached pointer is incorrect and has not been invalidated");var n=this.getChunkPath(this.pointerChunk);if(!n)throw new Error("Debug: The pointer chunk is not connected to the root");if(!j.equals(this.pointerIndexStack,n))throw new Error("Debug: The cached index stack [".concat(this.pointerIndexStack.join(", "),"] does not match the path of the pointer chunk [").concat(n.join(", "),"]"))}}}class n5{constructor(e,n){ct(this,"editor",void 0),ct(this,"children",void 0),ct(this,"cachedKeys",void 0),ct(this,"pointerIndex",void 0),this.editor=e,this.children=n,this.cachedKeys=new Array(n.length),this.pointerIndex=0}read(e){if(e===1)return[this.children[this.pointerIndex++]];var n=this.remaining(e);return this.pointerIndex+=e,n}remaining(e){return e===void 0?this.children.slice(this.pointerIndex):this.children.slice(this.pointerIndex,this.pointerIndex+e)}get reachedEnd(){return this.pointerIndex>=this.children.length}lookAhead(e,n){var r=this.children.indexOf(e,this.pointerIndex);if(r>-1)return r-this.pointerIndex;for(var o=this.pointerIndex;o<this.children.length;o++){var i=this.children[o],s=this.findKey(i,o);if(s===n)return o-this.pointerIndex}return-1}toChunkLeaves(e,n){return e.map((r,o)=>({type:"leaf",node:r,key:this.findKey(r,n+o),index:n+o}))}findKey(e,n){var r=this.cachedKeys[n];if(r)return r;var o=he.findKey(this.editor,e);return this.cachedKeys[n]=o,o}}var r5=(t,e)=>{var{chunkTree:n,children:r,chunkSize:o,rerenderChildren:i=[],onInsert:s,onUpdate:a,onIndexChange:l,debug:c}=e;n.modifiedChunks.clear();for(var u=new t5(n,{chunkSize:o,debug:c}),d=new n5(t,r),f,p=function(){var y=d.lookAhead(f.node,f.key),g=y>0&&n.movedNodeKeys.has(f.key);if(y===-1||g)return u.remove(),1;var x=d.pointerIndex,S=d.read(y+1),b=S.pop();if(S.length){var k=d.toChunkLeaves(S,x);u.insertBefore(k),S.forEach((E,T)=>{s==null||s(E,x+T)})}var A=d.pointerIndex-1;f.node!==b&&(f.node=b,u.invalidateChunk(),a==null||a(b,A)),f.index!==A&&(f.index=A,l==null||l(b,A)),i.includes(A)&&u.invalidateChunk()};f=u.readLeaf();)p();if(!d.reachedEnd){var m=d.remaining(),w=d.toChunkLeaves(m,d.pointerIndex);u.returnToPreviousLeaf(),u.insertAfter(w),m.forEach((v,y)=>{s==null||s(v,d.pointerIndex+y)})}n.movedNodeKeys.clear()};function Tk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function o5(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Tk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var _k=new WeakMap,Nk=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=he.findKey(e,n),i=_k.get(o);return i||(i={type:"root",movedNodeKeys:new Set,modifiedChunks:new Set,children:[]},_k.set(o,i)),r.reconcile&&r5(e,o5({chunkTree:i,children:n.children},r.reconcile)),i},i5=t=>{var{children:e}=t;return e},Fk=t=>{var{root:e,ancestor:n,renderElement:r,renderChunk:o=i5}=t;return n.children.map(i=>{if(i.type==="chunk"){var s=i.key.id,a=o({highest:n===e,lowest:i.children.some(c=>c.type==="leaf"),attributes:{"data-slate-chunk":!0},children:C.createElement(a5,{root:e,ancestor:i,renderElement:r,renderChunk:o})});return C.createElement(C.Fragment,{key:s},a)}var l=i.node;return r(l,i.index,i.key)})},s5=Fk,a5=C.memo(Fk,(t,e)=>t.root===e.root&&t.renderElement===e.renderElement&&t.renderChunk===e.renderChunk&&!e.root.modifiedChunks.has(e.ancestor)),Mk=C.createContext(null),l5=()=>C.useContext(Mk),Ik=t=>{var{decorations:e,node:n,renderElement:r,renderChunk:o,renderPlaceholder:i,renderText:s,renderLeaf:a}=t,l=$n();Di.set(l,!1);var c=_.isEditor(n),u=!c&&Ee.isElement(n)&&!l.isInline(n),d=u&&_.hasInlines(l,n),f=d?null:l.getChunkSize(n),p=!!f,{decorationsByChild:m,childrenToRedecorate:w}=c5(l,n,e);p||n.children.forEach((x,S)=>{Ai.set(x,S),Zs.set(x,n)});var v=C.useCallback((x,S,b)=>{var k=b??he.findKey(l,x);return C.createElement(Mk.Provider,{key:"provider-".concat(k.id),value:x},C.createElement(Z8,{decorations:m[S],element:x,key:k.id,renderElement:r,renderChunk:o,renderPlaceholder:i,renderLeaf:a,renderText:s}))},[l,m,r,o,i,a,s]),y=(x,S)=>{var b=he.findKey(l,x);return C.createElement(Ok,{decorations:m[S],key:b.id,isLast:S===n.children.length-1,parent:n,renderPlaceholder:i,renderLeaf:a,renderText:s,text:x})};if(!p)return n.children.map((x,S)=>De.isText(x)?y(x,S):v(x,S));var g=Nk(l,n,{reconcile:{chunkSize:f,rerenderChildren:w,onInsert:(x,S)=>{Ai.set(x,S),Zs.set(x,n)},onUpdate:(x,S)=>{Ai.set(x,S),Zs.set(x,n)},onIndexChange:(x,S)=>{Ai.set(x,S)}}});return C.createElement(s5,{root:g,ancestor:g,renderElement:v,renderChunk:o})},c5=(t,e,n)=>{var r=t8(t,e,n),o=C.useRef(r).current,i=[];o.length=r.length;for(var s=0;s<r.length;s++){var a,l=r[s],c=(a=o[s])!==null&&a!==void 0?a:null;Xh(c,l)||(o[s]=l,i.push(s))}return{decorationsByChild:o,childrenToRedecorate:i}},Pk=C.createContext(!1),u5=()=>C.useContext(Pk),Fc=C.createContext({}),d5=(t,e)=>t===e;function f5(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d5,{deferred:n}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=C.useContext(Fc);if(!r)throw new Error("The `useSlateSelector` hook must be used inside the <Slate> component's context.");var{addEventListener:o}=r,i=$n(),s=C.useCallback(()=>t(i),[i,t]),[a,l]=xk(s,e);return ar(()=>{var c=o(l,{deferred:n});return l(),c},[o,l,n]),a}function h5(){var t=C.useRef(new Set),e=C.useRef(new Set),n=C.useCallback(()=>{t.current.forEach(s=>s())},[]),r=C.useCallback(()=>{e.current.forEach(s=>s()),e.current.clear()},[]),o=C.useCallback(function(s){var{deferred:a=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=a?()=>e.current.add(s):s;return t.current.add(l),()=>{t.current.delete(l)}},[]),i=C.useMemo(()=>({addEventListener:o,flushDeferred:r}),[o,r]);return{selectorContext:i,onChange:n}}function p5(){var{flushDeferred:t}=C.useContext(Fc);ar(t)}var m5=()=>{var{addEventListener:t}=C.useContext(Fc),[,e]=C.useReducer(n=>n+1,0);if(!t)throw new Error("The `useSlate` hook must be used inside the <Slate> component's context.");return ar(()=>t(e),[t]),$n()};function g5(){var t=$n(),e=C.useRef(!1),n=C.useRef(0),r=C.useCallback(()=>{if(!e.current){e.current=!0;var o=he.getWindow(t);o.cancelAnimationFrame(n.current),n.current=o.requestAnimationFrame(()=>{e.current=!1})}},[t]);return C.useEffect(()=>()=>cancelAnimationFrame(n.current),[]),{receivedUserInput:e,onUserInput:r}}var w5=(t,e)=>{var n=[],r=()=>{n=[]},o=s=>{if(e.current){var a=s.filter(l=>zh(t,l,s));n.push(...a)}};function i(){n.length>0&&(n.reverse().forEach(s=>{s.type!=="characterData"&&(s.removedNodes.forEach(a=>{s.target.insertBefore(a,s.nextSibling)}),s.addedNodes.forEach(a=>{s.target.removeChild(a)}))}),r())}return{registerMutations:o,restoreDOM:i,clear:r}},v5={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0};class Lk extends C.Component{constructor(){super(...arguments),ct(this,"context",null),ct(this,"manager",null),ct(this,"mutationObserver",null)}observe(){var e,{node:n}=this.props;if(!n.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");(e=this.mutationObserver)===null||e===void 0||e.observe(n.current,v5)}componentDidMount(){var{receivedUserInput:e}=this.props,n=this.context;this.manager=w5(n,e),this.mutationObserver=new MutationObserver(this.manager.registerMutations),this.observe()}getSnapshotBeforeUpdate(){var e,n,r,o=(e=this.mutationObserver)===null||e===void 0?void 0:e.takeRecords();if(o!=null&&o.length){var i;(i=this.manager)===null||i===void 0||i.registerMutations(o)}return(n=this.mutationObserver)===null||n===void 0||n.disconnect(),(r=this.manager)===null||r===void 0||r.restoreDOM(),null}componentDidUpdate(){var e;(e=this.manager)===null||e===void 0||e.clear(),this.observe()}componentWillUnmount(){var e;(e=this.mutationObserver)===null||e===void 0||e.disconnect()}render(){return this.props.children}}ct(Lk,"contextType",ep);var y5=Ut?Lk:t=>{var{children:e}=t;return C.createElement(C.Fragment,null,e)},b5=C.createContext(!1),C5=["autoFocus","decorate","onDOMBeforeInput","placeholder","readOnly","renderElement","renderChunk","renderLeaf","renderText","renderPlaceholder","scrollSelectionIntoView","style","as","disableDefaultStyles"],k5=["text"];function zk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function lr(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?zk(Object(n),!0).forEach(function(r){ct(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):zk(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var x5=t=>C.createElement(C.Fragment,null,Ik(t)),Hk=C.forwardRef((t,e)=>{var n=C.useCallback(P=>C.createElement(S5,lr({},P)),[]),{autoFocus:r,decorate:o=E5,onDOMBeforeInput:i,placeholder:s,readOnly:a=!1,renderElement:l,renderChunk:c,renderLeaf:u,renderText:d,renderPlaceholder:f=n,scrollSelectionIntoView:p=D5,style:m={},as:w="div",disableDefaultStyles:v=!1}=t,y=_c(t,C5),g=m5(),[x,S]=C.useState(!1),b=C.useRef(null),k=C.useRef([]),[A,E]=C.useState(),T=C.useRef(!1),{onUserInput:D,receivedUserInput:M}=g5(),[,N]=C.useReducer(P=>P+1,0);$1.set(g,N),Uh.set(g,a);var F=C.useMemo(()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1}),[]);C.useEffect(()=>{b.current&&r&&b.current.focus()},[r]);var I=C.useRef(),O=C.useMemo(()=>m4(()=>{if(Di.get(g)){O();return}var P=he.toDOMNode(g,g),U=P.getRootNode();if(!T.current&&No&&U instanceof ShadowRoot){T.current=!0;var G=O4();G?document.execCommand("indent"):re.deselect(g),T.current=!1;return}var X=I.current;if((Ut||!he.isComposing(g))&&(!F.isUpdatingSelection||X!=null&&X.isFlushing())&&!F.isDraggingInternally){var ge=he.findDocumentOrShadowRoot(g),{activeElement:ue}=ge,Pe=he.toDOMNode(g,g),$e=Js(ge);if(ue===Pe?(F.latestElement=ue,Qr.set(g,!0)):Qr.delete(g),!$e)return re.deselect(g);var{anchorNode:de,focusNode:Me}=$e,Oe=he.hasEditableTarget(g,de)||he.isTargetInsideNonReadonlyVoid(g,de),Ge=he.hasTarget(g,Me);if(Oe&&Ge){var Ye=he.toSlateRange(g,$e,{exactMatch:!1,suppressThrow:!0});Ye&&(!he.isComposing(g)&&!(X!=null&&X.hasPendingChanges())&&!(X!=null&&X.isFlushing())?re.select(g,Ye):X==null||X.handleUserSelect(Ye))}a&&(!Oe||!Ge)&&re.deselect(g)}},100),[g,a,F]),H=C.useMemo(()=>f4(O,0),[O]);I.current=P8({node:b,onDOMSelectionChange:O,scheduleOnDOMSelectionChange:H}),ar(()=>{var P,U,G;b.current&&(G=Ph(b.current))?(H1.set(g,G),ea.set(g,b.current),Fo.set(g,b.current),ta.set(b.current,g)):Fo.delete(g);var{selection:X}=g,ge=he.findDocumentOrShadowRoot(g),ue=Js(ge);if(!(!ue||!he.isFocused(g)||(P=I.current)!==null&&P!==void 0&&P.hasPendingAction())){var Pe=Oe=>{var Ge=ue.type!=="None";if(!(!X&&!Ge)){var Ye=ue.focusNode,Ot;if(Ei&&ue.rangeCount>1){var dr=ue.getRangeAt(0),oo=ue.getRangeAt(ue.rangeCount-1);dr.startContainer===Ye?Ot=oo.endContainer:Ot=dr.startContainer}else Ot=ue.anchorNode;var Vn=ea.get(g),On=!1;if(_o(Vn,Ot)&&_o(Vn,Ye)&&(On=!0),Ge&&On&&X&&!Oe){var Xt=he.toSlateRange(g,ue,{exactMatch:!0,suppressThrow:!0});if(Xt&&Q.equals(Xt,X)){var vt;if(!F.hasMarkPlaceholder||(vt=Ot)!==null&&vt!==void 0&&(vt=vt.parentElement)!==null&&vt!==void 0&&vt.hasAttribute("data-slate-mark-placeholder"))return}}if(X&&!he.hasRange(g,X)){g.selection=he.toSlateRange(g,ue,{exactMatch:!1,suppressThrow:!0});return}F.isUpdatingSelection=!0;var xt=null;try{xt=X&&he.toDOMRange(g,X)}catch{}return xt?(he.isComposing(g)&&!Ut?ue.collapseToEnd():Q.isBackward(X)?ue.setBaseAndExtent(xt.endContainer,xt.endOffset,xt.startContainer,xt.startOffset):ue.setBaseAndExtent(xt.startContainer,xt.startOffset,xt.endContainer,xt.endOffset),p(g,xt)):ue.removeAllRanges(),xt}};ue.rangeCount<=1&&Pe();var $e=((U=I.current)===null||U===void 0?void 0:U.isFlushing())==="action";if(!Ut||!$e){setTimeout(()=>{F.isUpdatingSelection=!1});return}var de=null,Me=requestAnimationFrame(()=>{if($e){var Oe=Ge=>{try{var Ye=he.toDOMNode(g,g);Ye.focus(),Pe(Ge)}catch{}};Oe(),de=setTimeout(()=>{Oe(!0),F.isUpdatingSelection=!1})}});return()=>{cancelAnimationFrame(Me),de&&clearTimeout(de)}}});var L=C.useCallback(P=>{$k(g,P);var U=he.toDOMNode(g,g),G=U.getRootNode();if(T!=null&&T.current&&No&&G instanceof ShadowRoot){var X=P.getTargetRanges(),ge=X[0],ue=new window.Range;ue.setStart(ge.startContainer,ge.startOffset),ue.setEnd(ge.endContainer,ge.endOffset);var Pe=he.toSlateRange(g,ue,{exactMatch:!1,suppressThrow:!1});re.select(g,Pe),P.preventDefault(),P.stopImmediatePropagation();return}if(D(),!a&&he.hasEditableTarget(g,P.target)&&!A5(P,i)){var $e;if(I.current)return I.current.handleDOMBeforeInput(P);H.flush(),O.flush();var{selection:de}=g,{inputType:Me}=P,Oe=P.dataTransfer||P.data||void 0,Ge=Me==="insertCompositionText"||Me==="deleteCompositionText";if(Ge&&he.isComposing(g))return;var Ye=!1;if(Me==="insertText"&&de&&Q.isCollapsed(de)&&P.data&&P.data.length===1&&/[a-z ]/i.test(P.data)&&de.anchor.offset!==0&&(Ye=!0,g.marks&&(Ye=!1),!Di.get(g))){var Ot,dr,{anchor:oo}=de,[Vn,On]=he.toDOMPoint(g,oo),Xt=(Ot=Vn.parentElement)===null||Ot===void 0?void 0:Ot.closest("a"),vt=he.getWindow(g);if(Ye&&Xt&&he.hasDOMNode(g,Xt)){var xt,io=vt==null?void 0:vt.document.createTreeWalker(Xt,NodeFilter.SHOW_TEXT).lastChild();io===Vn&&((xt=io.textContent)===null||xt===void 0?void 0:xt.length)===On&&(Ye=!1)}if(Ye&&Vn.parentElement&&(vt==null||(dr=vt.getComputedStyle(Vn.parentElement))===null||dr===void 0?void 0:dr.whiteSpace)==="pre"){var $i=_.above(g,{at:oo.path,match:cu=>Ee.isElement(cu)&&_.isBlock(g,cu)});$i&&we.string($i[0]).includes(" ")&&(Ye=!1)}}if((!Me.startsWith("delete")||Me.startsWith("deleteBy"))&&!Di.get(g)){var[_r]=P.getTargetRanges();if(_r){var au=he.toSlateRange(g,_r,{exactMatch:!1,suppressThrow:!1});if(!de||!Q.equals(de,au)){Ye=!1;var lu=!Ge&&g.selection&&_.rangeRef(g,g.selection);re.select(g,au),lu&&na.set(g,lu)}}}if(Ge)return;if(Ye||P.preventDefault(),de&&Q.isExpanded(de)&&Me.startsWith("delete")){var Om=Me.endsWith("Backward")?"backward":"forward";_.deleteFragment(g,{direction:Om});return}switch(Me){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":{_.deleteFragment(g);break}case"deleteContent":case"deleteContentForward":{_.deleteForward(g);break}case"deleteContentBackward":{_.deleteBackward(g);break}case"deleteEntireSoftLine":{_.deleteBackward(g,{unit:"line"}),_.deleteForward(g,{unit:"line"});break}case"deleteHardLineBackward":{_.deleteBackward(g,{unit:"block"});break}case"deleteSoftLineBackward":{_.deleteBackward(g,{unit:"line"});break}case"deleteHardLineForward":{_.deleteForward(g,{unit:"block"});break}case"deleteSoftLineForward":{_.deleteForward(g,{unit:"line"});break}case"deleteWordBackward":{_.deleteBackward(g,{unit:"word"});break}case"deleteWordForward":{_.deleteForward(g,{unit:"word"});break}case"insertLineBreak":_.insertSoftBreak(g);break;case"insertParagraph":{_.insertBreak(g);break}case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":{Me==="insertFromComposition"&&he.isComposing(g)&&(S(!1),Mo.set(g,!1)),(Oe==null?void 0:Oe.constructor.name)==="DataTransfer"?he.insertData(g,Oe):typeof Oe=="string"&&(Ye?k.current.push(()=>_.insertText(g,Oe)):_.insertText(g,Oe));break}}var ji=($e=na.get(g))===null||$e===void 0?void 0:$e.unref();na.delete(g),ji&&(!g.selection||!Q.equals(g.selection,ji))&&re.select(g,ji)}},[g,O,D,i,a,H]),W=C.useCallback(P=>{P==null?(O.cancel(),H.cancel(),ea.delete(g),Fo.delete(g),b.current&&Jr&&b.current.removeEventListener("beforeinput",L)):Jr&&P.addEventListener("beforeinput",L),b.current=P,typeof e=="function"?e(P):e&&(e.current=P)},[O,H,g,L,e]);ar(()=>{var P=he.getWindow(g),U=X=>{var{target:ge}=X,ue=ge instanceof HTMLElement?ge:null,Pe=ue==null?void 0:ue.tagName;Pe==="INPUT"||Pe==="TEXTAREA"||H()};P.document.addEventListener("selectionchange",U);var G=()=>{F.isDraggingInternally=!1};return P.document.addEventListener("dragend",G),P.document.addEventListener("drop",G),()=>{P.document.removeEventListener("selectionchange",U),P.document.removeEventListener("dragend",G),P.document.removeEventListener("drop",G)}},[H,F]);var R=o([g,[]]),Y=G8(o),K=s&&g.children.length===1&&Array.from(we.texts(g)).length===1&&we.string(g)===""&&!x,le=C.useCallback(P=>{if(P&&K){var U;E((U=P.getBoundingClientRect())===null||U===void 0?void 0:U.height)}else E(void 0)},[K]);if(K){var $=_.start(g,[]);R.push({[Oi]:!0,placeholder:s,onPlaceholderResize:le,anchor:$,focus:$})}var{marks:V}=g;if(F.hasMarkPlaceholder=!1,g.selection&&Q.isCollapsed(g.selection)&&V){var{anchor:q}=g.selection,ee=we.leaf(g,q.path),pe=_c(ee,k5);if(!De.equals(ee,V,{loose:!0})){F.hasMarkPlaceholder=!0;var se=Object.fromEntries(Object.keys(pe).map(P=>[P,null]));R.push(lr(lr(lr({[j1]:!0},se),V),{},{anchor:q,focus:q}))}}return C.useEffect(()=>{setTimeout(()=>{var{selection:P}=g;if(P){var{anchor:U}=P,G=we.leaf(g,U.path);if(V&&!De.equals(G,V,{loose:!0})){Hn.set(g,V);return}}Hn.delete(g)})}),p5(),C.createElement(Pk.Provider,{value:a},C.createElement(b5.Provider,{value:x},C.createElement(Sk.Provider,{value:Y},C.createElement(y5,{node:b,receivedUserInput:M},C.createElement(w,lr(lr({role:a?void 0:"textbox","aria-multiline":a?void 0:!0,translate:"no"},y),{},{spellCheck:Jr||!Sc?y.spellCheck:!1,autoCorrect:Jr||!Sc?y.autoCorrect:"false",autoCapitalize:Jr||!Sc?y.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!a,zindex:-1,suppressContentEditableWarning:!0,ref:W,style:lr(lr({},v?{}:lr({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},A?{minHeight:A}:{})),m),onBeforeInput:C.useCallback(P=>{if(!Jr&&!a&&!Kt(P,y.onBeforeInput)&&he.hasSelectableTarget(g,P.target)&&(P.preventDefault(),!he.isComposing(g))){var U=P.data;_.insertText(g,U)}},[y.onBeforeInput,g,a]),onInput:C.useCallback(P=>{if(!Kt(P,y.onInput)){if(I.current){I.current.handleInput();return}for(var U of k.current)U();k.current=[],he.isFocused(g)||$k(g,P.nativeEvent)}},[y.onInput,g]),onBlur:C.useCallback(P=>{if(!(a||F.isUpdatingSelection||!he.hasSelectableTarget(g,P.target)||Kt(P,y.onBlur))){var U=he.findDocumentOrShadowRoot(g);if(F.latestElement!==U.activeElement){var{relatedTarget:G}=P,X=he.toDOMNode(g,g);if(G!==X&&!(Dn(G)&&G.hasAttribute("data-slate-spacer"))){if(G!=null&&Yr(G)&&he.hasDOMNode(g,G)){var ge=he.toSlateNode(g,G);if(Ee.isElement(ge)&&!g.isVoid(ge))return}if(No){var ue=Js(U);ue==null||ue.removeAllRanges()}Qr.delete(g)}}}},[a,F.isUpdatingSelection,F.latestElement,g,y.onBlur]),onClick:C.useCallback(P=>{if(he.hasTarget(g,P.target)&&!Kt(P,y.onClick)&&Yr(P.target)){var U=he.toSlateNode(g,P.target),G=he.findPath(g,U);if(!_.hasPath(g,G)||we.get(g,G)!==U)return;if(P.detail===G4&&G.length>=1){var X=G;if(!(Ee.isElement(U)&&_.isBlock(g,U))){var ge,ue=_.above(g,{match:Ye=>Ee.isElement(Ye)&&_.isBlock(g,Ye),at:G});X=(ge=ue==null?void 0:ue[1])!==null&&ge!==void 0?ge:G.slice(0,1)}var Pe=_.range(g,X);re.select(g,Pe);return}if(a)return;var $e=_.start(g,G),de=_.end(g,G),Me=_.void(g,{at:$e}),Oe=_.void(g,{at:de});if(Me&&Oe&&j.equals(Me[1],Oe[1])){var Ge=_.range(g,$e);re.select(g,Ge)}}},[g,y.onClick,a]),onCompositionEnd:C.useCallback(P=>{if(!sa(P)&&he.hasSelectableTarget(g,P.target)){var U;if(he.isComposing(g)&&Promise.resolve().then(()=>{S(!1),Mo.set(g,!1)}),(U=I.current)===null||U===void 0||U.handleCompositionEnd(P),Kt(P,y.onCompositionEnd)||Ut)return;if(!No&&!F4&&!T4&&!I4&&!M4&&P.data){var G=Hn.get(g);Hn.delete(g),G!==void 0&&(Er.set(g,g.marks),g.marks=G),_.insertText(g,P.data);var X=Er.get(g);Er.delete(g),X!==void 0&&(g.marks=X)}}},[y.onCompositionEnd,g]),onCompositionUpdate:C.useCallback(P=>{he.hasSelectableTarget(g,P.target)&&!Kt(P,y.onCompositionUpdate)&&!sa(P)&&(he.isComposing(g)||(S(!0),Mo.set(g,!0)))},[y.onCompositionUpdate,g]),onCompositionStart:C.useCallback(P=>{if(!sa(P)&&he.hasSelectableTarget(g,P.target)){var U;if((U=I.current)===null||U===void 0||U.handleCompositionStart(P),Kt(P,y.onCompositionStart)||Ut)return;S(!0);var{selection:G}=g;if(G&&Q.isExpanded(G)){_.deleteFragment(g);return}}},[y.onCompositionStart,g]),onCopy:C.useCallback(P=>{he.hasSelectableTarget(g,P.target)&&!Kt(P,y.onCopy)&&!sa(P)&&(P.preventDefault(),he.setFragmentData(g,P.clipboardData,"copy"))},[y.onCopy,g]),onCut:C.useCallback(P=>{if(!a&&he.hasSelectableTarget(g,P.target)&&!Kt(P,y.onCut)&&!sa(P)){P.preventDefault(),he.setFragmentData(g,P.clipboardData,"cut");var{selection:U}=g;if(U)if(Q.isExpanded(U))_.deleteFragment(g);else{var G=we.parent(g,U.anchor.path);_.isVoid(g,G)&&re.delete(g)}}},[a,g,y.onCut]),onDragOver:C.useCallback(P=>{if(he.hasTarget(g,P.target)&&!Kt(P,y.onDragOver)){var U=he.toSlateNode(g,P.target);Ee.isElement(U)&&_.isVoid(g,U)&&P.preventDefault()}},[y.onDragOver,g]),onDragStart:C.useCallback(P=>{if(!a&&he.hasTarget(g,P.target)&&!Kt(P,y.onDragStart)){var U=he.toSlateNode(g,P.target),G=he.findPath(g,U),X=Ee.isElement(U)&&_.isVoid(g,U)||_.void(g,{at:G,voids:!0});if(X){var ge=_.range(g,G);re.select(g,ge)}F.isDraggingInternally=!0,he.setFragmentData(g,P.dataTransfer,"drag")}},[a,g,y.onDragStart,F]),onDrop:C.useCallback(P=>{if(!a&&he.hasTarget(g,P.target)&&!Kt(P,y.onDrop)){P.preventDefault();var U=g.selection,G=he.findEventRange(g,P),X=P.dataTransfer;re.select(g,G),F.isDraggingInternally&&U&&!Q.equals(U,G)&&!_.void(g,{at:G,voids:!0})&&re.delete(g,{at:U}),he.insertData(g,X),he.isFocused(g)||he.focus(g)}},[a,g,y.onDrop,F]),onDragEnd:C.useCallback(P=>{!a&&F.isDraggingInternally&&y.onDragEnd&&he.hasTarget(g,P.target)&&y.onDragEnd(P)},[a,F,y,g]),onFocus:C.useCallback(P=>{if(!a&&!F.isUpdatingSelection&&he.hasEditableTarget(g,P.target)&&!Kt(P,y.onFocus)){var U=he.toDOMNode(g,g),G=he.findDocumentOrShadowRoot(g);if(F.latestElement=G.activeElement,Ei&&P.target!==U){U.focus();return}Qr.set(g,!0)}},[a,F,g,y.onFocus]),onKeyDown:C.useCallback(P=>{if(!a&&he.hasEditableTarget(g,P.target)){var U;(U=I.current)===null||U===void 0||U.handleKeyDown(P);var{nativeEvent:G}=P;if(he.isComposing(g)&&G.isComposing===!1&&(Mo.set(g,!1),S(!1)),Kt(P,y.onKeyDown)||he.isComposing(g))return;var{selection:X}=g,ge=g.children[X!==null?X.focus.path[0]:0],ue=a1(we.string(ge))==="rtl";if(ut.isRedo(G)){P.preventDefault();var Pe=g;typeof Pe.redo=="function"&&Pe.redo();return}if(ut.isUndo(G)){P.preventDefault();var $e=g;typeof $e.undo=="function"&&$e.undo();return}if(ut.isMoveLineBackward(G)){P.preventDefault(),re.move(g,{unit:"line",reverse:!0});return}if(ut.isMoveLineForward(G)){P.preventDefault(),re.move(g,{unit:"line"});return}if(ut.isExtendLineBackward(G)){P.preventDefault(),re.move(g,{unit:"line",edge:"focus",reverse:!0});return}if(ut.isExtendLineForward(G)){P.preventDefault(),re.move(g,{unit:"line",edge:"focus"});return}if(ut.isMoveBackward(G)){P.preventDefault(),X&&Q.isCollapsed(X)?re.move(g,{reverse:!ue}):re.collapse(g,{edge:ue?"end":"start"});return}if(ut.isMoveForward(G)){P.preventDefault(),X&&Q.isCollapsed(X)?re.move(g,{reverse:ue}):re.collapse(g,{edge:ue?"start":"end"});return}if(ut.isMoveWordBackward(G)){P.preventDefault(),X&&Q.isExpanded(X)&&re.collapse(g,{edge:"focus"}),re.move(g,{unit:"word",reverse:!ue});return}if(ut.isMoveWordForward(G)){P.preventDefault(),X&&Q.isExpanded(X)&&re.collapse(g,{edge:"focus"}),re.move(g,{unit:"word",reverse:ue});return}if(Jr){if((jh||No)&&X&&(ut.isDeleteBackward(G)||ut.isDeleteForward(G))&&Q.isCollapsed(X)){var de=we.parent(g,X.anchor.path);if(Ee.isElement(de)&&_.isVoid(g,de)&&(_.isInline(g,de)||_.isBlock(g,de))){P.preventDefault(),_.deleteBackward(g,{unit:"block"});return}}}else{if(ut.isBold(G)||ut.isItalic(G)||ut.isTransposeCharacter(G)){P.preventDefault();return}if(ut.isSoftBreak(G)){P.preventDefault(),_.insertSoftBreak(g);return}if(ut.isSplitBlock(G)){P.preventDefault(),_.insertBreak(g);return}if(ut.isDeleteBackward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"backward"}):_.deleteBackward(g);return}if(ut.isDeleteForward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"forward"}):_.deleteForward(g);return}if(ut.isDeleteLineBackward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"backward"}):_.deleteBackward(g,{unit:"line"});return}if(ut.isDeleteLineForward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"forward"}):_.deleteForward(g,{unit:"line"});return}if(ut.isDeleteWordBackward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"backward"}):_.deleteBackward(g,{unit:"word"});return}if(ut.isDeleteWordForward(G)){P.preventDefault(),X&&Q.isExpanded(X)?_.deleteFragment(g,{direction:"forward"}):_.deleteForward(g,{unit:"word"});return}}}},[a,g,y.onKeyDown]),onPaste:C.useCallback(P=>{!a&&he.hasEditableTarget(g,P.target)&&!Kt(P,y.onPaste)&&(!Jr||k4(P.nativeEvent)||No)&&(P.preventDefault(),he.insertData(g,P.clipboardData))},[a,g,y.onPaste])}),C.createElement(x5,{decorations:R,node:g,renderElement:l,renderChunk:c,renderPlaceholder:f,renderLeaf:u,renderText:d}))))))}),S5=t=>{var{attributes:e,children:n}=t;return C.createElement("span",lr({},e),n,Ut&&C.createElement("br",null))},E5=()=>[],D5=(t,e)=>{var n=!!t.selection&&Q.isBackward(t.selection),r=e.cloneRange();if(r.collapse(n),r.getBoundingClientRect){var o=r.startContainer.parentElement,i=r.getBoundingClientRect(),s=i.width===0&&i.height===0&&i.x===0&&i.y===0;if(s){var a=o.getBoundingClientRect(),l=a.width>0||a.height>0;if(l)return}o.getBoundingClientRect=r.getBoundingClientRect.bind(r),v4(o,{scrollMode:"if-needed"}),delete o.getBoundingClientRect}},Kt=(t,e)=>{if(!e)return!1;var n=e(t);return n??(t.isDefaultPrevented()||t.isPropagationStopped())},sa=t=>Yr(t.target)&&(t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement),A5=(t,e)=>{if(!e)return!1;var n=e(t);return n??t.defaultPrevented},$k=(t,e)=>{var n=t;if(e.inputType==="historyUndo"&&typeof n.undo=="function"){n.undo();return}if(e.inputType==="historyRedo"&&typeof n.redo=="function"){n.redo();return}},jk=C.createContext(!1),O5=()=>C.useContext(jk),Wk=parseInt(C.version.split(".")[0],10),B5=["editor","children","onChange","onSelectionChange","onValueChange","initialValue"],Vk=t=>{var{editor:e,children:n,onChange:r,onSelectionChange:o,onValueChange:i,initialValue:s}=t,a=_c(t,B5);C.useState(()=>{if(!we.isNodeList(s))throw new Error("[Slate] initialValue is invalid! Expected a list of elements but got: ".concat(Dt.stringify(s)));if(!_.isEditor(e))throw new Error("[Slate] editor is invalid! You passed: ".concat(Dt.stringify(e)));e.children=s,Object.assign(e,a)});var{selectorContext:l,onChange:c}=h5(),u=C.useCallback(()=>{r&&r(e.children),o&&e.operations.find(p=>p.type==="set_selection")&&o(e.selection),i&&e.operations.find(p=>p.type!=="set_selection")&&i(e.children),c()},[e,c,r,o,i]);C.useEffect(()=>(qh.set(e,u),()=>{qh.set(e,()=>{})}),[e,u]);var[d,f]=C.useState(he.isFocused(e));return C.useEffect(()=>{f(he.isFocused(e))},[e]),ar(()=>{var p=()=>f(he.isFocused(e));return Wk>=17?(document.addEventListener("focusin",p),document.addEventListener("focusout",p),()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",p)}):(document.addEventListener("focus",p,!0),document.addEventListener("blur",p,!0),()=>{document.removeEventListener("focus",p,!0),document.removeEventListener("blur",p,!0)})},[]),C.createElement(Fc.Provider,{value:l},C.createElement(ep.Provider,{value:e},C.createElement(jk.Provider,{value:d},n)))},T5=()=>{var t=l5();if(!t)return!1;var e=C.useCallback(n=>{if(!n.selection)return!1;var r=he.findPath(n,t),o=_.range(n,r);return!!Q.intersection(o,n.selection)},[t]);return f5(e,void 0,{deferred:!0})},Uk=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"x-slate-fragment",r=e;r=R4(r,n);var{onChange:o,apply:i,insertText:s}=r;return r.getChunkSize=()=>null,Ut&&(r.insertText=(a,l)=>(Dr.delete(r),s(a,l))),r.onChange=a=>{var l=Wk<18?Tm.unstable_batchedUpdates:c=>c();l(()=>{o(a)})},r.apply=a=>{if(a.type==="move_node"){var l=we.parent(r,a.path),c=!!r.getChunkSize(l);if(c){var u=we.get(r,a.path),d=Nk(r,l),f=he.findKey(r,u);d.movedNodeKeys.add(f)}}i(a)},r};const _5=/{{(.*?)}}/,N5=(t,e)=>t?t.split(e).map((n,r)=>r%2?{type:"tag",value:n,children:[{text:n}]}:{text:n??""}):[{text:""}],Mc=(t,e)=>((t==null?void 0:t.split(`
62
+ `))??[""]).map(r=>({type:"paragraph",className:"textbox",children:N5(String(r??""),e)})),F5=t=>!0,M5=(t,e)=>{const n=e.exec(t);if(!n)return null;const o=t.slice(-2)==="}}";return{tagContent:n[1].trimStart(),tagLength:n[0].length,tagStartIndex:n.index,isTagLastItem:o}},qk=(t,e,n)=>{const r=[{type:"tag",value:e,children:[{text:e}]},{text:""}];re.insertNodes(t,r,n)},I5=(t,e)=>[...t.slice(0,-1),t[t.length-1]+e],P5=({attributes:t,element:e,children:n})=>h.jsx("p",{...t,children:n}),L5=({attributes:t,element:e,children:n,removeTagButton:r,addImageElement:o,transformInputText:i,transformInputElement:s})=>{var g;const a=T5(),l=O5(),c=ie.useReactFlow(),u=c.getNodes(),[d,...f]=(g=e==null?void 0:e.value)==null?void 0:g.split("."),p=ht.includes(["sys_tenant_id","response"],d)&&pc.getBuiltnVaribleTips(d),m=d==null?void 0:d.slice(1),w=p||F5(),v=C.useMemo(()=>{var b,k,A,E;const x=(k=(b=u.find(T=>T.id===m))==null?void 0:b.data)==null?void 0:k.note,S=(E=(A=c.getNode(m))==null?void 0:A.data)==null?void 0:E.label;return p?pc.getBuiltnVaribleTips(d):S?S+(x?" ( "+x+" ) ":""):te("link.flow.cannot_find_variable_output_node")},[w,f,d]),y=C.useMemo(()=>"#2db7f5",[w]);return h.jsx(B.Tooltip,{defaultOpen:!w,color:y,placement:"top",title:h.jsx("span",{children:v}),arrow:{pointAtCenter:!0},children:h.jsx("span",{...t,className:"tag-wrapper",style:{boxShadow:a&&l?"0 0 0 2px #B4D5FF":"none",borderColor:"#c6dbf0"},children:h.jsxs("span",{className:`tag-text ${r?"tag-text-right-padding":""}`,children:[n,o==null?void 0:o(e==null?void 0:e.value),i?h.jsx("span",{children:i(e==null?void 0:e.value)}):s?s(e==null?void 0:e.value):h.jsx("span",{children:e==null?void 0:e.value})]})})})},z5=({attributes:t,element:e,children:n})=>h.jsx("p",{...t,children:n}),H5=(t,e)=>{const{isInline:n,isVoid:r,normalizeNode:o}=t;return t.isInline=i=>i.type==="tag"?!0:n(i),t.isVoid=i=>i.type==="tag"?!0:r(i),t.normalizeNode=([i,s])=>{if(!(i!=null&&i.text)){o([i,s]);return}const a=we.string(i),l=M5(a,e);if(l){const{tagContent:c,tagLength:u,tagStartIndex:d,isTagLastItem:f}=l,p={path:s,offset:d};re.delete(t,{at:p,distance:u,unit:"character"}),qk(t,c,{at:p}),f&&re.select(t,{path:I5(s,1),offset:0})}o([i,s])},t},$5=t=>{var n;const e=(n=t==null?void 0:t.children)==null?void 0:n.map(r=>r.type==="tag"?`{{${r.value}}}`:r.text);return Array.isArray(e)?e.join(""):""},j5=t=>(t??[]).map(n=>$5(n)).join(`
63
+ `),W5=C.forwardRef(({onValueChange:t=u=>{},removeTagButton:e=!1,initValue:n,onFocus:r,addImageElement:o,transformInputText:i,transformInputElement:s,textAreaMode:a,capturePattern:l=_5},c)=>{const u=C.useRef(null),d=C.useMemo(()=>H5(Uk(i1()),l),[]),[f,p]=C.useState(Mc(n,l));let m=n;const w=C.useCallback(({element:S,children:b,attributes:k})=>{switch(S.type){case"paragraph":return h.jsx(z5,{attributes:k,element:S,children:b});case"tag":return h.jsx(L5,{attributes:k,element:S,removeTagButton:e,addImageElement:o,transformInputText:i,transformInputElement:s,children:b});default:return h.jsx(P5,{attributes:k,element:S,children:b})}},[]);C.useEffect(()=>{p(Mc(n,l))},[n]);const v=C.useCallback(S=>{u.current=d.selection;const b=j5(S);b!==m&&(m=S,p(S),t(b))},[]),y=S=>{re.delete(d,{at:[0]});const b=Mc(S,l);d.children=Mc("",l),re.insertNodes(d,b,{at:[0]})},g=S=>{qk(d,S,{at:u.current.focus}),re.move(d,{distance:f.length-1})};C.useImperativeHandle(c,()=>({insertTag:g,setValueByParent:y}));const x=At();return h.jsx(Vk,{editor:d,initialValue:f,onChange:v,children:h.jsx(Hk,{style:a?{minHeight:60,maxHeight:200}:{maxHeight:150},onFocus:r,value:f,readOnly:!x,spellCheck:!1,className:"ce-taginput",renderElement:w})})}),Ar=t=>{const e=C.useMemo(()=>ir(),[]),{event$:n}=C.useContext(aa),r=C.useRef(null),[o,i]=C.useState(""),s=ft.useReactive({innerValueType:"",radioType:"",openEditorNumber:0});C.useEffect(()=>{s.radioType=t.valueType},[t.valueType,s]),n.useSubscription(u=>{var d,f,p;if(u.type==="insert"&&u.currentInputId===e){(f=r==null?void 0:(d=r.current).insertTag)==null||f.call(d,u.expression.slice(2,-2));const m=(o??"")+(t.valueType==="FIX_VALUE"?u.expression.slice(2,-2):u.expression);i(m),(p=t.onChange)==null||p.call(t,m)}});const a=C.useMemo(()=>!t.borrow&&["JS_EXP","ADAPTOR"].includes(t.valueType),[t.borrow,t.valueType]);C.useEffect(()=>{i(t.value)},[t.value]);const l=u=>{var d;(d=t.onChange)==null||d.call(t,u)},c=u=>{var d;i(u),(d=t.onChange)==null||d.call(t,u)};return h.jsxs(CP,{id:e,canEditInEditor:!t.disableIDE,openEditorNumber:s.openEditorNumber,nodeId:t.nodeId,value:t.value,onFinish:u=>{r.current.setValueByParent(u)},children:[a&&h.jsx("div",{style:{textAlign:"right",position:"absolute",top:-34,right:2},children:h.jsxs(B.Radio.Group,{value:s.radioType,onChange:u=>{s.radioType=u.target.value,s.radioType==="ADAPTOR"&&r.current.setValueByParent(o)},size:"small",style:{marginTop:16},children:[h.jsx(B.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"ADAPTOR",children:h.jsx(Be.FormattedMessage,{id:"link.flow.string"})}),h.jsx(B.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"JS_EXP",children:h.jsx(Be.FormattedMessage,{id:"link.flow.script"})})]})}),h.jsx(kC,{show:s.radioType==="ADAPTOR"||!a&&s.radioType!=="PLAIN_CODE",children:h.jsx(W5,{ref:r,disabled:t.disabled,textAreaMode:t.textAreaMode,initValue:t.value,onFocus:()=>{["JS_EXP","FIX_VALUE","ADAPTOR","PLAIN_TEXT","PLAIN_CODE"].includes(t.valueType)&&(n.emit({type:"visible",visible:!0}),n.emit({type:"setCurrentInputId",currentInputId:e}))},removeTagButton:!1,onValueChange:l,addImageElement:u=>{const f=(u==null?void 0:u.split(".")[0]).slice(1),p=pc.getConfig().icons.get(f);return p?h.jsx("img",{src:p,onError:m=>{m.target.src="/uc/images/default_connector.png"}}):h.jsx(ce.ThunderboltOutlined,{})},transformInputText:u=>ht.includes(["sys_tenant_id","response"],u)?u:u.split(".").slice(1).join("."),transformInputElement:u=>h.jsx("span",{style:{color:"blue"},children:u})})}),h.jsxs(kC,{show:(s.radioType==="JS_EXP"||s.radioType==="PLAIN_CODE")&&(s.radioType==="PLAIN_CODE"||a),style:{position:"relative"},children:[h.jsx("div",{children:h.jsx(NP,{...t,onValueChange:c})}),h.jsx("span",{onClick:()=>{s.openEditorNumber++},style:{position:"absolute",right:16,top:4,color:"white",fontSize:16,cursor:"pointer"},children:h.jsx(ce.FullscreenOutlined,{})})]})]})},V5=({value:t=[],onChange:e,valueType:n})=>{const r=u=>{let d=[...o.items];d=d.filter(f=>f.id!==u),e==null||e(d)},o=ft.useReactive({items:[]}),i=u=>{const d=u.which||u.keyCode;(d===37||d===229)&&u.preventDefault()};C.useEffect(()=>{const u=Array.isArray(t)?t:[];o.items=u.map(d=>({...d,id:d.id??ir()}))},[t]);const s=()=>{e==null||e([...o.items,{key:"",value:"",id:ir()}])},a=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,key:d}:f))},l=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,value:d}:f))},c=At();return h.jsxs("div",{children:[o.items.length?o.items.map((u,d)=>h.jsxs(B.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(B.Input,{defaultValue:u.key,onKeyDown:i,onChange:f=>{var p;a(u.id,(p=f.target.value)==null?void 0:p.replace(/'/g,""))},placeholder:"Key"}),h.jsx("span",{style:{display:"inline-block",transform:"translateY(2px)",width:300},children:h.jsx(Ar,{borrow:!0,disableIDE:!0,placeholder:"Value",style:{width:300},value:u.value,onChange:f=>l(u.id,f),valueType:n,nodeId:""})}),c&&h.jsx(ce.DeleteOutlined,{onClick:()=>{r(u.id)}})]},u.id)):null,h.jsxs(B.Button,{type:"dashed",onClick:s,block:!0,children:[h.jsx(ce.PlusOutlined,{})," ",h.jsx(Be.FormattedMessage,{id:"app.common.word.add-field"})]})]})},U5=t=>null,q5=t=>h.jsx(B.TimePicker,{style:{width:"100%"},use12Hours:!1,format:"HH:mm",value:t.value?pr(t.value,"HH:mm"):null,onChange:e=>{const n=pr(e).format("HH:mm:00");t.onChange&&(t==null||t.onChange(n))}}),{Text:R5}=B.Typography,Rk=t=>h.jsx("div",{style:{padding:6,paddingRight:0,border:"1px solid #b0b5cb",borderRadius:4},children:h.jsx(B.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",overlayInnerStyle:{width:500},children:h.jsx(R5,{style:{color:"#b0b5cb"},ellipsis:!0,copyable:{text:t.value},children:t.value})})}),G5=({value:t=[],onChange:e,...n})=>{const[r,o]=C.useState([]);C.useEffect(()=>{const f=Array.isArray(t)?t:[];o(f.map(p=>({...p,id:p.id??ir()})))},[t]);const i=At(),s=f=>{const p=r.filter(m=>m.id!==f);o(p),e==null||e(p)},a=()=>{const f={field:"",dataType:"string",desc:"",required:!1,id:ir()},p=[...r,f];o(p),e(p)},l=(f,p)=>{const m=r.map(w=>w.id===f?{...w,field:p}:w);o(m),e(m)},c=(f,p)=>{const m=r.map(w=>w.id===f?{...w,dataType:p}:w);o(m),e(m)},u=(f,p)=>{const m=r.map(w=>w.id===f?{...w,desc:p}:w);o(m),e(m)},d=(f,p)=>{const m=r.map(w=>w.id===f?{...w,required:p}:w);o(m),e(m)};return h.jsxs("div",{children:[r.length?r.map(f=>h.jsxs(B.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"start",children:[h.jsx(B.Input,{value:f.field,onChange:p=>l(f.id,p.target.value),placeholder:"字段名称",status:"success",style:{width:130},disabled:!i}),h.jsx(B.Select,{value:f.dataType,onChange:p=>c(f.id,p),placeholder:"数据类型",style:{width:100},disabled:!i,options:[{label:"字符串",value:"string"},{label:"数字",value:"number"},{label:"日期",value:"date"},{label:"布尔",value:"boolean"}]}),h.jsx(B.Input,{value:f.desc,onChange:p=>u(f.id,p.target.value),placeholder:"字段描述",status:"success",style:{width:200},disabled:!i}),h.jsx(B.Select,{value:f.required,onChange:p=>d(f.id,p),placeholder:"是否必填",style:{width:100},disabled:!i,options:[{label:"是",value:!0},{label:"否",value:!1}]}),i&&h.jsx(ce.DeleteOutlined,{onClick:()=>{s(f.id)},style:{cursor:"pointer",color:"#ff4d4f",marginTop:8}})]},f.id)):null,i&&h.jsx(B.Button,{type:"dashed",onClick:a,block:!0,icon:h.jsx(ce.PlusOutlined,{}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-field"})})]})},K5=t=>{const e=C.useMemo(()=>ir(),[]),{event$:n}=C.useContext(aa),[r,o]=C.useState("");n.useSubscription(s=>{var a;if(s.type==="insert"&&s.currentInputId===e){const l=(r??"")+(t.valueType==="FIX_VALUE"?s.expression.slice(2,-2):s.expression);o(l),(a=t.onChange)==null||a.call(t,l)}}),C.useEffect(()=>{o(t.value)},[t.value]);const i=s=>{var a;o(s.target.value),(a=t.onChange)==null||a.call(t,s.target.value)};return h.jsx(B.Input.Password,{id:e,onFocus:()=>{(t.valueType==="JS_EXP"||t.valueType==="FIX_VALUE"||t.valueType==="PLAIN_TEXT"||t.valueType==="PLAIN_CODE")&&(n.emit({type:"visible",visible:!0}),n.emit({type:"setCurrentInputId",currentInputId:e}))},value:r,addonBefore:te("link.flow.ciphertext"),onChange:i})},X5=t=>{var o;const e=ir(),{multiple:n,...r}=t;return h.jsx(B.Select,{id:e,style:{borderRadius:6},mode:n?"multiple":void 0,...r,getPopupContainer:i=>i.parentNode,children:(o=t==null?void 0:t.options)==null?void 0:o.map(i=>h.jsx(B.Select.Option,{label:i.label,value:i.value,children:i.label},i.value))})},Y5=t=>h.jsx(B.TimePicker,{style:{width:"100%"},value:t.value?pr(t.value,"HH:mm:ss"):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),J5=["sample","test","payload","body"],Q5=["测试","样本","sample","test","payload","body"],Gk=t=>{var n,r,o;return[Ce.JSON,Ce.TEXTAREA,Ce.FIXED_OBJ].includes(t.page_control)?!0:((o=(r=(n=t.value_type)==null?void 0:n.toLowerCase)==null?void 0:r.call(n))==null?void 0:o.includes("json"))??!1},Kk=(t,e)=>{if(!t)return!1;const n=t.toLowerCase();return e.some(r=>n.includes(r))},Z5=t=>{if(t==null)return;const e=(t==null?void 0:t.data)!==void 0?t.data:t;if(typeof e=="string")try{const n=JSON.parse(e);return JSON.stringify(n,null,2)}catch{return e}try{return JSON.stringify(e,null,2)}catch{return}},e6=t=>{const{form:e,configList:n=[],disabled:r,...o}=t;Ku();const[i,s]=C.useState(!1),[a,l]=C.useState(0),c=C.useRef(void 0),u=kr(),d=C.useMemo(()=>{const m=n.find(w=>Gk(w)&&(Kk(w.name,J5)||Kk(w.display_name,Q5)));return m||n.find(w=>Gk(w))},[n]),f=C.useCallback(()=>{c.current&&(clearInterval(c.current),c.current=void 0)},[]);C.useEffect(()=>()=>{f()},[f]);const p=C.useCallback(async()=>{if(!u){B.message.warning("缺少连接流ID,无法监听Webhook");return}if(!(d!=null&&d.name)){B.message.warning("未找到测试数据字段,无法填充监听结果");return}if(!i){s(!0),l(10),c.current=setInterval(()=>{l(m=>m<=1?(f(),0):m-1)},1e3);try{const m=await jg(u,{timeout_seconds:10}),w=Z5(m);w?(e.setFieldsValue({[d.name]:w}),B.message.success("已捕获Webhook推送数据并填充测试样例")):B.message.info("监听结束,暂无新的推送数据")}catch(m){console.error("监听Webhook失败:",m),B.message.error("监听失败,请稍后重试")}finally{f(),s(!1),l(0)}}},[u,e,i,d==null?void 0:d.name,f]);return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[h.jsx("div",{style:{flex:1},children:h.jsx(Rk,{...o})}),h.jsx(B.Button,{size:"small",type:"primary",ghost:!0,onClick:p,disabled:r||!(d!=null&&d.name),loading:i,style:{height:32,minWidth:110,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:i?`监听中${a?`(${a}s)`:""}`:"监听"})]})},t6={configformContainer:"_configformContainer_14rz4_1"},n6=[Ce.TEXT,Ce.PASSWORD,Ce.SELECT,Ce.EXTEND_OBJ,Ce.DATE,Ce.TIME,Ce.DATETIME,Ce.TEXTAREA,Ce.FIXED_OBJ,Ce.JSON],r6=t=>{switch(t.page_control){case Ce.SELECT:return t.multi_valued?[]:null;case Ce.EXTEND_OBJ:return{};case Ce.HIDDEN:return"";case Ce.TEXT:return"";case Ce.PASSWORD:return"";case Ce.LABEL:return"";case Ce.DATE:return null;case Ce.TIME:return null;case Ce.DATETIME:return null;case Ce.TEXTAREA:return"";case Ce.FIXED_OBJ:return{};case Ce.MutilRowAIExtractConfig:return[];case Ce.JSON:return JSON.stringify({})}},Xk=(t,e,n,r,o)=>{const i=t.display_name,s=()=>{var a,l;switch(t.page_control){case Ce.SELECT:return h.jsx(X5,{options:ww(t.option_value_objects??t.option_values),multiple:t.multi_valued});case Ce.EXTEND_OBJ:return h.jsx(V5,{valueType:t.value_type});case Ce.HIDDEN:return h.jsx(U5,{});case Ce.TEXT:return h.jsx(Ar,{valueType:t.value_type,nodeId:e});case Ce.PASSWORD:return h.jsx(K5,{valueType:t.value_type});case Ce.LABEL:return(a=r==null?void 0:r.webhookField)!=null&&a.enabled&&t.name==="hookUrl"&&r.webhookField.form?h.jsx(e6,{form:r.webhookField.form,configList:r.webhookField.configList,disabled:r.webhookField.disabled}):h.jsx(Rk,{});case Ce.DATE:return h.jsx(rP,{});case Ce.TIME:return h.jsx(Y5,{});case Ce.DATETIME:return h.jsx(oP,{});case Ce.TEXTAREA:return h.jsx(Ar,{valueType:t.value_type,textAreaMode:!0,nodeId:e});case Ce.FIXED_OBJ:return h.jsx(B.Input.TextArea,{});case Ce.JSON:return h.jsx(Ar,{valueType:t.value_type,nodeId:e});case Ce.MutilRowAIExtractConfig:return h.jsx(G5,{valueType:t.value_type});case Ce.MULTI_SELECT_LIST:return h.jsx(iP,{});case Ce.SYNC_HOUR_MINUTE:return h.jsx(q5,{});default:{const c=(l=o==null?void 0:o.form)==null?void 0:l.find(u=>u.name===t.page_control);return c?h.jsx(c.component,{}):null}}};return n&&n6.includes(t.page_control)?h.jsx("div",{children:h.jsx(B.Form.Item,{required:t.required,rules:[{required:t.required,message:t.page_control===Ce.SELECT?te("link.flow.please_select")+t.display_name:te("link.flow.please_enter")+t.display_name}],label:i,name:t.name,children:h.jsx(nP,{children:s()})})},t.ui_id):h.jsx(B.Form.Item,{required:t.required,style:t.page_control===Ce.HIDDEN?{display:"none"}:{},rules:[{required:t.required,message:t.page_control===Ce.SELECT?te("link.flow.please_select")+t.display_name:te("link.flow.please_enter")+t.display_name},{validator(a,l,c){if(t.page_control===Ce.MutilRowAIExtractConfig)if(Array.isArray(l)&&t.required){const u=l.some(d=>!d.field||!d.dataType||!d.desc||d.required==null);c(u?"请填写完整配置":void 0)}else c();else c()}}],label:i,name:t.name,children:s()},t.ui_id)},o6=t=>(t.child_conditions??[]).map(e=>e.left).filter(e=>!!e),i6=(t,e)=>{if(!t.is_child)return!0;const n=t.child_conditions??[];return n.length?n.some(({left:r,operator:o,right:i})=>{const s=e==null?void 0:e[r];return o==="EQUALS"?s===i:s!==i}):!0},Yk=C.forwardRef((t,e)=>{var x,S;const{action:n,connector:r,nodeId:o,account_id:i,mcpMode:s}=t,a=yn(),l=ft.useReactive({proxyId:"0"}),{config_schema:c,proxy_id:u,protocol:d}=n;C.useEffect(()=>{u&&(l.proxyId=u)},[u]);const[f]=B.Form.useForm();if(c!=null&&c.sub_params){const b=(x=c.sub_params)==null?void 0:x.reduce((k,A)=>{let E=A.value;A.page_control===Ce.EXTEND_OBJ&&(E=VO(E));const T=f.getFieldValue(A.name);return k[A.name]=T??E??r6(A),k},{});f.setFieldsValue({...b})}const p=C.useRef(null),m=C.useRef(),w=(b,k)=>f.validateFields().then(async A=>{var T,D,M;const E=ht.cloneDeep(n.config_schema);return E.sub_params.forEach(N=>{let F=A[N.name];N.page_control===Ce.EXTEND_OBJ&&F!=="{{$fromAI}}"&&(F=Qu(F)),N.value=F}),k&&((D=(T=p==null?void 0:p.current)==null?void 0:T.onIgnoreNodeStart)==null||D.call(T)),!i&&d==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"&&(E.proxy_id=(M=m.current)==null?void 0:M.getProxyId()),t.onSubmited(E,b)}).catch(A=>(console.log("err",A),B.message.warning(te("link.flow.missing_configuration")),!1));C.useImperativeHandle(e,()=>({saveConfig:()=>w(!0,!1)}));const v=At(),y=d==="WEBHOOK"?{webhookField:{enabled:!0,form:f,configList:(c==null?void 0:c.sub_params)??[],disabled:!v}}:void 0,g=b=>{const k=b.page_control!==Ce.HIDDEN?h.jsx("div",{style:{minHeight:10},children:h.jsx("p",{style:{color:"#999",fontSize:12,marginTop:-18,whiteSpace:"pre-wrap"},children:b.description})}):null;if(!b.is_child)return h.jsxs("div",{children:[Xk(b,o,s,y,a.canvas.registerComponents),k]},b.ui_id);const A=o6(b);return h.jsx(B.Form.Item,{noStyle:!0,shouldUpdate:(E={},T={})=>b.is_child?A.length?A.some(D=>(E==null?void 0:E[D])!==(T==null?void 0:T[D])):!0:!1,children:()=>{const E=f.getFieldsValue(!0);return i6(b,E)?h.jsxs("div",{children:[Xk(b,o,s,y,a.canvas.registerComponents),k]}):null}},b.ui_id)};return h.jsxs("div",{style:{height:"100%",position:"relative"},children:[h.jsxs(B.Form,{form:f,disabled:!v,style:{height:"calc(100% - 50px)",minHeight:500,overflowY:"auto",paddingRight:24},layout:"vertical",className:t6.configformContainer,children:[(r==null?void 0:r.id)&&n.config_schema&&((S=c==null?void 0:c.sub_params)==null?void 0:S.map(b=>g(b))),!i&&d==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"?h.jsx(vw,{proxyId:l.proxyId,ref:m}):null]}),h.jsx("div",{style:{padding:"10px 20px",paddingBottom:10,paddingTop:30,position:"sticky",backgroundColor:"#FFFFFF",bottom:0,width:"100%",textAlign:"center",borderTop:"1px solid #eaeaea"},children:v&&h.jsx(B.Button,{type:"primary",disabled:!v,style:{width:180,borderRadius:4},onClick:()=>w(),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})})]})}),s6=C.memo(C.forwardRef((t,e)=>{const{nodeId:n,data:r}=t,{account_id:o,account_schema_id:i}=r,s=ft.useReactive({account_id:o}),a=C.useRef(null);C.useImperativeHandle(e,()=>({saveConfig:()=>{var d;return(d=a.current)==null?void 0:d.saveConfig()}}));const l=C.useMemo(()=>({id:t.data.connector_id,name:t.data.connector_name}),[t.data.connector_id,t.data.connector_name]),c=(d,f)=>{t.onSubmited({properties:d,account_id:s.account_id,proxy_id:d.proxy_id},f)},u=C.useCallback(d=>{s.account_id=d},[]);return h.jsxs("div",{children:[i?h.jsx(mC,{onChange:u,actionAccountSchemaId:i,value:s.account_id,linkApp:l,refreshAccounts:()=>{}}):null,h.jsx(Yk,{ref:a,action:t.data,connector:l,account_id:o,nodeId:n,onSubmited:c})]})}),(t,e)=>ht.isEqual(ht.omit(t.data,["isHovered"]),ht.omit(e.data,["isHovered"]))),Jk=[{operator:"eq",label:te("common.eq")},{operator:"ne",label:te("common.ne")},{operator:"sw",label:te("common.sw")},{operator:"nsw",label:te("common.nsw")},{operator:"ew",label:te("common.ew")},{operator:"ewn",label:te("common.ewn")},{operator:"gt",label:te("common.gt")},{operator:"ge",label:te("common.ge")},{operator:"lt",label:te("common.lt")},{operator:"le",label:te("common.le")},{operator:"co",label:te("common.co")},{operator:"nco",label:te("common.nco")},{operator:"in",label:te("common.in")},{operator:"nin",label:te("common.nin")}];te("common.eq"),te("common.ne"),te("common.sw"),te("common.nsw"),te("common.ew"),te("common.ewn"),te("common.gt"),te("common.lt"),te("common.ge"),te("common.co"),te("common.nco"),te("common.le"),te("common.in"),te("common.nin");const{Option:a6}=B.Select,l6=C.forwardRef((t,e)=>{const{config_schema:n}=t,[r]=B.Form.useForm(),i=(l=>l!=null&&l.or_list?{or_list:l.or_list.map(u=>({and_list:u.and_list.map(d=>({query:d.query||"",operator:d.operator||"",value:d.value||""}))}))}:{or_list:[{and_list:[{query:"",operator:"",value:""}]}]})(n),s=(l,c,u="")=>r.validateFields().then(async d=>t.onSubmited({properties:d},l)).catch(()=>(B.message.warning(te("link.flow.missing_configuration")),!1));C.useImperativeHandle(e,()=>({saveConfig:()=>s(!0)}));const a=At();return h.jsxs("div",{style:{height:"100%",position:"relative"},children:[h.jsx("div",{style:{height:"calc(100% - 60px)",minHeight:500,overflowY:"auto",paddingRight:20},className:"grayBeautifyScrollbar",children:h.jsx(B.Form,{disabled:!a,form:r,initialValues:i,layout:"vertical",autoComplete:"off",children:h.jsx(B.Form.List,{name:"or_list",children:(l,{add:c,remove:u})=>h.jsxs(h.Fragment,{children:[l.map((d,f)=>h.jsxs("div",{style:{marginTop:10},children:[h.jsxs("div",{style:{background:"rgb(247, 248, 249)",borderRadius:8,padding:12},children:[f>0&&a&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsx(B.Button,{type:"link",style:{color:"red"},icon:h.jsx(ce.MinusCircleOutlined,{style:{color:"red"}}),onClick:()=>u(d.name),children:h.jsx(Be.FormattedMessage,{id:"link.flow.remove"})})}),h.jsx(B.Form.List,{name:[d.name,"and_list"],children:(p,{add:m,remove:w})=>h.jsx(h.Fragment,{children:p.map((v,y)=>h.jsxs(B.Space,{direction:"vertical",children:[h.jsxs(B.Space,{align:"center",children:[h.jsx(B.Form.Item,{style:{minWidth:150},name:[v.name,"query"],label:te("app.common.word.variable-name"),rules:[{required:!0,message:te("link.flow.please_enter_variable_name")}],children:h.jsx(Ar,{nodeId:t.nodeId,placeholder:te("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(B.Form.Item,{name:[v.name,"operator"],label:te("app.common.word.condition"),rules:[{required:!0,message:te("link.flow.please_select_condition")}],children:h.jsx(B.Select,{style:{minWidth:140},placeholder:te("link.flow.select_condition"),getPopupContainer:g=>g.parentNode,children:Jk.map(g=>h.jsx(a6,{value:g.operator,children:g.label},g.operator))})}),h.jsx(B.Form.Item,{style:{minWidth:150},name:[v.name,"value"],label:te("app.common.word.value"),rules:[],children:h.jsx(Ar,{nodeId:t.nodeId,placeholder:te("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),y===0&&h.jsx("div",{style:{width:30}}),y>0&&h.jsx(B.Button,{type:"link",icon:h.jsx(ce.MinusCircleOutlined,{}),onClick:()=>w(v.name)})]}),y<p.length-1&&h.jsx(B.Divider,{plain:!0,children:h.jsx(B.Tag,{color:"#999999",children:h.jsx(Be.FormattedMessage,{id:"link.flow.and"})})}),y===p.length-1&&h.jsx(B.Button,{type:"link",disabled:!a,icon:h.jsx(ce.PlusCircleOutlined,{}),onClick:()=>m({query:"",operator:"",value:""}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-new-and"})})]},v.key))})})]}),f<l.length-1&&h.jsxs("div",{className:"test",style:{textAlign:"center"},children:[" ",h.jsx(B.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(B.Tag,{color:"#1890ff",children:h.jsx(Be.FormattedMessage,{id:"link.flow.or"})})})]})]},d.key)),h.jsx(B.Form.Item,{children:h.jsx(B.Button,{type:"link",icon:h.jsx(ce.PlusCircleOutlined,{}),disabled:!a,onClick:()=>c({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-or"})})})]})})})}),h.jsx("div",{style:{position:"sticky",padding:"10px 20px",paddingBottom:0,backgroundColor:"#FFFFFF",bottom:0,width:"100%",textAlign:"center",borderTop:"1px solid #eaeaea"},children:a&&h.jsx(B.Button,{type:"primary",disabled:!a,style:{width:180,borderRadius:4},onClick:()=>s(),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})})]})}),c6={copy:"Copy JSON",copySuccess:"JSON copied to clipboard",download:"Download JSON",invalidJson:"Invalid JSON data"},u6={copy:"复制JSON",copySuccess:"JSON已复制到剪贴板",download:"下载JSON",invalidJson:"无效的JSON数据"},{Text:d6}=B.Typography,f6=({data:t,height:e=400,enableCopy:n=!0,theme:r="light",className:o="",locale:i="zh",maxHeight:s})=>{const[a,l]=C.useState(r),c=C.useRef(null),u=i==="zh"?u6:c6,d=C.useMemo(()=>{if(!t)return null;try{return typeof t=="string"?JSON.parse(t):t}catch(y){return console.error("JSON解析失败:",y),null}},[t]),f=C.useMemo(()=>{if(!d)return[];const y=(g,x=[],S=0)=>{const b=[];if(g===null)return[{key:x.join("."),value:null,type:"null",path:x,level:S}];if(Array.isArray(g)){const k={key:x.join("."),value:g,type:"array",path:x,level:S,children:[]};g.forEach((A,E)=>{const T=[...x,E.toString()],D=y(A,T,S+1);k.children.push(...D)}),b.push(k)}else if(typeof g=="object"){const k={key:x.join("."),value:g,type:"object",path:x,level:S,children:[]};Object.entries(g).forEach(([A,E])=>{const T=[...x,A],D=y(E,T,S+1);k.children.push(...D)}),b.push(k)}else{const k=typeof g;b.push({key:x.join("."),value:g,type:k,path:x,level:S})}return b};return y(d)},[d]),p=C.useCallback(()=>{const y=JSON.stringify(d,null,2);navigator.clipboard.writeText(y).then(()=>{B.message.success(u.copySuccess)})},[d,u]),m=C.useCallback(()=>{const y=JSON.stringify(d,null,2),g=new Blob([y],{type:"application/json"}),x=URL.createObjectURL(g),S=document.createElement("a");S.href=x,S.download="data.json",S.click(),URL.revokeObjectURL(x)},[d]),w=C.useCallback(y=>{switch(y.type){case"string":return h.jsxs("span",{className:"json-string",children:['"',y.value,'"']});case"number":return h.jsx("span",{className:"json-number",children:y.value});case"boolean":return h.jsx("span",{className:"json-boolean",children:String(y.value)});case"null":return h.jsx("span",{className:"json-null",children:"null"});default:return null}},[]),v=C.useCallback((y,g)=>{const x=y.children&&y.children.length>0,S=y.path[y.path.length-1];return y.type==="object"||y.type==="array"?h.jsxs("div",{className:"json-node",children:[h.jsxs("div",{className:"json-line",style:{paddingLeft:`${y.level*16}px`},children:[S&&h.jsxs("span",{className:"json-key",children:['"',S,'": ']}),h.jsx("span",{className:"json-bracket",children:y.type==="array"?"[":"{"}),!x&&h.jsx("span",{className:"json-bracket",children:y.type==="array"?"]":"}"})]}),x&&h.jsxs(h.Fragment,{children:[y.children.map((b,k)=>v(b,g+k+1)),h.jsx("div",{className:"json-line",style:{paddingLeft:`${y.level*16}px`},children:h.jsx("span",{className:"json-bracket",children:y.type==="array"?"]":"}"})})]})]},y.key):h.jsx("div",{className:"json-node",children:h.jsxs("div",{className:"json-line",style:{paddingLeft:`${y.level*16}px`},children:[S&&h.jsxs("span",{className:"json-key",children:['"',S,'": ']}),w(y)]})},y.key)},[w,u]);return C.useCallback(()=>{l(a==="dark"?"light":"dark")},[a]),d?h.jsxs("div",{className:`json-renderer ${a} ${o}`,children:[h.jsx("div",{className:"json-toolbar",children:h.jsxs(B.Space,{children:[n&&h.jsx(B.Tooltip,{title:u.copy,children:h.jsx(B.Button,{icon:h.jsx(ce.CopyOutlined,{}),size:"small",onClick:p})}),h.jsx(B.Tooltip,{title:u.download,children:h.jsx(B.Button,{icon:h.jsx(ce.DownloadOutlined,{}),size:"small",onClick:m})})]})}),h.jsx("div",{ref:c,className:"json-content",style:{height:`${e}px`,maxHeight:s?`${s}px`:void 0},children:f.map((y,g)=>v(y,g))})]}):h.jsx("div",{className:`json-renderer error ${a} ${o}`,children:h.jsx("div",{className:"error-message",children:h.jsx(d6,{type:"secondary",children:u.invalidJson})})})},_i=()=>{const t=ie.useStoreApi(),{setNodes:e}=ie.useReactFlow(),n=yn();return{handleNodeDataUpdate:C.useCallback(({id:o,data:i,sync:s})=>{const{nodes:a}=t.getState(),l=cn(a,c=>{const u=c.find(d=>d.id===o);u&&(u.data={...u.data,...i}),s&&ja(o,{flow_id:n.flowId,properties:u.data.config_schema})});e(l)},[t])}},{TextArea:h6}=B.Input,{Title:p6,Text:OV,Paragraph:m6}=B.Typography,g6=C.forwardRef((t,e)=>{var x,S;const{nodeId:n,beforeHook:r}=t,o=yn(),{handleNodeDataUpdate:i}=_i(),s=(S=(x=o.nodeConfigPanel)==null?void 0:x.testArea)==null?void 0:S.defaultTestResult,[a,l]=C.useState(()=>{if(s==null)return"";if(typeof s=="string")return s;try{return JSON.stringify(s,null,2)}catch{return String(s)}}),c=ie.useInternalNode(n),u=ft.useReactive({testProgress:0,sampleText:"",isError:!1,editable:!1,showErrorAlert:!1,testing:!1,ingoring:!1,successShown:!1,isIgnoreSuccess:!1}),{refreshFlow:d}=no();C.useEffect(()=>{if(c!=null&&c.data.output&&(c.data.status===ve.SUCCESS||c.data.status===ve.RUNNABLE)){const b=typeof c.data.output=="string"?c.data.output:JSON.stringify(c.data.output,null,2);l(b),u.successShown=!0}if(c!=null&&c.data.output&&c.data.status===ve.FAILED){const b=typeof c.data.output=="string"?c.data.output:JSON.stringify(c.data.output,null,2);l(b),u.isError=!0,u.showErrorAlert=!0}},[c]);const f=C.useCallback(()=>{if(!n){console.error("节点ID不能为空");return}u.testing=!0,u.testProgress=60,u.successShown=!1,$g(n).then(b=>{console.log("response",b);let k="";const A=b;i({id:n,data:{status:ve.SUCCESS}}),(A==null?void 0:A.result)===!1?u.isError=!0:(u.isError=!1,u.successShown=!0),u.isIgnoreSuccess=!1,u.showErrorAlert=u.isError;try{if(typeof A=="object")k=JSON.stringify(A,null,2);else if(typeof A=="string")try{const E=JSON.parse(A);k=JSON.stringify(E,null,2)}catch{k=A}else k=String(A)}catch(E){console.error("格式化测试结果出错:",E),k="测试结果格式化失败: "+String(E)}u.testProgress=100,l(k)}).catch(b=>{var A;console.error("测试失败:",b),u.testProgress=0,u.isError=!0,u.showErrorAlert=!0,i({id:n,data:{status:ve.FAILED}});let k="测试执行失败";(A=b==null?void 0:b.response)!=null&&A.data?k=JSON.stringify(b.response.data,null,2):b!=null&&b.message&&(k=b.message),l(JSON.stringify({error:k},null,2))}).finally(b=>{setTimeout(()=>{u.testProgress=0,u.testing=!1,u.ingoring=!1,u.isIgnoreSuccess=!1},500)})},[n]),p=()=>{u.testProgress=0,u.testing=!1,u.ingoring=!1,u.isIgnoreSuccess=!0};C.useImperativeHandle(e,()=>({onTestNode:f,finishNodeTest:p}));const m=()=>{r?r(!0):f()},w=()=>{r&&(u.testing=!0,u.ingoring=!0,u.testProgress=60,r(!0,!0,u.sampleText))},v=()=>{l(""),u.sampleText="",u.editable=!1,u.successShown=!1},y=At(),g=C.useMemo(()=>{var A;const b=(A=c==null?void 0:c.data)==null?void 0:A.protocol,k=c==null?void 0:c.type;return!y||b===Te.AI_LANGUAGE_MODEL||b===Te.AI_MEMORY||k===ne.BuiltinMCP||k===ne.MCPServer},[c]);return h.jsxs("div",{className:"node-test-container",children:[h.jsxs("div",{className:"node-test-header",children:[h.jsxs("div",{className:"header-title",children:[h.jsx(ce.RocketOutlined,{className:"title-icon"}),h.jsx(p6,{level:4,children:"节点测试"})]}),h.jsx(m6,{type:"secondary",className:"header-description",children:"点击测试按钮,实时检查节点执行效果和结果数据"})]}),h.jsxs("div",{className:"test-content",children:[y&&h.jsxs("div",{className:"action-buttons",children:[h.jsx(B.Button,{type:"primary",disabled:g||u.ingoring,icon:h.jsx(ce.RocketOutlined,{}),onClick:m,loading:u.testing&&!u.ingoring,className:"test-button",children:u.testing&&!u.ingoring?"测试中...":"开始测试"}),h.jsx(B.Button,{type:"primary",disabled:g||u.testing&&!u.ingoring,ghost:!0,onClick:w,loading:u.testing&&u.ingoring,className:"ignore-button",children:"忽略调试"}),a&&h.jsx(B.Button,{icon:h.jsx(ce.ReloadOutlined,{}),onClick:v,className:"reset-button",children:"重置"})]}),u.testProgress>0&&h.jsx(B.Progress,{percent:u.testProgress,status:u.isError?"exception":"active",className:"test-progress"}),u.isError&&u.showErrorAlert&&h.jsx(B.Alert,{className:"error-alert",showIcon:!0,message:"测试未通过",description:"请检查节点配置是否正确",type:"error",onClose:()=>{setTimeout(()=>{u.showErrorAlert=!1},500)},closable:!0}),!u.isError&&u.successShown&&a&&!u.testing&&h.jsx(B.Alert,{className:"success-alert",showIcon:!0,message:u.isIgnoreSuccess?"忽略调试成功":"测试成功",description:u.isIgnoreSuccess?"已将样本数据预设为当前节点输出":"节点运行正常,可以查看下方返回结果",type:"success",closable:y}),u.testing?h.jsx(B.Skeleton,{active:!0,className:"result-skeleton"}):h.jsx(h.Fragment,{children:a?h.jsx(B.Card,{styles:{body:{padding:0}},title:h.jsxs("div",{className:"result-header",children:[h.jsx("div",{className:"result-title",children:u.isError?h.jsxs(h.Fragment,{children:[h.jsx(ce.CloseCircleFilled,{className:"error-icon"})," 错误数据"]}):h.jsxs(h.Fragment,{children:[u.isIgnoreSuccess?h.jsx(ce.ExperimentFilled,{className:"success-icon"}):h.jsx(ce.CheckCircleFilled,{className:"success-icon"}),u.isIgnoreSuccess?"样本数据":"测试结果"]})}),y&&h.jsx(B.Button,{size:"small",type:"link",icon:h.jsx(ce.EditOutlined,{}),onClick:()=>{if(u.editable){u.editable=!1;try{const b=JSON.parse(u.sampleText),k=JSON.stringify(b,null,2);l(k),i({id:n,data:{output:k}})}catch{l(u.sampleText)}}else u.sampleText=a,u.editable=!0},className:"edit-button",children:u.editable?"完成":"编辑"})]}),bordered:!1,className:`result-card ${u.isError?"error-result":"success-result"}`,children:u.editable?h.jsx(h6,{rows:10,value:u.sampleText,onChange:b=>u.sampleText=b.target.value,className:"result-editor"}):h.jsx(f6,{data:a,height:300,enableCopy:!0,theme:"light"})}):h.jsx(B.Card,{bordered:!1,className:"empty-result",children:h.jsx(B.Result,{icon:h.jsx(ce.RocketOutlined,{}),title:"等待测试",subTitle:'点击"开始测试"按钮开始节点测试'})})})]})]})}),Qk={BOOLEAN:"green",NUMBER:"blue",OBJECT:"cyan",STRING:"orange"},Zk={BOOLEAN:"Bool",NUMBER:"Num",OBJECT:"Obj",STRING:"Str"},ex=t=>{t!=null&&t.length&&t.forEach(e=>{e.label||(e.label=e.name),Array.isArray(e.sub_params)?ex(e.sub_params):e.sub_params=[]})},tx=t=>{const e=t==null?void 0:t.map(r=>(r.output.label=r.seq+"-"+r.connector_name+" : "+r.action_name,r.note&&(r.output.label+=`(${r.note})`),{...r,label:r.connector_name+"-"+r.action_name,sub_params:[r.output]})),n=ht.cloneDeep(e);return ex(n),n},nx={container:"_container_14poo_1",header:"_header_14poo_16"},{TreeNode:rx}=B.Tree,ox={VariableModalTitle:h.jsx(Be.FormattedMessage,{id:"app.common.word.select-variable"}),NoTestDataDesc:h.jsx(Be.FormattedMessage,{id:"common.no-process-variables-yet"})},w6=C.forwardRef((t,e)=>{const n=kr(),{nodeId:r,onInsert:o}=t,i=ft.useReactive({data:[],currentInputId:"",visible:!0,updateNum:0});let s=0;const{event$:a}=C.useContext(aa),[l,c]=C.useState([]);a.useSubscription(d=>{switch(d.type){case"visible":i.visible||i.updateNum++,i.visible=d.visible;break;case"setCurrentInputId":i.currentInputId=d.currentInputId;break}}),C.useImperativeHandle(e,()=>({loadVariables:()=>{Wa(n,r).then(d=>{const f=tx(d);ht.isEqual(f,l)||c(f)})}})),C.useEffect(()=>{Wa(n,r).then(d=>{const f=tx(d);ht.isEqual(f,l)||c(f)})},[n,i.updateNum]);const u=(d,f)=>d&&d.map(p=>{var m;return(m=p.sub_params)!=null&&m.length?h.jsx(rx,{title:h.jsxs(h.Fragment,{children:[f?h.jsx(ce.UsbOutlined,{style:{color:"#108ee9",marginRight:4,fontSize:16}}):h.jsx(B.Tag,{color:Qk[p.type]||"gray",children:p.multi_valued?Zk[p.type]+"[]":"Obj"}),h.jsxs("span",{style:{fontSize:14,fontWeight:"bold",color:"#777"},children:[" ",p.label," "]})]}),children:u(p.sub_params)},s++):h.jsx(rx,{title:h.jsxs("div",{style:{display:"flex",flexWrap:"nowrap"},children:[h.jsx(B.Tag,{color:Qk[p.type]||"gray",style:{textWrap:"nowrap",padding:"0 3px"},children:Zk[p.type]+(p.multi_valued?"[]":"")}),h.jsxs("span",{style:{fontSize:14,fontWeight:"bold",textWrap:"nowrap"},children:[" ",p.label," "]}),h.jsx("span",{style:{color:"#666",fontSize:12,textWrap:"nowrap",marginLeft:8},children:p.value})]})},s++)});return h.jsxs("div",{className:nx.container,children:[h.jsx("div",{className:nx.header,children:h.jsxs("div",{style:{display:"flex",alignItems:"center",color:"#999"},children:[h.jsx(ce.RocketOutlined,{style:{fontSize:20,marginRight:10}}),h.jsx("h3",{style:{margin:0,color:"#999"},children:ox.VariableModalTitle})]})}),h.jsx("div",{style:{flex:1,overflowY:"scroll"},className:"grayBeautifyScrollbar",children:l!=null&&l.length?l==null?void 0:l.map((d,f)=>h.jsx("div",{style:{margin:"5px 0"},children:h.jsx(B.Tree,{showLine:!0,onSelect:(p,m)=>{var k,A;if(m.node.pos==="0-0")return!1;const v=m.node.pos.split("-").slice(1),y=v.length;let g=0,x;const S=[];for(;g<y;){const E=x||d.sub_params;S.push((k=E[v[g]])==null?void 0:k.name),x=(A=E[v[g]])==null?void 0:A.sub_params,g++}const b=`{{${S[0]}.${S.slice(1).join(".")}}}`;a.emit({type:"insert",currentInputId:i.currentInputId,expression:b})},switcherIcon:h.jsx(ce.CaretDownOutlined,{}),children:u(d.sub_params,!0)})},f)):h.jsx(B.Empty,{image:B.Empty.PRESENTED_IMAGE_SIMPLE,style:{color:"white"},description:ox.NoTestDataDesc})})]})}),{Option:eo}=B.Select,v6=C.forwardRef(({onSubmited:t,config_schema:e},n)=>{const[r]=B.Form.useForm(),o=B.Form.useWatch("type",r);ft.useMount(()=>{e&&Object.hasOwn(e,"asc")&&r.setFieldsValue(e)});const i=(a,l,c="")=>r.validateFields().then(async u=>o&&o==="NUMBER"&&u.start>u.end?B.message.warning(te("link.flow.loop_start_end_check")):t({properties:u},a)).catch(()=>(B.message.warning(te("link.flow.missing_configuration")),!1));C.useImperativeHandle(n,()=>({saveConfig:()=>i(!0)}));const s=At();return h.jsxs("div",{style:{width:"100%",position:"relative",height:"100%"},children:[h.jsx("div",{style:{height:"calc(100% - 60px)",overflow:"scroll"},className:"grayBeautifyScrollbar",children:h.jsxs(B.Form,{disabled:!s,form:r,layout:"vertical",children:[h.jsx(B.Form.Item,{name:"type",label:te("app.common.word.loop-data-type"),rules:[{required:!0,message:te("link.flow.please_select_data_type")}],children:h.jsxs(B.Select,{children:[h.jsx(eo,{value:"ARRAY",children:h.jsx(Be.FormattedMessage,{id:"link.flow.array"})}),h.jsx(eo,{value:"NUMBER",children:h.jsx(Be.FormattedMessage,{id:"common.number"})}),h.jsx(eo,{value:"CONDITION",children:h.jsx(Be.FormattedMessage,{id:"link.flow.condition_expression"})})]})}),o&&o==="NUMBER"&&h.jsxs(B.Form.Item,{required:!0,label:te("link.flow.loop_start_end"),style:{display:"flex"},children:[h.jsx(B.Form.Item,{name:"start",noStyle:!0,rules:[{required:!0,message:te("link.flow.please_select_data_type")}],children:h.jsx(B.InputNumber,{min:1,style:{marginRight:20}})}),h.jsx(B.Form.Item,{name:"end",noStyle:!0,rules:[{required:!0,message:te("link.flow.please_select_data_type")}],children:h.jsx(B.InputNumber,{min:1})})]}),o&&o!=="NUMBER"&&h.jsx(B.Form.Item,{rules:[{required:!0,message:te("link.flow.please_enter_loop_expression")}],label:te("link.flow.loop_expression"),name:"expression",children:h.jsx(Ar,{borrow:!0,valueType:"JS_EXP",placeholder:te("link.flow.please_enter_loop_expression")})}),h.jsx(B.Form.Item,{name:"asc",label:te("app.common.word.circulation-direction"),rules:[{required:!0,message:te("link.flow.please_select_loop_direction")}],children:h.jsxs(B.Select,{children:[h.jsx(eo,{value:!0,children:h.jsx(Be.FormattedMessage,{id:"link.flow.loop_head_to_tail"})}),h.jsx(eo,{value:!1,children:h.jsx(Be.FormattedMessage,{id:"link.flow.loop_tail_to_head"})})]})}),h.jsx(B.Form.Item,{name:"errorExec",label:te("link.flow.loop_processing"),rules:[{required:!0,message:te("link.flow.please_select_loop_processing")}],children:h.jsxs(B.Select,{children:[h.jsx(eo,{value:"END",children:h.jsx(Be.FormattedMessage,{id:"link.flow.terminate_process"})}),h.jsx(eo,{value:"CONTINUE",children:h.jsx(Be.FormattedMessage,{id:"link.flow.continue_loop"})}),h.jsx(eo,{value:"BREAK",children:h.jsx(Be.FormattedMessage,{id:"link.flow.break_loop"})})]})})]})}),h.jsx("div",{style:{padding:"10px 20px",marginTop:30,paddingBottom:0,backgroundColor:"#FFFFFF",bottom:0,width:"100%",textAlign:"center",borderTop:"1px solid #eaeaea"},children:s&&h.jsx(B.Button,{type:"primary",disabled:!s,style:{width:180,borderRadius:4},onClick:()=>i(),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})})]})}),Ic=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,{Option:y6}=B.Select,b6=C.forwardRef((t,e)=>{const{config_schema:n,nodeId:r}=t,[o]=B.Form.useForm(),{handleNodeDataUpdate:i}=_i(),[s,a]=C.useState(null),[l,c]=C.useState(""),d=(S=>!(S!=null&&S.branches)||S.branches.length===0?{branches:[{id:Ic(),name:te("link.flow.switch.condition_one"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]},{id:Ic(),name:te("link.flow.switch.condition_two"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}]}:{branches:S.branches.map((k,A)=>{var E;return{id:k.id||Ic(),name:k.name||te("link.flow.switch.condition_n",{n:A+1}),or_list:((E=k.or_list)==null?void 0:E.map(T=>{var D;return{and_list:((D=T.and_list)==null?void 0:D.map(M=>({query:M.query||"",operator:M.operator||"",value:M.value||""})))||[{query:"",operator:"",value:""}]}}))||[{and_list:[{query:"",operator:"",value:""}]}]}})})(n),f=()=>{const S=o.getFieldValue("branches")||[];i({id:r,data:{config_schema:{branches:S}}})},p=(S,b)=>{a(S),c(b)},m=()=>{a(null),c("")},w=S=>{const b=ht.cloneDeep(o.getFieldValue("branches"))||[],k=l.trim();if(!k){B.message.error(te("link.flow.switch.branch_name_cannot_be_empty"));return}if(b.some((E,T)=>T!==S&&E.name===k)){B.message.error(te("link.flow.switch.branch_name_duplicate"));return}b[S].name=k,o.setFieldValue("branches",b),a(null),c(""),f()},v=(S,b)=>{const k=o.getFieldValue("branches")||[];if(b<0||b>=k.length)return;const A=[...k],[E]=A.splice(S,1);A.splice(b,0,E),o.setFieldValue("branches",A),f()},y=S=>o.validateFields().then(async b=>{if(!b.branches.some(A=>A.or_list.some(E=>E.and_list.some(T=>T.query&&T.operator)))){B.message.error(te("link.flow.switch.at_least_one_valid_branch"));return}return t.onSubmited({properties:b},S)}).catch(()=>(B.message.warning(te("link.flow.missing_configuration")),!1));C.useImperativeHandle(e,()=>({saveConfig:()=>y(!0)}));const g=At(),x=(S,b,k,A)=>{const T=(o.getFieldValue("branches")||[])[b],D=s===b;return h.jsxs(B.Card,{style:{marginBottom:16,borderRadius:8,border:"1px solid #d9d9d9"},bodyStyle:{padding:16},children:[h.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:12},children:[h.jsx("div",{style:{display:"flex",alignItems:"center",flex:1},children:D?h.jsxs(B.Space,{children:[h.jsx(B.Input,{value:l,onChange:M=>c(M.target.value),style:{width:200},placeholder:te("link.flow.switch.enter_branch_name"),onPressEnter:()=>w(b)}),h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.CheckOutlined,{style:{color:"#52c41a"}}),onClick:()=>w(b)}),h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.CloseOutlined,{}),onClick:m})]}):h.jsxs(B.Space,{children:[h.jsx("span",{style:{fontSize:16,fontWeight:500},children:(T==null?void 0:T.name)||te("link.flow.switch.condition_n",{n:b+1})}),g&&h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.EditOutlined,{}),onClick:()=>p(b,(T==null?void 0:T.name)||"")})]})}),g&&h.jsxs(B.Space,{children:[h.jsx(B.Tooltip,{title:te("link.flow.switch.move_to_top"),children:h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.VerticalAlignTopOutlined,{}),disabled:b===0,onClick:()=>v(b,0)})}),h.jsx(B.Tooltip,{title:te("link.flow.switch.move_up"),children:h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.ArrowUpOutlined,{}),disabled:b===0,onClick:()=>v(b,b-1)})}),h.jsx(B.Tooltip,{title:te("link.flow.switch.move_down"),children:h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.ArrowDownOutlined,{}),disabled:b===k-1,onClick:()=>v(b,b+1)})}),h.jsx(B.Tooltip,{title:te("link.flow.switch.move_to_bottom"),children:h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.VerticalAlignBottomOutlined,{}),disabled:b===k-1,onClick:()=>v(b,k-1)})}),h.jsx(B.Tooltip,{title:te("common.delete"),children:h.jsx(B.Button,{type:"text",size:"small",danger:!0,icon:h.jsx(ce.DeleteOutlined,{}),disabled:k<=1,onClick:()=>{if(k<=1){B.message.warning(te("link.flow.switch.at_least_one_branch"));return}A(S.name),setTimeout(()=>{f()},0)}})})]})]}),h.jsx(B.Form.Item,{name:[S.name,"name"],hidden:!0,children:h.jsx(B.Input,{})}),h.jsx(B.Form.List,{name:[S.name,"or_list"],children:(M,{add:N,remove:F})=>h.jsxs(h.Fragment,{children:[M.map((I,O)=>h.jsxs("div",{style:{marginTop:O>0?10:0},children:[h.jsxs("div",{style:{background:"rgb(247, 248, 249)",borderRadius:8,padding:12},children:[M.length>1&&g&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsx(B.Button,{type:"link",style:{color:"red"},icon:h.jsx(ce.MinusCircleOutlined,{style:{color:"red"}}),onClick:()=>F(I.name),children:h.jsx(Be.FormattedMessage,{id:"link.flow.remove"})})}),h.jsx(B.Form.List,{name:[I.name,"and_list"],children:(H,{add:L,remove:W})=>h.jsx(h.Fragment,{children:H.map((R,Y)=>h.jsxs(B.Space,{direction:"vertical",style:{width:"100%"},children:[h.jsxs(B.Space,{align:"center",wrap:!0,children:[h.jsx(B.Form.Item,{style:{minWidth:150,marginBottom:0},name:[R.name,"query"],label:te("app.common.word.variable-name"),rules:[{required:!0,message:te("link.flow.please_enter_variable_name")}],children:h.jsx(Ar,{nodeId:t.nodeId,placeholder:te("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(B.Form.Item,{style:{marginBottom:0},name:[R.name,"operator"],label:te("app.common.word.condition"),rules:[{required:!0,message:te("link.flow.please_select_condition")}],children:h.jsx(B.Select,{style:{minWidth:140},placeholder:te("link.flow.select_condition"),getPopupContainer:K=>document.body,children:Jk.map(K=>h.jsx(y6,{value:K.operator,children:K.label},K.operator))})}),h.jsx(B.Form.Item,{style:{minWidth:150,marginBottom:0},name:[R.name,"value"],label:te("app.common.word.value"),rules:[],children:h.jsx(Ar,{nodeId:t.nodeId,placeholder:te("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),Y===0&&h.jsx("div",{style:{width:30}}),Y>0&&g&&h.jsx(B.Button,{type:"link",icon:h.jsx(ce.MinusCircleOutlined,{}),onClick:()=>W(R.name)})]}),Y<H.length-1&&h.jsx(B.Divider,{plain:!0,style:{margin:"8px 0"},children:h.jsx(B.Tag,{color:"#999999",children:h.jsx(Be.FormattedMessage,{id:"link.flow.and"})})}),Y===H.length-1&&h.jsx(B.Button,{type:"link",disabled:!g,icon:h.jsx(ce.PlusCircleOutlined,{}),onClick:()=>L({query:"",operator:"",value:""}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-new-and"})})]},R.key))})},Math.random())]}),O<M.length-1&&h.jsx("div",{style:{textAlign:"center"},children:h.jsx(B.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(B.Tag,{color:"#1890ff",children:h.jsx(Be.FormattedMessage,{id:"link.flow.or"})})})})]},I.key)),h.jsx(B.Form.Item,{style:{marginTop:12,marginBottom:0},children:h.jsx(B.Button,{type:"link",icon:h.jsx(ce.PlusCircleOutlined,{}),disabled:!g,onClick:()=>N({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.add-or"})})})]})})]},S.key)};return h.jsxs("div",{style:{height:"100%",position:"relative"},children:[h.jsx("div",{style:{height:"calc(100% - 60px)",minHeight:500,overflowY:"auto",paddingRight:20},className:"grayBeautifyScrollbar",children:h.jsx(B.Form,{disabled:!g,form:o,initialValues:d,layout:"vertical",autoComplete:"off",children:h.jsx(B.Form.List,{name:"branches",children:(S,{add:b,remove:k})=>h.jsxs(h.Fragment,{children:[S.map((A,E)=>x(A,E,S.length,k)),S.length<10&&h.jsx(B.Button,{type:"dashed",block:!0,icon:h.jsx(ce.PlusCircleOutlined,{}),disabled:!g,onClick:()=>{const A=S.length+1;b({id:Ic(),name:te("link.flow.switch.condition_n",{n:A}),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}),setTimeout(()=>{f()},0)},style:{marginBottom:16},children:h.jsx(Be.FormattedMessage,{id:"link.flow.switch.add_branch"})}),S.length>=10&&h.jsx("div",{style:{textAlign:"center",color:"#999",marginBottom:16},children:h.jsx(Be.FormattedMessage,{id:"link.flow.switch.max_branches_reached"})})]})})})}),h.jsx("div",{style:{position:"sticky",padding:"10px 20px",paddingBottom:0,backgroundColor:"#FFFFFF",bottom:0,width:"100%",textAlign:"center",borderTop:"1px solid #eaeaea"},children:g&&h.jsx(B.Button,{type:"primary",disabled:!g,style:{width:180,borderRadius:4},onClick:()=>y(),children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})})]})}),C6=({nodeId:t,onSubmited:e,data:n})=>{const[r]=B.Form.useForm();Wi.useDispatch();const o=Wi.useSelector(l=>l.flow),i=At();kr();const{refreshFlow:s}=no();C.useEffect(()=>{const l=(n==null?void 0:n.error_handler)||{};console.log("DATA",n),console.log("errorHandlerConfig :",l),r.setFieldsValue({retryEnabled:l.retry||!1,retryCount:l.retry_times||3,retryInterval:l.retry_interval||5,stepFactor:l.step_factor||1.5,maxRetryInterval:l.max_retry_interval||60,alertEnabled:l.warn_type===1,webhookUrl:l.notify_url||"",errorHandling:l.process_type===2?"ignore":"interrupt",applyToAllNodes:!!l.apply_all})},[t,r,o]);const a=async l=>{try{const c={retry:l.retryEnabled,retry_times:l.retryEnabled?l.retryCount:void 0,retry_interval:l.retryEnabled?l.retryInterval:void 0,step_factor:l.retryEnabled?l.stepFactor:void 0,max_retry_interval:l.retryEnabled?l.maxRetryInterval:void 0,warn_type:l.alertEnabled?1:0,notify_url:l.alertEnabled?l.webhookUrl:void 0,process_type:l.errorHandling==="interrupt"?1:2,apply_all:l.applyToAllNodes},u=await ja(t,{error_handler:c});l.applyToAllNodes&&s(),e()}catch{B.message.error(te("common.save_failed"))}};return h.jsxs("div",{style:{height:"100%",position:"relative"},children:[h.jsx("div",{style:{height:"calc(100% - 60px)",overflowY:"auto",paddingRight:20},children:h.jsxs(vn.ProForm,{form:r,layout:"vertical",disabled:!i,submitter:!1,onFinish:a,children:[h.jsx(vn.ProFormSwitch,{name:"retryEnabled",label:te("app.common.word.enable-retry")}),h.jsx(vn.ProFormDependency,{name:["retryEnabled"],children:({retryEnabled:l})=>l?h.jsxs(h.Fragment,{children:[h.jsx(vn.ProFormDigit,{name:"retryCount",label:te("app.common.word.retry-count"),tooltip:te("app.common.word.retry-count-tooltip"),width:"xl",fieldProps:{min:1,max:10,precision:0,style:{width:"100%"}},rules:[{required:l,message:te("app.common.word.please-enter-retry-count")}]}),h.jsx(vn.ProFormDigit,{name:"retryInterval",label:te("app.common.word.retry-interval"),tooltip:te("app.common.word.retry-interval-tooltip"),fieldProps:{min:1,max:60,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:l,message:te("app.common.word.please-enter-retry-interval")}]}),h.jsx(vn.ProFormDigit,{name:"stepFactor",label:te("app.common.word.step-factor"),tooltip:te("app.common.word.step-factor-tooltip"),width:"xl",fieldProps:{min:1,max:5,precision:1,style:{width:"100%"}},rules:[{required:l,message:te("app.common.word.please-enter-step-factor")}]}),h.jsx(vn.ProFormDigit,{name:"maxRetryInterval",label:te("app.common.word.max-retry-interval"),tooltip:te("app.common.word.max-retry-interval-tooltip"),width:"xl",fieldProps:{min:1,max:300,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:l,message:te("app.common.word.please-enter-max-retry-interval")}]})]}):null}),h.jsx(vn.ProFormSwitch,{name:"alertEnabled",label:te("app.common.word.enable-alert")}),h.jsx(vn.ProFormDependency,{name:["alertEnabled"],children:({alertEnabled:l})=>l?h.jsx(vn.ProFormText,{name:"webhookUrl",label:te("app.common.word.webhook-url"),placeholder:te("app.common.word.enter-webhook-url"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:l,message:te("app.common.word.enter-webhook-url")}]}):null}),h.jsx(vn.ProFormSelect,{name:"errorHandling",label:te("app.common.word.error-handling"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:!0,message:te("app.common.word.select-error-handling")}],options:[{label:te("app.common.word.interrupt-flow"),value:"interrupt"},{label:te("app.common.word.ignore-error"),value:"ignore"}]}),h.jsx(vn.ProFormSwitch,{name:"applyToAllNodes",label:te("app.common.word.apply-to-all-nodes")})]})}),h.jsx("div",{style:{padding:"10px 20px",position:"sticky",paddingBottom:0,backgroundColor:"#FFFFFF",bottom:0,width:"100%",textAlign:"center",borderTop:"1px solid #eaeaea"},children:h.jsx(B.Button,{type:"primary",disabled:!i,onClick:()=>r.submit(),style:{width:180,borderRadius:4},children:h.jsx(Be.FormattedMessage,{id:"app.common.word.save"})})})]})},k6=C.forwardRef((t,e)=>{const{account_id:n,account_schema_id:r,action_name:o,mcp_tool_description:i,description:s}=t.data,a=t.nodeId,l=ft.useReactive({account_id:n,mcp_tool_description:i||o||s||""}),c=C.useRef(null);C.useImperativeHandle(e,()=>({saveConfig:()=>{var p;return(p=c.current)==null?void 0:p.saveConfig()}}));const u=C.useMemo(()=>({id:t.data.connector_id,name:t.data.connector_name}),[t.data.connector_id,t.data.connector_name]),d=(p,m)=>{t.onSubmited({properties:p,account_id:l.account_id,mcp_tool_description:l.mcp_tool_description},m)},f=C.useCallback(p=>{l.account_id=p},[]);return h.jsxs("div",{children:[r?h.jsx(mC,{onChange:f,actionAccountSchemaId:r,value:l.account_id,linkApp:u,refreshAccounts:()=>{}}):null,h.jsx(B.Form.Item,{layout:"vertical",label:"工具描述",children:h.jsx(B.Input,{value:l.mcp_tool_description,onChange:p=>{l.mcp_tool_description=p.target.value}})}),h.jsx(Yk,{ref:c,action:t.data,connector:u,account_id:n,nodeId:a,mcpMode:!0,onSubmited:d})]})}),x6=t=>h.jsxs("div",{className:"node-config-title",style:{display:"flex",alignItems:"center"},children:[t.icon?h.jsx("img",{src:t.icon,alt:t.name,style:{width:24,height:24}}):null,h.jsx("div",{className:"node-config-title-name",style:{fontSize:16,fontWeight:600,marginLeft:10},children:t.name}),h.jsx("div",{className:"node-config-title-description",style:{fontSize:12,color:"gray",marginLeft:10},children:t.description})]}),aa=C.createContext({}),S6=C.memo(({visible:t,onClose:e,data:n,nodeType:r=ne.ACTION,nodeId:o=""})=>{var M,N,F,I;const i=ft.useEventEmitter();Ku();const s=ie.useInternalNode(o),{setNodeConfigVisible:a,refreshFlow:l}=no(),c=C.useRef(null),u=C.useRef(null),d=C.useRef(null),f=C.useRef(null),p=C.useRef(null),m=C.useRef(null),w=C.useRef(null),v=ie.useStoreApi(),y=yn(),g=((N=(M=y.nodeConfigPanel)==null?void 0:M.testArea)==null?void 0:N.allowManualTest)!==!1,x=ft.useReactive({output:"",ignore:!1}),S=C.useMemo(()=>y.nodeConfigPanel.showSettings&&![ne.TRIGGER,ne.MCPTOOL,ne.AISUBNODE].includes(r),[r,y.nodeConfigPanel.showSettings]),b=()=>{e()};C.useEffect(()=>{var O;t&&((O=c.current)==null||O.loadVariables())},[t]);const k=(n==null?void 0:n.action_id)||null,{handleNodeDataUpdate:A}=_i(),E=C.useCallback(async(O,H)=>{const L=y.flowId;console.log("flow_id",L,"values",O);try{const W=v.getState().nodes.find(Y=>Y.id===o),R=x.ignore?await Wg(o,"","","",O.properties,x.output):await ja(o,{flow_id:L,...O,position:W==null?void 0:W.position,action_id:k});R&&(x.ignore?(w.current.finishNodeTest(),A({id:o,data:{status:ve.SUCCESS}}),B.message.success("已忽略调试结果")):(B.message.success("节点配置已保存"),A({id:o,data:{config_schema:O.properties,account_id:O.account_id,position:W==null?void 0:W.position,status:R.status}}))),H&&!x.ignore&&w.current&&w.current.onTestNode(),x.ignore=!1,x.output=""}catch{x.ignore&&A({id:o,data:{status:ve.FAILED}})}},[(F=s==null?void 0:s.position)==null?void 0:F.x,(I=s==null?void 0:s.position)==null?void 0:I.y]),T=()=>{var O,H,L,W,R;return r===ne.LOOP?(O=p.current)==null?void 0:O.saveConfig():r===ne.CONDITION?(H=d.current)==null?void 0:H.saveConfig():r===ne.SWITCH?(L=f.current)==null?void 0:L.saveConfig():r===ne.MCPTOOL?(W=m.current)==null?void 0:W.saveConfig():(R=u.current)==null?void 0:R.saveConfig()},D=async(O,H,L)=>{var W;if(H){x.ignore=!0,x.output=L||"",await T()===!1&&((W=w.current)==null||W.finishNodeTest());return}if(O)try{B.message.loading("正在保存节点配置...",0),await T(),B.message.success("节点配置已保存"),B.message.destroy()}catch(R){B.message.destroy(),console.error("节点配置保存失败:",R),B.message.error("节点配置保存失败,无法执行测试")}};return h.jsx(B.Modal,{open:t,footer:null,closeIcon:null,maskClosable:!0,onCancel:()=>{a(null)},centered:!0,width:"70%",className:"nodes-config-modal",styles:{wrapper:{minWidth:1040},mask:{backgroundColor:"rgba(0, 0, 0, 0.45)"},content:{padding:0,overflow:"hidden"}},children:h.jsx(aa.Provider,{value:{event$:i},children:h.jsxs("div",{className:"nodes-config-container",children:[h.jsxs("div",{className:"nodes-config-header",children:[h.jsx("div",{className:"header-left",children:h.jsx("span",{className:"header-title",children:" 节点配置"})}),h.jsx("div",{className:"header-right",children:h.jsx(B.Button,{type:"text",icon:h.jsx(ce.ArrowLeftOutlined,{}),onClick:b,className:"back-button",children:"返回画布"})})]}),h.jsx("div",{className:"nodes-config-content",children:h.jsxs(B.Row,{gutter:16,className:"config-row",children:[h.jsx(B.Col,{span:5,className:"left-section",children:h.jsx("div",{className:"variables-section",children:h.jsx(w6,{ref:c,nodeId:o,onInsert:()=>{},open:t})})}),h.jsx(B.Col,{span:12,className:"middle-section",children:h.jsx("div",{className:"form-section",style:{height:"100%"},children:h.jsx(B.Card,{title:h.jsx(x6,{icon:n==null?void 0:n.icon,name:n==null?void 0:n.name,description:n==null?void 0:n.description}),bordered:!1,styles:{body:{paddingTop:0,paddingBottom:0}},className:"section-card form-card",children:h.jsx(B.Tabs,{style:{height:"100%"},items:[{key:"property",label:"参数配置",children:h.jsxs(C.Fragment,{children:[[ne.CONDITION,ne.SWITCH,ne.LOOP,ne.MCPTOOL].includes(r)?null:h.jsx(s6,{ref:u,nodeId:o,data:n,onSubmited:E}),r===ne.CONDITION?h.jsx(l6,{ref:d,nodeId:o,config_schema:n.config_schema,onSubmited:E}):null,r===ne.SWITCH?h.jsx(b6,{ref:f,nodeId:o,config_schema:n.config_schema,onSubmited:E}):null,r===ne.LOOP?h.jsx(v6,{ref:p,nodeId:o,config_schema:n.config_schema,onSubmited:E}):null,r===ne.MCPTOOL?h.jsx(k6,{ref:m,nodeId:o,data:n,onSubmited:E}):null]})},{key:"setting",label:"设置",children:h.jsx(C6,{data:n,nodeId:o,onSubmited:()=>{B.message.success("保存成功")}})}].slice(0,S?2:1)})})})}),h.jsx(B.Col,{span:7,className:"right-section",children:g&&h.jsx("div",{className:"test-section",children:h.jsx(B.Card,{bordered:!1,className:"section-card",children:h.jsx(g6,{ref:w,nodeId:o,beforeHook:D})})})})]})})]})})})},(t,e)=>ht.isEqual(ht.omit(t,["isHovered"]),ht.omit(e,["isHovered"]))),{Text:ix}=B.Typography,{TextArea:E6}=B.Input,D6=({title:t,description:e,note:n,nodeId:r,statusIcon:o,className:i="",onNoteChange:s})=>{const[a,l]=C.useState(!1),[c,u]=C.useState(""),[d,f]=C.useState(!1),p=At();if(C.useEffect(()=>{u(n||e||"")},[n,e]),!t&&!e&&!n)return null;const m=g=>{g.stopPropagation(),l(!0)},w=async()=>{if(!r){B.message.error("节点ID不能为空"),l(!1);return}if(c===(n||e||"")){l(!1);return}f(!0);try{await Kg(r,c),B.message.success(te("link.flow.remark_modification_success")),s==null||s(c),l(!1)}catch(g){B.message.error("备注保存失败"),console.error("保存备注失败:",g),u(n||e||"")}finally{f(!1)}},v=()=>{u(n||e||""),l(!1)},y=g=>{g.key==="Enter"&&(g.ctrlKey||g.metaKey)?w():g.key==="Escape"&&v()};return h.jsxs("div",{className:`workflow-node-description-container ${i}`,children:[t&&h.jsxs("div",{className:"workflow-node-title-row",children:[h.jsx("span",{className:"workflow-node-title-text",children:t}),o&&h.jsx("span",{className:"workflow-node-status-icon",children:o})]}),h.jsx("div",{className:"workflow-node-description-wrapper",children:a?h.jsx(B.Spin,{spinning:d,children:h.jsx(E6,{value:c,onDoubleClick:g=>g.stopPropagation(),onDragStart:g=>g.stopPropagation(),onDrag:g=>g.stopPropagation(),onChange:g=>u(g.target.value),onBlur:w,onKeyDown:y,placeholder:"请输入备注...",autoSize:{minRows:1,maxRows:4},autoFocus:!0,className:"workflow-node-note-editor nodrag"})}):p?h.jsxs("div",{className:"workflow-node-note-display is-editable",onClick:m,title:"点击编辑备注 (Ctrl+Enter保存, Esc取消)",children:[h.jsx(ix,{className:`workflow-node-description ${c?"":"workflow-node-description-placeholder"}`,children:c||"点击添加备注..."}),h.jsx(ce.EditOutlined,{className:"workflow-node-edit-icon"})]}):h.jsx("div",{className:"workflow-node-note-display",children:h.jsx(ix,{className:"workflow-node-description",children:c})})})]})},A6=t=>({label:t.action_name,description:t.connector_name,config_schema:t.config_schema||t.properties,...Object.entries(t).reduce((e,[n,r])=>(n!=="name"&&(e[n]=r),e),{})}),rp={color:"#3883f6"},O6=[ne.TRIGGER,ne.AISUBNODE],B6=[ne.TRIGGER,ne.AISUBNODE],T6=({nodeId:t,isDisabled:e=!1,handleViewConfig:n,onDelete:r,className:o,type:i})=>{const{handleNodeDataUpdate:s}=_i(),{addNodes:a,getNodes:l}=rs(),c=yn(),u=ie.useInternalNode(t),d=At(),f=C.useMemo(()=>{var D;const k=c.nodeTypes;if(!u)return;const A=k.types[u.type];if(A)return A;const E=(D=u.data)==null?void 0:D.category;return E?Object.values(k.types).find(M=>M.category===E):void 0},[c.nodeTypes,u]),p=C.useMemo(()=>((f==null?void 0:f.operations)||[]).reduce((A,E)=>(A[E.id]=E.enabled,A),{}),[f]),m=C.useMemo(()=>{var E,T;if(!u)return!1;const k=((E=c.canvas.fixedNodes)==null?void 0:E.triggerIds)||[],A=((T=c.nodeTypes.fixed)==null?void 0:T.triggers)||[];return k.includes(u.id)||A.includes(u.type)},[c.canvas.fixedNodes,c.nodeTypes.fixed,u]),w=C.useMemo(()=>{const k=!O6.includes(i),A=p.copy===void 0?!0:p.copy;return k&&A&&d},[i,p,d]),v=C.useMemo(()=>{const k=!B6.includes(i),A=p.disable===void 0?!0:p.disable;return k&&A&&d},[i,p,d]),y=()=>{Xg(t,e?"on":"off").then(k=>{s({id:t,data:{closed:k.closed,status:k.status}})})},g=C.useMemo(()=>c.canvas.mode!=="preview"&&!d,[c.canvas.mode,d]);C.useMemo(()=>d&&!m&&c.canvas.allowRemoveTrigger,[d,m,c.canvas.allowRemoveTrigger]);const x=()=>{r&&r(t)},S=async()=>{var A;const k=l();try{const E=k.find(M=>M.id===t);if(!E){B.message.error("获取当前节点信息失败");return}const T=(A=c.canvas.limits)==null?void 0:A.maxNodes;if(typeof T=="number"&&k.length>=T){B.message.warning("已达到画布允许的最大节点数");return}const D=await Ru(t);if(D){const M=to.createNode(D.node_type,D.id,A6(D),{x:E.position.x,y:E.position.y+100});a([M]),B.message.success("节点复制成功")}}catch(E){B.message.error("节点复制失败"),console.error("复制节点失败:",E)}},b=i===ne.AISUBNODE;return h.jsxs("div",{className:_n("node-operations",o,b?"node-operations-right":""),children:[w&&h.jsx(B.Tooltip,{title:"复制节点",children:h.jsx(B.Button,{type:"text",icon:h.jsx(gu.IoCopyOutline,{style:rp}),onClick:S,className:_n("operation-button")})}),v&&h.jsx(B.Tooltip,{title:e?"激活节点":"禁用节点",children:h.jsx(B.Button,{type:"text",icon:e?h.jsx(gu.IoPlayOutline,{style:rp}):h.jsx(gu.IoBanOutline,{style:rp}),onClick:y,className:_n("operation-button",{disabled:e})})}),d&&h.jsx(B.Popconfirm,{title:"确定要删除此节点吗?",description:"删除后无法恢复,请谨慎操作",onConfirm:x,okText:"确定",cancelText:"取消",placement:"top",children:h.jsx(B.Tooltip,{title:"删除节点",children:h.jsx(B.Button,{type:"text",icon:h.jsx(gD.RiDeleteBin5Line,{style:{color:"red"}}),className:"operation-button delete-button"})})}),g&&h.jsx(B.Tooltip,{title:"查看配置",children:h.jsx(B.Button,{type:"link",onClick:n,icon:h.jsx(ce.EyeOutlined,{}),className:_n("operation-button")})})]})},_6={type:ne.START,id:"PLACEHOLDER_NODE",position:{x:100,y:250},data:{type:ne.START,name:"开始",nodeId:"PLACEHOLDER_NODE",id:"PLACEHOLDER_NODE",description:"开始节点"}},N6=[ne.AGENT,ne.BROWSER,ne.MCPServer,ne.BuiltinMCP],op=()=>{const t=ie.useStoreApi(),[e,n]=C.useState(0),r=C.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=cn(u,p=>{const m=p.find(w=>w.id===c.id);m.data?m.data.isHovered=!0:m.data={isHovered:!0}});d(f)},[]),o=C.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=cn(u,p=>{const m=p.find(w=>w.id===c.id);m.data?m.data.isHovered=!1:m.data={isHovered:!1}});d(f)},[]),i=C.useCallback(l=>{const{nodes:c,setNodes:u}=t.getState(),d=cn(c,f=>{l.forEach(p=>{p.type==="select"&&(f.find(m=>m.id===p.id).selected=p.selected)})});u(d)},[t]),s=C.useCallback((l,c,u=new Set)=>(c.filter(f=>f.source===l&&f.sourceHandle!==Ne.OUTPUT&&f.sourceHandle!==Ne.DONE&&f.sourceHandle!==Ne.LOOP&&f.sourceHandle!==Ne.TRUE&&f.sourceHandle!==Ne.FALSE).forEach(f=>{const p=f.target;u.has(p)||(u.add(p),s(p,c,u))}),u),[]),a=C.useCallback((l,c)=>{const{nodes:u,edges:d,setNodes:f,setEdges:p}=t.getState(),m=new Set(l);N6.includes(c)&&l.forEach(b=>{s(b,d).forEach(A=>{m.add(A)})});const w=Array.from(m),v=u.filter(b=>!w.includes(b.id)),y=v.map(b=>b.id),x=d.filter(b=>!w.includes(b.source)&&!w.includes(b.target)).filter(b=>y.includes(b.target)),S=v.some(b=>b.type===ne.TRIGGER);(v.length===0||!S)&&v.push(_6),f(v),p(x)},[t,s]);return{autoSaveNum:e,onNodeMouseEnter:r,onNodeMouseLeave:o,handleNodesChange:i,handleNodesDelete:a}};function F6(t){const{color:e,visible:n}=t;return h.jsx("span",{style:{width:16,height:16,borderRadius:10,backgroundColor:e,display:n?"flex":"none",justifyContent:"center",alignItems:"center",position:"absolute",zIndex:1e3,top:"calc(50% - 8px)",left:-8},children:h.jsx(ce.ThunderboltOutlined,{style:{fontSize:10,color:"white"}})})}const Ni={info:{normal:"#007FFF",lighter:"rgba(0, 127, 255, 0.48)"},success:{normal:"#98D7A9",lighter:"rgba(0, 176, 66, 0.48)"},warning:{normal:"#F7CD8F",lighter:"rgba(255, 146, 0, 0.48)"},error:{normal:"#F3B096",lighter:"rgba(255, 82, 25, 0.48)"},disabled:{normal:"#C7CCD1",lighter:"rgba(199, 204, 209, 0.48)"}},An=({id:t,type:e=ne.ACTION,selected:n=!1,icon:r,inputs:o=[],outputs:i=[],showToolbar:s=!0,width:a,height:l,className:c="",status:u=ve.IDLE,onTestNode:d,data:f,contentRender:p,showNodeDescription:m=!0,onToggleNodeDisabled:w})=>{const{currentNodeConfigVisibleId:v,setNodeConfigVisible:y}=no(),{handleNodeDataUpdate:g}=_i(),{handleNodesDelete:x}=op(),S=yn(),b=K=>{g({id:t,data:{note:K}})},k=C.useCallback(()=>{y(null)},[]),A=(f==null?void 0:f.isHovered)||!1,E=ie.useNodeConnections({id:t});At();const T=C.useMemo(()=>e===ne.TRIGGER,[e,E]),D=()=>{y(t)},M=C.useMemo(()=>(f==null?void 0:f.closed)==="1",[f==null?void 0:f.closed]),N=C.useMemo(()=>typeof a=="number"&&a>0?a:300,[a]),F=(K="node")=>{if(M)return`workflow-${K}-disabled`;switch(u){case ve.INVALID:return`workflow-${K}-warning`;case ve.FAILED:return`workflow-${K}-failed`;case ve.SUCCESS:case ve.RUNNABLE:return`workflow-${K}-success`;case ve.RUNNING:return`workflow-${K}-running`;case ve.IDLE:default:return""}},I=()=>{if(M)return Ni.disabled;switch(u){case ve.INVALID:return Ni.warning;case ve.FAILED:return Ni.error;case ve.SUCCESS:case ve.RUNNABLE:return Ni.success;case ve.RUNNING:return Ni.info;default:return Ni.info}},O=(K="normal")=>I()[K],H=()=>o.map(K=>h.jsx(mw,{nodeId:t,id:K.id,position:K.position,type:Ke.TARGET,label:K.label,nodeStatus:u,style:K.style},`${t}-${K.id}`)),L=async()=>{var $,V;const K=(($=S.canvas.fixedNodes)==null?void 0:$.triggerIds)||[],le=((V=S.nodeTypes.fixed)==null?void 0:V.triggers)||[];if(K.includes(t)||le.includes(e)){B.message.warning("当前触发节点已被配置为不可删除");return}await Uu(t),x([t],e)},W=C.useMemo(()=>i.map(K=>h.jsx(mw,{nodeId:t,connectionLimit:K.maxConnections,id:K.id,style:K.style,position:K.position,protocol:K.protocol,type:K.type,label:K.label,shape:K.shape,nodeStatus:u},`${t}-${K.id}`)),[u,JSON.stringify(i)]),R=()=>{switch(u){case ve.INVALID:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-warning-icon",children:h.jsx(ce.WarningFilled,{style:{color:O(),fontSize:16}})});case ve.FAILED:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-failed-icon",children:h.jsx(ce.CloseCircleFilled,{style:{color:O(),fontSize:16}})});case ve.SUCCESS:case ve.RUNNABLE:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-success-icon",children:h.jsx(ce.CheckCircleFilled,{style:{color:O(),fontSize:16}})});case ve.RUNNING:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-running-icon",children:h.jsx(ce.LoadingOutlined,{style:{color:O(),fontSize:16}})});default:return null}},Y=()=>h.jsxs(h.Fragment,{children:[r&&h.jsx("div",{className:"workflow-node-icon-wrapper",children:h.jsx("div",{className:"workflow-node-icon",children:r})}),m&&h.jsx(D6,{title:f==null?void 0:f.connector_name,nodeId:t,note:(f==null?void 0:f.note)||"",statusIcon:R(),onNoteChange:b,description:f.action_name,className:"workflow-node-text"})]});return h.jsxs(C.Fragment,{children:[h.jsxs("div",{style:{width:N,height:l||"auto"},onDoubleClick:D,className:`${c}
64
+ ${F("container")}`,children:[h.jsx(F6,{color:O("lighter"),visible:T}),h.jsxs("div",{className:`workflow-node ${n?"workflow-node-selected":""}`,style:{"--status-color":O(),"--status-color-tint":O("lighter"),...M?{opacity:.4}:{}},children:[M&&h.jsx("div",{className:"workflow-node-deactivated-line"}),h.jsx("div",{className:"workflow-node-toolbar",style:{display:s&&S.canvas.mode!=="preview"&&A?"block":"none"},children:h.jsx(T6,{nodeId:t,type:e,isDisabled:M,handleViewConfig:D,onTest:d,onToggleDisabled:w,onDelete:L})}),p?p(f,R()):h.jsx("div",{className:"workflow-node-content",children:Y()}),H(),W]})]}),h.jsx(S6,{visible:t===v,onClose:k,nodeType:e,data:f,nodeId:t})]})},M6=t=>{var u,d,f,p,m,w,v,y,g,x;const{id:e,data:n,selected:r}=t,o=n,i=o.status&&o.status!=="1"?o.status:ve.IDLE,s=((u=o==null?void 0:o.backendData)==null?void 0:u.properties)&&Object.keys((d=o==null?void 0:o.backendData)==null?void 0:d.properties).length>0,a=s&&((p=(f=o==null?void 0:o.backendData)==null?void 0:f.properties)!=null&&p.display_name)?(w=(m=o==null?void 0:o.backendData)==null?void 0:m.properties)==null?void 0:w.display_name:o==null?void 0:o.label,l=s&&((y=(v=o==null?void 0:o.backendData)==null?void 0:v.properties)!=null&&y.description)?(x=(g=o==null?void 0:o.backendData)==null?void 0:g.properties)==null?void 0:x.description:o==null?void 0:o.description,c={...o,label:a,description:l};return h.jsx(An,{id:e,data:c,selected:r,status:i,className:"action-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET}],outputs:[{id:Ne.OUTPUT,position:ie.Position.Right,maxConnections:1,type:Ke.SOURCE}]})},I6=t=>{const{data:e}=t,n=e,r=n.status?n.status:ve.IDLE;return h.jsx(An,{...t,status:r,className:"agent-node",icon:n!=null&&n.icon?h.jsx("img",{src:n==null?void 0:n.icon,alt:n.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET,isMain:!0}],outputs:[{id:Ne.CHAT_MODEL,position:ie.Position.Bottom,category:"slave",type:Ke.SOURCE,isMain:!0,maxConnections:1,label:"Chat Model",protocol:Te.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"30%",transform:"translateX(-50%)"}},{id:Ne.MEMORY,position:ie.Position.Bottom,category:"slave",type:Ke.SOURCE,protocol:Te.AI_MEMORY,isMain:!0,label:"Memory",maxConnections:1,shape:"rhombus",style:{left:"54%",transform:"translateX(-50%)"}},{id:Ne.TOOLS,position:ie.Position.Bottom,category:"slave",protocol:Te.AI_TOOL,type:Ke.SOURCE,isMain:!0,label:"Tools",shape:"rhombus",style:{left:"72%",transform:"translateX(-50%)"}},{id:Ne.OUTPUT,position:ie.Position.Right,type:Ke.SOURCE,maxConnections:1,isMain:!0}]})},sx=t=>{const{id:e,data:n,selected:r}=t,o=n,i=o.status?o.status:ve.IDLE;return h.jsx(An,{id:e,status:i,data:o,selected:r,type:ne.AISUBNODE,className:"workflow-aisub-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Top,type:Ke.TARGET,isMain:!0}]})},P6=t=>{const{data:e}=t,n=e,r=n.status?n.status:ve.IDLE;return h.jsx(An,{...t,status:r,className:"agent-node",icon:n!=null&&n.icon?h.jsx("img",{src:n==null?void 0:n.icon,alt:n.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET,isMain:!0}],outputs:[{id:Ne.CHAT_MODEL,position:ie.Position.Bottom,category:"slave",type:Ke.SOURCE,isMain:!0,maxConnections:1,label:"Chat Model",protocol:Te.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"50%",transform:"translateX(-50%)"}},{id:Ne.OUTPUT,position:ie.Position.Right,type:Ke.SOURCE,maxConnections:1,isMain:!0}]})},L6=t=>{const{id:e,data:n,selected:r}=t,o=n,i=o.status?o.status:ve.IDLE;return h.jsx(An,{id:e,status:i,data:o,selected:r,type:ne.BuiltinMCP,className:"workflow-aisub-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Top,type:Ke.TARGET,isMain:!0}],outputs:[{id:Ne.BUILTIN_MCP,position:ie.Position.Bottom,protocol:Te.BUILTIN_MCP,type:Ke.SOURCE,isMain:!0,shape:"rhombus",style:{left:"50%",transform:"translateX(-50%)"}}]})},z6=t=>{const{id:e,data:n,selected:r}=t,o=n;return h.jsx(An,{id:e,data:o,selected:r,type:ne.CONDITION,status:o==null?void 0:o.status,className:"condition-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.FilterOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET,maxConnections:1,isMain:!0}],outputs:[{id:Ne.TRUE,position:ie.Position.Right,type:Ke.SOURCE,maxConnections:1,label:"true",style:{top:"33%"},isMain:!0},{id:Ne.FALSE,position:ie.Position.Right,maxConnections:1,type:Ke.SOURCE,label:"false",style:{top:"67%"}}]})},H6=C.memo(({data:t,id:e,selected:n})=>{const r=t.isHovered||!1,o={border:n?"2px solid #007fff":r?"2px solid #3395ff":"1px solid #d9d9d9",boxShadow:r?"0 0 8px rgba(0, 127, 255, 0.3)":n?"0 0 5px rgba(0, 127, 255, 0.2)":"none",transition:"all 0.2s ease",background:r?"rgba(0, 127, 255, 0.08)":"#fff"};return h.jsxs("div",{className:"custom-node",style:o,children:[h.jsx(ie.Handle,{type:"target",position:ie.Position.Top,style:{background:"#555"},id:"input"}),h.jsxs("div",{className:"node-content",children:[h.jsx("div",{className:"node-title",children:t.name||"Node"}),t.description&&h.jsx("div",{className:"node-description",children:t.description}),r&&h.jsx("div",{className:"hover-indicator",children:h.jsx("span",{className:"hover-badge",children:"悬停中"})})]}),h.jsx(ie.Handle,{type:"source",position:ie.Position.Bottom,style:{background:"#555"},id:"output"})]})}),{Option:_V}=B.Select,$6=t=>{const{id:e,data:n,selected:r}=t,o=n;return h.jsx(An,{id:e,data:o,status:o==null?void 0:o.status,type:ne.LOOP,selected:r,icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}}),className:"loop-node",inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET}],outputs:[{type:Ke.SOURCE,position:ie.Position.Right,id:Ne.DONE,label:"done",maxConnections:1,style:{top:"33%"}},{type:Ke.SOURCE,position:ie.Position.Right,id:Ne.LOOP,label:"loop",maxConnections:1,style:{top:"67%"}}]})},j6=C.memo($6),W6=t=>{const{id:e,data:n,selected:r}=t,o=n,i=o.status?o.status:ve.IDLE;return h.jsx(An,{id:e,status:i,data:o,selected:r,type:ne.MCPServer,className:"workflow-aisub-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Top,type:Ke.TARGET,protocol:Te.MCP_SERVER,isMain:!0}]})},V6=t=>{const{id:e,data:n,selected:r}=t,o=n,i=o.status?o.status:ve.IDLE;return h.jsx(An,{id:e,status:i,data:o,selected:r,type:ne.MCPTOOL,className:"workflow-mcp-tool-node",icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(ce.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Top,protocol:Te.BUILTIN_MCP,type:Ke.TARGET,isMain:!0}]})},U6=({icon:t,label:e})=>{const n=t?h.jsx("img",{src:t,alt:e,style:{width:24,height:24}}):h.jsx(ce.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}});return h.jsx(B.Badge,{offset:[-22,2],count:h.jsx(ce.ReloadOutlined,{style:{fontSize:12,color:"#007fff"}}),children:n})},q6=t=>{const{id:e,data:n,selected:r}=t,o=n;return h.jsx(An,{id:e,data:o,status:o==null?void 0:o.status,type:ne.SELFLOOP,selected:r,icon:h.jsx(U6,{icon:o==null?void 0:o.icon,label:o==null?void 0:o.label}),className:"loop-node",inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET}],outputs:[{type:Ke.SOURCE,position:ie.Position.Right,id:Ne.DONE,label:"done",maxConnections:1,style:{top:"33%"}},{type:Ke.SOURCE,position:ie.Position.Right,id:Ne.LOOP,label:"loop",maxConnections:1,style:{top:"67%"}}]})},R6=C.memo(q6),G6=()=>{const t=ie.useNodes(),e=At(),{openNodeSelector:n}=ns(),r=o=>{o.stopPropagation(),n({trigger:!0})};return t.some(o=>{var i;return(i=o.type)==null?void 0:i.includes(ne.TRIGGER)})||!e?null:h.jsxs("div",{onClick:r,className:"nodrag nopan start-node",children:[h.jsx("div",{className:"start-node-icon",children:h.jsx(ce.PlusCircleOutlined,{})}),h.jsxs("div",{className:"start-node-text",children:[h.jsx("h3",{className:"start-node-text-title",children:"添加触发节点"}),h.jsx("p",{className:"start-node-text-desc",children:"触发时将执行节点后续步骤"})]})]})};function ax(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(e);for(;o!==-1;)r++,o=n.indexOf(e,o+e.length);return r}function NV(){}const la=Lc(/[A-Za-z]/),ip=Lc(/[\dA-Za-z]/);function K6(t){return t!==null&&(t<32||t===127)}function Fi(t){return t!==null&&t<-2}function an(t){return t!==null&&(t<0||t===32)}function Or(t){return t===-2||t===-1||t===32}const Pc=Lc(new RegExp("\\p{P}|\\p{S}","u")),Lo=Lc(/\s/);function Lc(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function X6(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const zc=(function(t){if(t==null)return Z6;if(typeof t=="function")return Hc(t);if(typeof t=="object")return Array.isArray(t)?Y6(t):J6(t);if(typeof t=="string")return Q6(t);throw new Error("Expected function, string, or object as test")});function Y6(t){const e=[];let n=-1;for(;++n<t.length;)e[n]=zc(t[n]);return Hc(r);function r(...o){let i=-1;for(;++i<e.length;)if(e[i].apply(this,o))return!0;return!1}}function J6(t){const e=t;return Hc(n);function n(r){const o=r;let i;for(i in t)if(o[i]!==e[i])return!1;return!0}}function Q6(t){return Hc(e);function e(n){return n&&n.type===t}}function Hc(t){return e;function e(n,r,o){return!!(e9(n)&&t.call(this,n,typeof r=="number"?r:void 0,o||void 0))}}function Z6(){return!0}function e9(t){return t!==null&&typeof t=="object"&&"type"in t}function FV(t){return t}const lx=[],t9=!0,sp=!1,n9="skip";function cx(t,e,n,r){let o;typeof e=="function"&&typeof n!="function"?(r=n,n=e):o=e;const i=zc(o),s=r?-1:1;a(t,void 0,[])();function a(l,c,u){const d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){const p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(f,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return f;function f(){let p=lx,m,w,v;if((!e||i(l,c,u[u.length-1]||void 0))&&(p=r9(n(l,u)),p[0]===sp))return p;if("children"in l&&l.children){const y=l;if(y.children&&p[0]!==n9)for(w=(r?y.children.length:-1)+s,v=u.concat(y);w>-1&&w<y.children.length;){const g=y.children[w];if(m=a(g,w,v)(),m[0]===sp)return m;w=typeof m[1]=="number"?m[1]:w+s}}return p}}}function r9(t){return Array.isArray(t)?t:typeof t=="number"?[t9,t]:t==null?lx:[t]}function o9(t,e,n){const o=zc((n||{}).ignore||[]),i=i9(e);let s=-1;for(;++s<i.length;)cx(t,"text",a);function a(c,u){let d=-1,f;for(;++d<u.length;){const p=u[d],m=f?f.children:void 0;if(o(p,m?m.indexOf(p):void 0,f))return;f=p}if(f)return l(c,u)}function l(c,u){const d=u[u.length-1],f=i[s][0],p=i[s][1];let m=0;const v=d.children.indexOf(c);let y=!1,g=[];f.lastIndex=0;let x=f.exec(c.value);for(;x;){const S=x.index,b={index:x.index,input:x.input,stack:[...u,c]};let k=p(...x,b);if(typeof k=="string"&&(k=k.length>0?{type:"text",value:k}:void 0),k===!1?f.lastIndex=S+1:(m!==S&&g.push({type:"text",value:c.value.slice(m,S)}),Array.isArray(k)?g.push(...k):k&&g.push(k),m=S+x[0].length,y=!0),!f.global)break;x=f.exec(c.value)}return y?(m<c.value.length&&g.push({type:"text",value:c.value.slice(m)}),d.children.splice(v,1,...g)):g=[c],v+g.length}}function i9(t){const e=[];if(!Array.isArray(t))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!t[0]||Array.isArray(t[0])?t:[t];let r=-1;for(;++r<n.length;){const o=n[r];e.push([s9(o[0]),a9(o[1])])}return e}function s9(t){return typeof t=="string"?new RegExp(X6(t),"g"):t}function a9(t){return typeof t=="function"?t:function(){return t}}const ap="phrasing",lp=["autolink","link","image","label"];function l9(){return{transforms:[m9],enter:{literalAutolink:u9,literalAutolinkEmail:cp,literalAutolinkHttp:cp,literalAutolinkWww:cp},exit:{literalAutolink:p9,literalAutolinkEmail:h9,literalAutolinkHttp:d9,literalAutolinkWww:f9}}}function c9(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:ap,notInConstruct:lp},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:ap,notInConstruct:lp},{character:":",before:"[ps]",after:"\\/",inConstruct:ap,notInConstruct:lp}]}}function u9(t){this.enter({type:"link",title:null,url:"",children:[]},t)}function cp(t){this.config.enter.autolinkProtocol.call(this,t)}function d9(t){this.config.exit.autolinkProtocol.call(this,t)}function f9(t){this.config.exit.data.call(this,t);const e=this.stack[this.stack.length-1];e.type,e.url="http://"+this.sliceSerialize(t)}function h9(t){this.config.exit.autolinkEmail.call(this,t)}function p9(t){this.exit(t)}function m9(t){o9(t,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,g9],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),w9]],{ignore:["link","linkReference"]})}function g9(t,e,n,r,o){let i="";if(!ux(o)||(/^w/i.test(e)&&(n=e+n,e="",i="http://"),!v9(n)))return!1;const s=y9(n+r);if(!s[0])return!1;const a={type:"link",title:null,url:i+e+s[0],children:[{type:"text",value:e+s[0]}]};return s[1]?[a,{type:"text",value:s[1]}]:a}function w9(t,e,n,r){return!ux(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+e+"@"+n,children:[{type:"text",value:e+"@"+n}]}}function v9(t){const e=t.split(".");return!(e.length<2||e[e.length-1]&&(/_/.test(e[e.length-1])||!/[a-zA-Z\d]/.test(e[e.length-1]))||e[e.length-2]&&(/_/.test(e[e.length-2])||!/[a-zA-Z\d]/.test(e[e.length-2])))}function y9(t){const e=/[!"&'),.:;<>?\]}]+$/.exec(t);if(!e)return[t,void 0];t=t.slice(0,e.index);let n=e[0],r=n.indexOf(")");const o=ax(t,"(");let i=ax(t,")");for(;r!==-1&&o>i;)t+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),i++;return[t,n]}function ux(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index===0||Lo(n)||Pc(n))&&(!e||n!==47)}function ca(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}dx.peek=O9;function b9(){this.buffer()}function C9(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function k9(){this.buffer()}function x9(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function S9(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ca(this.sliceSerialize(t)).toLowerCase(),n.label=e}function E9(t){this.exit(t)}function D9(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ca(this.sliceSerialize(t)).toLowerCase(),n.label=e}function A9(t){this.exit(t)}function O9(){return"["}function dx(t,e,n,r){const o=n.createTracker(r);let i=o.move("[^");const s=n.enter("footnoteReference"),a=n.enter("reference");return i+=o.move(n.safe(n.associationId(t),{after:"]",before:i})),a(),s(),i+=o.move("]"),i}function B9(){return{enter:{gfmFootnoteCallString:b9,gfmFootnoteCall:C9,gfmFootnoteDefinitionLabelString:k9,gfmFootnoteDefinition:x9},exit:{gfmFootnoteCallString:S9,gfmFootnoteCall:E9,gfmFootnoteDefinitionLabelString:D9,gfmFootnoteDefinition:A9}}}function T9(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:n,footnoteReference:dx},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,i,s){const a=i.createTracker(s);let l=a.move("[^");const c=i.enter("footnoteDefinition"),u=i.enter("label");return l+=a.move(i.safe(i.associationId(r),{before:l,after:"]"})),u(),l+=a.move("]:"),r.children&&r.children.length>0&&(a.shift(4),l+=a.move((e?`
65
+ `:" ")+i.indentLines(i.containerFlow(r,a.current()),e?fx:_9))),c(),l}}function _9(t,e,n){return e===0?t:fx(t,e,n)}function fx(t,e,n){return(n?"":" ")+t}const N9=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];hx.peek=L9;function F9(){return{canContainEols:["delete"],enter:{strikethrough:I9},exit:{strikethrough:P9}}}function M9(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:N9}],handlers:{delete:hx}}}function I9(t){this.enter({type:"delete",children:[]},t)}function P9(t){this.exit(t)}function hx(t,e,n,r){const o=n.createTracker(r),i=n.enter("strikethrough");let s=o.move("~~");return s+=n.containerPhrasing(t,{...o.current(),before:s,after:"~"}),s+=o.move("~~"),i(),s}function L9(){return"~"}function z9(t){return t.length}function H9(t,e){const n=e||{},r=(n.align||[]).concat(),o=n.stringLength||z9,i=[],s=[],a=[],l=[];let c=0,u=-1;for(;++u<t.length;){const w=[],v=[];let y=-1;for(t[u].length>c&&(c=t[u].length);++y<t[u].length;){const g=$9(t[u][y]);if(n.alignDelimiters!==!1){const x=o(g);v[y]=x,(l[y]===void 0||x>l[y])&&(l[y]=x)}w.push(g)}s[u]=w,a[u]=v}let d=-1;if(typeof r=="object"&&"length"in r)for(;++d<c;)i[d]=px(r[d]);else{const w=px(r);for(;++d<c;)i[d]=w}d=-1;const f=[],p=[];for(;++d<c;){const w=i[d];let v="",y="";w===99?(v=":",y=":"):w===108?v=":":w===114&&(y=":");let g=n.alignDelimiters===!1?1:Math.max(1,l[d]-v.length-y.length);const x=v+"-".repeat(g)+y;n.alignDelimiters!==!1&&(g=v.length+g+y.length,g>l[d]&&(l[d]=g),p[d]=g),f[d]=x}s.splice(1,0,f),a.splice(1,0,p),u=-1;const m=[];for(;++u<s.length;){const w=s[u],v=a[u];d=-1;const y=[];for(;++d<c;){const g=w[d]||"";let x="",S="";if(n.alignDelimiters!==!1){const b=l[d]-(v[d]||0),k=i[d];k===114?x=" ".repeat(b):k===99?b%2?(x=" ".repeat(b/2+.5),S=" ".repeat(b/2-.5)):(x=" ".repeat(b/2),S=x):S=" ".repeat(b)}n.delimiterStart!==!1&&!d&&y.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&g==="")&&(n.delimiterStart!==!1||d)&&y.push(" "),n.alignDelimiters!==!1&&y.push(x),y.push(g),n.alignDelimiters!==!1&&y.push(S),n.padding!==!1&&y.push(" "),(n.delimiterEnd!==!1||d!==c-1)&&y.push("|")}m.push(n.delimiterEnd===!1?y.join("").replace(/ +$/,""):y.join(""))}return m.join(`
66
+ `)}function $9(t){return t==null?"":String(t)}function px(t){const e=typeof t=="string"?t.codePointAt(0):0;return e===67||e===99?99:e===76||e===108?108:e===82||e===114?114:0}function j9(t,e,n,r){const o=n.enter("blockquote"),i=n.createTracker(r);i.move("> "),i.shift(2);const s=n.indentLines(n.containerFlow(t,i.current()),W9);return o(),s}function W9(t,e,n){return">"+(n?"":" ")+t}function V9(t,e){return mx(t,e.inConstruct,!0)&&!mx(t,e.notInConstruct,!1)}function mx(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return n;let r=-1;for(;++r<e.length;)if(t.includes(e[r]))return!0;return!1}function gx(t,e,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].character===`
67
+ `&&V9(n.stack,n.unsafe[o]))return/[ \t]/.test(r.before)?"":" ";return`\\
68
+ `}function U9(t,e){const n=String(t);let r=n.indexOf(e),o=r,i=0,s=0;if(typeof e!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===o?++i>s&&(s=i):i=1,o=r+e.length,r=n.indexOf(e,o);return s}function q9(t,e){return!!(e.options.fences===!1&&t.value&&!t.lang&&/[^ \r\n]/.test(t.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value))}function R9(t){const e=t.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function G9(t,e,n,r){const o=R9(n),i=t.value||"",s=o==="`"?"GraveAccent":"Tilde";if(q9(t,n)){const d=n.enter("codeIndented"),f=n.indentLines(i,K9);return d(),f}const a=n.createTracker(r),l=o.repeat(Math.max(U9(i,o)+1,3)),c=n.enter("codeFenced");let u=a.move(l);if(t.lang){const d=n.enter(`codeFencedLang${s}`);u+=a.move(n.safe(t.lang,{before:u,after:" ",encode:["`"],...a.current()})),d()}if(t.lang&&t.meta){const d=n.enter(`codeFencedMeta${s}`);u+=a.move(" "),u+=a.move(n.safe(t.meta,{before:u,after:`
69
+ `,encode:["`"],...a.current()})),d()}return u+=a.move(`
70
+ `),i&&(u+=a.move(i+`
71
+ `)),u+=a.move(l),c(),u}function K9(t,e,n){return(n?"":" ")+t}function up(t){const e=t.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function X9(t,e,n,r){const o=up(n),i=o==='"'?"Quote":"Apostrophe",s=n.enter("definition");let a=n.enter("label");const l=n.createTracker(r);let c=l.move("[");return c+=l.move(n.safe(n.associationId(t),{before:c,after:"]",...l.current()})),c+=l.move("]: "),a(),!t.url||/[\0- \u007F]/.test(t.url)?(a=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(t.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(a=n.enter("destinationRaw"),c+=l.move(n.safe(t.url,{before:c,after:t.title?" ":`
72
+ `,...l.current()}))),a(),t.title&&(a=n.enter(`title${i}`),c+=l.move(" "+o),c+=l.move(n.safe(t.title,{before:c,after:o,...l.current()})),c+=l.move(o),a()),s(),c}function Y9(t){const e=t.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}function ua(t){return"&#x"+t.toString(16).toUpperCase()+";"}function $c(t){if(t===null||an(t)||Lo(t))return 1;if(Pc(t))return 2}function jc(t,e,n){const r=$c(t),o=$c(e);return r===void 0?o===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}wx.peek=J9;function wx(t,e,n,r){const o=Y9(n),i=n.enter("emphasis"),s=n.createTracker(r),a=s.move(o);let l=s.move(n.containerPhrasing(t,{after:o,before:a,...s.current()}));const c=l.charCodeAt(0),u=jc(r.before.charCodeAt(r.before.length-1),c,o);u.inside&&(l=ua(c)+l.slice(1));const d=l.charCodeAt(l.length-1),f=jc(r.after.charCodeAt(0),d,o);f.inside&&(l=l.slice(0,-1)+ua(d));const p=s.move(o);return i(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},a+l+p}function J9(t,e,n){return n.options.emphasis||"*"}function Q9(t,e,n,r){let o,i,s;typeof e=="function"&&typeof n!="function"?(i=void 0,s=e,o=n):(i=e,s=n,o=r),cx(t,i,a,o);function a(l,c){const u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return s(l,d,u)}}const Z9={};function vx(t,e){const n=Z9,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return yx(t,r,o)}function yx(t,e,n){if(ez(t)){if("value"in t)return t.type==="html"&&!n?"":t.value;if(e&&"alt"in t&&t.alt)return t.alt;if("children"in t)return bx(t.children,e,n)}return Array.isArray(t)?bx(t,e,n):""}function bx(t,e,n){const r=[];let o=-1;for(;++o<t.length;)r[o]=yx(t[o],e,n);return r.join("")}function ez(t){return!!(t&&typeof t=="object")}function tz(t,e){let n=!1;return Q9(t,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,sp}),!!((!t.depth||t.depth<3)&&vx(t)&&(e.options.setext||n))}function nz(t,e,n,r){const o=Math.max(Math.min(6,t.depth||1),1),i=n.createTracker(r);if(tz(t,n)){const u=n.enter("headingSetext"),d=n.enter("phrasing"),f=n.containerPhrasing(t,{...i.current(),before:`
73
+ `,after:`
74
+ `});return d(),u(),f+`
75
+ `+(o===1?"=":"-").repeat(f.length-(Math.max(f.lastIndexOf("\r"),f.lastIndexOf(`
76
+ `))+1))}const s="#".repeat(o),a=n.enter("headingAtx"),l=n.enter("phrasing");i.move(s+" ");let c=n.containerPhrasing(t,{before:"# ",after:`
77
+ `,...i.current()});return/^[\t ]/.test(c)&&(c=ua(c.charCodeAt(0))+c.slice(1)),c=c?s+" "+c:s,n.options.closeAtx&&(c+=" "+s),l(),a(),c}Cx.peek=rz;function Cx(t){return t.value||""}function rz(){return"<"}kx.peek=oz;function kx(t,e,n,r){const o=up(n),i=o==='"'?"Quote":"Apostrophe",s=n.enter("image");let a=n.enter("label");const l=n.createTracker(r);let c=l.move("![");return c+=l.move(n.safe(t.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),a(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(a=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(t.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(a=n.enter("destinationRaw"),c+=l.move(n.safe(t.url,{before:c,after:t.title?" ":")",...l.current()}))),a(),t.title&&(a=n.enter(`title${i}`),c+=l.move(" "+o),c+=l.move(n.safe(t.title,{before:c,after:o,...l.current()})),c+=l.move(o),a()),c+=l.move(")"),s(),c}function oz(){return"!"}xx.peek=iz;function xx(t,e,n,r){const o=t.referenceType,i=n.enter("imageReference");let s=n.enter("label");const a=n.createTracker(r);let l=a.move("![");const c=n.safe(t.alt,{before:l,after:"]",...a.current()});l+=a.move(c+"]["),s();const u=n.stack;n.stack=[],s=n.enter("reference");const d=n.safe(n.associationId(t),{before:l,after:"]",...a.current()});return s(),n.stack=u,i(),o==="full"||!c||c!==d?l+=a.move(d+"]"):o==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function iz(){return"!"}Sx.peek=sz;function Sx(t,e,n){let r=t.value||"",o="`",i=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i<n.unsafe.length;){const s=n.unsafe[i],a=n.compilePattern(s);let l;if(s.atBreak)for(;l=a.exec(r);){let c=l.index;r.charCodeAt(c)===10&&r.charCodeAt(c-1)===13&&c--,r=r.slice(0,c)+" "+r.slice(l.index+1)}}return o+r+o}function sz(){return"`"}function Ex(t,e){const n=vx(t);return!!(!e.options.resourceLink&&t.url&&!t.title&&t.children&&t.children.length===1&&t.children[0].type==="text"&&(n===t.url||"mailto:"+n===t.url)&&/^[a-z][a-z+.-]+:/i.test(t.url)&&!/[\0- <>\u007F]/.test(t.url))}Dx.peek=az;function Dx(t,e,n,r){const o=up(n),i=o==='"'?"Quote":"Apostrophe",s=n.createTracker(r);let a,l;if(Ex(t,n)){const u=n.stack;n.stack=[],a=n.enter("autolink");let d=s.move("<");return d+=s.move(n.containerPhrasing(t,{before:d,after:">",...s.current()})),d+=s.move(">"),a(),n.stack=u,d}a=n.enter("link"),l=n.enter("label");let c=s.move("[");return c+=s.move(n.containerPhrasing(t,{before:c,after:"](",...s.current()})),c+=s.move("]("),l(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(l=n.enter("destinationLiteral"),c+=s.move("<"),c+=s.move(n.safe(t.url,{before:c,after:">",...s.current()})),c+=s.move(">")):(l=n.enter("destinationRaw"),c+=s.move(n.safe(t.url,{before:c,after:t.title?" ":")",...s.current()}))),l(),t.title&&(l=n.enter(`title${i}`),c+=s.move(" "+o),c+=s.move(n.safe(t.title,{before:c,after:o,...s.current()})),c+=s.move(o),l()),c+=s.move(")"),a(),c}function az(t,e,n){return Ex(t,n)?"<":"["}Ax.peek=lz;function Ax(t,e,n,r){const o=t.referenceType,i=n.enter("linkReference");let s=n.enter("label");const a=n.createTracker(r);let l=a.move("[");const c=n.containerPhrasing(t,{before:l,after:"]",...a.current()});l+=a.move(c+"]["),s();const u=n.stack;n.stack=[],s=n.enter("reference");const d=n.safe(n.associationId(t),{before:l,after:"]",...a.current()});return s(),n.stack=u,i(),o==="full"||!c||c!==d?l+=a.move(d+"]"):o==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function lz(){return"["}function dp(t){const e=t.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function cz(t){const e=dp(t),n=t.options.bulletOther;if(!n)return e==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+n+"`) to be different");return n}function uz(t){const e=t.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function Ox(t){const e=t.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function dz(t,e,n,r){const o=n.enter("list"),i=n.bulletCurrent;let s=t.ordered?uz(n):dp(n);const a=t.ordered?s==="."?")":".":cz(n);let l=e&&n.bulletLastUsed?s===n.bulletLastUsed:!1;if(!t.ordered){const u=t.children?t.children[0]:void 0;if((s==="*"||s==="-")&&u&&(!u.children||!u.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),Ox(n)===s&&u){let d=-1;for(;++d<t.children.length;){const f=t.children[d];if(f&&f.type==="listItem"&&f.children&&f.children[0]&&f.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(s=a),n.bulletCurrent=s;const c=n.containerFlow(t,r);return n.bulletLastUsed=s,n.bulletCurrent=i,o(),c}function fz(t){const e=t.options.listItemIndent||"one";if(e!=="tab"&&e!=="one"&&e!=="mixed")throw new Error("Cannot serialize items with `"+e+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return e}function hz(t,e,n,r){const o=fz(n);let i=n.bulletCurrent||dp(n);e&&e.type==="list"&&e.ordered&&(i=(typeof e.start=="number"&&e.start>-1?e.start:1)+(n.options.incrementListMarker===!1?0:e.children.indexOf(t))+i);let s=i.length+1;(o==="tab"||o==="mixed"&&(e&&e.type==="list"&&e.spread||t.spread))&&(s=Math.ceil(s/4)*4);const a=n.createTracker(r);a.move(i+" ".repeat(s-i.length)),a.shift(s);const l=n.enter("listItem"),c=n.indentLines(n.containerFlow(t,a.current()),u);return l(),c;function u(d,f,p){return f?(p?"":" ".repeat(s))+d:(p?i:i+" ".repeat(s-i.length))+d}}function pz(t,e,n,r){const o=n.enter("paragraph"),i=n.enter("phrasing"),s=n.containerPhrasing(t,r);return i(),o(),s}const mz=zc(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function gz(t,e,n,r){return(t.children.some(function(s){return mz(s)})?n.containerPhrasing:n.containerFlow).call(n,t,r)}function wz(t){const e=t.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}Bx.peek=vz;function Bx(t,e,n,r){const o=wz(n),i=n.enter("strong"),s=n.createTracker(r),a=s.move(o+o);let l=s.move(n.containerPhrasing(t,{after:o,before:a,...s.current()}));const c=l.charCodeAt(0),u=jc(r.before.charCodeAt(r.before.length-1),c,o);u.inside&&(l=ua(c)+l.slice(1));const d=l.charCodeAt(l.length-1),f=jc(r.after.charCodeAt(0),d,o);f.inside&&(l=l.slice(0,-1)+ua(d));const p=s.move(o+o);return i(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},a+l+p}function vz(t,e,n){return n.options.strong||"*"}function yz(t,e,n,r){return n.safe(t.value,r)}function bz(t){const e=t.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function Cz(t,e,n){const r=(Ox(n)+(n.options.ruleSpaces?" ":"")).repeat(bz(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Tx={blockquote:j9,break:gx,code:G9,definition:X9,emphasis:wx,hardBreak:gx,heading:nz,html:Cx,image:kx,imageReference:xx,inlineCode:Sx,link:Dx,linkReference:Ax,list:dz,listItem:hz,paragraph:pz,root:gz,strong:Bx,text:yz,thematicBreak:Cz};function kz(){return{enter:{table:xz,tableData:_x,tableHeader:_x,tableRow:Ez},exit:{codeText:Dz,table:Sz,tableData:fp,tableHeader:fp,tableRow:fp}}}function xz(t){const e=t._align;this.enter({type:"table",align:e.map(function(n){return n==="none"?null:n}),children:[]},t),this.data.inTable=!0}function Sz(t){this.exit(t),this.data.inTable=void 0}function Ez(t){this.enter({type:"tableRow",children:[]},t)}function fp(t){this.exit(t)}function _x(t){this.enter({type:"tableCell",children:[]},t)}function Dz(t){let e=this.resume();this.data.inTable&&(e=e.replace(/\\([\\|])/g,Az));const n=this.stack[this.stack.length-1];n.type,n.value=e,this.exit(t)}function Az(t,e){return e==="|"?e:t}function Oz(t){const e=t||{},n=e.tableCellPadding,r=e.tablePipeAlign,o=e.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
78
+ `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:f,table:s,tableCell:l,tableRow:a}};function s(p,m,w,v){return c(u(p,w,v),p.align)}function a(p,m,w,v){const y=d(p,w,v),g=c([y]);return g.slice(0,g.indexOf(`
79
+ `))}function l(p,m,w,v){const y=w.enter("tableCell"),g=w.enter("phrasing"),x=w.containerPhrasing(p,{...v,before:i,after:i});return g(),y(),x}function c(p,m){return H9(p,{align:m,alignDelimiters:r,padding:n,stringLength:o})}function u(p,m,w){const v=p.children;let y=-1;const g=[],x=m.enter("table");for(;++y<v.length;)g[y]=d(v[y],m,w);return x(),g}function d(p,m,w){const v=p.children;let y=-1;const g=[],x=m.enter("tableRow");for(;++y<v.length;)g[y]=l(v[y],p,m,w);return x(),g}function f(p,m,w){let v=Tx.inlineCode(p,m,w);return w.stack.includes("tableCell")&&(v=v.replace(/\|/g,"\\$&")),v}}function Bz(){return{exit:{taskListCheckValueChecked:Nx,taskListCheckValueUnchecked:Nx,paragraph:_z}}}function Tz(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Nz}}}function Nx(t){const e=this.stack[this.stack.length-2];e.type,e.checked=t.type==="taskListCheckValueChecked"}function _z(t){const e=this.stack[this.stack.length-2];if(e&&e.type==="listItem"&&typeof e.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=e.children;let i=-1,s;for(;++i<o.length;){const a=o[i];if(a.type==="paragraph"){s=a;break}}s===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(t)}function Nz(t,e,n,r){const o=t.children[0],i=typeof t.checked=="boolean"&&o&&o.type==="paragraph",s="["+(t.checked?"x":" ")+"] ",a=n.createTracker(r);i&&a.move(s);let l=Tx.listItem(t,e,n,{...r,...a.current()});return i&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,c)),l;function c(u){return u+s}}function Fz(){return[l9(),B9(),F9(),kz(),Bz()]}function Mz(t){return{extensions:[c9(),T9(t),M9(),Oz(t),Tz()]}}function Wc(t,e,n,r){const o=t.length;let i=0,s;if(e<0?e=-e>o?0:o+e:e=e>o?o:e,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(e,n),t.splice(...s);else for(n&&t.splice(e,n);i<r.length;)s=r.slice(i,i+1e4),s.unshift(e,0),t.splice(...s),i+=1e4,e+=1e4}const Fx={}.hasOwnProperty;function Iz(t){const e={};let n=-1;for(;++n<t.length;)Pz(e,t[n]);return e}function Pz(t,e){let n;for(n in e){const o=(Fx.call(t,n)?t[n]:void 0)||(t[n]={}),i=e[n];let s;if(i)for(s in i){Fx.call(o,s)||(o[s]=[]);const a=i[s];Lz(o[s],Array.isArray(a)?a:a?[a]:[])}}}function Lz(t,e){let n=-1;const r=[];for(;++n<e.length;)(e[n].add==="after"?t:r).push(e[n]);Wc(t,0,0,r)}const zz={tokenize:Uz,partial:!0},Mx={tokenize:qz,partial:!0},Ix={tokenize:Rz,partial:!0},Px={tokenize:Gz,partial:!0},Hz={tokenize:Kz,partial:!0},Lx={name:"wwwAutolink",tokenize:Wz,previous:Hx},zx={name:"protocolAutolink",tokenize:Vz,previous:$x},Br={name:"emailAutolink",tokenize:jz,previous:jx},cr={};function $z(){return{text:cr}}let zo=48;for(;zo<123;)cr[zo]=Br,zo++,zo===58?zo=65:zo===91&&(zo=97);cr[43]=Br,cr[45]=Br,cr[46]=Br,cr[95]=Br,cr[72]=[Br,zx],cr[104]=[Br,zx],cr[87]=[Br,Lx],cr[119]=[Br,Lx];function jz(t,e,n){const r=this;let o,i;return s;function s(d){return!hp(d)||!jx.call(r,r.previous)||pp(r.events)?n(d):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),a(d))}function a(d){return hp(d)?(t.consume(d),a):d===64?(t.consume(d),l):n(d)}function l(d){return d===46?t.check(Hz,u,c)(d):d===45||d===95||ip(d)?(i=!0,t.consume(d),l):u(d)}function c(d){return t.consume(d),o=!0,l}function u(d){return i&&o&&la(r.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),e(d)):n(d)}}function Wz(t,e,n){const r=this;return o;function o(s){return s!==87&&s!==119||!Hx.call(r,r.previous)||pp(r.events)?n(s):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(zz,t.attempt(Mx,t.attempt(Ix,i),n),n)(s))}function i(s){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),e(s)}}function Vz(t,e,n){const r=this;let o="",i=!1;return s;function s(d){return(d===72||d===104)&&$x.call(r,r.previous)&&!pp(r.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),o+=String.fromCodePoint(d),t.consume(d),a):n(d)}function a(d){if(la(d)&&o.length<5)return o+=String.fromCodePoint(d),t.consume(d),a;if(d===58){const f=o.toLowerCase();if(f==="http"||f==="https")return t.consume(d),l}return n(d)}function l(d){return d===47?(t.consume(d),i?c:(i=!0,l)):n(d)}function c(d){return d===null||K6(d)||an(d)||Lo(d)||Pc(d)?n(d):t.attempt(Mx,t.attempt(Ix,u),n)(d)}function u(d){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),e(d)}}function Uz(t,e,n){let r=0;return o;function o(s){return(s===87||s===119)&&r<3?(r++,t.consume(s),o):s===46&&r===3?(t.consume(s),i):n(s)}function i(s){return s===null?n(s):e(s)}}function qz(t,e,n){let r,o,i;return s;function s(c){return c===46||c===95?t.check(Px,l,a)(c):c===null||an(c)||Lo(c)||c!==45&&Pc(c)?l(c):(i=!0,t.consume(c),s)}function a(c){return c===95?r=!0:(o=r,r=void 0),t.consume(c),s}function l(c){return o||r||!i?n(c):e(c)}}function Rz(t,e){let n=0,r=0;return o;function o(s){return s===40?(n++,t.consume(s),o):s===41&&r<n?i(s):s===33||s===34||s===38||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===60||s===63||s===93||s===95||s===126?t.check(Px,e,i)(s):s===null||an(s)||Lo(s)?e(s):(t.consume(s),o)}function i(s){return s===41&&r++,t.consume(s),o}}function Gz(t,e,n){return r;function r(a){return a===33||a===34||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===63||a===95||a===126?(t.consume(a),r):a===38?(t.consume(a),i):a===93?(t.consume(a),o):a===60||a===null||an(a)||Lo(a)?e(a):n(a)}function o(a){return a===null||a===40||a===91||an(a)||Lo(a)?e(a):r(a)}function i(a){return la(a)?s(a):n(a)}function s(a){return a===59?(t.consume(a),r):la(a)?(t.consume(a),s):n(a)}}function Kz(t,e,n){return r;function r(i){return t.consume(i),o}function o(i){return ip(i)?n(i):e(i)}}function Hx(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||an(t)}function $x(t){return!la(t)}function jx(t){return!(t===47||hp(t))}function hp(t){return t===43||t===45||t===46||t===95||ip(t)}function pp(t){let e=t.length,n=!1;for(;e--;){const r=t[e][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return t.length>0&&!n&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function Xz(t,e,n){const r=[];let o=-1;for(;++o<t.length;){const i=t[o].resolveAll;i&&!r.includes(i)&&(e=i(e,n),r.push(i))}return e}function Tr(t,e,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let i=0;return s;function s(l){return Or(l)?(t.enter(n),a(l)):e(l)}function a(l){return Or(l)&&i++<o?(t.consume(l),a):(t.exit(n),e(l))}}const Yz={partial:!0,tokenize:Jz};function Jz(t,e,n){return r;function r(i){return Or(i)?Tr(t,o,"linePrefix")(i):o(i)}function o(i){return i===null||Fi(i)?e(i):n(i)}}const Qz={tokenize:sH,partial:!0};function Zz(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:rH,continuation:{tokenize:oH},exit:iH}},text:{91:{name:"gfmFootnoteCall",tokenize:nH},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:eH,resolveTo:tH}}}}function eH(t,e,n){const r=this;let o=r.events.length;const i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;o--;){const l=r.events[o][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return a;function a(l){if(!s||!s._balanced)return n(l);const c=ca(r.sliceSerialize({start:s.end,end:r.now()}));return c.codePointAt(0)!==94||!i.includes(c.slice(1))?n(l):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(l),t.exit("gfmFootnoteCallLabelMarker"),e(l))}}function tH(t,e){let n=t.length;for(;n--;)if(t[n][1].type==="labelImage"&&t[n][0]==="enter"){t[n][1];break}t[n+1][1].type="data",t[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},t[n+3][1].start),end:Object.assign({},t[t.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},t[n+3][1].end),end:Object.assign({},t[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},t[t.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},a=[t[n+1],t[n+2],["enter",r,e],t[n+3],t[n+4],["enter",o,e],["exit",o,e],["enter",i,e],["enter",s,e],["exit",s,e],["exit",i,e],t[t.length-2],t[t.length-1],["exit",r,e]];return t.splice(n,t.length-n+1,...a),t}function nH(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i=0,s;return a;function a(d){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(d),t.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(t.enter("gfmFootnoteCallMarker"),t.consume(d),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",c)}function c(d){if(i>999||d===93&&!s||d===null||d===91||an(d))return n(d);if(d===93){t.exit("chunkString");const f=t.exit("gfmFootnoteCallString");return o.includes(ca(r.sliceSerialize(f)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(d),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),e):n(d)}return an(d)||(s=!0),i++,t.consume(d),d===92?u:c}function u(d){return d===91||d===92||d===93?(t.consume(d),i++,c):c(d)}}function rH(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let i,s=0,a;return l;function l(m){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(m),t.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(m){return m===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(m),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",u):n(m)}function u(m){if(s>999||m===93&&!a||m===null||m===91||an(m))return n(m);if(m===93){t.exit("chunkString");const w=t.exit("gfmFootnoteDefinitionLabelString");return i=ca(r.sliceSerialize(w)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(m),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),f}return an(m)||(a=!0),s++,t.consume(m),m===92?d:u}function d(m){return m===91||m===92||m===93?(t.consume(m),s++,u):u(m)}function f(m){return m===58?(t.enter("definitionMarker"),t.consume(m),t.exit("definitionMarker"),o.includes(i)||o.push(i),Tr(t,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return e(m)}}function oH(t,e,n){return t.check(Yz,e,t.attempt(Qz,e,n))}function iH(t){t.exit("gfmFootnoteDefinition")}function sH(t,e,n){const r=this;return Tr(t,o,"gfmFootnoteDefinitionIndent",5);function o(i){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?e(i):n(i)}}function aH(t){let n=(t||{}).singleTilde;const r={name:"strikethrough",tokenize:i,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(s,a){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let c=l;for(;c--;)if(s[c][0]==="exit"&&s[c][1].type==="strikethroughSequenceTemporary"&&s[c][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[c][1].end.offset-s[c][1].start.offset){s[l][1].type="strikethroughSequence",s[c][1].type="strikethroughSequence";const u={type:"strikethrough",start:Object.assign({},s[c][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[c][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",u,a],["enter",s[c][1],a],["exit",s[c][1],a],["enter",d,a]],p=a.parser.constructs.insideSpan.null;p&&Wc(f,f.length,0,Xz(p,s.slice(c+1,l),a)),Wc(f,f.length,0,[["exit",d,a],["enter",s[l][1],a],["exit",s[l][1],a],["exit",u,a]]),Wc(s,c-1,l-c+3,f),l=c+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type="data");return s}function i(s,a,l){const c=this.previous,u=this.events;let d=0;return f;function f(m){return c===126&&u[u.length-1][1].type!=="characterEscape"?l(m):(s.enter("strikethroughSequenceTemporary"),p(m))}function p(m){const w=$c(c);if(m===126)return d>1?l(m):(s.consume(m),d++,p);if(d<2&&!n)return l(m);const v=s.exit("strikethroughSequenceTemporary"),y=$c(m);return v._open=!y||y===2&&!!w,v._close=!w||w===2&&!!y,a(m)}}}class lH{constructor(){this.map=[]}add(e,n,r){cH(this,e,n,r)}consume(e){if(this.map.sort(function(i,s){return i[0]-s[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(e.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),e.length=this.map[n][0];r.push(e.slice()),e.length=0;let o=r.pop();for(;o;){for(const i of o)e.push(i);o=r.pop()}this.map.length=0}}function cH(t,e,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<t.map.length;){if(t.map[o][0]===e){t.map[o][1]+=n,t.map[o][2].push(...r);return}o+=1}t.map.push([e,n,r])}}function uH(t,e){let n=!1;const r=[];for(;e<t.length;){const o=t[e];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(t[e+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(t[e-1][1].type==="tableDelimiterMarker"){const i=r.length-1;r[i]=r[i]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);e+=1}return r}function dH(){return{flow:{null:{name:"table",tokenize:fH,resolveAll:hH}}}}function fH(t,e,n){const r=this;let o=0,i=0,s;return a;function a(D){let M=r.events.length-1;for(;M>-1;){const I=r.events[M][1].type;if(I==="lineEnding"||I==="linePrefix")M--;else break}const N=M>-1?r.events[M][1].type:null,F=N==="tableHead"||N==="tableRow"?k:l;return F===k&&r.parser.lazy[r.now().line]?n(D):F(D)}function l(D){return t.enter("tableHead"),t.enter("tableRow"),c(D)}function c(D){return D===124||(s=!0,i+=1),u(D)}function u(D){return D===null?n(D):Fi(D)?i>1?(i=0,r.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(D),t.exit("lineEnding"),p):n(D):Or(D)?Tr(t,u,"whitespace")(D):(i+=1,s&&(s=!1,o+=1),D===124?(t.enter("tableCellDivider"),t.consume(D),t.exit("tableCellDivider"),s=!0,u):(t.enter("data"),d(D)))}function d(D){return D===null||D===124||an(D)?(t.exit("data"),u(D)):(t.consume(D),D===92?f:d)}function f(D){return D===92||D===124?(t.consume(D),d):d(D)}function p(D){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(D):(t.enter("tableDelimiterRow"),s=!1,Or(D)?Tr(t,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):m(D))}function m(D){return D===45||D===58?v(D):D===124?(s=!0,t.enter("tableCellDivider"),t.consume(D),t.exit("tableCellDivider"),w):b(D)}function w(D){return Or(D)?Tr(t,v,"whitespace")(D):v(D)}function v(D){return D===58?(i+=1,s=!0,t.enter("tableDelimiterMarker"),t.consume(D),t.exit("tableDelimiterMarker"),y):D===45?(i+=1,y(D)):D===null||Fi(D)?S(D):b(D)}function y(D){return D===45?(t.enter("tableDelimiterFiller"),g(D)):b(D)}function g(D){return D===45?(t.consume(D),g):D===58?(s=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(D),t.exit("tableDelimiterMarker"),x):(t.exit("tableDelimiterFiller"),x(D))}function x(D){return Or(D)?Tr(t,S,"whitespace")(D):S(D)}function S(D){return D===124?m(D):D===null||Fi(D)?!s||o!==i?b(D):(t.exit("tableDelimiterRow"),t.exit("tableHead"),e(D)):b(D)}function b(D){return n(D)}function k(D){return t.enter("tableRow"),A(D)}function A(D){return D===124?(t.enter("tableCellDivider"),t.consume(D),t.exit("tableCellDivider"),A):D===null||Fi(D)?(t.exit("tableRow"),e(D)):Or(D)?Tr(t,A,"whitespace")(D):(t.enter("data"),E(D))}function E(D){return D===null||D===124||an(D)?(t.exit("data"),A(D)):(t.consume(D),D===92?T:E)}function T(D){return D===92||D===124?(t.consume(D),E):E(D)}}function hH(t,e){let n=-1,r=!0,o=0,i=[0,0,0,0],s=[0,0,0,0],a=!1,l=0,c,u,d;const f=new lH;for(;++n<t.length;){const p=t[n],m=p[1];p[0]==="enter"?m.type==="tableHead"?(a=!1,l!==0&&(Wx(f,e,l,c,u),u=void 0,l=0),c={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",c,e]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,d=void 0,i=[0,0,0,0],s=[0,n+1,0,0],a&&(a=!1,u={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",u,e]])),o=m.type==="tableDelimiterRow"?2:u?3:1):o&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,s[2]===0&&(i[1]!==0&&(s[0]=s[1],d=Vc(f,e,i,o,void 0,d),i=[0,0,0,0]),s[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(i[1]!==0&&(s[0]=s[1],d=Vc(f,e,i,o,void 0,d)),i=s,s=[i[1],n,0,0])):m.type==="tableHead"?(a=!0,l=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(l=n,i[1]!==0?(s[0]=s[1],d=Vc(f,e,i,o,n,d)):s[1]!==0&&(d=Vc(f,e,s,o,n,d)),o=0):o&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(s[3]=n)}for(l!==0&&Wx(f,e,l,c,u),f.consume(e.events),n=-1;++n<e.events.length;){const p=e.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=uH(e.events,n))}return t}function Vc(t,e,n,r,o,i){const s=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",a="tableContent";n[0]!==0&&(i.end=Object.assign({},Mi(e.events,n[0])),t.add(n[0],0,[["exit",i,e]]));const l=Mi(e.events,n[1]);if(i={type:s,start:Object.assign({},l),end:Object.assign({},l)},t.add(n[1],0,[["enter",i,e]]),n[2]!==0){const c=Mi(e.events,n[2]),u=Mi(e.events,n[3]),d={type:a,start:Object.assign({},c),end:Object.assign({},u)};if(t.add(n[2],0,[["enter",d,e]]),r!==2){const f=e.events[n[2]],p=e.events[n[3]];if(f[1].end=Object.assign({},p[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,w=n[3]-n[2]-1;t.add(m,w,[])}}t.add(n[3]+1,0,[["exit",d,e]])}return o!==void 0&&(i.end=Object.assign({},Mi(e.events,o)),t.add(o,0,[["exit",i,e]]),i=void 0),i}function Wx(t,e,n,r,o){const i=[],s=Mi(e.events,n);o&&(o.end=Object.assign({},s),i.push(["exit",o,e])),r.end=Object.assign({},s),i.push(["exit",r,e]),t.add(n+1,0,i)}function Mi(t,e){const n=t[e],r=n[0]==="enter"?"start":"end";return n[1][r]}const pH={name:"tasklistCheck",tokenize:gH};function mH(){return{text:{91:pH}}}function gH(t,e,n){const r=this;return o;function o(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),i)}function i(l){return an(l)?(t.enter("taskListCheckValueUnchecked"),t.consume(l),t.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(t.enter("taskListCheckValueChecked"),t.consume(l),t.exit("taskListCheckValueChecked"),s):n(l)}function s(l){return l===93?(t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),a):n(l)}function a(l){return Fi(l)?e(l):Or(l)?t.check({tokenize:wH},e,n)(l):n(l)}}function wH(t,e,n){return Tr(t,r,"whitespace");function r(o){return o===null?n(o):e(o)}}function vH(t){return Iz([$z(),Zz(),aH(t),dH(),mH()])}const yH={};function bH(t){const e=this,n=t||yH,r=e.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(vH(n)),i.push(Fz()),s.push(Mz(n))}const{TextArea:CH}=B.Input,Vx=["hsl(46, 100%, 92%)","hsl(36, 77%, 87%)","hsl(354, 83%, 92%)","hsl(145, 60%, 90%)","hsl(210, 67%, 92%)","hsl(247, 49%, 93%)","hsl(0, 0%, 99%)"];function kH(t){return{"hsl(46, 100%, 92%)":"hsl(46, 100%, 77%)","hsl(36, 77%, 87%)":"hsl(36, 77%, 72%)","hsl(354, 83%, 92%)":"hsl(355, 83%, 82%)","hsl(145, 60%, 90%)":"hsl(146, 60%, 70%)","hsl(210, 67%, 92%)":"hsl(210, 67%, 82%)","hsl(247, 49%, 93%)":"hsl(247, 49%, 83%)","hsl(0, 0%, 99%)":"hsl(0, 0%, 88%)"}[t]||"hsl(0, 0%, 50%)"}const Ux=`
80
+ ## 双击编辑 [Markdown](https://www.markdown.cn/docs/tutorial-basics/basic-syntax)
81
+ `,mp={content:Ux,color:Vx[0]},xH=({id:t,data:e,selected:n,width:r,height:o})=>{const{config_schema:i}=e||{},s=C.useRef(null),a=C.useMemo(()=>{if(i!=null&&i.value)try{const O=JSON.parse(i.value);return{...mp,...O}}catch{return mp}return mp},[i==null?void 0:i.value]),{handleNodeDataUpdate:l}=_i(),[c,u]=C.useState(!1),[d,f]=C.useState(a.content),[p,m]=C.useState(a.content),[w,v]=C.useState(a.color),{addNodes:y,getNodes:g}=rs(),{handleNodesDelete:x}=op(),S=yn();C.useEffect(()=>{f(a.content),v(a.color)},[a.content,a.color]);const b=O=>({content:d,color:w,width:r,height:o,...O}),k=()=>{if(s.current){const O=s.current.getBoundingClientRect();return{width:Math.round(O.width),height:Math.round(O.height)}}return{width:r,height:o}},A=O=>{var L;const H={config_schema:{value:JSON.stringify(O)}};l({id:t,sync:!0,data:H}),(L=e==null?void 0:e.onChange)==null||L.call(e,t,O)},E=()=>{m(d),u(!0)},T=C.useCallback(()=>{const O=p||Ux;f(O);const H=k(),L=b({content:O,color:w,width:H.width,height:H.height});A(L),u(!1)},[p,w,r,o]),D=()=>{u(!1)},M=C.useCallback(()=>{setTimeout(()=>{const O=k(),H=b({width:O.width,height:O.height});A(H)},50)},[d,w,r,o]),N=O=>{v(O);const H=k(),L=b({color:O,width:H.width,height:H.height});A(L)},F=async()=>{try{await Uu(t),x([t],ne.STICKY),B.message.success("便签删除成功")}catch(O){B.message.error("便签删除失败"),console.error("删除便签失败:",O)}},I=async()=>{var H;const O=g();try{const L=O.find(Y=>Y.id===t);if(!L){B.message.error("获取当前节点信息失败");return}const W=(H=S.canvas.limits)==null?void 0:H.maxNodes;if(typeof W=="number"&&O.length>=W){B.message.warning("已达到画布允许的最大节点数");return}const R=await Ru(t);if(R){const Y={id:R.id,type:R.node_type,position:{x:L.position.x,y:L.position.y+100}};y([Y]),B.message.success("便签复制成功")}}catch(L){B.message.error("便签复制失败"),console.error("复制便签失败:",L)}};return h.jsxs(C.Fragment,{children:[h.jsx(ie.NodeResizer,{lineStyle:{borderColor:"transparent",borderWidth:15},handleStyle:{background:"transparent"},onResizeEnd:M,minWidth:140,minHeight:94}),n&&h.jsx(ie.NodeToolbar,{children:h.jsxs("div",{className:"workflow-sticky-toolbar",children:[h.jsx("div",{className:"sticky-toolbar-button",onClick:E,children:h.jsx(ce.EditOutlined,{})}),h.jsx("div",{className:"sticky-toolbar-button",onClick:I,children:h.jsx(ce.CopyOutlined,{})}),h.jsx("div",{className:"sticky-toolbar-button sticky-toolbar-button-danger",onClick:F,children:h.jsx(ce.DeleteOutlined,{})}),h.jsx("div",{className:"sticky-color-palette",children:Vx.map(O=>h.jsx("div",{className:_n("sticky-color-item",{"sticky-color-item-active":O===w}),style:{backgroundColor:O},onClick:()=>N(O)},O))})]})}),h.jsx("div",{ref:s,style:{width:"100%",height:"100%"},children:h.jsx(B.Card,{className:_n("workflow-sticky-note",{"workflow-sticky-note-selected":n}),style:{width:"100%",height:"100%",padding:0,borderColor:kH(w)},styles:{body:{width:"100%",height:"100%",backgroundColor:w,padding:8,overflow:"auto"}},onDoubleClick:E,children:h.jsx("div",{className:"workflow-sticky-md",children:h.jsx(wD,{remarkPlugins:[bH],children:d})})})}),h.jsx(B.Modal,{title:"编辑便签",open:c,onOk:T,onCancel:D,okText:"确定",cancelText:"取消",width:520,children:h.jsx(CH,{value:p,onChange:O=>m(O.target.value),autoSize:{minRows:6,maxRows:12},placeholder:"支持 Markdown 语法,在此编辑便签内容"})})]})},SH=t=>{var l;const{id:e,data:n,selected:r}=t,o=ie.useUpdateNodeInternals(),i=ie.useInternalNode(e),s=i==null?void 0:i.data,a=C.useMemo(()=>{const u=((s==null?void 0:s.config_schema)||{}).branches||[],d=Math.max(2,Math.min(u.length,10));return setTimeout(()=>{o(e)},1e3),u.map((f,p)=>{const m=f==null?void 0:f.name,w=(p+1)/(d+2)*100;return{id:f==null?void 0:f.id,position:ie.Position.Right,type:Ke.SOURCE,maxConnections:1,label:m,style:{top:`${w}%`},isMain:!1}}).concat({id:"default-branch",position:ie.Position.Right,type:Ke.SOURCE,maxConnections:1,label:"default",style:{top:`${(u.length+1)/(d+2)*100}%`},isMain:!1})},[s==null?void 0:s.config_schema,JSON.stringify((l=s==null?void 0:s.config_schema)==null?void 0:l.branches)]);return h.jsx(An,{id:e,data:s,selected:r,height:a.length>2?a.length*30:72,type:ne.SWITCH,status:s==null?void 0:s.status,className:"switch-node",icon:s!=null&&s.icon?h.jsx("img",{src:s==null?void 0:s.icon,alt:s.name,style:{width:24,height:24}}):h.jsx(ce.FilterOutlined,{style:{fontSize:24,color:"#007fff"}}),inputs:[{id:Ne.INPUT,position:ie.Position.Left,type:Ke.TARGET,maxConnections:1,isMain:!0}],outputs:a})},EH=t=>{const{id:e,data:n,selected:r}=t,o=n;return h.jsx(An,{id:e,data:o,selected:r,type:ne.TRIGGER,status:o==null?void 0:o.status,icon:o!=null&&o.icon?h.jsx("img",{src:o==null?void 0:o.icon,alt:o.label,style:{width:30,height:30}}):h.jsx(vD.PiCursorFill,{style:{color:"#007fff",fontSize:24}}),inputs:[],outputs:[{id:Ne.OUTPUT,position:ie.Position.Right,type:Ke.SOURCE,isMain:!0,label:"",maxConnections:1}],className:"workflow-trigger-node"})};class to{static getNodeTypes(){return{[ne.START]:G6,[ne.TRIGGER]:EH,[ne.ACTION]:M6,[ne.AGENT]:I6,[ne.BROWSER]:P6,[ne.CONDITION]:z6,[ne.LOOP]:j6,[ne.SELFLOOP]:R6,[ne.AISUBNODE]:sx,[ne.VECTORSTORE]:sx,[ne.MCPServer]:W6,[ne.BuiltinMCP]:L6,[ne.MCPTOOL]:V6,custom:H6,[ne.SWITCH]:SH,[ne.STICKY]:xH}}static mapTypeToBackendType(e){switch(e){case ne.ACTION:return"ActionNode";case ne.CONDITION:return"ConditionNode";case ne.LOOP:return"LoopNode";case ne.SELFLOOP:return"SelfLoopNode";case ne.AGENT:return"AgentNode";case ne.TRIGGER:return"StartEventNode";case ne.START:return"StartNode";case ne.AISUBNODE:return"AISubNode";case ne.SWITCH:return"SwitchNode";case ne.STICKY:return"StickyNoteNode";default:return"UnknownNode"}}static createNode(e,n,r,o={x:0,y:0}){let i={};switch(e){case ne.CONDITION:r.branches||(r.branches=[{id:"true",label:"是",condition:"value === true"},{id:"false",label:"否",condition:"value === false"}]);break;case ne.LOOP:r.loopType||(r.loopType="for",r.config={initialValue:0,finalValue:10,step:1});break;case ne.TRIGGER:i={};break}return{id:n,type:e,data:r,position:o,...i}}static toBackendFormat(e){const n=e.data.node_type,r=e.data.action_id||e.data.id||"";return{node_type:n,connector_id:e.data.connector_id||"",n_id:e.data.n_id||e.id,action_id:r,account_id:e.data.account_id||null,position:e.position,properties:to.extractNodeProperties(e.data)}}static extractNodeProperties(e){if(!e)return{};const n={...e};return["node_type","connector_id","n_id","action_id","account_id","label","description","isHovered","category"].forEach(o=>{o in n&&delete n[o]}),n}}const da=[],DH={nodes:da,edges:[],selectedNodes:[],selectedEdges:[],workflowName:"",refreshWorkFlowNum:0,autoSaveWatchNum:0,currentNodeConfigVisibleId:null,isLocked:!0},qx=mu.createSlice({name:"workflow",initialState:DH,reducers:{setWorkflowId:(t,e)=>{t.workflowId=e.payload},executeAutoSave:t=>{t.autoSaveWatchNum+=1},setWorkflowName:(t,e)=>{t.workflowName=e.payload},applyNodesChanges:(t,e)=>{const n=ie.applyNodeChanges(e.payload,t.nodes);t.nodes=n.length>0?n:da},applyEdgesChanges:(t,e)=>{t.edges=ie.applyEdgeChanges(e.payload,t.edges)},refreshFlow:t=>{t.refreshWorkFlowNum+=1},addConnection:(t,e)=>{const n={id:Yu(),source:e.payload.source,type:"main",sourceHandle:e.payload.sourceHandle,target:e.payload.target,targetHandle:e.payload.targetHandle};t.edges.push(n)},addNode:(t,e)=>{const{type:n,position:r,data:o}=e.payload,i=to.createNode(n,Yu(),o,r);t.nodes.push(i)},addNodes:(t,e)=>{const n=t.nodes.concat(e.payload);t.nodes=n.length>0?n.filter(r=>r.id!=="PLACEHOLDER_NODE"):da},addEdges:(t,e)=>{t.edges.push(...e.payload)},resetFlow:t=>{t.nodes=[],t.edges=[],t.workflowName="",t.workflowId="",t.refreshWorkFlowNum=0,t.currentNodeConfigVisibleId=null,t.isLocked=!0},removeNodes:(t,e)=>{const n=e.payload,r=t.nodes.filter(o=>!n.includes(o.id));t.nodes=r.length>0?r:da,t.edges=t.edges.filter(o=>!n.includes(o.source)&&!n.includes(o.target))},removeEdges:(t,e)=>{const n=e.payload;t.edges=t.edges.filter(r=>!n.includes(r.id))},setSelection:(t,e)=>{t.selectedNodes=e.payload.nodes,t.selectedEdges=e.payload.edges},updateEdge:(t,e)=>{const{oldEdge:n,newConnection:r}=e.payload,o=t.edges.findIndex(i=>i.id===n.id);if(o!==-1){const i={...n,source:r.source,sourceHandle:r.sourceHandle,target:r.target,targetHandle:r.targetHandle};t.edges[o]=i}},setNodes:(t,e)=>{t.nodes=e.payload.length>0?e.payload:da},setEdges:(t,e)=>{t.edges=e.payload},setFlowOpStatus:(t,e)=>{t.op_status=e.payload},updateNode:(t,e)=>{const{id:n,data:r}=e.payload,o=t.nodes.findIndex(i=>i.id===n);o!==-1&&(t.nodes[o]={...t.nodes[o],data:{...t.nodes[o].data,...r}})},setCurrentNodeConfigVisibleId:(t,e)=>{t.currentNodeConfigVisibleId=e.payload},setLocked:(t,e)=>{t.isLocked=e.payload}}}),{setWorkflowId:AH,setWorkflowName:Uc,applyNodesChanges:OH,applyEdgesChanges:BH,addConnection:TH,addNode:MV,addNodes:_H,addEdges:NH,removeNodes:FH,removeEdges:MH,setSelection:IV,updateEdge:IH,setNodes:PH,setEdges:LH,updateNode:zH,setFlowOpStatus:gp,refreshFlow:Rx,setCurrentNodeConfigVisibleId:HH,setLocked:$H,resetFlow:wp,executeAutoSave:jH}=qx.actions,WH=qx.reducer,Gx=mu.configureStore({reducer:{workflow:WH,panel:OO}}),qc=()=>Wi.useDispatch(),fa=Wi.useSelector;function no(t){const[e]=Ku(),[n,r]=C.useState(t||e.get("id")),o=qc(),{nodes:i,edges:s,selectedNodes:a,selectedEdges:l,currentNodeConfigVisibleId:c,op_status:u,isLocked:d}=fa(N=>N.workflow);C.useEffect(()=>{n&&(r(n),o(AH(n)))},[n,o]);const f=C.useCallback(N=>{o(gp(N))},[o]),p=C.useCallback(()=>{o(jH())},[o]),m=C.useCallback(N=>{o(OH(N))},[]),w=C.useCallback(N=>{o(BH(N))},[o]),v=C.useCallback(N=>{o(TH(N))},[o]),y=C.useCallback((N,F)=>{o(IH({oldEdge:N,newConnection:F}))},[o]),g=C.useCallback(N=>{o(_H(N))},[o]),x=C.useCallback(N=>{o(NH(N))},[o]),S=C.useCallback(N=>{o(FH(N))},[o]),b=C.useCallback(N=>{o(MH(N))},[o]),k=C.useCallback(N=>{o(PH(N))},[o]),A=C.useCallback(N=>{o(LH(N))},[o]),E=C.useCallback((N,F)=>{o(zH({id:N,data:F}))},[o]),T=C.useCallback(()=>{o(Rx())},[o]),D=C.useCallback(N=>{o(HH(N))},[o]),M=C.useCallback(N=>{o($H(N))},[o]);return{nodes:i,edges:s,op_status:u,selectedNodes:a,selectedEdges:l,currentNodeConfigVisibleId:c,onNodesChange:m,onEdgesChange:w,onConnect:v,onEdgeUpdate:y,addNodes:g,addEdges:x,removeNodes:S,removeEdges:b,setNodes:k,setEdges:A,updateNode:E,refreshFlow:T,setFlowOpStatusAction:f,workflowId:n,setNodeConfigVisible:D,isLocked:d,setLocked:M,autoSaveFlow:p}}const At=()=>{const{op_status:t,isLocked:e}=no();return C.useMemo(()=>e&&t!==es.ONLINE&&t!==es.ON_WARN&&t!==es.ONLINE_ING,[t,e])},vp=()=>{const t=ie.useStoreApi(),e=C.useCallback((s,a)=>{const{edges:l,setEdges:c}=t.getState(),u=cn(l,d=>{const f=d.find(p=>p.id===a.id);f.data?f.data.isHovered=!0:f.data={isHovered:!0}});c(u)},[]),n=C.useCallback((s,a)=>{const{edges:l,setEdges:c}=t.getState(),u=cn(l,d=>{const f=d.find(p=>p.id===a.id);f.data?f.data.isHovered=!1:f.data={isHovered:!1}});c(u)},[]),r=C.useCallback(s=>{const{edges:a,setEdges:l}=t.getState(),c=cn(a,u=>{s.forEach(d=>{d.type==="select"&&(u.find(f=>f.id===d.id).selected=d.selected)})});l(c)},[t]),o=C.useCallback(s=>{const{edges:a,setEdges:l}=t.getState(),c=a.filter(u=>!s.includes(u.id));console.log("edges",a),console.log("newEdges",c),l(c)},[t]),i=C.useCallback(s=>{const a=mn.createEdge(Ht.MAIN,`${s.source}-${s.target}-${Date.now()}`,s.source,s.target,{sourceHandle:s.sourceHandle,targetHandle:s.targetHandle}),{edges:l,setEdges:c}=t.getState();c([...l,a])},[t]);return{onEdgeMouseEnter:e,removeEdges:o,onConnect:i,setEdges:t.getState().setEdges,onEdgeMouseLeave:n,handleEdgesChange:r}},VH=t=>{switch(t){case ve.INVALID:return"workflow-edge-warning";case ve.FAILED:return"workflow-edge-failed";case ve.SUCCESS:return"workflow-edge-success";case ve.RUNNING:return"workflow-edge-running";case ve.IDLE:default:return""}},{EDGE_PADDING_BOTTOM:UH,EDGE_BORDER_RADIUS:Kx,HANDLE_SIZE:qH}=ow,{undeletableEdgeTargetTypes:RH,unAddableTargetTypes:GH}=iw,Rc=1,KH=({id:t,sourceX:e,sourceY:n,targetX:r,targetY:o,sourcePosition:i,targetPosition:s,data:a,source:l,sourceHandleId:c,target:u,targetHandleId:d,style:f={},animated:p=!1,className:m="workflow-main-edge"})=>{var ee,pe,se,P;const w=kr(),{removeEdges:v}=vp(),{getNodes:y}=rs(),{openNodeSelector:g}=ns(),x=ie.useInternalNode(l),S=((ee=x==null?void 0:x.data)==null?void 0:ee.status)||ve.IDLE,b=At(),k=ie.useInternalNode(u),A=tw.includes((P=(se=(pe=k==null?void 0:k.data)==null?void 0:pe.protocol)==null?void 0:se.toUpperCase)==null?void 0:P.call(se))||nw.includes(k==null?void 0:k.type),E=yn(),T=E.edgeRules,D=C.useMemo(()=>s===ie.Position.Left?r+Rc:s===ie.Position.Right?r-Rc:r,[r,s]),M=C.useMemo(()=>s===ie.Position.Top?o+Rc:s===ie.Position.Bottom?o-Rc:o,[o,s]),N=C.useMemo(()=>e-qH>D,[e,D]),F=(a==null?void 0:a.connectionType)||"main",I=(a==null?void 0:a.isLoopEdge)||!1,O=RH.includes(k==null?void 0:k.type),H=GH.includes(k==null?void 0:k.type),{edgePath:L,labelX:W,labelY:R}=C.useMemo(()=>{if(!N||F!=="main"||A){const[U,G,X]=ie.getBezierPath({sourceX:e,sourceY:n,sourcePosition:i,targetX:D,targetY:M,targetPosition:s});return{edgePath:U,labelX:G,labelY:X}}else{const U=(e+D)/2,G=n+UH,[X]=ie.getSmoothStepPath({sourceX:e,sourceY:n,sourcePosition:i,targetX:U,targetY:G,targetPosition:ie.Position.Right,borderRadius:Kx}),[ge]=ie.getSmoothStepPath({sourceX:U,sourceY:G,sourcePosition:ie.Position.Left,targetX:D,targetY:M,targetPosition:s,borderRadius:Kx});return{edgePath:`${X} ${ge}`,labelX:U,labelY:G}}},[e,n,D,M,i,s,N,F]),K={...A?Qi.aiProtocol:I?Qi.loop:a!=null&&a.isHovered?Qi.hovered:Qi.default,...f},le=`workflow-edge ${p?"workflow-edge-animated":""}
82
+ ${I?"workflow-loop-edge":""}
83
+ ${a!=null&&a.isHovered?"edge-hovered":""}
84
+ ${VH(S)} ${m}`.replace(/\s+/g," ").trim(),$=U=>{var Pe;if(U.stopPropagation(),T&&T.allowAddNodeOnEdge===!1)return;const G=y(),X=(Pe=E.canvas.limits)==null?void 0:Pe.maxNodes;if(typeof X=="number"&&G.length>=X){B.message.warning("已达到画布允许的最大节点数");return}const ge={x:(e+D)/2,y:(n+M)/2};g({position:ge,edge:{id:t,source:l,sourceHandleId:c,target:u,targetHandleId:d,data:a},targetNode:ht.cloneDeep(k),sourceNode:ht.cloneDeep(x)})},V=U=>{U.stopPropagation(),!(O||T&&T.allowDeleteEdge===!1)&&(v([t]),Yg(w,[t]))},q=[h.jsx("path",{id:t,className:le,d:L,style:K,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",markerEnd:"url(#workflow-arrow)"},`${t}-path`),b?h.jsx(ie.EdgeLabelRenderer,{children:h.jsxs("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${W}px,${R}px)`,padding:"4px",borderRadius:"4px",opacity:a!=null&&a.isHovered?1:0,gap:"8px",zIndex:1e3,pointerEvents:"all"},className:"nodrag nopan workflow-edge-buttons",children:[!H&&(!T||T.allowAddNodeOnEdge!==!1)&&h.jsx("button",{type:"button",onClick:$,style:{...Zi.default,...Zi.add},className:"workflow-edge-button",title:"添加节点",children:h.jsx(ce.PlusOutlined,{style:{fontSize:"16px"}})}),!O&&(!T||T.allowDeleteEdge!==!1)&&h.jsx("button",{type:"button",onClick:V,style:{...Zi.default,...Zi.delete},className:"workflow-edge-button",title:"删除连线",children:h.jsx(ce.DeleteOutlined,{style:{fontSize:"16px"}})})]})},`${t}-buttons`):null];return a!=null&&a.label&&q.push(h.jsx(ie.EdgeLabelRenderer,{children:h.jsx("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${W}px,${R+(I?20:0)}px)`,...rw.edge},children:a.label})},`${t}-label`)),q};class mn{static getEdgeTypes(){return{[Ht.MAIN]:KH}}static getEdgeComponent(e){const n=mn.getEdgeTypes();return n[e]||n[Ht.MAIN]}static createEdge(e,n,r,o,i){const s=e===Ht.AI?"workflow-ai-edge":"workflow-main-edge",a=e===Ht.AI?"green":"#7e8186";let l={},c,u,d;if(typeof i=="function")d=i;else if(i&&typeof i=="object")if("sourceHandle"in i||"targetHandle"in i||"onAddNode"in i){const f=i;c=f.sourceHandle,u=f.targetHandle,d=f.onAddNode,l=f.data||{}}else l=i;return{id:n,type:e,source:r,target:o,sourceHandle:c,targetHandle:u,data:{...l,className:s,onAddNode:d},markerEnd:{type:ie.MarkerType.ArrowClosed,width:20,height:20,color:a},style:{stroke:a,strokeWidth:1},className:s}}static renderEdge(e){const n=mn.getEdgeComponent(e.type||Ht.MAIN);return h.jsx(n,{...e})}}const XH=({enabled:t=!0,message:e="您有未保存的更改,确定要离开吗?"})=>{C.useEffect(()=>{if(!t)return;let n;return(()=>{n=ts.block(o=>{t?window.confirm(e)&&(n==null||n(),o.retry()):(n==null||n(),o.retry())})})(),()=>{n==null||n()}},[t,e]),C.useEffect(()=>{if(!t)return;const n=r=>{if(t)return r.preventDefault(),r.returnValue=e,e};return window.addEventListener("beforeunload",n),()=>window.removeEventListener("beforeunload",n)},[t,e])};var yp,Xx;function bp(){if(Xx)return yp;Xx=1;var t="\0",e="\0",n="";class r{constructor(u){Qe(this,"_isDirected",!0);Qe(this,"_isMultigraph",!1);Qe(this,"_isCompound",!1);Qe(this,"_label");Qe(this,"_defaultNodeLabelFn",()=>{});Qe(this,"_defaultEdgeLabelFn",()=>{});Qe(this,"_nodes",{});Qe(this,"_in",{});Qe(this,"_preds",{});Qe(this,"_out",{});Qe(this,"_sucs",{});Qe(this,"_edgeObjs",{});Qe(this,"_edgeLabels",{});Qe(this,"_nodeCount",0);Qe(this,"_edgeCount",0);Qe(this,"_parent");Qe(this,"_children");u&&(this._isDirected=Object.hasOwn(u,"directed")?u.directed:!0,this._isMultigraph=Object.hasOwn(u,"multigraph")?u.multigraph:!1,this._isCompound=Object.hasOwn(u,"compound")?u.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[e]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(u){return this._label=u,this}graph(){return this._label}setDefaultNodeLabel(u){return this._defaultNodeLabelFn=u,typeof u!="function"&&(this._defaultNodeLabelFn=()=>u),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var u=this;return this.nodes().filter(d=>Object.keys(u._in[d]).length===0)}sinks(){var u=this;return this.nodes().filter(d=>Object.keys(u._out[d]).length===0)}setNodes(u,d){var f=arguments,p=this;return u.forEach(function(m){f.length>1?p.setNode(m,d):p.setNode(m)}),this}setNode(u,d){return Object.hasOwn(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=d),this):(this._nodes[u]=arguments.length>1?d:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=e,this._children[u]={},this._children[e][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)}node(u){return this._nodes[u]}hasNode(u){return Object.hasOwn(this._nodes,u)}removeNode(u){var d=this;if(Object.hasOwn(this._nodes,u)){var f=p=>d.removeEdge(d._edgeObjs[p]);delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],this.children(u).forEach(function(p){d.setParent(p)}),delete this._children[u]),Object.keys(this._in[u]).forEach(f),delete this._in[u],delete this._preds[u],Object.keys(this._out[u]).forEach(f),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this}setParent(u,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d===void 0)d=e;else{d+="";for(var f=d;f!==void 0;f=this.parent(f))if(f===u)throw new Error("Setting "+d+" as parent of "+u+" would create a cycle");this.setNode(d)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=d,this._children[d][u]=!0,this}_removeFromParentsChildList(u){delete this._children[this._parent[u]][u]}parent(u){if(this._isCompound){var d=this._parent[u];if(d!==e)return d}}children(u=e){if(this._isCompound){var d=this._children[u];if(d)return Object.keys(d)}else{if(u===e)return this.nodes();if(this.hasNode(u))return[]}}predecessors(u){var d=this._preds[u];if(d)return Object.keys(d)}successors(u){var d=this._sucs[u];if(d)return Object.keys(d)}neighbors(u){var d=this.predecessors(u);if(d){const p=new Set(d);for(var f of this.successors(u))p.add(f);return Array.from(p.values())}}isLeaf(u){var d;return this.isDirected()?d=this.successors(u):d=this.neighbors(u),d.length===0}filterNodes(u){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([w,v]){u(w)&&d.setNode(w,v)}),Object.values(this._edgeObjs).forEach(function(w){d.hasNode(w.v)&&d.hasNode(w.w)&&d.setEdge(w,f.edge(w))});var p={};function m(w){var v=f.parent(w);return v===void 0||d.hasNode(v)?(p[w]=v,v):v in p?p[v]:m(v)}return this._isCompound&&d.nodes().forEach(w=>d.setParent(w,m(w))),d}setDefaultEdgeLabel(u){return this._defaultEdgeLabelFn=u,typeof u!="function"&&(this._defaultEdgeLabelFn=()=>u),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(u,d){var f=this,p=arguments;return u.reduce(function(m,w){return p.length>1?f.setEdge(m,w,d):f.setEdge(m,w),w}),this}setEdge(){var u,d,f,p,m=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(u=w.v,d=w.w,f=w.name,arguments.length===2&&(p=arguments[1],m=!0)):(u=w,d=arguments[1],f=arguments[3],arguments.length>2&&(p=arguments[2],m=!0)),u=""+u,d=""+d,f!==void 0&&(f=""+f);var v=s(this._isDirected,u,d,f);if(Object.hasOwn(this._edgeLabels,v))return m&&(this._edgeLabels[v]=p),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(d),this._edgeLabels[v]=m?p:this._defaultEdgeLabelFn(u,d,f);var y=a(this._isDirected,u,d,f);return u=y.v,d=y.w,Object.freeze(y),this._edgeObjs[v]=y,o(this._preds[d],u),o(this._sucs[u],d),this._in[d][v]=y,this._out[u][v]=y,this._edgeCount++,this}edge(u,d,f){var p=arguments.length===1?l(this._isDirected,arguments[0]):s(this._isDirected,u,d,f);return this._edgeLabels[p]}edgeAsObj(){const u=this.edge(...arguments);return typeof u!="object"?{label:u}:u}hasEdge(u,d,f){var p=arguments.length===1?l(this._isDirected,arguments[0]):s(this._isDirected,u,d,f);return Object.hasOwn(this._edgeLabels,p)}removeEdge(u,d,f){var p=arguments.length===1?l(this._isDirected,arguments[0]):s(this._isDirected,u,d,f),m=this._edgeObjs[p];return m&&(u=m.v,d=m.w,delete this._edgeLabels[p],delete this._edgeObjs[p],i(this._preds[d],u),i(this._sucs[u],d),delete this._in[d][p],delete this._out[u][p],this._edgeCount--),this}inEdges(u,d){var f=this._in[u];if(f){var p=Object.values(f);return d?p.filter(m=>m.v===d):p}}outEdges(u,d){var f=this._out[u];if(f){var p=Object.values(f);return d?p.filter(m=>m.w===d):p}}nodeEdges(u,d){var f=this.inEdges(u,d);if(f)return f.concat(this.outEdges(u,d))}}function o(c,u){c[u]?c[u]++:c[u]=1}function i(c,u){--c[u]||delete c[u]}function s(c,u,d,f){var p=""+u,m=""+d;if(!c&&p>m){var w=p;p=m,m=w}return p+n+m+n+(f===void 0?t:f)}function a(c,u,d,f){var p=""+u,m=""+d;if(!c&&p>m){var w=p;p=m,m=w}var v={v:p,w:m};return f&&(v.name=f),v}function l(c,u){return s(c,u.v,u.w,u.name)}return yp=r,yp}var Cp,Yx;function YH(){return Yx||(Yx=1,Cp="2.2.4"),Cp}var kp,Jx;function JH(){return Jx||(Jx=1,kp={Graph:bp(),version:YH()}),kp}var xp,Qx;function QH(){if(Qx)return xp;Qx=1;var t=bp();xp={write:e,read:o};function e(i){var s={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:n(i),edges:r(i)};return i.graph()!==void 0&&(s.value=structuredClone(i.graph())),s}function n(i){return i.nodes().map(function(s){var a=i.node(s),l=i.parent(s),c={v:s};return a!==void 0&&(c.value=a),l!==void 0&&(c.parent=l),c})}function r(i){return i.edges().map(function(s){var a=i.edge(s),l={v:s.v,w:s.w};return s.name!==void 0&&(l.name=s.name),a!==void 0&&(l.value=a),l})}function o(i){var s=new t(i.options).setGraph(i.value);return i.nodes.forEach(function(a){s.setNode(a.v,a.value),a.parent&&s.setParent(a.v,a.parent)}),i.edges.forEach(function(a){s.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),s}return xp}var Sp,Zx;function ZH(){if(Zx)return Sp;Zx=1,Sp=t;function t(e){var n={},r=[],o;function i(s){Object.hasOwn(n,s)||(n[s]=!0,o.push(s),e.successors(s).forEach(i),e.predecessors(s).forEach(i))}return e.nodes().forEach(function(s){o=[],i(s),o.length&&r.push(o)}),r}return Sp}var Ep,eS;function tS(){if(eS)return Ep;eS=1;class t{constructor(){Qe(this,"_arr",[]);Qe(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var o=this._keyIndices;if(n=String(n),!Object.hasOwn(o,n)){var i=this._arr,s=i.length;return o[n]=s,i.push({key:n,priority:r}),this._decrease(s),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var o=this._keyIndices[n];if(r>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[o].priority+" New: "+r);this._arr[o].priority=r,this._decrease(o)}_heapify(n){var r=this._arr,o=2*n,i=o+1,s=n;o<r.length&&(s=r[o].priority<r[s].priority?o:s,i<r.length&&(s=r[i].priority<r[s].priority?i:s),s!==n&&(this._swap(n,s),this._heapify(s)))}_decrease(n){for(var r=this._arr,o=r[n].priority,i;n!==0&&(i=n>>1,!(r[i].priority<o));)this._swap(n,i),n=i}_swap(n,r){var o=this._arr,i=this._keyIndices,s=o[n],a=o[r];o[n]=a,o[r]=s,i[a.key]=n,i[s.key]=r}}return Ep=t,Ep}var Dp,nS;function rS(){if(nS)return Dp;nS=1;var t=tS();Dp=n;var e=()=>1;function n(o,i,s,a){return r(o,String(i),s||e,a||function(l){return o.outEdges(l)})}function r(o,i,s,a){var l={},c=new t,u,d,f=function(p){var m=p.v!==u?p.v:p.w,w=l[m],v=s(p),y=d.distance+v;if(v<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+p+" Weight: "+v);y<w.distance&&(w.distance=y,w.predecessor=u,c.decrease(m,y))};for(o.nodes().forEach(function(p){var m=p===i?0:Number.POSITIVE_INFINITY;l[p]={distance:m},c.add(p,m)});c.size()>0&&(u=c.removeMin(),d=l[u],d.distance!==Number.POSITIVE_INFINITY);)a(u).forEach(f);return l}return Dp}var Ap,oS;function e7(){if(oS)return Ap;oS=1;var t=rS();Ap=e;function e(n,r,o){return n.nodes().reduce(function(i,s){return i[s]=t(n,s,r,o),i},{})}return Ap}var Op,iS;function sS(){if(iS)return Op;iS=1,Op=t;function t(e){var n=0,r=[],o={},i=[];function s(a){var l=o[a]={onStack:!0,lowlink:n,index:n++};if(r.push(a),e.successors(a).forEach(function(d){Object.hasOwn(o,d)?o[d].onStack&&(l.lowlink=Math.min(l.lowlink,o[d].index)):(s(d),l.lowlink=Math.min(l.lowlink,o[d].lowlink))}),l.lowlink===l.index){var c=[],u;do u=r.pop(),o[u].onStack=!1,c.push(u);while(a!==u);i.push(c)}}return e.nodes().forEach(function(a){Object.hasOwn(o,a)||s(a)}),i}return Op}var Bp,aS;function t7(){if(aS)return Bp;aS=1;var t=sS();Bp=e;function e(n){return t(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Bp}var Tp,lS;function n7(){if(lS)return Tp;lS=1,Tp=e;var t=()=>1;function e(r,o,i){return n(r,o||t,i||function(s){return r.outEdges(s)})}function n(r,o,i){var s={},a=r.nodes();return a.forEach(function(l){s[l]={},s[l][l]={distance:0},a.forEach(function(c){l!==c&&(s[l][c]={distance:Number.POSITIVE_INFINITY})}),i(l).forEach(function(c){var u=c.v===l?c.w:c.v,d=o(c);s[l][u]={distance:d,predecessor:l}})}),a.forEach(function(l){var c=s[l];a.forEach(function(u){var d=s[u];a.forEach(function(f){var p=d[l],m=c[f],w=d[f],v=p.distance+m.distance;v<w.distance&&(w.distance=v,w.predecessor=m.predecessor)})})}),s}return Tp}var _p,cS;function uS(){if(cS)return _p;cS=1;function t(n){var r={},o={},i=[];function s(a){if(Object.hasOwn(o,a))throw new e;Object.hasOwn(r,a)||(o[a]=!0,r[a]=!0,n.predecessors(a).forEach(s),delete o[a],i.push(a))}if(n.sinks().forEach(s),Object.keys(r).length!==n.nodeCount())throw new e;return i}class e extends Error{constructor(){super(...arguments)}}return _p=t,t.CycleException=e,_p}var Np,dS;function r7(){if(dS)return Np;dS=1;var t=uS();Np=e;function e(n){try{t(n)}catch(r){if(r instanceof t.CycleException)return!1;throw r}return!0}return Np}var Fp,fS;function hS(){if(fS)return Fp;fS=1,Fp=t;function t(o,i,s){Array.isArray(i)||(i=[i]);var a=o.isDirected()?d=>o.successors(d):d=>o.neighbors(d),l=s==="post"?e:n,c=[],u={};return i.forEach(d=>{if(!o.hasNode(d))throw new Error("Graph does not have node: "+d);l(d,a,u,c)}),c}function e(o,i,s,a){for(var l=[[o,!1]];l.length>0;){var c=l.pop();c[1]?a.push(c[0]):Object.hasOwn(s,c[0])||(s[c[0]]=!0,l.push([c[0],!0]),r(i(c[0]),u=>l.push([u,!1])))}}function n(o,i,s,a){for(var l=[o];l.length>0;){var c=l.pop();Object.hasOwn(s,c)||(s[c]=!0,a.push(c),r(i(c),u=>l.push(u)))}}function r(o,i){for(var s=o.length;s--;)i(o[s],s,o);return o}return Fp}var Mp,pS;function o7(){if(pS)return Mp;pS=1;var t=hS();Mp=e;function e(n,r){return t(n,r,"post")}return Mp}var Ip,mS;function i7(){if(mS)return Ip;mS=1;var t=hS();Ip=e;function e(n,r){return t(n,r,"pre")}return Ip}var Pp,gS;function s7(){if(gS)return Pp;gS=1;var t=bp(),e=tS();Pp=n;function n(r,o){var i=new t,s={},a=new e,l;function c(d){var f=d.v===l?d.w:d.v,p=a.priority(f);if(p!==void 0){var m=o(d);m<p&&(s[f]=l,a.decrease(f,m))}}if(r.nodeCount()===0)return i;r.nodes().forEach(function(d){a.add(d,Number.POSITIVE_INFINITY),i.setNode(d)}),a.decrease(r.nodes()[0],0);for(var u=!1;a.size()>0;){if(l=a.removeMin(),Object.hasOwn(s,l))i.setEdge(l,s[l]);else{if(u)throw new Error("Input graph is not connected: "+r);u=!0}r.nodeEdges(l).forEach(c)}return i}return Pp}var Lp,wS;function a7(){return wS||(wS=1,Lp={components:ZH(),dijkstra:rS(),dijkstraAll:e7(),findCycles:t7(),floydWarshall:n7(),isAcyclic:r7(),postorder:o7(),preorder:i7(),prim:s7(),tarjan:sS(),topsort:uS()}),Lp}var zp,vS;function jn(){if(vS)return zp;vS=1;var t=JH();return zp={Graph:t.Graph,json:QH(),alg:a7(),version:t.version},zp}var Hp,yS;function l7(){if(yS)return Hp;yS=1;class t{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,i=o._prev;if(i!==o)return e(i),i}enqueue(o){let i=this._sentinel;o._prev&&o._next&&e(o),o._next=i._next,i._next._prev=o,i._next=o,o._prev=i}toString(){let o=[],i=this._sentinel,s=i._prev;for(;s!==i;)o.push(JSON.stringify(s,n)),s=s._prev;return"["+o.join(", ")+"]"}}function e(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,o){if(r!=="_next"&&r!=="_prev")return o}return Hp=t,Hp}var $p,bS;function c7(){if(bS)return $p;bS=1;let t=jn().Graph,e=l7();$p=r;let n=()=>1;function r(c,u){if(c.nodeCount()<=1)return[];let d=s(c,u||n);return o(d.graph,d.buckets,d.zeroIdx).flatMap(p=>c.outEdges(p.v,p.w))}function o(c,u,d){let f=[],p=u[u.length-1],m=u[0],w;for(;c.nodeCount();){for(;w=m.dequeue();)i(c,u,d,w);for(;w=p.dequeue();)i(c,u,d,w);if(c.nodeCount()){for(let v=u.length-2;v>0;--v)if(w=u[v].dequeue(),w){f=f.concat(i(c,u,d,w,!0));break}}}return f}function i(c,u,d,f,p){let m=p?[]:void 0;return c.inEdges(f.v).forEach(w=>{let v=c.edge(w),y=c.node(w.v);p&&m.push({v:w.v,w:w.w}),y.out-=v,a(u,d,y)}),c.outEdges(f.v).forEach(w=>{let v=c.edge(w),y=w.w,g=c.node(y);g.in-=v,a(u,d,g)}),c.removeNode(f.v),m}function s(c,u){let d=new t,f=0,p=0;c.nodes().forEach(v=>{d.setNode(v,{v,in:0,out:0})}),c.edges().forEach(v=>{let y=d.edge(v.v,v.w)||0,g=u(v),x=y+g;d.setEdge(v.v,v.w,x),p=Math.max(p,d.node(v.v).out+=g),f=Math.max(f,d.node(v.w).in+=g)});let m=l(p+f+3).map(()=>new e),w=f+1;return d.nodes().forEach(v=>{a(m,w,d.node(v))}),{graph:d,buckets:m,zeroIdx:w}}function a(c,u,d){d.out?d.in?c[d.out-d.in+u].enqueue(d):c[c.length-1].enqueue(d):c[0].enqueue(d)}function l(c){const u=[];for(let d=0;d<c;d++)u.push(d);return u}return $p}var jp,CS;function kt(){if(CS)return jp;CS=1;let t=jn().Graph;jp={addBorderNode:u,addDummyNode:e,applyWithChunking:p,asNonCompoundGraph:r,buildLayerMatrix:a,intersectRect:s,mapValues:k,maxRank:m,normalizeRanks:l,notime:y,partition:w,pick:b,predecessorWeights:i,range:S,removeEmptyRanks:c,simplify:n,successorWeights:o,time:v,uniqueId:x,zipObject:A};function e(E,T,D,M){for(var N=M;E.hasNode(N);)N=x(M);return D.dummy=T,E.setNode(N,D),N}function n(E){let T=new t().setGraph(E.graph());return E.nodes().forEach(D=>T.setNode(D,E.node(D))),E.edges().forEach(D=>{let M=T.edge(D.v,D.w)||{weight:0,minlen:1},N=E.edge(D);T.setEdge(D.v,D.w,{weight:M.weight+N.weight,minlen:Math.max(M.minlen,N.minlen)})}),T}function r(E){let T=new t({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(D=>{E.children(D).length||T.setNode(D,E.node(D))}),E.edges().forEach(D=>{T.setEdge(D,E.edge(D))}),T}function o(E){let T=E.nodes().map(D=>{let M={};return E.outEdges(D).forEach(N=>{M[N.w]=(M[N.w]||0)+E.edge(N).weight}),M});return A(E.nodes(),T)}function i(E){let T=E.nodes().map(D=>{let M={};return E.inEdges(D).forEach(N=>{M[N.v]=(M[N.v]||0)+E.edge(N).weight}),M});return A(E.nodes(),T)}function s(E,T){let D=E.x,M=E.y,N=T.x-D,F=T.y-M,I=E.width/2,O=E.height/2;if(!N&&!F)throw new Error("Not possible to find intersection inside of the rectangle");let H,L;return Math.abs(F)*I>Math.abs(N)*O?(F<0&&(O=-O),H=O*N/F,L=O):(N<0&&(I=-I),H=I,L=I*F/N),{x:D+H,y:M+L}}function a(E){let T=S(m(E)+1).map(()=>[]);return E.nodes().forEach(D=>{let M=E.node(D),N=M.rank;N!==void 0&&(T[N][M.order]=D)}),T}function l(E){let T=E.nodes().map(M=>{let N=E.node(M).rank;return N===void 0?Number.MAX_VALUE:N}),D=p(Math.min,T);E.nodes().forEach(M=>{let N=E.node(M);Object.hasOwn(N,"rank")&&(N.rank-=D)})}function c(E){let T=E.nodes().map(I=>E.node(I).rank),D=p(Math.min,T),M=[];E.nodes().forEach(I=>{let O=E.node(I).rank-D;M[O]||(M[O]=[]),M[O].push(I)});let N=0,F=E.graph().nodeRankFactor;Array.from(M).forEach((I,O)=>{I===void 0&&O%F!==0?--N:I!==void 0&&N&&I.forEach(H=>E.node(H).rank+=N)})}function u(E,T,D,M){let N={width:0,height:0};return arguments.length>=4&&(N.rank=D,N.order=M),e(E,"border",N,T)}function d(E,T=f){const D=[];for(let M=0;M<E.length;M+=T){const N=E.slice(M,M+T);D.push(N)}return D}const f=65535;function p(E,T){if(T.length>f){const D=d(T);return E.apply(null,D.map(M=>E.apply(null,M)))}else return E.apply(null,T)}function m(E){const D=E.nodes().map(M=>{let N=E.node(M).rank;return N===void 0?Number.MIN_VALUE:N});return p(Math.max,D)}function w(E,T){let D={lhs:[],rhs:[]};return E.forEach(M=>{T(M)?D.lhs.push(M):D.rhs.push(M)}),D}function v(E,T){let D=Date.now();try{return T()}finally{console.log(E+" time: "+(Date.now()-D)+"ms")}}function y(E,T){return T()}let g=0;function x(E){var T=++g;return E+(""+T)}function S(E,T,D=1){T==null&&(T=E,E=0);let M=F=>F<T;D<0&&(M=F=>T<F);const N=[];for(let F=E;M(F);F+=D)N.push(F);return N}function b(E,T){const D={};for(const M of T)E[M]!==void 0&&(D[M]=E[M]);return D}function k(E,T){let D=T;return typeof T=="string"&&(D=M=>M[T]),Object.entries(E).reduce((M,[N,F])=>(M[N]=D(F,N),M),{})}function A(E,T){return E.reduce((D,M,N)=>(D[M]=T[N],D),{})}return jp}var Wp,kS;function u7(){if(kS)return Wp;kS=1;let t=c7(),e=kt().uniqueId;Wp={run:n,undo:o};function n(i){(i.graph().acyclicer==="greedy"?t(i,a(i)):r(i)).forEach(l=>{let c=i.edge(l);i.removeEdge(l),c.forwardName=l.name,c.reversed=!0,i.setEdge(l.w,l.v,c,e("rev"))});function a(l){return c=>l.edge(c).weight}}function r(i){let s=[],a={},l={};function c(u){Object.hasOwn(l,u)||(l[u]=!0,a[u]=!0,i.outEdges(u).forEach(d=>{Object.hasOwn(a,d.w)?s.push(d):c(d.w)}),delete a[u])}return i.nodes().forEach(c),s}function o(i){i.edges().forEach(s=>{let a=i.edge(s);if(a.reversed){i.removeEdge(s);let l=a.forwardName;delete a.reversed,delete a.forwardName,i.setEdge(s.w,s.v,a,l)}})}return Wp}var Vp,xS;function d7(){if(xS)return Vp;xS=1;let t=kt();Vp={run:e,undo:r};function e(o){o.graph().dummyChains=[],o.edges().forEach(i=>n(o,i))}function n(o,i){let s=i.v,a=o.node(s).rank,l=i.w,c=o.node(l).rank,u=i.name,d=o.edge(i),f=d.labelRank;if(c===a+1)return;o.removeEdge(i);let p,m,w;for(w=0,++a;a<c;++w,++a)d.points=[],m={width:0,height:0,edgeLabel:d,edgeObj:i,rank:a},p=t.addDummyNode(o,"edge",m,"_d"),a===f&&(m.width=d.width,m.height=d.height,m.dummy="edge-label",m.labelpos=d.labelpos),o.setEdge(s,p,{weight:d.weight},u),w===0&&o.graph().dummyChains.push(p),s=p;o.setEdge(s,l,{weight:d.weight},u)}function r(o){o.graph().dummyChains.forEach(i=>{let s=o.node(i),a=s.edgeLabel,l;for(o.setEdge(s.edgeObj,a);s.dummy;)l=o.successors(i)[0],o.removeNode(i),a.points.push({x:s.x,y:s.y}),s.dummy==="edge-label"&&(a.x=s.x,a.y=s.y,a.width=s.width,a.height=s.height),i=l,s=o.node(i)})}return Vp}var Up,SS;function Gc(){if(SS)return Up;SS=1;const{applyWithChunking:t}=kt();Up={longestPath:e,slack:n};function e(r){var o={};function i(s){var a=r.node(s);if(Object.hasOwn(o,s))return a.rank;o[s]=!0;let l=r.outEdges(s).map(u=>u==null?Number.POSITIVE_INFINITY:i(u.w)-r.edge(u).minlen);var c=t(Math.min,l);return c===Number.POSITIVE_INFINITY&&(c=0),a.rank=c}r.sources().forEach(i)}function n(r,o){return r.node(o.w).rank-r.node(o.v).rank-r.edge(o).minlen}return Up}var qp,ES;function DS(){if(ES)return qp;ES=1;var t=jn().Graph,e=Gc().slack;qp=n;function n(s){var a=new t({directed:!1}),l=s.nodes()[0],c=s.nodeCount();a.setNode(l,{});for(var u,d;r(a,s)<c;)u=o(a,s),d=a.hasNode(u.v)?e(s,u):-e(s,u),i(a,s,d);return a}function r(s,a){function l(c){a.nodeEdges(c).forEach(u=>{var d=u.v,f=c===d?u.w:d;!s.hasNode(f)&&!e(a,u)&&(s.setNode(f,{}),s.setEdge(c,f,{}),l(f))})}return s.nodes().forEach(l),s.nodeCount()}function o(s,a){return a.edges().reduce((c,u)=>{let d=Number.POSITIVE_INFINITY;return s.hasNode(u.v)!==s.hasNode(u.w)&&(d=e(a,u)),d<c[0]?[d,u]:c},[Number.POSITIVE_INFINITY,null])[1]}function i(s,a,l){s.nodes().forEach(c=>a.node(c).rank+=l)}return qp}var Rp,AS;function f7(){if(AS)return Rp;AS=1;var t=DS(),e=Gc().slack,n=Gc().longestPath,r=jn().alg.preorder,o=jn().alg.postorder,i=kt().simplify;Rp=s,s.initLowLimValues=u,s.initCutValues=a,s.calcCutValue=c,s.leaveEdge=f,s.enterEdge=p,s.exchangeEdges=m;function s(g){g=i(g),n(g);var x=t(g);u(x),a(x,g);for(var S,b;S=f(x);)b=p(x,g,S),m(x,g,S,b)}function a(g,x){var S=o(g,g.nodes());S=S.slice(0,S.length-1),S.forEach(b=>l(g,x,b))}function l(g,x,S){var b=g.node(S),k=b.parent;g.edge(S,k).cutvalue=c(g,x,S)}function c(g,x,S){var b=g.node(S),k=b.parent,A=!0,E=x.edge(S,k),T=0;return E||(A=!1,E=x.edge(k,S)),T=E.weight,x.nodeEdges(S).forEach(D=>{var M=D.v===S,N=M?D.w:D.v;if(N!==k){var F=M===A,I=x.edge(D).weight;if(T+=F?I:-I,v(g,S,N)){var O=g.edge(S,N).cutvalue;T+=F?-O:O}}}),T}function u(g,x){arguments.length<2&&(x=g.nodes()[0]),d(g,{},1,x)}function d(g,x,S,b,k){var A=S,E=g.node(b);return x[b]=!0,g.neighbors(b).forEach(T=>{Object.hasOwn(x,T)||(S=d(g,x,S,T,b))}),E.low=A,E.lim=S++,k?E.parent=k:delete E.parent,S}function f(g){return g.edges().find(x=>g.edge(x).cutvalue<0)}function p(g,x,S){var b=S.v,k=S.w;x.hasEdge(b,k)||(b=S.w,k=S.v);var A=g.node(b),E=g.node(k),T=A,D=!1;A.lim>E.lim&&(T=E,D=!0);var M=x.edges().filter(N=>D===y(g,g.node(N.v),T)&&D!==y(g,g.node(N.w),T));return M.reduce((N,F)=>e(x,F)<e(x,N)?F:N)}function m(g,x,S,b){var k=S.v,A=S.w;g.removeEdge(k,A),g.setEdge(b.v,b.w,{}),u(g),a(g,x),w(g,x)}function w(g,x){var S=g.nodes().find(k=>!x.node(k).parent),b=r(g,S);b=b.slice(1),b.forEach(k=>{var A=g.node(k).parent,E=x.edge(k,A),T=!1;E||(E=x.edge(A,k),T=!0),x.node(k).rank=x.node(A).rank+(T?E.minlen:-E.minlen)})}function v(g,x,S){return g.hasEdge(x,S)}function y(g,x,S){return S.low<=x.lim&&x.lim<=S.lim}return Rp}var Gp,OS;function h7(){if(OS)return Gp;OS=1;var t=Gc(),e=t.longestPath,n=DS(),r=f7();Gp=o;function o(l){var c=l.graph().ranker;if(c instanceof Function)return c(l);switch(l.graph().ranker){case"network-simplex":a(l);break;case"tight-tree":s(l);break;case"longest-path":i(l);break;case"none":break;default:a(l)}}var i=e;function s(l){e(l),n(l)}function a(l){r(l)}return Gp}var Kp,BS;function p7(){if(BS)return Kp;BS=1,Kp=t;function t(r){let o=n(r);r.graph().dummyChains.forEach(i=>{let s=r.node(i),a=s.edgeObj,l=e(r,o,a.v,a.w),c=l.path,u=l.lca,d=0,f=c[d],p=!0;for(;i!==a.w;){if(s=r.node(i),p){for(;(f=c[d])!==u&&r.node(f).maxRank<s.rank;)d++;f===u&&(p=!1)}if(!p){for(;d<c.length-1&&r.node(f=c[d+1]).minRank<=s.rank;)d++;f=c[d]}r.setParent(i,f),i=r.successors(i)[0]}})}function e(r,o,i,s){let a=[],l=[],c=Math.min(o[i].low,o[s].low),u=Math.max(o[i].lim,o[s].lim),d,f;d=i;do d=r.parent(d),a.push(d);while(d&&(o[d].low>c||u>o[d].lim));for(f=d,d=s;(d=r.parent(d))!==f;)l.push(d);return{path:a.concat(l.reverse()),lca:f}}function n(r){let o={},i=0;function s(a){let l=i;r.children(a).forEach(s),o[a]={low:l,lim:i++}}return r.children().forEach(s),o}return Kp}var Xp,TS;function m7(){if(TS)return Xp;TS=1;let t=kt();Xp={run:e,cleanup:i};function e(s){let a=t.addDummyNode(s,"root",{},"_root"),l=r(s),c=Object.values(l),u=t.applyWithChunking(Math.max,c)-1,d=2*u+1;s.graph().nestingRoot=a,s.edges().forEach(p=>s.edge(p).minlen*=d);let f=o(s)+1;s.children().forEach(p=>n(s,a,d,f,u,l,p)),s.graph().nodeRankFactor=d}function n(s,a,l,c,u,d,f){let p=s.children(f);if(!p.length){f!==a&&s.setEdge(a,f,{weight:0,minlen:l});return}let m=t.addBorderNode(s,"_bt"),w=t.addBorderNode(s,"_bb"),v=s.node(f);s.setParent(m,f),v.borderTop=m,s.setParent(w,f),v.borderBottom=w,p.forEach(y=>{n(s,a,l,c,u,d,y);let g=s.node(y),x=g.borderTop?g.borderTop:y,S=g.borderBottom?g.borderBottom:y,b=g.borderTop?c:2*c,k=x!==S?1:u-d[f]+1;s.setEdge(m,x,{weight:b,minlen:k,nestingEdge:!0}),s.setEdge(S,w,{weight:b,minlen:k,nestingEdge:!0})}),s.parent(f)||s.setEdge(a,m,{weight:0,minlen:u+d[f]})}function r(s){var a={};function l(c,u){var d=s.children(c);d&&d.length&&d.forEach(f=>l(f,u+1)),a[c]=u}return s.children().forEach(c=>l(c,1)),a}function o(s){return s.edges().reduce((a,l)=>a+s.edge(l).weight,0)}function i(s){var a=s.graph();s.removeNode(a.nestingRoot),delete a.nestingRoot,s.edges().forEach(l=>{var c=s.edge(l);c.nestingEdge&&s.removeEdge(l)})}return Xp}var Yp,_S;function g7(){if(_S)return Yp;_S=1;let t=kt();Yp=e;function e(r){function o(i){let s=r.children(i),a=r.node(i);if(s.length&&s.forEach(o),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let l=a.minRank,c=a.maxRank+1;l<c;++l)n(r,"borderLeft","_bl",i,a,l),n(r,"borderRight","_br",i,a,l)}}r.children().forEach(o)}function n(r,o,i,s,a,l){let c={width:0,height:0,rank:l,borderType:o},u=a[o][l-1],d=t.addDummyNode(r,"border",c,i);a[o][l]=d,r.setParent(d,s),u&&r.setEdge(u,d,{weight:1})}return Yp}var Jp,NS;function w7(){if(NS)return Jp;NS=1,Jp={adjust:t,undo:e};function t(l){let c=l.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&n(l)}function e(l){let c=l.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&o(l),(c==="lr"||c==="rl")&&(s(l),n(l))}function n(l){l.nodes().forEach(c=>r(l.node(c))),l.edges().forEach(c=>r(l.edge(c)))}function r(l){let c=l.width;l.width=l.height,l.height=c}function o(l){l.nodes().forEach(c=>i(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(i),Object.hasOwn(u,"y")&&i(u)})}function i(l){l.y=-l.y}function s(l){l.nodes().forEach(c=>a(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(a),Object.hasOwn(u,"x")&&a(u)})}function a(l){let c=l.x;l.x=l.y,l.y=c}return Jp}var Qp,FS;function v7(){if(FS)return Qp;FS=1;let t=kt();Qp=e;function e(n){let r={},o=n.nodes().filter(u=>!n.children(u).length),i=o.map(u=>n.node(u).rank),s=t.applyWithChunking(Math.max,i),a=t.range(s+1).map(()=>[]);function l(u){if(r[u])return;r[u]=!0;let d=n.node(u);a[d.rank].push(u),n.successors(u).forEach(l)}return o.sort((u,d)=>n.node(u).rank-n.node(d).rank).forEach(l),a}return Qp}var Zp,MS;function y7(){if(MS)return Zp;MS=1;let t=kt().zipObject;Zp=e;function e(r,o){let i=0;for(let s=1;s<o.length;++s)i+=n(r,o[s-1],o[s]);return i}function n(r,o,i){let s=t(i,i.map((f,p)=>p)),a=o.flatMap(f=>r.outEdges(f).map(p=>({pos:s[p.w],weight:r.edge(p).weight})).sort((p,m)=>p.pos-m.pos)),l=1;for(;l<i.length;)l<<=1;let c=2*l-1;l-=1;let u=new Array(c).fill(0),d=0;return a.forEach(f=>{let p=f.pos+l;u[p]+=f.weight;let m=0;for(;p>0;)p%2&&(m+=u[p+1]),p=p-1>>1,u[p]+=f.weight;d+=f.weight*m}),d}return Zp}var em,IS;function b7(){if(IS)return em;IS=1,em=t;function t(e,n=[]){return n.map(r=>{let o=e.inEdges(r);if(o.length){let i=o.reduce((s,a)=>{let l=e.edge(a),c=e.node(a.v);return{sum:s.sum+l.weight*c.order,weight:s.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}return em}var tm,PS;function C7(){if(PS)return tm;PS=1;let t=kt();tm=e;function e(o,i){let s={};o.forEach((l,c)=>{let u=s[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:c};l.barycenter!==void 0&&(u.barycenter=l.barycenter,u.weight=l.weight)}),i.edges().forEach(l=>{let c=s[l.v],u=s[l.w];c!==void 0&&u!==void 0&&(u.indegree++,c.out.push(s[l.w]))});let a=Object.values(s).filter(l=>!l.indegree);return n(a)}function n(o){let i=[];function s(l){return c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&r(l,c)}}function a(l){return c=>{c.in.push(l),--c.indegree===0&&o.push(c)}}for(;o.length;){let l=o.pop();i.push(l),l.in.reverse().forEach(s(l)),l.out.forEach(a(l))}return i.filter(l=>!l.merged).map(l=>t.pick(l,["vs","i","barycenter","weight"]))}function r(o,i){let s=0,a=0;o.weight&&(s+=o.barycenter*o.weight,a+=o.weight),i.weight&&(s+=i.barycenter*i.weight,a+=i.weight),o.vs=i.vs.concat(o.vs),o.barycenter=s/a,o.weight=a,o.i=Math.min(i.i,o.i),i.merged=!0}return tm}var nm,LS;function k7(){if(LS)return nm;LS=1;let t=kt();nm=e;function e(o,i){let s=t.partition(o,m=>Object.hasOwn(m,"barycenter")),a=s.lhs,l=s.rhs.sort((m,w)=>w.i-m.i),c=[],u=0,d=0,f=0;a.sort(r(!!i)),f=n(c,l,f),a.forEach(m=>{f+=m.vs.length,c.push(m.vs),u+=m.barycenter*m.weight,d+=m.weight,f=n(c,l,f)});let p={vs:c.flat(!0)};return d&&(p.barycenter=u/d,p.weight=d),p}function n(o,i,s){let a;for(;i.length&&(a=i[i.length-1]).i<=s;)i.pop(),o.push(a.vs),s++;return s}function r(o){return(i,s)=>i.barycenter<s.barycenter?-1:i.barycenter>s.barycenter?1:o?s.i-i.i:i.i-s.i}return nm}var rm,zS;function x7(){if(zS)return rm;zS=1;let t=b7(),e=C7(),n=k7();rm=r;function r(s,a,l,c){let u=s.children(a),d=s.node(a),f=d?d.borderLeft:void 0,p=d?d.borderRight:void 0,m={};f&&(u=u.filter(g=>g!==f&&g!==p));let w=t(s,u);w.forEach(g=>{if(s.children(g.v).length){let x=r(s,g.v,l,c);m[g.v]=x,Object.hasOwn(x,"barycenter")&&i(g,x)}});let v=e(w,l);o(v,m);let y=n(v,c);if(f&&(y.vs=[f,y.vs,p].flat(!0),s.predecessors(f).length)){let g=s.node(s.predecessors(f)[0]),x=s.node(s.predecessors(p)[0]);Object.hasOwn(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+g.order+x.order)/(y.weight+2),y.weight+=2}return y}function o(s,a){s.forEach(l=>{l.vs=l.vs.flatMap(c=>a[c]?a[c].vs:c)})}function i(s,a){s.barycenter!==void 0?(s.barycenter=(s.barycenter*s.weight+a.barycenter*a.weight)/(s.weight+a.weight),s.weight+=a.weight):(s.barycenter=a.barycenter,s.weight=a.weight)}return rm}var om,HS;function S7(){if(HS)return om;HS=1;let t=jn().Graph,e=kt();om=n;function n(o,i,s,a){a||(a=o.nodes());let l=r(o),c=new t({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(u=>o.node(u));return a.forEach(u=>{let d=o.node(u),f=o.parent(u);(d.rank===i||d.minRank<=i&&i<=d.maxRank)&&(c.setNode(u),c.setParent(u,f||l),o[s](u).forEach(p=>{let m=p.v===u?p.w:p.v,w=c.edge(m,u),v=w!==void 0?w.weight:0;c.setEdge(m,u,{weight:o.edge(p).weight+v})}),Object.hasOwn(d,"minRank")&&c.setNode(u,{borderLeft:d.borderLeft[i],borderRight:d.borderRight[i]}))}),c}function r(o){for(var i;o.hasNode(i=e.uniqueId("_root")););return i}return om}var im,$S;function E7(){if($S)return im;$S=1,im=t;function t(e,n,r){let o={},i;r.forEach(s=>{let a=e.parent(s),l,c;for(;a;){if(l=e.parent(a),l?(c=o[l],o[l]=a):(c=i,i=a),c&&c!==a){n.setEdge(c,a);return}a=l}})}return im}var sm,jS;function D7(){if(jS)return sm;jS=1;let t=v7(),e=y7(),n=x7(),r=S7(),o=E7(),i=jn().Graph,s=kt();sm=a;function a(d,f){if(f&&typeof f.customOrder=="function"){f.customOrder(d,a);return}let p=s.maxRank(d),m=l(d,s.range(1,p+1),"inEdges"),w=l(d,s.range(p-1,-1,-1),"outEdges"),v=t(d);if(u(d,v),f&&f.disableOptimalOrderHeuristic)return;let y=Number.POSITIVE_INFINITY,g;for(let x=0,S=0;S<4;++x,++S){c(x%2?m:w,x%4>=2),v=s.buildLayerMatrix(d);let b=e(d,v);b<y&&(S=0,g=Object.assign({},v),y=b)}u(d,g)}function l(d,f,p){const m=new Map,w=(v,y)=>{m.has(v)||m.set(v,[]),m.get(v).push(y)};for(const v of d.nodes()){const y=d.node(v);if(typeof y.rank=="number"&&w(y.rank,v),typeof y.minRank=="number"&&typeof y.maxRank=="number")for(let g=y.minRank;g<=y.maxRank;g++)g!==y.rank&&w(g,v)}return f.map(function(v){return r(d,v,p,m.get(v)||[])})}function c(d,f){let p=new i;d.forEach(function(m){let w=m.graph().root,v=n(m,w,p,f);v.vs.forEach((y,g)=>m.node(y).order=g),o(m,p,v.vs)})}function u(d,f){Object.values(f).forEach(p=>p.forEach((m,w)=>d.node(m).order=w))}return sm}var am,WS;function A7(){if(WS)return am;WS=1;let t=jn().Graph,e=kt();am={positionX:p,findType1Conflicts:n,findType2Conflicts:r,addConflict:i,hasConflict:s,verticalAlignment:a,horizontalCompaction:l,alignCoordinates:d,findSmallestWidthAlignment:u,balance:f};function n(v,y){let g={};function x(S,b){let k=0,A=0,E=S.length,T=b[b.length-1];return b.forEach((D,M)=>{let N=o(v,D),F=N?v.node(N).order:E;(N||D===T)&&(b.slice(A,M+1).forEach(I=>{v.predecessors(I).forEach(O=>{let H=v.node(O),L=H.order;(L<k||F<L)&&!(H.dummy&&v.node(I).dummy)&&i(g,O,I)})}),A=M+1,k=F)}),b}return y.length&&y.reduce(x),g}function r(v,y){let g={};function x(b,k,A,E,T){let D;e.range(k,A).forEach(M=>{D=b[M],v.node(D).dummy&&v.predecessors(D).forEach(N=>{let F=v.node(N);F.dummy&&(F.order<E||F.order>T)&&i(g,N,D)})})}function S(b,k){let A=-1,E,T=0;return k.forEach((D,M)=>{if(v.node(D).dummy==="border"){let N=v.predecessors(D);N.length&&(E=v.node(N[0]).order,x(k,T,M,A,E),T=M,A=E)}x(k,T,k.length,E,b.length)}),k}return y.length&&y.reduce(S),g}function o(v,y){if(v.node(y).dummy)return v.predecessors(y).find(g=>v.node(g).dummy)}function i(v,y,g){if(y>g){let S=y;y=g,g=S}let x=v[y];x||(v[y]=x={}),x[g]=!0}function s(v,y,g){if(y>g){let x=y;y=g,g=x}return!!v[y]&&Object.hasOwn(v[y],g)}function a(v,y,g,x){let S={},b={},k={};return y.forEach(A=>{A.forEach((E,T)=>{S[E]=E,b[E]=E,k[E]=T})}),y.forEach(A=>{let E=-1;A.forEach(T=>{let D=x(T);if(D.length){D=D.sort((N,F)=>k[N]-k[F]);let M=(D.length-1)/2;for(let N=Math.floor(M),F=Math.ceil(M);N<=F;++N){let I=D[N];b[T]===T&&E<k[I]&&!s(g,T,I)&&(b[I]=T,b[T]=S[T]=S[I],E=k[I])}}})}),{root:S,align:b}}function l(v,y,g,x,S){let b={},k=c(v,y,g,S),A=S?"borderLeft":"borderRight";function E(M,N){let F=k.nodes(),I=F.pop(),O={};for(;I;)O[I]?M(I):(O[I]=!0,F.push(I),F=F.concat(N(I))),I=F.pop()}function T(M){b[M]=k.inEdges(M).reduce((N,F)=>Math.max(N,b[F.v]+k.edge(F)),0)}function D(M){let N=k.outEdges(M).reduce((I,O)=>Math.min(I,b[O.w]-k.edge(O)),Number.POSITIVE_INFINITY),F=v.node(M);N!==Number.POSITIVE_INFINITY&&F.borderType!==A&&(b[M]=Math.max(b[M],N))}return E(T,k.predecessors.bind(k)),E(D,k.successors.bind(k)),Object.keys(x).forEach(M=>b[M]=b[g[M]]),b}function c(v,y,g,x){let S=new t,b=v.graph(),k=m(b.nodesep,b.edgesep,x);return y.forEach(A=>{let E;A.forEach(T=>{let D=g[T];if(S.setNode(D),E){var M=g[E],N=S.edge(M,D);S.setEdge(M,D,Math.max(k(v,T,E),N||0))}E=T})}),S}function u(v,y){return Object.values(y).reduce((g,x)=>{let S=Number.NEGATIVE_INFINITY,b=Number.POSITIVE_INFINITY;Object.entries(x).forEach(([A,E])=>{let T=w(v,A)/2;S=Math.max(E+T,S),b=Math.min(E-T,b)});const k=S-b;return k<g[0]&&(g=[k,x]),g},[Number.POSITIVE_INFINITY,null])[1]}function d(v,y){let g=Object.values(y),x=e.applyWithChunking(Math.min,g),S=e.applyWithChunking(Math.max,g);["u","d"].forEach(b=>{["l","r"].forEach(k=>{let A=b+k,E=v[A];if(E===y)return;let T=Object.values(E),D=x-e.applyWithChunking(Math.min,T);k!=="l"&&(D=S-e.applyWithChunking(Math.max,T)),D&&(v[A]=e.mapValues(E,M=>M+D))})})}function f(v,y){return e.mapValues(v.ul,(g,x)=>{if(y)return v[y.toLowerCase()][x];{let S=Object.values(v).map(b=>b[x]).sort((b,k)=>b-k);return(S[1]+S[2])/2}})}function p(v){let y=e.buildLayerMatrix(v),g=Object.assign(n(v,y),r(v,y)),x={},S;["u","d"].forEach(k=>{S=k==="u"?y:Object.values(y).reverse(),["l","r"].forEach(A=>{A==="r"&&(S=S.map(M=>Object.values(M).reverse()));let E=(k==="u"?v.predecessors:v.successors).bind(v),T=a(v,S,g,E),D=l(v,S,T.root,T.align,A==="r");A==="r"&&(D=e.mapValues(D,M=>-M)),x[k+A]=D})});let b=u(v,x);return d(x,b),f(x,v.graph().align)}function m(v,y,g){return(x,S,b)=>{let k=x.node(S),A=x.node(b),E=0,T;if(E+=k.width/2,Object.hasOwn(k,"labelpos"))switch(k.labelpos.toLowerCase()){case"l":T=-k.width/2;break;case"r":T=k.width/2;break}if(T&&(E+=g?T:-T),T=0,E+=(k.dummy?y:v)/2,E+=(A.dummy?y:v)/2,E+=A.width/2,Object.hasOwn(A,"labelpos"))switch(A.labelpos.toLowerCase()){case"l":T=A.width/2;break;case"r":T=-A.width/2;break}return T&&(E+=g?T:-T),T=0,E}}function w(v,y){return v.node(y).width}return am}var lm,VS;function O7(){if(VS)return lm;VS=1;let t=kt(),e=A7().positionX;lm=n;function n(o){o=t.asNonCompoundGraph(o),r(o),Object.entries(e(o)).forEach(([i,s])=>o.node(i).x=s)}function r(o){let i=t.buildLayerMatrix(o),s=o.graph().ranksep,a=0;i.forEach(l=>{const c=l.reduce((u,d)=>{const f=o.node(d).height;return u>f?u:f},0);l.forEach(u=>o.node(u).y=a+c/2),a+=c+s})}return lm}var cm,US;function B7(){if(US)return cm;US=1;let t=u7(),e=d7(),n=h7(),r=kt().normalizeRanks,o=p7(),i=kt().removeEmptyRanks,s=m7(),a=g7(),l=w7(),c=D7(),u=O7(),d=kt(),f=jn().Graph;cm=p;function p($,V){let q=V&&V.debugTiming?d.time:d.notime;q("layout",()=>{let ee=q(" buildLayoutGraph",()=>E($));q(" runLayout",()=>m(ee,q,V)),q(" updateInputGraph",()=>w($,ee))})}function m($,V,q){V(" makeSpaceForEdgeLabels",()=>T($)),V(" removeSelfEdges",()=>W($)),V(" acyclic",()=>t.run($)),V(" nestingGraph.run",()=>s.run($)),V(" rank",()=>n(d.asNonCompoundGraph($))),V(" injectEdgeLabelProxies",()=>D($)),V(" removeEmptyRanks",()=>i($)),V(" nestingGraph.cleanup",()=>s.cleanup($)),V(" normalizeRanks",()=>r($)),V(" assignRankMinMax",()=>M($)),V(" removeEdgeLabelProxies",()=>N($)),V(" normalize.run",()=>e.run($)),V(" parentDummyChains",()=>o($)),V(" addBorderSegments",()=>a($)),V(" order",()=>c($,q)),V(" insertSelfEdges",()=>R($)),V(" adjustCoordinateSystem",()=>l.adjust($)),V(" position",()=>u($)),V(" positionSelfEdges",()=>Y($)),V(" removeBorderNodes",()=>L($)),V(" normalize.undo",()=>e.undo($)),V(" fixupEdgeLabelCoords",()=>O($)),V(" undoCoordinateSystem",()=>l.undo($)),V(" translateGraph",()=>F($)),V(" assignNodeIntersects",()=>I($)),V(" reversePoints",()=>H($)),V(" acyclic.undo",()=>t.undo($))}function w($,V){$.nodes().forEach(q=>{let ee=$.node(q),pe=V.node(q);ee&&(ee.x=pe.x,ee.y=pe.y,ee.rank=pe.rank,V.children(q).length&&(ee.width=pe.width,ee.height=pe.height))}),$.edges().forEach(q=>{let ee=$.edge(q),pe=V.edge(q);ee.points=pe.points,Object.hasOwn(pe,"x")&&(ee.x=pe.x,ee.y=pe.y)}),$.graph().width=V.graph().width,$.graph().height=V.graph().height}let v=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},g=["acyclicer","ranker","rankdir","align"],x=["width","height","rank"],S={width:0,height:0},b=["minlen","weight","width","height","labeloffset"],k={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},A=["labelpos"];function E($){let V=new f({multigraph:!0,compound:!0}),q=le($.graph());return V.setGraph(Object.assign({},y,K(q,v),d.pick(q,g))),$.nodes().forEach(ee=>{let pe=le($.node(ee));const se=K(pe,x);Object.keys(S).forEach(P=>{se[P]===void 0&&(se[P]=S[P])}),V.setNode(ee,se),V.setParent(ee,$.parent(ee))}),$.edges().forEach(ee=>{let pe=le($.edge(ee));V.setEdge(ee,Object.assign({},k,K(pe,b),d.pick(pe,A)))}),V}function T($){let V=$.graph();V.ranksep/=2,$.edges().forEach(q=>{let ee=$.edge(q);ee.minlen*=2,ee.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?ee.width+=ee.labeloffset:ee.height+=ee.labeloffset)})}function D($){$.edges().forEach(V=>{let q=$.edge(V);if(q.width&&q.height){let ee=$.node(V.v),se={rank:($.node(V.w).rank-ee.rank)/2+ee.rank,e:V};d.addDummyNode($,"edge-proxy",se,"_ep")}})}function M($){let V=0;$.nodes().forEach(q=>{let ee=$.node(q);ee.borderTop&&(ee.minRank=$.node(ee.borderTop).rank,ee.maxRank=$.node(ee.borderBottom).rank,V=Math.max(V,ee.maxRank))}),$.graph().maxRank=V}function N($){$.nodes().forEach(V=>{let q=$.node(V);q.dummy==="edge-proxy"&&($.edge(q.e).labelRank=q.rank,$.removeNode(V))})}function F($){let V=Number.POSITIVE_INFINITY,q=0,ee=Number.POSITIVE_INFINITY,pe=0,se=$.graph(),P=se.marginx||0,U=se.marginy||0;function G(X){let ge=X.x,ue=X.y,Pe=X.width,$e=X.height;V=Math.min(V,ge-Pe/2),q=Math.max(q,ge+Pe/2),ee=Math.min(ee,ue-$e/2),pe=Math.max(pe,ue+$e/2)}$.nodes().forEach(X=>G($.node(X))),$.edges().forEach(X=>{let ge=$.edge(X);Object.hasOwn(ge,"x")&&G(ge)}),V-=P,ee-=U,$.nodes().forEach(X=>{let ge=$.node(X);ge.x-=V,ge.y-=ee}),$.edges().forEach(X=>{let ge=$.edge(X);ge.points.forEach(ue=>{ue.x-=V,ue.y-=ee}),Object.hasOwn(ge,"x")&&(ge.x-=V),Object.hasOwn(ge,"y")&&(ge.y-=ee)}),se.width=q-V+P,se.height=pe-ee+U}function I($){$.edges().forEach(V=>{let q=$.edge(V),ee=$.node(V.v),pe=$.node(V.w),se,P;q.points?(se=q.points[0],P=q.points[q.points.length-1]):(q.points=[],se=pe,P=ee),q.points.unshift(d.intersectRect(ee,se)),q.points.push(d.intersectRect(pe,P))})}function O($){$.edges().forEach(V=>{let q=$.edge(V);if(Object.hasOwn(q,"x"))switch((q.labelpos==="l"||q.labelpos==="r")&&(q.width-=q.labeloffset),q.labelpos){case"l":q.x-=q.width/2+q.labeloffset;break;case"r":q.x+=q.width/2+q.labeloffset;break}})}function H($){$.edges().forEach(V=>{let q=$.edge(V);q.reversed&&q.points.reverse()})}function L($){$.nodes().forEach(V=>{if($.children(V).length){let q=$.node(V),ee=$.node(q.borderTop),pe=$.node(q.borderBottom),se=$.node(q.borderLeft[q.borderLeft.length-1]),P=$.node(q.borderRight[q.borderRight.length-1]);q.width=Math.abs(P.x-se.x),q.height=Math.abs(pe.y-ee.y),q.x=se.x+q.width/2,q.y=ee.y+q.height/2}}),$.nodes().forEach(V=>{$.node(V).dummy==="border"&&$.removeNode(V)})}function W($){$.edges().forEach(V=>{if(V.v===V.w){var q=$.node(V.v);q.selfEdges||(q.selfEdges=[]),q.selfEdges.push({e:V,label:$.edge(V)}),$.removeEdge(V)}})}function R($){var V=d.buildLayerMatrix($);V.forEach(q=>{var ee=0;q.forEach((pe,se)=>{var P=$.node(pe);P.order=se+ee,(P.selfEdges||[]).forEach(U=>{d.addDummyNode($,"selfedge",{width:U.label.width,height:U.label.height,rank:P.rank,order:se+ ++ee,e:U.e,label:U.label},"_se")}),delete P.selfEdges})})}function Y($){$.nodes().forEach(V=>{var q=$.node(V);if(q.dummy==="selfedge"){var ee=$.node(q.e.v),pe=ee.x+ee.width/2,se=ee.y,P=q.x-pe,U=ee.height/2;$.setEdge(q.e,q.label),$.removeNode(V),q.label.points=[{x:pe+2*P/3,y:se-U},{x:pe+5*P/6,y:se-U},{x:pe+P,y:se},{x:pe+5*P/6,y:se+U},{x:pe+2*P/3,y:se+U}],q.label.x=q.x,q.label.y=q.y}})}function K($,V){return d.mapValues(d.pick($,V),Number)}function le($){var V={};return $&&Object.entries($).forEach(([q,ee])=>{typeof q=="string"&&(q=q.toLowerCase()),V[q]=ee}),V}return cm}var um,qS;function T7(){if(qS)return um;qS=1;let t=kt(),e=jn().Graph;um={debugOrdering:n};function n(r){let o=t.buildLayerMatrix(r),i=new e({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(s=>{i.setNode(s,{label:s}),i.setParent(s,"layer"+r.node(s).rank)}),r.edges().forEach(s=>i.setEdge(s.v,s.w,{},s.name)),o.forEach((s,a)=>{let l="layer"+a;i.setNode(l,{rank:"same"}),s.reduce((c,u)=>(i.setEdge(c,u,{style:"invis"}),u))}),i}return um}var dm,RS;function _7(){return RS||(RS=1,dm="1.1.8"),dm}var fm,GS;function N7(){return GS||(GS=1,fm={graphlib:jn(),layout:B7(),debug:T7(),util:{time:kt().time,notime:kt().notime},version:_7()}),fm}var F7=N7();const KS=Xo(F7),hm=20,We=300,Ii=hm*15,pm=hm*10,Pi=hm*3;function XS(t){return t.type===ne.AGENT||t.type===ne.MCPServer}function YS(t){return t.type===ne.BuiltinMCP}function M7(t){return t.type===ne.AISUBNODE||t.type===ne.MCPTOOL}function JS(t,e,n){const r=new Map(n.map(a=>[a.id,a])),i=e.filter(a=>a.source===t).map(a=>r.get(a.target)).filter(a=>a!==void 0);console.log("候选子节点:",i.map(a=>`${a.id}(${a.type})`));const s=i.filter(a=>a!==void 0&&M7(a));return console.log("符合条件的子节点:",s.map(a=>`${a.id}(${a.type})`)),s}function I7(t,e){const n=[t,...e],r=We,o=We,i=n.length*o+(n.length-1)*Pi,s=r,a=t.position.y,c={x:t.position.x,y:a,width:s,height:i};return{parentId:t.id,childIds:e.map(u=>u.id),boundingBox:c}}function P7(t,e){const n=We,r=We,o=Math.max(n,e.length*n+(e.length-1)*Ii),i=r+Pi+r,s=t.position.y,l={x:t.position.x,y:s,width:o,height:i};return{parentId:t.id,childIds:e.map(c=>c.id),boundingBox:l}}function L7(t,e,n){if(t.length===0)return{boundingBox:{x:0,y:0,width:0,height:0},nodes:[]};const r=z7(t),o=[],i=[],s=new Set;t.forEach(b=>{var k,A;if(console.log(`检查节点 ${b.id}:`,{type:b.type,dataType:(k=b.data)==null?void 0:k.type,actionType:(A=b.data)==null?void 0:A.action_type,isVerticalParent:XS(b),isHorizontalParent:YS(b)}),XS(b)&&!s.has(b.id)){const E=JS(b.id,e,t);console.log(`找到Agent/MCPServer节点 ${b.id}, 子节点数量: ${E.length}`,E.map(D=>D.id));const T=I7(b,E);o.push(T),s.add(b.id),E.forEach(D=>s.add(D.id))}if(YS(b)&&!s.has(b.id)){const E=JS(b.id,e,t);console.log(`找到BuiltinMCP节点 ${b.id}, 子节点数量: ${E.length}`,E.map(D=>D.id));const T=P7(b,E);i.push(T),s.add(b.id),E.forEach(D=>s.add(D.id))}}),console.log(`总共找到 ${o.length} 个垂直布局组`,o),console.log(`总共找到 ${i.length} 个水平布局组`,i),console.log("所有边的连接:",e.map(b=>`${b.source} -> ${b.target}`));const a=t.filter(b=>!s.has(b.id)),l=new KS.graphlib.Graph;l.setGraph({rankdir:"LR",edgesep:pm,nodesep:pm,ranksep:Ii}),l.setDefaultEdgeLabel(()=>({})),a.forEach(b=>{const k=b.width||We,A=b.height||We;l.setNode(b.id,{width:k,height:A,x:b.position.x,y:b.position.y})}),o.forEach(b=>{const k=We+b.childIds.length*(We+Pi);l.setNode(b.parentId,{width:We,height:k})}),i.forEach(b=>{const k=Math.max(We,b.childIds.length*We+(b.childIds.length-1)*Ii),A=We+Pi+We;l.setNode(b.parentId,{width:k,height:A})}),e.forEach(b=>{const k=[...o,...i],A=k.some(F=>F.parentId===b.source||F.childIds.includes(b.source)),E=k.some(F=>F.parentId===b.target||F.childIds.includes(b.target));if(A&&E){const F=k.find(O=>O.parentId===b.source||O.childIds.includes(b.source)),I=k.find(O=>O.parentId===b.target||O.childIds.includes(b.target));if(F===I)return}let T=b.source,D=b.target;const M=k.find(F=>F.childIds.includes(b.source));M&&(T=M.parentId);const N=k.find(F=>F.childIds.includes(b.target));N&&(D=N.parentId),l.hasNode(T)&&l.hasNode(D)&&l.setEdge(T,D)}),KS.layout(l);const c=[],u=[],d=[],f=[];a.forEach(b=>{if(l.hasNode(b.id)){const k=l.node(b.id);if(!k||typeof k.x!="number"||typeof k.y!="number"){console.warn(`Invalid layout data for regular node ${b.id}:`,k);return}const A={x:k.x-(k.width||We)/2,y:k.y-(k.height||We)/2,width:k.width||We,height:k.height||We};u.push({id:b.id,boundingBox:A}),d.push(A.y),f.push(A.x),c.push({id:b.id,x:A.x,y:A.y,width:A.width,height:A.height})}}),o.forEach(b=>{var k,A;if(l.hasNode(b.parentId)){const E=l.node(b.parentId);if(!E||typeof E.x!="number"||typeof E.y!="number"){console.warn(`Invalid layout data for vertical group ${b.parentId}:`,E);return}const T=E.x,D=E.y,M=E.width||We,N=E.height||We,F=t.find(W=>W.id===b.parentId),I=t.filter(W=>b.childIds.includes(W.id));if(!F)return;const O=T-M/2,H=D-N/2,L={x:O,y:H,width:We,height:We};console.log(`垂直布局父节点 ${b.parentId}: 从 (${(k=F.position)==null?void 0:k.x}, ${(A=F.position)==null?void 0:A.y}) 移动到 (${L.x}, ${L.y})`),u.push({id:b.parentId,boundingBox:L}),d.push(L.y),f.push(L.x),c.push({id:b.parentId,x:L.x,y:L.y,width:L.width,height:L.height}),I.forEach((W,R)=>{var le,$;const Y=L.y+(R+1)*(We+Pi),K={x:L.x,y:Y,width:We,height:We};console.log(`垂直布局子节点 ${W.id}: 从 (${(le=W.position)==null?void 0:le.x}, ${($=W.position)==null?void 0:$.y}) 移动到 (${K.x}, ${K.y})`),u.push({id:W.id,boundingBox:K}),d.push(K.y),f.push(K.x),c.push({id:W.id,x:K.x,y:K.y,width:K.width,height:K.height})})}}),i.forEach(b=>{var k,A;if(l.hasNode(b.parentId)){const E=l.node(b.parentId);if(!E||typeof E.x!="number"||typeof E.y!="number"){console.warn(`Invalid layout data for horizontal group ${b.parentId}:`,E);return}const T=E.x,D=E.y,M=E.width||We,N=E.height||We,F=t.find(K=>K.id===b.parentId),I=t.filter(K=>b.childIds.includes(K.id));if(!F)return;const O=T-M/2,H=D-N/2,L={x:O+(M-We)/2,y:H,width:We,height:We};console.log(`水平布局父节点 ${b.parentId}: 从 (${(k=F.position)==null?void 0:k.x}, ${(A=F.position)==null?void 0:A.y}) 移动到 (${L.x}, ${L.y})`),u.push({id:b.parentId,boundingBox:L}),d.push(L.y),f.push(L.x),c.push({id:b.parentId,x:L.x,y:L.y,width:L.width,height:L.height});const W=L.y+We+Pi,R=I.length*We+(I.length-1)*Ii,Y=O+(M-R)/2;I.forEach((K,le)=>{var q,ee;const V={x:Y+le*(We+Ii),y:W,width:We,height:We};console.log(`水平布局子节点 ${K.id}: 从 (${(q=K.position)==null?void 0:q.x}, ${(ee=K.position)==null?void 0:ee.y}) 移动到 (${V.x}, ${V.y})`),u.push({id:K.id,boundingBox:V}),d.push(V.y),f.push(V.x),c.push({id:K.id,x:V.x,y:V.y,width:V.width,height:V.height})})}});const p=20;function m(b,k){return Math.round(b/k)*k}const w=[...new Set(d.map(b=>m(b,p)))].sort((b,k)=>b-k),v=[...new Set(f.map(b=>m(b,p)))].sort((b,k)=>b-k);console.log("主要Y对齐线:",w),console.log("主要X对齐线:",v);const y=c.map(b=>{const k=o.some(E=>E.childIds.includes(b.id)),A=i.some(E=>E.childIds.includes(b.id));if(k){const E=o.find(D=>D.childIds.includes(b.id)),T=c.find(D=>D.id===(E==null?void 0:E.parentId));if(T)return{...b,x:m(T.x,p),y:m(b.y,p)}}return A?{...b,x:m(b.x,p),y:m(b.y,p)}:{...b,x:m(b.x,p),y:m(b.y,p)}});console.log("对齐前的结果:",c.slice(0,3)),console.log("对齐后的结果:",y.slice(0,3));const g=u.length>0?QS(u.map(b=>b.boundingBox)):{x:0,y:0,width:0,height:0},x={x:g.x-r.x,y:g.y-r.y},S=y.map(b=>({...b,x:b.x-x.x,y:b.y-x.y}));return console.log(`布局完成,锚点偏移: (${x.x}, ${x.y})`),console.log("最终布局结果:",S),{boundingBox:g,nodes:S}}function z7(t){if(t.length===0)return{x:0,y:0,width:0,height:0};const e=t.map(n=>({x:n.position.x,y:n.position.y,width:n.width||We,height:n.height||We}));return QS(e)}function QS(t){if(t.length===0)return{x:0,y:0,width:0,height:0};const{minX:e,minY:n,maxX:r,maxY:o}=t.reduce((i,s)=>{const{x:a,y:l,width:c,height:u}=s;return{minX:Math.min(i.minX,a),maxX:Math.max(i.maxX,a+c),minY:Math.min(i.minY,l),maxY:Math.max(i.maxY,l+u)}},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return{x:e,y:n,width:r-e,height:o-n}}const ZS=t=>{const{getNodes:e,getEdges:n,getNode:r,fitView:o,setNodes:i}=ie.useReactFlow(),s=C.useCallback((c="all",u=!1)=>{const d=e(),f=n(),p=c==="selection"?d.filter(w=>w.selected):d;if(p.length===0)return console.log("没有节点需要布局"),{boundingBox:{x:0,y:0,width:0,height:0},nodes:[]};const m=L7(p,f);return i(d.map(w=>{const v=m.nodes.find(y=>y.id===w.id);return v?{...w,position:{x:v.x,y:v.y}}:w})),u&&setTimeout(()=>{o({padding:.1,includeHiddenNodes:!1,duration:200})},10),m},[e,n,i,o]),a=C.useCallback((c=!1)=>s("all",c),[s]),l=C.useCallback((c=!1)=>s("selection",c),[s]);return{layout:s,autoLayout:a,layoutSelection:l}};var gn=(t=>(t.UNPUBLISHED="UNPUBLISHED",t.ONLINE="ONLINE",t.OFFLINE="OFFLINE",t.ON_WARN="ON_WARN",t.OFF_WARN="OFF_WARN",t.ONLINE_ING="ONLINE_ING",t))(gn||{});const H7=({categories:t,activeId:e,loading:n,onChange:r})=>n?h.jsx("div",{className:"category-tabs-wrapper loading",children:h.jsxs("div",{className:"category-tabs-loading",children:[h.jsx(B.Spin,{size:"small"}),h.jsx("span",{children:"分类加载中"})]})}):h.jsxs("div",{className:"category-tabs-wrapper",children:[h.jsx("div",{className:"category-tabs",children:t.map(o=>h.jsx("div",{className:_n("category-tab",{active:e===o.id}),onClick:()=>r(o),children:o.name},o.id))}),h.jsx("div",{className:"category-tabs-mask left"}),h.jsx("div",{className:"category-tabs-mask right"})]}),$7=({action:t,parentNode:e,onSelect:n})=>{const r=()=>{n(e,t)};return h.jsxs("div",{className:"action-item",onClick:r,children:[h.jsx("div",{className:"item-icon","data-category":e.category.split("-")[0]||"action",children:t.icon?h.jsx("img",{src:t.icon,alt:t.name,style:{width:32,height:32}}):h.jsx("div",{children:t.name.charAt(0).toUpperCase()})}),h.jsxs("div",{className:"item-content",children:[h.jsx("div",{className:"item-title",children:t.name}),t.description&&h.jsx("div",{className:"item-description",children:t.description})]})]})},j7=({node:t,expanded:e,actions:n,loading:r,hasPartialActions:o,onToggle:i,onActionSelect:s,onLoadAllActions:a})=>{const l=()=>{i(t)},c=u=>{u.stopPropagation(),a==null||a(t)};return h.jsxs("div",{className:_n("node-card",{expanded:e}),children:[h.jsxs("div",{className:"node-card-header",onClick:l,children:[h.jsx("div",{className:"node-card-icon",children:t.icon?h.jsx("img",{src:t.icon,alt:t.name}):h.jsx("span",{children:t.name.charAt(0).toUpperCase()})}),h.jsxs("div",{className:"node-card-info",children:[h.jsx("div",{className:"node-card-title",children:t.name}),t.description&&h.jsx("div",{className:"node-card-desc",children:t.description})]}),h.jsx(ce.CaretDownOutlined,{className:_n("node-card-arrow",{expanded:e})})]}),e&&h.jsxs("div",{className:"node-card-body",children:[r?h.jsx("div",{className:"node-card-state",children:"动作加载中..."}):n.length===0?h.jsx("div",{className:"node-card-state",children:"暂无可用动作"}):h.jsx("div",{className:"node-card-actions",children:n.map(u=>h.jsx("div",{className:"node-card-action-wrapper",onClick:d=>d.stopPropagation(),children:h.jsx($7,{action:u,parentNode:t,onSelect:s})},u.id))}),o&&!r&&h.jsx("div",{className:"node-card-more",onClick:c,children:"查看该节点全部动作"})]})]})},W7=({currentCategory:t,categoryPath:e,selectedNode:n,onBack:r,onClose:o,title:i,subTitle:s,showBackButton:a})=>{const l=()=>n?n.name:t?t.name:"节点选择器",c=()=>n?"选择动作":e.length>0?e.slice(0,-1).map(p=>p.name).join(" / "):"",u=i||l(),d=s??c(),f=typeof a=="boolean"?a:!!(n||e.length>0);return h.jsxs("div",{className:"panel-header",children:[h.jsxs("div",{className:"header-left",children:[f&&r&&h.jsx("div",{className:"back-button",onClick:r,children:h.jsx(ce.ArrowLeftOutlined,{})}),h.jsxs("div",{className:"title",children:[u,d&&h.jsx("div",{className:"category-path",children:d})]})]}),h.jsx("div",{className:"close-button",onClick:o,children:h.jsx(ce.CloseOutlined,{})})]})},eE=[],tE=Object.freeze(Object.defineProperty({__proto__:null,defaultCategories:eE},Symbol.toStringTag,{value:"Module"})),V7=new Set(Object.values(ne)),U7=t=>{if(t)return V7.has(t)?t:void 0},q7=({nodeSelectorVisible:t,nodeAddInfo:e})=>{const[n,r]=C.useState(!1),o=kr();return{isLoadingActions:n,fetchNodeActions:async(s,a)=>{a!=null&&a.suppressLoading||r(!0);try{const l=t&&e&&e.trigger===!0,c={linkId:s.id,flowId:o},u=(e==null?void 0:e.protocol)===Te.BUILTIN_MCP?ne.MCPTOOL:U7(s.type);u&&(c.actionType=u),l&&(c.trigger=!0);const d=await Lg(c);return d&&d.items&&Array.isArray(d.items)?d.items.map(p=>({...p,id:p.id,name:p.name||"未命名动作",description:p.description||"",connector_name:s.name,nodeId:s.id,nodeIcon:s.icon})):[]}catch(l){return console.error("获取动作列表失败:",l),[]}finally{a!=null&&a.suppressLoading||r(!1)}}}},R7=({onFetchCategories:t,restrictToCategory:e,nodeSelectorVisible:n,nodeAddInfo:r,fallbackCategories:o=[]})=>{const[i,s]=C.useState(o),[a,l]=C.useState(!1);return C.useEffect(()=>{if(!n)return;(async()=>{l(!0);try{let u="action";const d=n&&r&&r.trigger,f=r==null?void 0:r.protocol,p=!!f;d?u="trigger":f===Te.AI_TOOL?u="mcp":f===Te.BUILTIN_MCP?u="tool":f===Te.AI_LANGUAGE_MODEL?u="model":f===Te.AI_MEMORY&&(u="memory");const m=await t(u),w=e?m.filter(y=>y.id===e):d?m:m.filter(y=>y.id!=="TRIGGER"),v=e||p?null:{id:"ALL",name:"全部",description:"全部分类",icon:void 0};s(v?[v,...w]:w)}catch(u){console.error("Failed to fetch categories:",u),s(o)}finally{l(!1)}})()},[t,e,n,r,o]),{categories:i,isLoadingCategories:a,setCategories:s}},G7=({categories:t,initialCategory:e,nodeSelectorVisible:n,nodeAddInfo:r,onFetchNodesByCategory:o,defaultPageSize:i=20,flowId:s})=>{const[a,l]=C.useState(e||"ALL"),[c,u]=C.useState([]),[d,f]=C.useState(!1),[p,m]=C.useState({page:1,size:i,total:0,hasMore:!0}),w=n&&r&&r.trigger===!0,v=n&&r&&r.protocol===Te.AI_TOOL,y=n&&r&&r.protocol===Te.BUILTIN_MCP,g=C.useMemo(()=>{const D=r==null?void 0:r.protocol;if(D){if(D===Te.AI_TOOL)return Te.MCP;if(D===Te.AI_LANGUAGE_MODEL||D===Te.AI_MEMORY)return D}},[r==null?void 0:r.protocol]),x=C.useMemo(()=>{const D=r==null?void 0:r.protocol;if(D===Te.AI_TOOL)return"tool";if(D===Te.AI_LANGUAGE_MODEL)return"model";if(D===Te.AI_MEMORY)return"memory"},[r==null?void 0:r.protocol]),S=C.useMemo(()=>a==="ALL"?null:t.find(D=>D.id===a)||null,[a,t]),b=C.useCallback((D,M=1)=>({app_domain_category:D&&D!=="ALL"?D:void 0,page:M,size:i,trigger:!!w,type:x,protocol:g,flow_id:s}),[i,w,x,g,s]),k=C.useCallback(async(D,M=1,N=!1)=>{if(n){f(!0);try{const F=b(D,M),{nodes:I,total:O,size:H}=await o(F);u(L=>N?[...L,...I]:I),m({page:M,size:H,total:O,hasMore:M*H<O})}catch(F){console.error("Failed to fetch category data:",F),N||u([])}finally{f(!1)}}},[b,n,o]),A=C.useCallback(async D=>{l(D),await k(D,1,!1)},[k]),E=C.useCallback(async()=>{d||!p.hasMore||await k(a||"ALL",p.page+1,!0)},[k,d,p,a]),T=C.useCallback(()=>{l(e||"ALL"),u([]),m({page:1,size:i,total:0,hasMore:!0})},[e,i]);return C.useEffect(()=>{var M,N;if(!n){T();return}const D=e&&((M=t.find(F=>F.id===e))==null?void 0:M.id)||((N=t[0])==null?void 0:N.id)||"ALL";l(D),k(D,1,!1)},[n,t,e,k,T]),{categoryNodes:c,currentCategory:S,isLoadingNodes:d,isRealTriggerMode:w,isAIToolMode:v,isBuiltinMCPMode:y,navigateToCategory:A,loadMoreNodes:E,resetNavigation:T,pagination:p,activeCategoryId:a,setActiveCategoryId:l}},K7=({onSearch:t})=>{const[e,n]=C.useState(""),[r,o]=C.useState([]),[i,s]=C.useState(!1),[a,l]=C.useState({total:0,page:1,size:20}),c=C.useCallback(async(d,f={})=>{if(n(d),!d.trim()){o([]),l({total:0,page:1,size:f.size||20});return}s(!0);try{const{nodes:p,total:m,page:w,size:v}=await t({...f,name:d});o(p),l({total:m,page:w,size:v})}catch(p){console.error("Search failed:",p),o([]),l({total:0,page:1,size:f.size||20})}finally{s(!1)}},[t]),u=C.useCallback(()=>{n(""),o([]),l({total:0,page:1,size:20})},[]);return{searchText:e,searchResults:r,isSearching:i,searchMeta:a,handleSearch:c,clearSearch:u,setSearchText:n}},X7=(t,e)=>{const n=t.action_type||t.node_struct||ne.ACTION;return{...t,id:t.id,type:n,action_type:n,name:t.name||e.name,description:t.description||e.description||"",connector_name:e.name,nodeId:e.id,nodeIcon:e.icon}},Y7=(t,e)=>{if(typeof e=="boolean")return e;if(!t)return!1;const n=t.toUpperCase();return n==="ACTION_ONLY"||n==="BOTH_MATCHED"},J7=(t,e)=>{const{matchedActions:n,defaultExpanded:r,matchType:o}=e||{};return{id:t.id||t.name,type:t.build_type||ne.ACTION,name:t.name,description:t.description||"",category:t.app_domain_category&&t.app_domain_category[0]||"unknown",icon:t.icon||void 0,app_domain_category:t.app_domain_category||[],actionCategories:t.app_action_category||[],deployment_type:t.deployment_type,build_type:t.build_type,matchedActions:n,defaultExpanded:Y7(o,r),matchType:o,connector:t}},nE=async(t={})=>{var e;try{const{apiSearchLinks:n}=await Promise.resolve().then(()=>Zg),r=await n({...t,page:t.page||1,size:t.size||20}),o=((e=r.items)==null?void 0:e.map(({connector:i,matched_actions:s,default_expanded:a,match_type:l})=>{const c=(s||[]).map(u=>X7(u,i));return J7(i,{matchedActions:c,defaultExpanded:a,matchType:l})}))||[];return{nodes:o,total:r.total||o.length,page:r.page||t.page||1,size:r.size||t.size||20,pages:r.pages}}catch(n){return console.error("获取节点列表失败:",n),{nodes:[],total:0,page:t.page||1,size:t.size||20,pages:0}}},Q7=async t=>{try{const{apiGetNodeCategory:e}=await Promise.resolve().then(()=>Zg),{defaultCategories:n}=await Promise.resolve().then(()=>tE),r=await e({type:t}),o=i=>({id:i.name,name:i.label,description:i.desc||"",icon:i.icon||void 0,search_action:i.search_action||!1,children:i.next&&i.next.length>0?i.next.map(s=>o(s)):void 0,nodes:[]});return Array.isArray(r)?r.map(i=>o(i)):n}catch(e){console.error("获取分类失败:",e);const{defaultCategories:n}=await Promise.resolve().then(()=>tE);return n}},Z7=({availableCategories:t=eE,initialCategory:e,onSearch:n=nE,onFetchCategories:r=Q7,onFetchNodesByCategory:o=nE,restrictToCategory:i})=>{const s=C.useRef(null),a=C.useRef(null),[l,c]=C.useState([]),[u,d]=C.useState({}),{nodeSelectorVisible:f,closeNodeSelector:p,handleNodeSelect:m,nodeAddInfo:w}=ns(),v=kr(),{fetchNodeActions:y}=q7({nodeSelectorVisible:f,nodeAddInfo:w}),{categories:g,isLoadingCategories:x}=R7({onFetchCategories:r,restrictToCategory:i,nodeSelectorVisible:f,nodeAddInfo:w,fallbackCategories:t}),{searchText:S,searchResults:b,isSearching:k,handleSearch:A,clearSearch:E,setSearchText:T}=K7({onSearch:n}),D=C.useRef(S),{categoryNodes:M,isLoadingNodes:N,isRealTriggerMode:F,navigateToCategory:I,loadMoreNodes:O,resetNavigation:H,pagination:L,activeCategoryId:W,currentCategory:R}=G7({categories:g,initialCategory:e,nodeSelectorVisible:f,nodeAddInfo:w,onFetchNodesByCategory:o,flowId:v}),Y=C.useMemo(()=>S?b:M,[S,b,M]),K=C.useMemo(()=>(w==null?void 0:w.protocol)===Te.AI_LANGUAGE_MODEL?"选择模型":"选择动作",[w==null?void 0:w.protocol]),le=C.useMemo(()=>(w==null?void 0:w.protocol)===Te.AI_LANGUAGE_MODEL||(w==null?void 0:w.protocol)===Te.AI_MEMORY?"按模型名称搜索":"按节点/动作名称搜索",[w==null?void 0:w.protocol]),$=S,V=C.useMemo(()=>{const de=w==null?void 0:w.protocol;if(de){if(de===Te.AI_TOOL)return Te.MCP;if(de===Te.AI_LANGUAGE_MODEL||de===Te.AI_MEMORY)return de}},[w==null?void 0:w.protocol]),q=C.useMemo(()=>{const de=w==null?void 0:w.protocol;if(de===Te.AI_TOOL)return"tool";if(de===Te.AI_LANGUAGE_MODEL)return"model";if(de===Te.AI_MEMORY)return"memory"},[w==null?void 0:w.protocol]),ee=C.useCallback(()=>({app_domain_category:W&&W!=="ALL"?W:void 0,trigger:!!F,type:q,protocol:V,flow_id:v}),[W,F,q,V,v]),{run:pe,cancel:se}=ft.useDebounceFn(de=>{const Me=de.trim();if(!Me){E(),c([]);return}A(Me,ee())},{wait:300}),P=C.useCallback(async de=>{d(Oe=>{var Ge,Ye;return{...Oe,[de.id]:{actions:((Ge=Oe[de.id])==null?void 0:Ge.actions)||[],loading:!0,source:(Ye=Oe[de.id])==null?void 0:Ye.source}}});const Me=await y(de,{suppressLoading:!0});d(Oe=>({...Oe,[de.id]:{actions:Me,loading:!1,source:"full"}}))},[y]),U=async de=>{if(l.includes(de.id)){c(Ge=>Ge.filter(Ye=>Ye!==de.id));return}c(Ge=>[...Ge,de.id]);const Oe=u[de.id];(!Oe||Oe.actions.length===0||Oe.source==="search-partial")&&await P(de)},G=async de=>{await P(de)},X=(de,Me)=>{const Oe={...Me,...w,name:de.name,description:Me.name||"",type:(Me==null?void 0:Me.action_type)??ne.ACTION,connector_name:(de==null?void 0:de.name)||"",category:(de==null?void 0:de.category)||"unknown",icon:de.icon,isAction:!0};m(Oe)},ge=async de=>{c([]),E(),await I(de.id)},ue=de=>{T(de),pe(de)},Pe=de=>{if(S||!L.hasMore||N)return;const{scrollTop:Me,scrollHeight:Oe,clientHeight:Ge}=de.currentTarget;Oe-Me-Ge<120&&O()};C.useEffect(()=>{if(!f){const de=setTimeout(()=>{E(),H(),c([]),d({})},200);return()=>clearTimeout(de)}return()=>se()},[f,E,H,se]),C.useEffect(()=>{if(D.current=S,S){const de=b.filter(Me=>Me.defaultExpanded).map(Me=>Me.id);c(de)}},[b,S]),C.useEffect(()=>{S||c([])},[W,S]),C.useEffect(()=>{D.current&&A(D.current,ee())},[W,ee,A]),C.useEffect(()=>{d(de=>{const Me={};return Y.forEach(Oe=>{Oe.matchedActions&&Oe.matchedActions.length>0?Me[Oe.id]={actions:Oe.matchedActions,loading:!1,source:"search-partial"}:de[Oe.id]?Me[Oe.id]=de[Oe.id]:Me[Oe.id]={actions:[],loading:!1}}),Me})},[Y]),ft.useClickAway(()=>{f&&p()},s);const $e=()=>k?h.jsx("div",{className:"loading-state",children:h.jsx(B.Spin,{tip:"搜索中..."})}):!k&&Y.length===0?h.jsx("div",{className:"empty-state",children:h.jsx("div",{className:"empty-text",children:"暂无符合条件的节点"})}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"node-card-list",children:Y.map(de=>{var Me,Oe,Ge;return h.jsx(j7,{node:de,expanded:l.includes(de.id),actions:((Me=u[de.id])==null?void 0:Me.actions)||[],loading:((Oe=u[de.id])==null?void 0:Oe.loading)||!1,hasPartialActions:((Ge=u[de.id])==null?void 0:Ge.source)==="search-partial",onToggle:U,onActionSelect:X,onLoadAllActions:G},de.id)})}),!S&&N&&Y.length>0&&h.jsxs("div",{className:"list-loading",children:[h.jsx(B.Spin,{size:"small"}),h.jsx("span",{children:"正在加载更多"})]}),!S&&!L.hasMore&&!N&&Y.length>0&&h.jsx("div",{className:"list-footer",children:"已加载全部"})]});return f?h.jsxs("div",{className:_n("modern-node-selector",{visible:f}),ref:s,children:[h.jsx(W7,{currentCategory:R,categoryPath:[],selectedNode:null,onClose:p,title:K,showBackButton:!1}),h.jsx("div",{className:"search-container",children:h.jsx(B.Input,{placeholder:le,prefix:h.jsx(ce.SearchOutlined,{style:{color:"#007aff"}}),allowClear:!0,value:$,onChange:de=>ue(de.target.value)})}),h.jsx(H7,{categories:g,activeId:W||"ALL",loading:x,onChange:ge}),h.jsx("div",{className:"panel-content",ref:a,onClick:de=>de.stopPropagation(),onScroll:Pe,children:$e()})]}):null},e$={HORIZONTAL_GAP:Ii+100,VERTICAL_SPACING:pm,INITIAL_X:100,MAIN_NODE_Y:300,X_PROXIMITY_THRESHOLD:50};function rE(t,e=e$){const n=t.filter(a=>a.type!==ne.AISUBNODE);let r;n.length>0?r=Math.max(...n.map(l=>l.position.x))+e.HORIZONTAL_GAP:r=e.INITIAL_X;const o=e.MAIN_NODE_Y,s=t.filter(a=>Math.abs(a.position.x-r)<e.X_PROXIMITY_THRESHOLD).length*e.VERTICAL_SPACING;return[r,o+s]}function t$(t){return t.map(e=>{const{node_type:n,id:r,position:o,icon:i,action_name:s,connector_name:a,description:l,action_id:c,connector_id:u,properties:d,account_schema_id:f,account_id:p,...m}=e;let w,v;if(n===ne.STICKY)try{const g=JSON.parse(d.value);w=g.width,v=g.height}catch{}const y={type:n,id:r,position:o,data:{icon:i,label:s,action_name:s,description:l,connector_name:a,connector_id:u,account_id:p,account_schema_id:f,action_id:c,config_schema:d,...m}};if(typeof w=="number"||typeof v=="number"){const g=y.style||{};y.style={...g,...typeof w=="number"?{width:w}:{},...typeof v=="number"?{height:v}:{}}}return y})}function n$(t){if(!t)return console.error("API返回数据格式错误: 缺少data字段"),{workflowId:"",workflowName:"",nodes:[],edges:[]};const e=t$(t.nodes||[]),n=e.map(o=>o.id),r=(t.connections||[]).map(o=>(console.log("edege"),{...o,type:o.type||"main"})).filter(o=>n.includes(o.target)&&o.source&&o.sourceHandle&&o.targetHandle);return{workflowId:t.id||"",workflowName:t.name||"",nodes:e,edges:r}}function r$(t,e,n=""){const r=t.filter(o=>o.type!==ne.START).map(o=>({...o.data,node_type:o.type,connector_id:o.data.connector_id||"",id:o.id,action_id:o.data.action_id||o.data.id||"",account_id:o.data.account_id||null,position:o.position,properties:o.data.config_schema||o.data.config||{},action_name:o.data.label||"",description:o.data.description||""}));return{name:n,connections:e,nodes:r}}const oE=()=>new Date().toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit"}),mm={type:ne.START,id:"PLACEHOLDER_NODE",position:{x:100,y:250},data:{type:ne.START,name:"开始",nodeId:"PLACEHOLDER_NODE",id:"PLACEHOLDER_NODE",description:"开始节点"}},iE=t=>({label:t.action_name,description:t.connector_name,...Object.entries(t).reduce((e,[n,r])=>(n!=="name"&&(e[n]=r),e),{})}),o$=to.getNodeTypes(),i$=mn.getEdgeTypes(),s$={"--edge-marker-size":"14px","--edge-stroke-width":"1px"},a$={x:0,y:0,zoom:1},l$={x:0,y:0,zoom:.8},c$={type:Ht.MAIN,markerEnd:{type:ie.MarkerType.ArrowClosed,width:20,height:20,color:"#7e8186"}},u$="944",d$=C.memo(({loading:t})=>t?h.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3,backdropFilter:"blur(2px)"},children:h.jsx(B.Spin,{size:"large",tip:"正在加载工作流...",style:{color:"#1890ff",fontSize:"16px"}})}):null),f$=C.memo(()=>h.jsx("svg",{style:{position:"absolute",width:0,height:0},children:h.jsx("defs",{children:h.jsx("marker",{id:"workflow-arrow",viewBox:"-10 -10 20 20",refX:"3",refY:"0",markerWidth:"12.5",markerHeight:"12.5",markerUnits:"strokeWidth",orient:"auto-start-reverse",children:h.jsx("polyline",{strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4",strokeWidth:"3",stroke:"context-stroke",fill:"context-stroke"})})})})),h$={width:"100%",height:"100%",position:"absolute",zIndex:10,pointerEvents:"none"},p$=t=>({width:t.width,height:t.height,transform:t.transform});function m$({horizontal:t,vertical:e}){const{width:n,height:r,transform:o}=ie.useStore(p$),i=C.useRef(null);return C.useEffect(()=>{const s=i.current,a=s==null?void 0:s.getContext("2d");if(!a||!s)return;const l=window.devicePixelRatio;s.width=n*l,s.height=r*l,a.scale(l,l),a.clearRect(0,0,n,r),a.strokeStyle="#0041d0",typeof e=="number"&&(a.moveTo(e*o[2]+o[0],0),a.lineTo(e*o[2]+o[0],r),a.stroke()),typeof t=="number"&&(a.moveTo(0,t*o[2]+o[1]),a.lineTo(n,t*o[2]+o[1]),a.stroke())},[n,r,o,t,e]),h.jsx("canvas",{ref:i,className:"react-flow__canvas",style:h$})}const g$=C.memo(m$),w$=(t,e="normal")=>{const n=t.data.status;if(t.type===ne.STICKY)return e==="lighter"?"rgba(0,0,0,.5)":"rgb(206, 226, 164)";switch(n){case ve.INVALID:return e==="lighter"?"#F2C000":"#FDF6D5";case ve.FAILED:return e==="lighter"?"#FA170A":"#FF918B";case ve.SUCCESS:case ve.RUNNABLE:return e==="lighter"?"#2EC04F":"#8CDF3A";case ve.RUNNING:return e==="lighter"?"#007AFF":"#D9EBFF";default:return e==="lighter"?"#51A4F6":"#00c3ff"}};function v$(t){const e=n=>w$(n);return h.jsx(ie.MiniMap,{style:{display:"flex",flexDirection:"row"},nodeStrokeColor:e,nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeColor:e,nodeBorderRadius:3,...t})}function y$(t,e,n=5){var l,c,u,d;const r={horizontal:void 0,vertical:void 0,snapPosition:{x:void 0,y:void 0}},o=e.find(f=>f.id===t.id);if(!o||!t.position)return r;const i={left:t.position.x,right:t.position.x+(((l=o.measured)==null?void 0:l.width)??0),top:t.position.y,bottom:t.position.y+(((c=o.measured)==null?void 0:c.height)??0),width:((u=o.measured)==null?void 0:u.width)??0,height:((d=o.measured)==null?void 0:d.height)??0};let s=n,a=n;return e.filter(f=>f.id!==o.id).reduce((f,p)=>{var A,E,T,D;const m={left:p.position.x,right:p.position.x+(((A=p.measured)==null?void 0:A.width)??0),top:p.position.y,bottom:p.position.y+(((E=p.measured)==null?void 0:E.height)??0),width:((T=p.measured)==null?void 0:T.width)??0,height:((D=p.measured)==null?void 0:D.height)??0},w=Math.abs(i.left-m.left);w<a&&(f.snapPosition.x=m.left,f.vertical=m.left,a=w);const v=Math.abs(i.right-m.right);v<a&&(f.snapPosition.x=m.right-i.width,f.vertical=m.right,a=v);const y=Math.abs(i.left-m.right);y<a&&(f.snapPosition.x=m.right,f.vertical=m.right,a=y);const g=Math.abs(i.right-m.left);g<a&&(f.snapPosition.x=m.left-i.width,f.vertical=m.left,a=g);const x=Math.abs(i.top-m.top);x<s&&(f.snapPosition.y=m.top,f.horizontal=m.top,s=x);const S=Math.abs(i.bottom-m.top);S<s&&(f.snapPosition.y=m.top-i.height,f.horizontal=m.top,s=S);const b=Math.abs(i.bottom-m.bottom);b<s&&(f.snapPosition.y=m.bottom-i.height,f.horizontal=m.bottom,s=b);const k=Math.abs(i.top-m.bottom);return k<s&&(f.snapPosition.y=m.bottom,f.horizontal=m.bottom,s=k),f},r)}const{Title:b$,Text:gm}=B.Typography,C$=t=>{const e=kr();return{UNPUBLISHED:h.jsx(B.Tag,{bordered:!1,color:"orange",children:h.jsx(Be.FormattedMessage,{id:"app.common.word.not-published"})}),ONLINE:h.jsx(B.Tag,{bordered:!1,color:"green",children:h.jsx(Be.FormattedMessage,{id:"app.common.word.already-online"})}),OFFLINE:h.jsx(B.Tag,{bordered:!1,color:"default",children:h.jsx(Be.FormattedMessage,{id:"app.common.word.already-offline"})}),ONLINE_ING:h.jsx(B.Tag,{bordered:!1,color:"processing",children:h.jsx(Be.FormattedMessage,{id:"app.common.word.going-online"})}),ON_WARN:h.jsx(uw,{to:`/link/log?warnId=${e}`,children:h.jsxs(B.Space,{size:[5,5],children:[h.jsx(ce.ExclamationCircleOutlined,{style:{color:"#faad14"}}),h.jsx(Be.FormattedMessage,{id:"common.warning"})]})}),OFF_WARN:h.jsx(uw,{to:`/link/log?warnId=${e}`,children:h.jsxs(B.Space,{size:[5,5],children:[h.jsx(ce.ExclamationCircleOutlined,{style:{color:"#faad14"}}),h.jsx(Be.FormattedMessage,{id:"common.warning"})]})})}[t.opStatus]},k$=({onSave:t,readOnly:e=!1,preview:n=!1,autoSaveStatus:r="idle",lastSavedTime:o,unSave:i,appFlowMode:s=!1,canvasApi:a})=>{var ee,pe;const l=qc(),c=At(),u=fa(se=>se.workflow.workflowName),d=fa(se=>se.workflow.op_status),[f,p]=C.useState(!1),[m,w]=C.useState(u),[v,y]=C.useState(!1),g=C.useRef(null),{getNodes:x}=ie.useReactFlow(),S=x(),b=yn(),k=b.toolbar,A=kr(),E=((ee=S.filter(se=>se.type!==ne.START))==null?void 0:ee.length)>0;C.useEffect(()=>{w(u)},[u]),C.useEffect(()=>{f&&g.current&&g.current.focus()},[f]);const T=C.useCallback(()=>S.map(U=>U.data.status).every(U=>U!==ve.SUCCESS&&U!==ve.RUNNABLE),[S]),D=C.useCallback(()=>S.map(U=>U.data.status).every(U=>U===ve.SUCCESS||U===ve.RUNNABLE),[S]),M=C.useCallback(()=>{var se;for(const P of S){const{data:U,type:G}=P,{config_schema:X}=U;if(G===ne.LOOP){if(!X.asc)return!1;const ge=Object.keys(X);if(ge.length===0||ge.some(ue=>typeof X[ue]>"u"))return!1}else if(G===ne.CONDITION){if(!X.or_list||!X.or_list.length||!X.or_list.every(ue=>ue.and_list.every(Pe=>Pe.query&&Pe.operator)))return!1}else if(G===ne.SWITCH){if(!X.branches||!X.branches.length||!X.branches.every(ue=>ue.or_list.every(Pe=>Pe.and_list.every($e=>$e.query&&$e.operator))))return!1}else if(!(G===ne.STICKY||G===ne.START)){const ge=(se=X==null?void 0:X.sub_params)==null?void 0:se.every(Pe=>Pe.required?typeof Pe.value<"u"&&Pe.value!==null:!0);if(!ge)return!1;const ue=X!=null&&X.account_schema_id?!!X.account_id:!0;if(!ge||!ue)return!1}}return!0},[S]),N=()=>{if((d===gn.ONLINE||d===gn.ON_WARN)&&(!M()||!D())){B.message.warning("当前流程节点存在异常,请完成节点测试或下线流程后再尝试保存");return}t==null||t()},F=se=>{w(se.target.value)};ft.useUnmount(()=>{l(wp()),Uc("")});const I=C.useCallback(()=>{const se=u,P=m.trim(),U=P||"未命名工作流";l(Uc(U)),Vu(A,{name:U}).then(()=>{}).catch(()=>{l(Uc(se))}),p(!1)},[l,m,u]),O=()=>{I()},H=()=>{I()},L=()=>{var se;!e&&((se=k==null?void 0:k.flowName)==null?void 0:se.editable)!==!1&&p(!0)},W=()=>{if(i)return h.jsx(B.Tooltip,{title:"暂未保存",children:h.jsx(B.Tag,{bordered:!1,color:"warning",children:"未保存"})});switch(r){case"saving":return h.jsx(B.Tooltip,{children:h.jsx("div",{style:{display:"flex",alignItems:"center"},children:h.jsx(ce.SyncOutlined,{spin:!0,style:{marginRight:8,color:"#1890ff"}})})});case"saved":return h.jsx(B.Tooltip,{title:`已自动保存 (${o})`,children:h.jsx("div",{style:{display:"flex",alignItems:"center"},children:h.jsxs(B.Tag,{bordered:!1,color:"green",children:["已保存 ",h.jsx("span",{style:{fontSize:10,marginLeft:4,color:"#999"},children:o})]})})});case"error":return h.jsx(B.Tooltip,{title:"自动保存失败",children:h.jsx(B.Badge,{status:"error",text:h.jsx("span",{children:"保存失败"})})});default:return null}},[R,Y]=B.Modal.useModal(),K=async()=>{var U;const se=d===gn.ONLINE||d===gn.ON_WARN,P=()=>{var G,X;if((G=k==null?void 0:k.nav)!=null&&G.onBack){k.nav.onBack();return}if((X=k==null?void 0:k.nav)!=null&&X.backTo){ts.push(k.nav.backTo);return}s?ts.back():ts.push("/link/ai-flow")};if(!se&&((U=k==null?void 0:k.nav)!=null&&U.confirmOnBackWhenOffline)&&i){await R.confirm({title:te("user.common.operation_title"),content:k.nav.backConfirmMessage||"当前流程未保存,是否确认返回?"})&&P();return}},le=async()=>{y(!0),Gu(A,gn.ONLINE).then(()=>{B.message.success("上线成功"),l(gp(gn.ONLINE))}).catch(()=>{}).finally(()=>{y(!1)})},$=async()=>{y(!0),Gu(A,gn.OFFLINE).then(()=>{B.message.success("下线成功"),l(gp(gn.OFFLINE))}).catch(()=>{}).finally(()=>{y(!1)})},V=async(se,P)=>{if(se){if(!M()){B.message.warning("请完成节点参数配置");return}T()?await R.confirm({title:"上线提示",content:"当前流程存在未测试通过的节点,启用流程将可能导致流程运行异常,是否确定启用?"})&&le():le()}else $()},q=()=>{var P,U,G,X;const se=[];return((P=k==null?void 0:k.nav)==null?void 0:P.showBack)!==!1&&(se.push(h.jsx(B.Button,{type:"text",icon:h.jsx(ce.ArrowLeftOutlined,{className:"workflow-back-icon"}),onClick:K,children:te("app.common.word.back")},"back")),se.push(h.jsx(B.Divider,{type:"vertical"},"divider-back"))),s||(f?se.push(h.jsx(B.Input,{ref:g,value:m,onChange:F,onPressEnter:O,onBlur:H,maxLength:30,className:"workflow-name-input",placeholder:"请输入工作流名称"})):se.push(h.jsx("div",{className:"workflow-name",onClick:n?void 0:L,children:u?h.jsxs(h.Fragment,{children:[h.jsx(b$,{level:4,className:"workflow-name-text",children:u}),!e&&!n&&((U=k==null?void 0:k.flowName)==null?void 0:U.editable)&&h.jsx(ce.FormOutlined,{className:"edit-icon"})]}):h.jsx(B.Skeleton.Input,{active:!0,size:"small"})})),se.push(h.jsx(B.Divider,{type:"vertical"}))),n?se.push(h.jsx(gm,{type:"secondary",children:"预览模式"},"preview-text")):se.push(h.jsxs(B.Space,{size:8,children:[b.toolbar.enableOnlineButton&&h.jsxs(C.Fragment,{children:[h.jsx(gm,{children:(k==null?void 0:k.enableFlowText)||"启用流程"}),h.jsx(B.Switch,{disabled:!E,onChange:V,loading:v,checked:d===gn.ONLINE||d===gn.ON_WARN})]}),h.jsx(B.Divider,{type:"vertical"}),((G=k==null?void 0:k.flowStatusTag)==null?void 0:G.enabled)===!1?null:h.jsx("span",{style:(X=k==null?void 0:k.flowStatusTag)==null?void 0:X.style,children:h.jsx(C$,{opStatus:d})})]})),se.push(h.jsx(B.Divider,{type:"vertical"})),!c&&!n&&se.push(h.jsx(gm,{type:"secondary",children:"当前流为只读模式,如需编辑,请下线流程"})),se};return h.jsxs("div",{className:"workflow-canvas-header",children:[Y,h.jsx("div",{className:"workflow-heder-left-area",children:q()}),h.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[c&&!n&&W(),h.jsx("span",{children:h.jsx(B.Button,{icon:h.jsx(ce.QuestionCircleOutlined,{}),type:"link",onClick:()=>{window.open("https://alidocs.dingtalk.com/i/nodes/G1DKw2zgV2oOlamqTNOKaX0MJB5r9YAn","_blank")},children:"帮助文档"})}),h.jsxs(B.Space,{style:{marginLeft:16},children:[(pe=k==null?void 0:k.buttons)==null?void 0:pe.map(se=>h.jsx(B.Button,{style:se.style,icon:se.icon,type:se.type??"default",onClick:()=>{se.onClick&&a&&se.onClick(a)},children:se.label},se.id)),c&&!n&&h.jsx(h.Fragment,{children:h.jsx(B.Tooltip,{title:"保存",children:h.jsx(B.Button,{onClick:N,type:"primary",children:"保存"})})})]})]})]})},x$=C.createContext(null),S$=({api:t,children:e})=>h.jsx(x$.Provider,{value:t,children:e}),E$=({onOpenNodeSelector:t,onAddNoteNode:e,onTidyCanvas:n,panelStyle:r={},buttonStyle:o={},dangerButtonStyle:i={},showTidyButton:s=!0,buttons:a})=>{const l=[{key:"add-node",title:"打开节点选择面板",icon:h.jsx(ce.PlusOutlined,{}),onClick:t,visible:!0,danger:!1},{key:"add-note",title:"添加便签",icon:h.jsx(ce.BookOutlined,{}),onClick:e,visible:!0,danger:!1}],c=a||l,u={backgroundColor:"transparent",boxShadow:"none",marginTop:30,marginRight:20,...r},d={width:32,height:32,background:"#FFF",...o},f={...d,...i};return h.jsx(ie.Panel,{position:"top-right",style:u,children:h.jsx(B.Space,{direction:"vertical",children:c.map(p=>p.visible===!1?null:h.jsx(B.Tooltip,{placement:"left",title:p.title,children:h.jsx(B.Button,{onClick:p.onClick,type:"primary",style:p.danger?f:d,danger:p.danger,ghost:!0,icon:p.icon})},p.key))})})},D$=200,Kc=150,ha=44,sE=t=>{try{return JSON.stringify(t)}catch(e){return String(e)}},wm=t=>({id:t.id,type:t.type,position:t.position,data:t.data}),vm=t=>({id:t.id,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle,data:t.data}),Ho=t=>{if(!t)return"";const e=t.data,n=(e==null?void 0:e.backendData)||void 0,r=(n==null?void 0:n.properties)||void 0;return(r==null?void 0:r.display_name)||(e==null?void 0:e.label)||(e==null?void 0:e.action_name)||(e==null?void 0:e.name)||t.id},A$=t=>t.replace(/[^a-zA-Z0-9_]/g,"_"),O$=(t,e,n,r)=>{const o=new Map;t.forEach((l,c)=>{const u=A$(l.id||`node_${c}`);o.set(l.id,u)});const i=["flowchart LR"];t.forEach(l=>{const c=o.get(l.id);if(!c)return;const u=`${l.id} ${Ho(l)}`.replace(/"/g,"'");i.push(` ${c}["${u}"]`)});const s=[];let a=0;return e.forEach(l=>{const c=o.get(l.source),u=o.get(l.target);!c||!u||(i.push(` ${c} --> ${u}`),r.has(l.id)&&s.push(a),a+=1)}),s.forEach(l=>{i.push(` linkStyle ${l} stroke:#cf1322,stroke-width:2px`)}),i.join(`
85
+ `)},B$=t=>`${t.source}__${t.target}__${t.sourceHandle||""}__${t.targetHandle||""}`,aE=(t,e)=>t.map(n=>{const r=e.get(n.source)||n.source,o=e.get(n.target)||n.target;return`${n.source}(${r}) -> ${n.target}(${o})`}),lE=(t,e)=>{const n=new Map;t.forEach(o=>{const i=B$(o),s=n.get(i)||[];s.push(o),n.set(i,s)});const r=[];return n.forEach((o,i)=>{if(o.length<=1)return;const s=o[0],a=e.get(s.source)||s.source,l=e.get(s.target)||s.target;r.push({key:i,relation:`${s.source}(${a}) -> ${s.target}(${l})`,edgeIds:o.map(c=>c.id)})}),r},cE=(t,e)=>{if(!t.length)return{levels:[],unvisited:[]};const n=new Map(t.map(f=>[f.id,f])),r=new Map,o=new Map;t.forEach(f=>{r.set(f.id,[]),o.set(f.id,0)}),e.forEach(f=>{var p;!n.has(f.source)||!n.has(f.target)||((p=r.get(f.source))==null||p.push(f.target),o.set(f.target,(o.get(f.target)||0)+1))});const i=t.filter(f=>f.type==="START"||f.type==="TRIGGER"||(o.get(f.id)||0)===0),s=[],a=new Map;if(i.length)i.forEach(f=>{s.push({id:f.id,level:0}),a.set(f.id,0)});else{const f=t[0];s.push({id:f.id,level:0}),a.set(f.id,0)}const l=new Set;for(;s.length;){const f=s.shift();if(!f)break;if(l.has(f.id))continue;l.add(f.id),(r.get(f.id)||[]).forEach(m=>{a.has(m)||a.set(m,f.level+1),s.push({id:m,level:f.level+1})})}const c=new Map;a.forEach((f,p)=>{const m=n.get(p);if(!m)return;const w=c.get(f)||[];w.push(m),c.set(f,w)});const u=Array.from(c.entries()).sort((f,p)=>f[0]-p[0]).map(([f,p])=>({level:f,nodes:p})),d=t.filter(f=>!l.has(f.id));return{levels:u,unvisited:d}},T$=(t,e)=>{const{levels:n,unvisited:r}=cE(t,e),o=Kc,i=ha,s=200,a=90,l=[],c=e.map(m=>({id:m.id,source:m.source,target:m.target})).filter(m=>t.some(w=>w.id===m.source)&&t.some(w=>w.id===m.target));let u=-1;n.forEach(m=>{m.level>u&&(u=m.level)});const d=[...n];r.length&&d.push({level:u+1,nodes:r}),d.forEach(m=>{const w=m.level*s;m.nodes.forEach((v,y)=>{const g=y*(i+a),x=`${v.id} (${Ho(v)})`;l.push({id:v.id,label:x,x:w,y:g})})});const f=Math.max(...l.map(m=>m.x),0),p=Math.max(...l.map(m=>m.y),0);return{nodes:l,edges:c,width:f+o+s,height:p+i+a}},uE=t=>t.length?t.map(e=>{const n=e.detail?JSON.stringify(e.detail,null,2):"";return`[${e.time}] ${e.message}${n?`
86
+ ${n}`:""}`}).join(`
87
+
88
+ `):"暂无日志",Xc=async t=>{var e;try{if((e=navigator==null?void 0:navigator.clipboard)!=null&&e.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{const n=document.createElement("textarea");n.value=t,n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.focus(),n.select();const r=document.execCommand("copy");return document.body.removeChild(n),r}catch{return!1}},dE=(t,e,n)=>{const r=new Map(t.map(l=>[l.id,l])),o=new Map(e.map(l=>[l.id,l])),i=[],s=[],a=[];return o.forEach((l,c)=>{if(!r.has(c)){i.push(c);return}const u=sE(n(r.get(c))),d=sE(n(l));u!==d&&a.push(c)}),r.forEach((l,c)=>{o.has(c)||s.push(c)}),{added:i,removed:s,changed:a}},_$=({visible:t,nodes:e,edges:n,onClose:r})=>{const[o,i]=C.useState([]),[s,a]=C.useState(!1),[l,c]=C.useState(!1),[u,d]=C.useState(),[f,p]=C.useState(),m=C.useRef({nodes:[],edges:[]});C.useEffect(()=>{const O=m.current;if(m.current={nodes:e,edges:n},!t)return;const H=dE(O.nodes,e,wm),L=dE(O.edges,n,vm),W=H.added.length+H.removed.length+H.changed.length>0,R=L.added.length+L.removed.length+L.changed.length>0;if(!W&&!R)return;const Y=new Map(e.map(pe=>[pe.id,Ho(pe)])),K=Object.fromEntries(Y.entries()),le=aE(n,Y),$=lE(n,Y),V={nodeDiff:H,edgeDiff:L,nodeCount:{prev:O.nodes.length,next:e.length},edgeCount:{prev:O.edges.length,next:n.length},edgeRelations:le,nodeNameMap:K,duplicateEdges:$},q=[];W&&q.push(`节点 +${H.added.length} -${H.removed.length} ~${H.changed.length}`),R&&q.push(`连线 +${L.added.length} -${L.removed.length} ~${L.changed.length}`);const ee={id:`${Date.now()}-${Math.random()}`,time:oE(),message:q.join(" | "),nodeSummary:W?{added:H.added.length,removed:H.removed.length,changed:H.changed.length}:void 0,edgeSummary:R?{added:L.added.length,removed:L.removed.length,changed:L.changed.length}:void 0,edgeRelations:le,duplicateEdges:$,detail:V,expanded:!1};i(pe=>[ee,...pe].slice(0,D$)),console.log("[WorkflowDebugPanel]",ee.message,V)},[n,e,t]);const w=C.useMemo(()=>e.map(O=>({label:`${O.id} (${Ho(O)})`,value:O.id})),[e]),v=C.useMemo(()=>n.map(O=>({label:`${O.id} (${O.source} -> ${O.target})`,value:O.id})),[n]),y=e.find(O=>O.id===u),g=n.find(O=>O.id===f),x=C.useMemo(()=>{const O=new Map;return e.forEach(H=>{O.set(H.id,Ho(H))}),O},[e]),S=C.useMemo(()=>lE(n,x),[n,x]),b=C.useMemo(()=>{const O=new Set;return S==null||S.forEach(H=>{H.edgeIds.forEach(L=>O.add(L))}),O},[S]),k=C.useMemo(()=>n.map(O=>{const H=x.get(O.source)||O.source,L=x.get(O.target)||O.target;return{id:O.id,text:`${O.source}(${H}) -> ${O.target}(${L})`,isDuplicate:b.has(O.id)}}),[b,n,x]),A=C.useMemo(()=>O$(e,n,x,b),[b,n,x,e]),E=C.useMemo(()=>T$(e,n),[n,e]),T=C.useMemo(()=>new Map(E.nodes.map(O=>[O.id,O])),[E.nodes]),D=Math.max(E.width,400),M=Math.max(E.height,180),N=C.useMemo(()=>{const{levels:O,unvisited:H}=cE(e,n),L=O.map(W=>{const R=W.nodes.map(Y=>`${Y.id}(${Ho(Y)})`).join(" | ");return`L${W.level}: ${R}`});return H.length&&L.push(`循环/未连接: ${H.map(W=>`${W.id}(${Ho(W)})`).join(" | ")}`),L.length?L.join(`
89
+ `):"暂无结构"},[n,e]),F=C.useMemo(()=>s&&l?o.filter(O=>O.nodeSummary||O.edgeSummary):s?o.filter(O=>O.nodeSummary):l?o.filter(O=>O.edgeSummary):o,[o,l,s]),I=C.useMemo(()=>{const O={nodes:e.map(wm),edges:n.map(vm),edgeRelations:aE(n,x),duplicateEdges:S,mermaidSource:A};return JSON.stringify(O,null,2)},[S,n,A,x,e]);return t?h.jsxs(ie.Panel,{position:"bottom-right",className:"workflow-debug-panel",children:[h.jsxs("div",{className:"workflow-debug-panel__header",children:[h.jsx("span",{children:"画布调试"}),h.jsx(B.Button,{size:"small",onClick:r,children:"关闭"})]}),h.jsxs("div",{className:"workflow-debug-panel__section",children:[h.jsxs("div",{className:"workflow-debug-panel__log-header",children:[h.jsx("span",{children:"变更日志"}),h.jsxs(B.Space,{size:6,children:[h.jsx(B.Button,{size:"small",onClick:async()=>{const O=uE(F);await Xc(O)?B.message.success("日志已复制"):B.message.error("复制失败")},children:"复制日志"}),h.jsx(B.Button,{size:"small",onClick:async()=>{const O=F[0],H=O?uE([O]):"暂无日志";await Xc(H)?B.message.success("最新日志已复制"):B.message.error("复制失败")},children:"复制最新"}),h.jsx(B.Button,{size:"small",onClick:async()=>{await Xc(I)?B.message.success("快照已复制"):B.message.error("复制失败")},children:"复制快照"})]})]}),h.jsx("div",{className:"workflow-debug-panel__toolbar",children:h.jsxs(B.Space,{size:6,wrap:!0,children:[h.jsx(B.Button,{size:"small",onClick:()=>a(O=>!O),children:s?"显示全部":"仅节点"}),h.jsx(B.Button,{size:"small",onClick:()=>c(O=>!O),children:l?"显示全部":"仅连线"}),h.jsx(B.Button,{size:"small",onClick:()=>i(O=>O.map(H=>({...H,expanded:!0}))),children:"全部展开"}),h.jsx(B.Button,{size:"small",onClick:()=>i(O=>O.map(H=>({...H,expanded:!1}))),children:"全部收起"}),h.jsx(B.Button,{size:"small",onClick:()=>i([]),children:"清空"})]})}),h.jsxs("div",{className:"workflow-debug-panel__log-list",children:[F.length===0&&h.jsx("div",{className:"workflow-debug-panel__log-empty",children:"暂无日志"}),F.map(O=>h.jsxs("div",{className:"workflow-debug-panel__log-item",children:[h.jsxs("div",{className:"workflow-debug-panel__log-title",children:[h.jsx("span",{className:"workflow-debug-panel__log-time",children:O.time}),h.jsx("span",{children:O.message})]}),h.jsxs("div",{className:"workflow-debug-panel__log-tags",children:[O.nodeSummary&&h.jsxs("span",{className:"workflow-debug-panel__tag workflow-debug-panel__tag-node",children:["节点 +",O.nodeSummary.added," -",O.nodeSummary.removed," ~",O.nodeSummary.changed]}),O.edgeSummary&&h.jsxs("span",{className:"workflow-debug-panel__tag workflow-debug-panel__tag-edge",children:["连线 +",O.edgeSummary.added," -",O.edgeSummary.removed," ~",O.edgeSummary.changed]})]}),h.jsx("div",{className:"workflow-debug-panel__log-actions",children:h.jsx(B.Button,{size:"small",onClick:()=>i(H=>H.map(L=>L.id===O.id?{...L,expanded:!L.expanded}:L)),children:O.expanded?"收起详情":"展开详情"})}),O.expanded&&h.jsxs("div",{className:"workflow-debug-panel__log-detail",children:[O.edgeRelations&&h.jsxs("div",{className:"workflow-debug-panel__log-detail-block",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"连线关系"}),h.jsx("pre",{children:O.edgeRelations.join(`
90
+ `)})]}),O.duplicateEdges&&O.duplicateEdges.length>0&&h.jsxs("div",{className:"workflow-debug-panel__log-detail-block",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"重复连线"}),h.jsx("pre",{children:O.duplicateEdges.map(H=>`${H.relation} [${H.edgeIds.join(", ")}]`).join(`
91
+ `)})]}),O.detail&&h.jsxs("div",{className:"workflow-debug-panel__log-detail-block",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"详细信息"}),h.jsx("pre",{children:JSON.stringify(O.detail,null,2)})]})]})]},O.id))]})]}),h.jsxs("div",{className:"workflow-debug-panel__section",children:[h.jsxs("div",{className:"workflow-debug-panel__summary",children:[h.jsxs("span",{children:["节点数: ",e.length]}),h.jsxs("span",{children:["连线数: ",n.length]})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"结构图预览"}),h.jsx("div",{className:"workflow-debug-panel__graph",children:h.jsxs("svg",{className:"workflow-debug-panel__graph-canvas",width:"100%",height:M,viewBox:`0 0 ${D} ${M}`,preserveAspectRatio:"xMinYMin meet",children:[h.jsxs("defs",{children:[h.jsx("marker",{id:"workflow-debug-arrow",markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth",children:h.jsx("path",{d:"M0,0 L0,6 L9,3 z",fill:"#8c8c8c"})}),h.jsx("marker",{id:"workflow-debug-arrow-dup",markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth",children:h.jsx("path",{d:"M0,0 L0,6 L9,3 z",fill:"#cf1322"})})]}),E.edges.map(O=>{const H=T.get(O.source),L=T.get(O.target);if(!H||!L)return null;const W=b.has(O.id),R=H.x+Kc,Y=H.y+ha/2,K=L.x,le=L.y+ha/2;return h.jsx("line",{x1:R,y1:Y,x2:K,y2:le,stroke:W?"#cf1322":"#8c8c8c",strokeWidth:W?2.2:1.4,markerEnd:W?"url(#workflow-debug-arrow-dup)":"url(#workflow-debug-arrow)"},O.id)}),E.nodes.map(O=>h.jsxs("g",{transform:`translate(${O.x}, ${O.y})`,children:[h.jsx("rect",{width:Kc,height:ha,rx:6,fill:"#ffffff",stroke:"#91caff",strokeWidth:1.4}),h.jsx("text",{x:Kc/2,y:ha/2+4,textAnchor:"middle",fontSize:"11",fill:"#1f1f1f",children:O.label})]},O.id))]})})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"Mermaid 图"}),h.jsx("div",{className:"workflow-debug-panel__mermaid-actions",children:h.jsx(B.Button,{size:"small",onClick:async()=>{await Xc(A)?B.message.success("Mermaid 已复制"):B.message.error("复制失败")},children:"复制 Mermaid"})}),h.jsx("pre",{children:A})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"结构布局"}),h.jsx("pre",{children:N})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"连线关系"}),h.jsxs("div",{className:"workflow-debug-panel__edge-list",children:[k.length===0&&h.jsx("div",{className:"workflow-debug-panel__log-empty",children:"暂无连线"}),k.map(O=>h.jsxs("div",{className:`workflow-debug-panel__edge-line${O.isDuplicate?" workflow-debug-panel__edge-line--duplicate":""}`,children:[h.jsx("span",{children:O.text}),O.isDuplicate&&h.jsx("span",{className:"workflow-debug-panel__edge-flag",children:"重复"})]},O.id))]})]}),S&&S.length>0&&h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"重复连线"}),h.jsx("div",{className:"workflow-debug-panel__edge-list",children:S.map(O=>h.jsxs("div",{className:"workflow-debug-panel__edge-line--duplicate",children:[h.jsx("span",{children:O.relation}),h.jsx("span",{className:"workflow-debug-panel__edge-flag",children:O.edgeIds.join(", ")})]},O.key))})]}),h.jsxs(B.Space,{direction:"vertical",size:8,style:{width:"100%"},children:[h.jsx(B.Select,{value:u,placeholder:"选择节点查看详情",options:w,onChange:O=>d(O),allowClear:!0,size:"small"}),h.jsx(B.Select,{value:f,placeholder:"选择连线查看详情",options:v,onChange:O=>p(O),allowClear:!0,size:"small"})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"节点详情"}),h.jsx("pre",{children:y?JSON.stringify(wm(y),null,2):"未选择节点"})]}),h.jsxs("div",{className:"workflow-debug-panel__detail",children:[h.jsx("div",{className:"workflow-debug-panel__detail-title",children:"连线详情"}),h.jsx("pre",{children:g?JSON.stringify({...vm(g),sourceName:x.get(g.source),targetName:x.get(g.target),isDuplicate:b.has(g.id)},null,2):"未选择连线"})]})]})]}):null},N$=({workflowId:t,readOnly:e=!1,preview:n=!1,previewId:r,appFlowMode:o=!1,linkMode:i=!1,onInit:s})=>{var aD,lD,cD;const a=qc(),{setLocked:l,op_status:c}=no(),u=At(),[d,f]=C.useState(!1),[p,m]=C.useState(!1),w=yn(),v=ie.useReactFlow(),{autoLayout:y}=ZS(),g=C.useRef(new Map),[x,S]=C.useState(!0),b=n&&r||w.canvas.mode==="preview",k=c===gn.ONLINE||c===gn.ON_WARN,A=C.useMemo(()=>!b&&w.canvas.miniMap,[b,w.canvas.miniMap]),E=C.useMemo(()=>!b&&!i&&w.canvas.controls,[b,i,w.canvas.controls]),T=C.useMemo(()=>!b&&!i&&w.canvas.header,[b,i,w.canvas.header]),D=C.useMemo(()=>{var Z;return(Z=w.canvas.grid)==null?void 0:Z.enabled},[(aD=w.canvas.grid)==null?void 0:aD.enabled]),M=C.useMemo(()=>u&&!b&&w.canvas.fastOperationButtons,[u,b,w.canvas.fastOperationButtons]);XH({enabled:!b&&d&&!k});const N=b||x||!u,F=Z=>{requestAnimationFrame(()=>{const ae=v.getNode(Z);ae&&v.fitView({nodes:[ae],padding:.4,duration:300,maxZoom:1})})},[I,O]=C.useState("idle"),[H,L]=C.useState(""),{setFlowOpStatusAction:W,setNodeConfigVisible:R}=no(t),{addNodes:Y,addEdges:K}=rs(),{removeEdges:le,onConnect:$,handleEdgesChange:V}=vp(),q=ie.useStoreApi(),ee=q.getState().edges,pe=fa(Z=>Z.workflow.refreshWorkFlowNum),[se,P]=ie.useNodesState([]),[U,G,X]=ie.useEdgesState([]),[ge,ue]=C.useState(void 0),[Pe,$e]=C.useState(void 0),de=C.useCallback(Z=>{var wn,so;if(!Z)return!0;const ae=(wn=w.canvas)==null?void 0:wn.selectable;if(!ae)return!0;const{includeNodeIds:fe,includeCategories:Ae}=ae;if((!fe||fe.length===0)&&(!Ae||Ae.length===0))return!0;const Ue=q.getState().nodes.find(ao=>ao.id===Z);if(!Ue)return!0;const ot=(so=Ue.data)==null?void 0:so.category;return!!(fe&&fe.includes(Z)||Ae&&ot&&Ae.includes(ot))},[(lD=w.canvas)==null?void 0:lD.selectable,q]),Me=C.useCallback((Z,ae)=>{if(ue(void 0),$e(void 0),Z.length===1&&Z[0].type==="position"&&Z[0].dragging&&Z[0].position){const fe=y$(Z[0],ae);Z[0].position.x=fe.snapPosition.x??Z[0].position.x,Z[0].position.y=fe.snapPosition.y??Z[0].position.y,ue(fe.horizontal),$e(fe.vertical)}return Z},[]),Oe=Z=>{V(Z),Z.forEach(ae=>{ae.type!=="select"&&ae.type!=="replace"&&f(!0)})},Ge=Z=>{const ae=q.getState().nodes,fe=Z.map(Re=>Re.type==="position"&&!de(Re.id)?null:Re.type==="select"&&!de(Re.id)?{...Re,selected:!1}:Re).filter(Re=>Re!==null);Me(fe,ae);const Ae=cn(ae,Re=>{const Ue=ie.applyNodeChanges(fe,Re);Re.splice(0,Ue.length,...Ue),Re.splice(Ue.length)});P(Ae),fe.forEach(Re=>{Re.type!=="select"&&Re.type!=="replace"&&f(!0)})},{onEdgeMouseEnter:Ye,onEdgeMouseLeave:Ot}=vp(),{onNodeMouseEnter:dr,onNodeMouseLeave:oo,autoSaveNum:Vn}=op(),On=C.useCallback((Z,ae)=>{O(Z),Z==="saved"?(L(oE()),window.__AI_FLOW_IN_QUEUE_NODE_ID&&(R(window.__AI_FLOW_IN_QUEUE_NODE_ID),window.__AI_FLOW_IN_QUEUE_NODE_ID="")):Z==="error"&&ae&&console.error("保存失败:",ae)},[R]),{setNodeAddCallback:Xt,openNodeSelector:vt,handleMannualAdd:xt}=ns();ft.useUnmount(()=>{a(wp()),G([]),P([])});const io=C.useCallback(async()=>{try{On("saving");const{nodes:Z,edges:ae}=q.getState(),fe=Z.map(ot=>ot.id),Ae=ae.filter(ot=>fe.includes(ot.target)&&ot.source&&ot.sourceHandle&&ot.targetHandle),Re=Gx.getState().workflow.workflowName,Ue=r$(Z,Ae,Re);await Vu(t,Ue),f(!1),On("saved")}catch(Z){On("error",Z)}},[q,Vn]),$i=C.useCallback(Z=>{var Ae;if(Z.defaultPrevented)return;const ae=Z.target,fe=(Ae=ae==null?void 0:ae.tagName)==null?void 0:Ae.toLowerCase();fe==="input"||fe==="textarea"||ae!=null&&ae.isContentEditable||Z.altKey&&Z.shiftKey&&Z.code==="KeyD"&&(Z.preventDefault(),m(Re=>!Re))},[]);C.useEffect(()=>(window.addEventListener("keydown",$i),()=>{window.removeEventListener("keydown",$i)}),[$i]),C.useEffect(()=>{t&&(S(!0),Hg(t).then(Z=>{a(Uc(Z.name)),W(Z.op_status);const{nodes:ae,edges:fe}=n$(Z);ae.length>0?ae.some(Re=>Re.type===ne.TRIGGER)?P(ae):(ae.unshift(mm),P([mm,...ae])):P([mm]),fe.length>0?G(fe):G([])}).catch(()=>{P([]),G([])}).finally(()=>{S(!1),setTimeout(()=>{f(!1)},500)}))},[t,a,pe]);const _r=C.useCallback((Z,ae)=>{w.edgeRules&&w.edgeRules.allowAddNodeOnEdge===!1||vt({position:Z,edge:ae})},[vt,w.edgeRules]),au=Z=>{Z.stopPropagation();const{nodes:ae}=q.getState();if(ae.some(Ae=>Ae.type===ne.TRIGGER)){const Ae=rE(ae);vt({position:{x:Ae[0],y:Ae[1]}})}else vt({trigger:!0})},lu=()=>{const{nodes:Z}=q.getState();let ae;const fe=Z.find(Ae=>Ae.selected&&Ae.type!==ne.STICKY);fe?ae=[fe.position.x,fe.position.y-80]:ae=rE(Z),xt({position:{x:ae[0],y:ae[1]}},{action_type:ne.STICKY,type:ne.STICKY,id:u$})},Om=C.useCallback(()=>{y()},[y]);C.useEffect(()=>(Xt(async(ae,fe)=>{let Ae=null,Re=null;if(ae.trigger){const{id:Ue,status:ot,action_name:wn,connector_name:so,protocol:ao,icon:Bm}=await Wu({flow_id:t,node_type:ne.TRIGGER,action_id:fe.id,properties:fe.config_schema||{},position:{x:100,y:250}});Re=Ue,Ae=to.createNode(ne.TRIGGER,Ue,iE({...fe,action_name:wn,connector_name:so,status:ot,icon:Bm,protocol:ao}),{x:100,y:250}),Y([Ae]),F(Ue),R(Re)}else{const{id:Ue,connector_name:ot,action_name:wn,status:so,protocol:ao,icon:Bm}=await Wu({flow_id:t,node_type:fe.action_type,action_id:fe.id,properties:fe.config_schema||{},position:ae.position});if(Re=Ue,Ae=to.createNode(fe.type,Ue,iE({...fe,connector_name:ot,action_name:wn,status:so,icon:Bm,protocol:ao}),ae.position),Y([Ae]),F(Ue),fe.type===ne.STICKY)return;if(ae.edge){const Yt=ae.edge,hu=mn.createEdge(Ht.MAIN,`${Yt.source}-${Ue}-${Date.now()}`,Yt.source,Ue,{sourceHandle:Yt.sourceHandleId,targetHandle:Ne.INPUT,onAddNode:_r,data:{undeletable:!1}}),gW=mn.createEdge(Ht.MAIN,`${Ue}-${Yt.target}-${Date.now()}`,Ue,Yt.target,{sourceHandle:Ne.OUTPUT,targetHandle:Yt.targetHandle||Yt.targetHandleId,onAddNode:_r,data:{}});if(fe.type===ne.LOOP||fe.type===ne.SELFLOOP){const wW=mn.createEdge(Ht.MAIN,`loop-self-edge-${Ue}`,Ue,Ue,{sourceHandle:"loop",targetHandle:Ne.INPUT}),vW=mn.createEdge(Ht.MAIN,`loop-edge-target-${Ue}`,Ue,Yt.target,{sourceHandle:"done",targetHandle:Yt.targetHandle||Yt.targetHandleId,onAddNode:_r,data:{undeletable:!0}});K([wW,hu,vW])}else K([hu,gW]);le([Yt.id]),window.__AI_FLOW_IN_QUEUE_NODE_ID=Re,io();return}else if(fe.type===ne.LOOP||fe.type===ne.SELFLOOP){const Yt=mn.createEdge(Ht.MAIN,`loop-self-edge-${Ue}`,Ue,Ue,{sourceHandle:"loop",targetHandle:Ne.INPUT});K([Yt])}if(ae.sourceNodeId&&ae.sourceHandle){const Yt=mn.createEdge(Ht.MAIN,`${ae.sourceNodeId}-${Ue}-${Date.now()}`,ae.sourceNodeId,Ue,{sourceHandle:ae.sourceHandle,targetHandle:Ne.INPUT,onAddNode:_r});if(K([Yt]),ae.sourceNodeId===ae.targetNodeId&&ae.targetNodeId){const hu=mn.createEdge(Ht.MAIN,`loop-back-${Ue}-${ae.targetNodeId}`,Ue,ae.targetNodeId,{sourceHandle:fe.type===ne.LOOP||fe.type===ne.SELFLOOP?"loop":Ne.OUTPUT,targetHandle:Ne.INPUT,onAddNode:_r,data:{undeletable:!1}});K([hu]),le([ae.edge])}}}window.__AI_FLOW_IN_QUEUE_NODE_ID=Re,io()}),()=>{Xt(()=>{})}),[Y,K,Xt,_r,U,X,le]);const ji=C.useCallback(Z=>{var Ue;const ae=((Ue=w.edgeRules)==null?void 0:Ue.validators)||[];if(!ae.length)return!0;const{nodes:fe,edges:Ae}=q.getState(),Re={nodes:fe.reduce((ot,wn)=>{var ao;const so={id:wn.id,type:wn.type||"",position:wn.position,data:wn.data,disabled:((ao=wn.data)==null?void 0:ao.closed)==="1"};return ot[wn.id]=so,ot},{}),edges:Ae.map(ot=>({id:ot.id,source:ot.source,target:ot.target,data:ot.data}))};try{return ae.every(ot=>ot(Z,Re))}catch(ot){return console.error("边校验函数执行异常",ot),!1}},[w.edgeRules,q]),cu=C.useCallback(Z=>{if(!Z.source||!Z.target)return;const ae={source:Z.source,target:Z.target,data:{}};ji(ae)&&($(Z),f(!0))},[$,ji]),uu=C.useMemo(()=>({init(){},destroy(){a(wp()),G([]),P([]),g.current.clear()},refresh(){a(Rx())},getData(){const{nodes:Z,edges:ae}=q.getState();return{nodes:Z.map(fe=>{var Ae;return{id:fe.id,type:fe.type||"",position:fe.position,data:fe.data,disabled:((Ae=fe.data)==null?void 0:Ae.closed)==="1"}}),edges:ae.map(fe=>({id:fe.id,source:fe.source,target:fe.target,data:fe.data}))}},setData(Z){const ae=Z.nodes.map(Ae=>({id:Ae.id,type:Ae.type,position:Ae.position,data:Ae.data})),fe=Z.edges.map(Ae=>({id:Ae.id,source:Ae.source,target:Ae.target,data:Ae.data}));P(ae),G(fe)},exportJSON(){return JSON.stringify(this.getData())},importJSON(Z){try{const ae=typeof Z=="string"?JSON.parse(Z):Z;this.setData(ae)}catch(ae){console.error("导入 JSON 失败",ae)}},zoomIn(){v.zoomIn()},zoomOut(){v.zoomOut()},zoomTo(Z){v.zoomTo(Z)},fitView(){v.fitView()},center(){v.fitView({padding:.2})},addNode(Z){const ae=Z.id||`${Date.now()}`,fe={id:ae,type:Z.type,position:Z.position,data:Z.data};return P(Ae=>[...Ae,fe]),ae},updateNode(Z,ae){P(fe=>fe.map(Ae=>Ae.id===Z?{...Ae,...ae,position:ae.position||Ae.position,data:ae.data?{...Ae.data,...ae.data}:Ae.data}:Ae))},deleteNode(Z){P(ae=>ae.filter(fe=>fe.id!==Z)),G(ae=>ae.filter(fe=>fe.source!==Z&&fe.target!==Z))},getNode(Z){var Ae;const{nodes:ae}=q.getState(),fe=ae.find(Re=>Re.id===Z);return fe?{id:fe.id,type:fe.type||"",position:fe.position,data:fe.data,disabled:((Ae=fe.data)==null?void 0:Ae.closed)==="1"}:null},selectNode(){},clearSelection(){v.setNodes(Z=>Z.map(ae=>({...ae,selected:!1})))},moveNode(Z,ae){this.updateNode(Z,{position:ae})},enableNode(Z){this.updateNode(Z,{disabled:!1})},disableNode(Z){this.updateNode(Z,{disabled:!0})},addEdge(Z){const ae=Z.id||`${Z.source}-${Z.target}-${Date.now()}`,fe={id:ae,source:Z.source,target:Z.target,data:Z.data};return G(Ae=>[...Ae,fe]),ae},deleteEdge(Z){G(ae=>ae.filter(fe=>fe.id!==Z))},deleteEdgesBetween(Z,ae){G(fe=>fe.filter(Ae=>Ae.source!==Z||Ae.target!==ae))},openNodePanel(Z){R(Z)},closeNodePanel(){R(null)},isPanelOpen(){const{currentNodeConfigVisibleId:Z}=q.getState();return!!Z},async runNodeTest(){return Promise.resolve(null)},async saveFlow(){return io()},on(Z,ae){return g.current.has(Z)||g.current.set(Z,new Set),g.current.get(Z).add(ae),()=>{this.off(Z,ae)}},off(Z,ae){const fe=g.current.get(Z);fe&&(ae?fe.delete(ae):fe.clear(),fe.size===0&&g.current.delete(Z))},emit(Z,ae){const fe=g.current.get(Z);fe&&fe.forEach(Ae=>{try{Ae(ae)}catch(Re){console.error(`事件 "${Z}" 的处理器执行出错:`,Re)}})},once(Z,ae){const fe=Ae=>{ae(Ae),this.off(Z,fe)};this.on(Z,fe)}}),[a,v,G,P,q,R]);C.useEffect(()=>{s&&s(uu)},[s,uu]);const fW=w.canvas.nativeProps||{},{onNodeContextMenu:du,onPaneContextMenu:fu,...hW}=fW,pW=C.useCallback((Z,ae)=>{Z.ctrlKey&&Z.preventDefault(),du==null||du(Z,ae)},[du]),mW=C.useCallback(Z=>{Z.ctrlKey&&Z.preventDefault(),fu==null||fu(Z)},[fu]);return h.jsx(S$,{api:uu,children:h.jsxs("div",{className:b?"workflow-canvas-container workflow-canvas-container-preview":"workflow-canvas-container",style:{height:w.canvas.height?`${w.canvas.height}`:i?"calc(100vh - 320px)":""},children:[T&&h.jsx(k$,{onSave:io,readOnly:e,autoSaveStatus:I,unSave:d,lastSavedTime:H,appFlowMode:o,canvasApi:uu}),h.jsxs("div",{className:"workflow-canvas",children:[h.jsx(d$,{loading:x}),h.jsx(f$,{}),h.jsxs(ie.ReactFlow,{nodes:se,edges:U,onNodesChange:Ge,onEdgesChange:Oe,onConnect:cu,multiSelectionKeyCode:null,nodeTypes:o$,edgeTypes:i$,connectionLineType:ie.ConnectionLineType.Bezier,connectionMode:ie.ConnectionMode.Loose,onNodeMouseEnter:dr,onNodeMouseLeave:oo,onEdgeMouseEnter:Ye,onEdgeMouseLeave:Ot,onNodeContextMenu:pW,onPaneContextMenu:mW,defaultEdgeOptions:c$,style:s$,defaultViewport:b?l$:a$,minZoom:.1,maxZoom:2,fitView:!1,snapToGrid:!0,snapGrid:[20,20],deleteKeyCode:null,nodesDraggable:!N,nodesConnectable:!N,elementsSelectable:!N,className:"react-flow-canvas-container",...hW,children:[D&&h.jsx(ie.Background,{gap:(cD=w.canvas.grid)==null?void 0:cD.size,color:"#eee",variant:ie.BackgroundVariant.Lines}),M&&h.jsx(E$,{onOpenNodeSelector:au,onAddNoteNode:lu,onTidyCanvas:Om}),E&&h.jsx(ie.Controls,{onInteractiveChange:Z=>{l(Z)}}),A&&h.jsx(v$,{}),h.jsx(Z7,{}),h.jsx(g$,{horizontal:ge,vertical:Pe}),h.jsx(_$,{visible:p,nodes:se,edges:ee,onClose:()=>m(!1)})]})]})]})})},Yc={flowId:"",canvas:{nativeProps:{},registerComponents:{form:[]},grid:{enabled:!0,size:20},miniMap:!0,header:!0,controls:!0,fastOperationButtons:!0,mode:"edit",allowRemoveTrigger:!0,fixedNodes:{triggerIds:[]},selectable:{includeNodeIds:void 0,includeCategories:void 0},limits:{maxNodes:1/0}},nodeTypes:{types:{trigger:{id:"trigger",category:"Trigger",style:{colors:{success:"#00C853",warning:"#FFD600",error:"#D50000"},card:{radius:8,padding:12,borderColor:"#e0e0e0"},icon:{size:20,radius:4,url:""}},operations:[{id:"copy",label:"复制",enabled:!0},{id:"delete",label:"删除",enabled:!1}]},action:{id:"action",category:"Action",style:{colors:{success:"#00C853",warning:"#FFD600",error:"#D50000"},card:{radius:8,padding:12,borderColor:"#bdbdbd"},icon:{size:20,radius:4,url:""}},operations:[{id:"copy",label:"复制",enabled:!0},{id:"delete",label:"删除",enabled:!0}]}},fixed:{triggers:[],finalAction:void 0}},edgeRules:{allowAddNodeOnEdge:!0,allowDeleteEdge:!0,validators:[]},toolbar:{buttons:[],flowName:{editable:!0,defaultNameRule:()=>`未命名流程-${Date.now()}`,fixedTitle:void 0},nav:{showBack:!0,showHome:!0,backTo:void 0,confirmOnBackWhenOffline:!0,backConfirmMessage:void 0},enableOnlineButton:!0,enableSaveButton:!0,flowStatusTag:{enabled:!0,style:{}},helpDocUrl:void 0,helpDocText:void 0,enableOnlineConfirmMessage:void 0,enableFlowText:void 0},nodeConfigPanel:{tabs:[],showSettings:!0,testArea:{allowManualTest:!0,defaultTestResult:null}}},F$={arrayStrategy:"append",mergeByIdKeys:["id"]},Jc=t=>t&&typeof t=="object"&&!Array.isArray(t);function M$(t,e,n){var o;const r=n.arrayStrategy||"append";if(r==="override")return[...e];if(r==="append")return[...t,...e];if(r==="mergeById"){const i=((o=n.mergeByIdKeys)==null?void 0:o[0])||"id",s=new Map;return t.forEach(a=>s.set(a[i],{...a})),e.forEach(a=>{const l=a[i];s.has(l)?s.set(l,ym(s.get(l),a,n)):s.set(l,{...a})}),Array.from(s.values())}return[...t]}function ym(t,e,n=F$){const r={...t};return!Jc(t)||!Jc(e)?{...e}:(Object.keys(e).forEach(o=>{const i=e[o],s=t[o];if(i!==void 0){if(Array.isArray(s)&&Array.isArray(i)){r[o]=M$(s,i,n);return}if(Jc(s)&&Jc(i)){r[o]=ym(s,i,n);return}r[o]=i}}),r)}function fE(t,e,n){return ym(t,e,n)}let Qc={};const I$=t=>{if(Qc={...Qc,...t},t.httpClient){const e=t.httpClient;ho(typeof e=="function"?{httpClient:e}:{httpClient:async(r,o)=>{var d;const{method:i="GET",params:s,data:a,headers:l}=o||{},c=i.toLowerCase(),u={params:s,headers:l};try{let f;switch(c){case"get":f=await e.get(r,u);break;case"post":f=await e.post(r,a,u);break;case"put":f=await e.put(r,a,u);break;case"patch":f=await e.patch(r,a,u);break;case"delete":f=await e.delete(r,u);break;default:f=await e.request({...u,url:r,method:i,data:a})}return((d=f==null?void 0:f.data)==null?void 0:d.data)!==void 0?f.data.data:(f==null?void 0:f.data)||f}catch(f){throw f}}})}(t.baseUrl!==void 0||t.token!==void 0)&&ho({...t.baseUrl!==void 0?{baseUrl:t.baseUrl}:{},...t.token!==void 0?{token:t.token}:{}})},P$=()=>({...Qc}),L$=()=>{Qc={}},hE=({id:t="input",position:e=ie.Position.Left,style:n={},isConnectable:r=!0,isValidConnection:o,onConnect:i})=>h.jsx(ie.Handle,{type:"target",id:t,position:e,style:n,isConnectable:r,isValidConnection:o,onConnect:i,className:"workflow-handle workflow-input-handle"}),pE=({id:t="output",position:e=ie.Position.Right,style:n={},isConnectable:r=!0,isValidConnection:o,onConnect:i})=>h.jsx(ie.Handle,{type:"source",id:t,position:e,style:n,isConnectable:r,isValidConnection:o,onConnect:i,className:"workflow-handle workflow-output-handle"});class z${static createInputHandle(e,n=ie.Position.Left,r={}){return h.jsx(hE,{id:e,position:n,...r})}static createOutputHandle(e,n=ie.Position.Right,r={}){return h.jsx(pE,{id:e,position:n,...r})}static createInputHandles(e,n=ie.Position.Left,r={}){return Array(e).fill(0).map((o,i)=>h.jsx(hE,{id:`input_${i}`,position:n,style:{top:`${(i+1)*100/(e+1)}%`},...r},`input_${i}`))}static createOutputHandles(e,n=ie.Position.Right,r={}){return Array(e).fill(0).map((o,i)=>h.jsx(pE,{id:`output-${i}`,position:n,style:{top:`${(i+1)*100/(e+1)}%`},...r},`output-${i}`))}}const H$=(t=100)=>{const[e,n]=C.useState([]),[r,o]=C.useState([]),[i,s]=C.useState(!1),{getNodes:a,getEdges:l,setNodes:c,setEdges:u}=ie.useReactFlow();C.useEffect(()=>{if(i)return;const m=setTimeout(()=>{const w={nodes:a(),edges:l()},v=e[0];v&&JSON.stringify(v.nodes)===JSON.stringify(w.nodes)&&JSON.stringify(v.edges)===JSON.stringify(w.edges)||(n(y=>{const g=[w,...y];return g.length>t&&g.pop(),g}),o([]))},500);return()=>clearTimeout(m)},[a,l,e,i,t]);const d=C.useCallback(()=>{const[p,...m]=e;p&&(s(!0),o(w=>[{nodes:a(),edges:l()},...w]),n(m),c(p.nodes),u(p.edges),setTimeout(()=>s(!1),100))},[e,a,l,c,u]),f=C.useCallback(()=>{const[p,...m]=r;p&&(s(!0),n(w=>[{nodes:a(),edges:l()},...w]),o(m),c(p.nodes),u(p.edges),setTimeout(()=>s(!1),100))},[r,a,l,c,u]);return{undo:d,redo:f,canUndo:e.length>0,canRedo:r.length>0,history:e,future:r}},$$=t=>{var f,p,m,w;const{config:e,workflowId:n,locale:r="zh-CN",apiBaseUrl:o,apiToken:i,httpClient:s,history:a}=t,l=C.useRef(null);n&&(Yc.flowId=n||"");const c=C.useMemo(()=>{const v=e?fE(Yc,e):Yc;return s&&(v.httpClient=s),a&&(v.history=a),v},[e,s,a]);C.useEffect(()=>{c.httpClient&&ho({httpClient:c.httpClient})},[c.httpClient]),(o!==((f=l.current)==null?void 0:f.baseUrl)||i!==((p=l.current)==null?void 0:p.token))&&(o!==void 0||i!==void 0?ho({...o!==void 0?{baseUrl:o}:{},...i!==void 0?{token:i}:{}}):(((m=l.current)==null?void 0:m.baseUrl)!==void 0||((w=l.current)==null?void 0:w.token)!==void 0)&&ho({baseUrl:"",token:""}),l.current={baseUrl:o,token:i});const d=C.useMemo(()=>Ig(r),[r]);return h.jsx(Be.IntlProvider,{messages:d,locale:r,children:h.jsx(Wi.Provider,{store:Gx,children:h.jsx(vO,{value:c,children:h.jsx(ie.ReactFlowProvider,{children:h.jsx(N$,{workflowId:n,readOnly:t.readOnly,preview:t.preview,previewId:t.previewId,appFlowMode:t.appFlowMode,linkMode:t.linkMode,onSave:t.onSave})})})})})},bm={meta:{name:"ant-design-5x-full-theme",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#1677ff",colorInfo:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorTextBase:"#000000",colorBgBase:"#ffffff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.5714285714285714,borderRadius:6,borderRadiusSM:4,borderRadiusLG:8,lineWidth:1,lineType:"solid",controlHeight:32,controlHeightSM:24,controlHeightLG:40,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)",boxShadowSecondary:"0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)",boxShadowTertiary:"0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:8},Anchor:{linkPaddingInlineStart:16},AutoComplete:{},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:6,borderRadiusSM:4,borderRadiusLG:8,controlHeight:32,controlHeightSM:24,controlHeightLG:40,paddingInline:15,paddingInlineLG:15,paddingInlineSM:7,contentFontSize:14,contentFontSizeLG:16,contentFontSizeSM:14,primaryShadow:"0 2px 0 rgba(5, 145, 255, 0.1)",dangerShadow:"0 2px 0 rgba(255, 38, 5, 0.06)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:4},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:32,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:32,controlHeightSM:24,controlHeightLG:40,paddingInline:11,paddingInlineSM:7,paddingInlineLG:11,paddingBlock:4,paddingBlockSM:0,paddingBlockLG:6,borderRadius:6},InputNumber:{controlHeight:32,controlHeightSM:24,controlHeightLG:40},Layout:{headerBg:"#001529",headerHeight:64,headerPadding:"0 50px",bodyBg:"#f5f5f5",siderBg:"#001529",triggerBg:"#002140"},List:{itemPadding:"12px 0"},Mentions:{},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:6,itemBorderRadius:6},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16},Notification:{},Pagination:{itemSize:32,itemSizeSM:24},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#1677ff"},Rate:{},Result:{},Segmented:{controlHeight:32},Select:{controlHeight:32,controlHeightSM:24,controlHeightLG:40,multipleItemHeight:24,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:22,trackMinWidth:44,handleSize:18},Table:{headerBg:"#fafafa",headerSortActiveBg:"#f0f0f0",headerSortHoverBg:"#f5f5f5",rowHoverBg:"#fafafa",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:4},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},j$="df",mE=({children:t,customTheme:e,locale:n=yD,prefixCls:r=j$})=>{const o=yt.useMemo(()=>({cssVar:{prefix:r},algorithm:B.theme.defaultAlgorithm,token:bm.token,components:bm.components,...e}),[r,e]);return h.jsx(B.ConfigProvider,{prefixCls:r,locale:n,theme:o,getPopupContainer:i=>(i==null?void 0:i.parentElement)||document.body,children:t})},Zc="{{$fromAI}}",gE=({value:t,onChange:e,children:n,aiFillable:r=!0,disabled:o=!1})=>{const[i,s]=C.useState(t===Zc),[a,l]=C.useState(void 0);if(C.useEffect(()=>{s(t===Zc)},[t]),!r)return C.cloneElement(n,{value:t,onChange:e});const c=()=>{l(t),s(!0),e==null||e(Zc)},u=()=>{s(!1),e==null||e(a)};return i?h.jsx("div",{className:"ai-field-wrapper ai-mode",children:h.jsxs("div",{className:"ai-field-display",children:[h.jsx(B.Input,{readOnly:!0,value:"由 AI 生成",className:"ai-field-input",prefix:h.jsx(ce.RobotOutlined,{className:"ai-icon"})}),!o&&h.jsx(B.Button,{type:"text",size:"small",icon:h.jsx(ce.CloseOutlined,{}),onClick:u,className:"ai-field-close"})]})}):h.jsxs("div",{className:"ai-field-wrapper normal-mode",children:[h.jsx("div",{className:"ai-field-content",children:C.cloneElement(n,{value:t,onChange:e})}),!o&&h.jsx(B.Button,{type:"link",size:"small",icon:h.jsx(ce.RobotOutlined,{}),onClick:c,className:"ai-enable-button",children:"由 AI 生成"})]})};/*!
92
+ * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
93
+ *
94
+ * Copyright (c) 2014-2017, Jon Schlinkert.
95
+ * Released under the MIT License.
96
+ */function wE(t){return Object.prototype.toString.call(t)==="[object Object]"}function W$(t){var e,n;return wE(t)===!1?!1:(e=t.constructor,e===void 0?!0:(n=e.prototype,!(wE(n)===!1||n.hasOwnProperty("isPrototypeOf")===!1)))}var V$={isHistory(t){return W$(t)&&Array.isArray(t.redos)&&Array.isArray(t.undos)&&(t.redos.length===0||Xr.isOperationList(t.redos[0].operations))&&(t.undos.length===0||Xr.isOperationList(t.undos[0].operations))}},Cm=new WeakMap,$o=new WeakMap,eu=new WeakMap,ur={isHistoryEditor(t){return V$.isHistory(t.history)&&_.isEditor(t)},isMerging(t){return $o.get(t)},isSplittingOnce(t){return eu.get(t)},setSplittingOnce(t,e){eu.set(t,e)},isSaving(t){return Cm.get(t)},redo(t){t.redo()},undo(t){t.undo()},withMerging(t,e){var n=ur.isMerging(t);$o.set(t,!0),e(),$o.set(t,n)},withNewBatch(t,e){var n=ur.isMerging(t);$o.set(t,!0),eu.set(t,!0),e(),$o.set(t,n),eu.delete(t)},withoutMerging(t,e){var n=ur.isMerging(t);$o.set(t,!1),e(),$o.set(t,n)},withoutSaving(t,e){var n=ur.isSaving(t);Cm.set(t,!1);try{e()}finally{Cm.set(t,n)}}},U$=t=>{var e=t,{apply:n}=e;return e.history={undos:[],redos:[]},e.redo=()=>{var{history:r}=e,{redos:o}=r;if(o.length>0){var i=o[o.length-1];i.selectionBefore&&re.setSelection(e,i.selectionBefore),ur.withoutSaving(e,()=>{_.withoutNormalizing(e,()=>{for(var s of i.operations)e.apply(s)})}),r.redos.pop(),e.writeHistory("undos",i)}},e.undo=()=>{var{history:r}=e,{undos:o}=r;if(o.length>0){var i=o[o.length-1];ur.withoutSaving(e,()=>{_.withoutNormalizing(e,()=>{var s=i.operations.map(Xr.inverse).reverse();for(var a of s)e.apply(a);i.selectionBefore&&re.setSelection(e,i.selectionBefore)})}),e.writeHistory("redos",i),r.undos.pop()}},e.apply=r=>{var{operations:o,history:i}=e,{undos:s}=i,a=s[s.length-1],l=a&&a.operations[a.operations.length-1],c=ur.isSaving(e),u=ur.isMerging(e);if(c==null&&(c=R$(r)),c){if(u==null&&(a==null?u=!1:o.length!==0?u=!0:u=q$(r,l)),ur.isSplittingOnce(e)&&(u=!1,ur.setSplittingOnce(e,void 0)),a&&u)a.operations.push(r);else{var d={operations:[r],selectionBefore:e.selection};e.writeHistory("undos",d)}for(;s.length>100;)s.shift();i.redos=[]}n(r)},e.writeHistory=(r,o)=>{e.history[r].push(o)},e},q$=(t,e)=>!!(e&&t.type==="insert_text"&&e.type==="insert_text"&&t.offset===e.offset+e.text.length&&j.equals(t.path,e.path)||e&&t.type==="remove_text"&&e.type==="remove_text"&&t.offset+t.text.length===e.offset&&j.equals(t.path,e.path)),R$=(t,e)=>t.type!=="set_selection";const tu=C.createContext(null),G$=({children:t,variables:e=[],variablePrefix:n="{{",variableSuffix:r="}}",onValidateVariable:o})=>{const[i,s]=C.useState(null),[a,l]=C.useState(!1),[c,u]=C.useState(e),d=C.useRef(new Map),f=C.useCallback(b=>{d.current.set(b.id,b)},[]),p=C.useCallback(b=>{d.current.delete(b),s(k=>k===b?null:k)},[]),m=C.useCallback(b=>{s(b),l(!0)},[]),w=C.useCallback(()=>{s(null)},[]),v=C.useCallback(b=>b.startsWith(n)&&b.endsWith(r)?b:`${n}${b}${r}`,[n,r]),y=C.useCallback(b=>b.startsWith(n)&&b.endsWith(r)?b.slice(n.length,-r.length):null,[n,r]),g=C.useCallback(b=>{if(o)return o(b);const k=y(b)||b;return c.some(A=>A.path===k)},[o,c,y]),x=C.useCallback((b,k=!0)=>{if(!i)return;const A=d.current.get(i);if(!A)return;const E=k?v(b):b;A.insertVariable(E,k)},[i,v]),S={activeFieldId:i,selectorVisible:a,availableVariables:c,registerField:f,unregisterField:p,activateField:m,deactivateField:w,setSelectorVisible:l,insertVariableToActiveField:x,setAvailableVariables:u,validateVariable:g,formatVariable:v,extractVariable:y};return h.jsx(tu.Provider,{value:S,children:t})},K$=()=>{const t=C.useContext(tu);if(!t)throw new Error("useVariableSelector must be used within a VariableSelectorProvider");return t},vE=(t,e,n)=>{const r=C.useContext(tu),o=yt.useRef(e),i=yt.useRef(n),s=yt.useRef(r);return o.current=e,i.current=n,s.current=r,yt.useEffect(()=>{const a=s.current;if(!a)return;const l={id:t,insertVariable:(c,u)=>o.current(c,u),focus:()=>i.current()};return a.registerField(l),()=>{a.unregisterField(t)}},[t]),{activate:()=>{var a;(a=s.current)==null||a.activateField(t)},deactivate:()=>{var a;return(a=s.current)==null?void 0:a.deactivateField()},isActive:(r==null?void 0:r.activeFieldId)===t}},X$=()=>C.useContext(tu),yE=/\{\{(.*?)\}\}/g;function km(t,e=yE){if(!t||typeof t!="string")return[{type:"paragraph",children:[{text:""}]}];const n=t.split(`
97
+ `),r=[];for(const o of n){const i=[];let s=0;const a=new RegExp(e.source,e.flags.includes("g")?e.flags:e.flags+"g");let l;for(;(l=a.exec(o))!==null;){const c=o.slice(s,l.index);(c||i.length===0)&&i.push({text:c}),i.push({type:"variable-tag",value:l[0],children:[{text:""}]}),s=l.index+l[0].length}if(s<o.length)i.push({text:o.slice(s)});else if(i.length>0){const c=i[i.length-1];"type"in c&&c.type==="variable-tag"&&i.push({text:""})}i.length===0&&i.push({text:""}),r.push({type:"paragraph",children:i})}return r.length>0?r:[{type:"paragraph",children:[{text:""}]}]}function xm(t){return t.map(e=>e.type==="paragraph"?e.children.map(n=>"type"in n&&n.type==="variable-tag"?n.value:n.text).join(""):"").join(`
98
+ `)}function Li(t){return t&&t.type==="variable-tag"}const bE=yt.createContext(null),Y$=()=>{const t=yt.useContext(bE);if(!t)throw new Error("useSlateEditor must be used within SlateEditorContext");return t},J$=t=>{const{attributes:e,children:n,element:r,...o}=t;return Li(r)?h.jsx(Q$,{attributes:e,element:r,...o,children:n}):h.jsx("p",{...e,children:n})},Q$=t=>{const{attributes:e,element:n,children:r,onVariableClick:o,validateVariable:i,renderVariableTag:s,showRemoveButton:a=!0,disabled:l,readOnly:c}=t,[u,d]=yt.useState(!0),f=Y$(),p=n.value.replace(/^\{\{|\}\}$/g,"");C.useEffect(()=>{if(i){const y=i(p);y instanceof Promise?y.then(d).catch(()=>d(!1)):d(y)}},[p,i]);const m=y=>{y.preventDefault(),y.stopPropagation(),o==null||o(n.value)},w=y=>{if(y.preventDefault(),y.stopPropagation(),!(l||c))try{const g=he.findPath(f,n);re.removeNodes(f,{at:g})}catch{}},v=s?s(n.value,u):p;return h.jsxs("span",{...e,children:[h.jsxs("span",{contentEditable:!1,className:`variable-tag ${u?"valid":"invalid"}`,onClick:m,style:{userSelect:"none"},children:[h.jsx(B.Tooltip,{title:n.value,children:h.jsx("span",{className:"variable-tag-content",children:v})}),a&&!l&&!c&&h.jsx(ce.CloseCircleFilled,{className:"variable-tag-remove",onClick:w})]}),h.jsx("span",{style:{fontSize:0,lineHeight:0,width:0,height:0,display:"inline-block"},children:r})]})},Z$=({attributes:t,children:e})=>h.jsx("span",{...t,children:e}),ej=t=>{const{isInline:e,isVoid:n,deleteBackward:r,deleteForward:o}=t;return t.isInline=i=>Li(i)?!0:e(i),t.isVoid=i=>Li(i)?!0:n(i),t.deleteBackward=i=>{const{selection:s}=t;if(s&&Q.isCollapsed(s)){const[a]=_.nodes(t,{match:l=>!_.isEditor(l)&&Ee.isElement(l)&&Li(l)});if(a){const[,l]=a,c=_.before(t,s);if(c){const[u]=_.node(t,c);if(Ee.isElement(u)&&Li(u)){re.removeNodes(t,{at:l});return}}}}r(i)},t.deleteForward=i=>{const{selection:s}=t;if(s&&Q.isCollapsed(s)){const a=_.after(t,s);if(a){const[l,c]=_.node(t,a);if(Ee.isElement(l)&&Li(l)){re.removeNodes(t,{at:c});return}}}o(i)},t},pa=({value:t="",onChange:e,placeholder:n,disabled:r=!1,readOnly:o=!1,multiline:i=!1,minRows:s=1,maxRows:a,className:l,style:c,capturePattern:u=yE,onVariableClick:d,validateVariable:f,renderVariableTag:p,showRemoveButton:m=!0,onFocus:w,onBlur:v})=>{const y=typeof t=="string"?t:"",g=C.useId(),x=C.useRef(null),S=C.useRef(!1),b=C.useRef(y),k=C.useMemo(()=>(x.current||(x.current=ej(U$(Uk(i1())))),x.current),[]),A=C.useMemo(()=>km(y,u),[]),E=C.useCallback((W,R)=>{const K={type:"variable-tag",value:W.startsWith("{{")?W:`{{${W}}}`,children:[{text:""}]};try{he.focus(k)}catch{}re.insertNodes(k,K),re.move(k,{distance:1,unit:"offset"});const le=xm(k.children);e==null||e(le)},[k,e]),T=C.useCallback(()=>{try{he.focus(k)}catch{}},[k]),D=vE(g,E,T),M=C.useCallback(W=>{const R=xm(W);R!==b.current&&(b.current=R,e==null||e(R))},[e]),N=C.useCallback(W=>{!i&&W.key==="Enter"&&W.preventDefault()},[i]),F=C.useCallback(()=>{D.activate(),w==null||w()},[D,w]),I=C.useCallback(()=>{v==null||v()},[v]);C.useEffect(()=>{if(!S.current){S.current=!0;return}const W=xm(k.children);if(!(y===W||y===b.current)){b.current=y;try{re.select(k,{anchor:_.start(k,[]),focus:_.end(k,[])}),re.delete(k);const R=km(y,u);re.insertNodes(k,R,{at:[0]});const Y=k.children;if(Y.length>1&&Y[0].type==="paragraph"){const K=Y[0];K.children.length===1&&"text"in K.children[0]&&K.children[0].text===""&&re.removeNodes(k,{at:[0]})}}catch{k.children=km(y,u),k.onChange()}}},[y,u,k]);const O=C.useCallback(W=>h.jsx(J$,{...W,onVariableClick:d,validateVariable:f,renderVariableTag:p,showRemoveButton:m,disabled:r,readOnly:o}),[d,f,p,m,r,o]),H=C.useCallback(W=>h.jsx(Z$,{...W}),[]),L={...c,minHeight:i?`${s*24}px`:void 0,maxHeight:i&&a?`${a*24}px`:void 0,overflowY:i?"auto":void 0};return h.jsx(bE.Provider,{value:k,children:h.jsx("div",{className:`variable-input-wrapper ${r?"disabled":""} ${o?"readonly":""} ${i?"multiline":""} ${l||""}`,style:L,children:h.jsx(Vk,{editor:k,initialValue:A,onChange:M,children:h.jsx(Hk,{className:"variable-input-editable",renderElement:O,renderLeaf:H,placeholder:n,readOnly:r||o,onKeyDown:N,onFocus:F,onBlur:I})})})})},nu=t=>typeof t!="string"?!1:/\{\{.*\}\}/.test(t),tj=({value:t,onChange:e,allowExpression:n=!0,defaultValueMode:r="select",valueMode:o,onValueModeChange:i,validateVariable:s,expressionPlaceholder:a="输入表达式,支持 {{变量}}",hideModeSwitch:l=!1,options:c,placeholder:u,disabled:d,...f})=>{const p=C.useMemo(()=>nu(t)?"expression":r,[]),[m,w]=C.useState(p),v=o??m;C.useEffect(()=>{o!==void 0&&w(o)},[o]),C.useEffect(()=>{nu(t)&&v!=="expression"&&(w("expression"),i==null||i("expression"))},[t,v,i]);const y=C.useCallback(k=>{w(k),i==null||i(k),k==="select"&&nu(t)&&(e==null||e(void 0))},[t,e,i]),g=C.useCallback(k=>{e==null||e(k)},[e]),x=C.useCallback(k=>{e==null||e(k)},[e]),S=()=>l||!n?null:h.jsx("div",{className:"select-expression-mode-switch",children:h.jsxs(B.Radio.Group,{value:v,onChange:k=>y(k.target.value),size:"small",disabled:d,optionType:"button",buttonStyle:"solid",children:[h.jsxs(B.Radio.Button,{value:"select",title:"下拉选择模式",children:[h.jsx(ce.FontSizeOutlined,{}),h.jsx("span",{className:"mode-label",children:"选择"})]}),h.jsxs(B.Radio.Button,{value:"expression",title:"表达式模式",children:[h.jsx(ce.FunctionOutlined,{}),h.jsx("span",{className:"mode-label",children:"表达式"})]})]})}),b=()=>v==="expression"?h.jsx(pa,{value:typeof t=="string"?t:"",onChange:x,placeholder:a,disabled:d,validateVariable:s}):h.jsx(B.Select,{...f,value:nu(t)?void 0:t,onChange:g,options:c,placeholder:u,disabled:d});return h.jsxs("div",{className:"select-with-expression",children:[S(),h.jsx("div",{className:"select-expression-content",children:b()})]})},CE=({rows:t=4,autoSize:e,minRows:n,maxRows:r,...o})=>{const i=typeof e=="object"?e.minRows:n??t,s=typeof e=="object"?e.maxRows:r;return h.jsx(pa,{...o,multiline:!0,minRows:i,maxRows:s})},ru={normal:{label:"文本",icon:h.jsx(ce.FontSizeOutlined,{}),description:"普通文本输入"},expression:{label:"表达式",icon:h.jsx(ce.FunctionOutlined,{}),description:"支持变量引用的表达式模式"},code:{label:"代码",icon:h.jsx(ce.CodeOutlined,{}),description:"JavaScript 代码模式"}},Sm=({value:t="",onChange:e,availableModes:n=["normal","expression"],defaultMode:r="normal",mode:o,onModeChange:i,disabled:s=!1,readOnly:a=!1,placeholder:l,multiline:c=!1,rows:u=4,validateVariable:d,renderNormalMode:f,children:p,hideModeSwitch:m=!1,modeSwitchPosition:w="top-left"})=>{const v=()=>t&&typeof t=="string"&&/\{\{.*\}\}/.test(t)?"expression":r,[y,g]=C.useState(v),x=o??y;C.useEffect(()=>{o!==void 0&&g(o)},[o]);const S=C.useCallback(T=>{g(T),i==null||i(T)},[i]),b=C.useCallback(T=>{e==null||e(T)},[e]),k=C.useMemo(()=>n.filter(T=>ru[T]),[n]),A=()=>m||k.length<=1?null:h.jsx("div",{className:`value-mode-switch ${w}`,children:h.jsx(B.Radio.Group,{value:x,onChange:T=>S(T.target.value),size:"small",disabled:s||a,optionType:"button",buttonStyle:"solid",children:k.map(T=>h.jsxs(B.Radio.Button,{value:T,title:ru[T].description,children:[ru[T].icon,h.jsx("span",{className:"mode-label",children:ru[T].label})]},T))})}),E=()=>{switch(x){case"normal":return p?yt.cloneElement(p,{value:t,onChange:b,disabled:s,readOnly:a}):f?f({value:t,onChange:b,disabled:s,readOnly:a,placeholder:l}):c?h.jsx(B.Input.TextArea,{value:t,onChange:T=>b(T.target.value),disabled:s,readOnly:a,placeholder:l,rows:u}):h.jsx(B.Input,{value:t,onChange:T=>b(T.target.value),disabled:s,readOnly:a,placeholder:l});case"expression":return c?h.jsx(CE,{value:t,onChange:b,disabled:s,readOnly:a,placeholder:l||"输入文本或使用 {{变量}}",rows:u,validateVariable:d}):h.jsx(pa,{value:t,onChange:b,disabled:s,readOnly:a,placeholder:l||"输入文本或使用 {{变量}}",validateVariable:d});case"code":return h.jsx(B.Input.TextArea,{value:t,onChange:T=>b(T.target.value),disabled:s,readOnly:a,placeholder:l||"// 输入 JavaScript 代码",rows:u,className:"code-mode-textarea",style:{fontFamily:"monospace"}});default:return null}};return h.jsxs("div",{className:"value-mode-wrapper",children:[A(),h.jsx("div",{className:"value-mode-content",children:E()})]})};function Wn(t,e){if(t==null||e==="")return;const n=e.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let r=t;for(const o of n){if(r==null)return;const i=Number(o);!Number.isNaN(i)&&Array.isArray(r)?r=r[i]:r=r[o]}return r}const nj=t=>!t||t.length===0,kE=(t,e)=>t==null?!1:Array.isArray(t)?Array.isArray(e)?e.some(n=>t.includes(n)):t.includes(e):typeof t=="string"?Array.isArray(e)?e.some(n=>t.includes(String(n))):t.includes(String(e)):!1,xE=t=>t==null?!0:typeof t=="string"?t.trim().length===0:Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:!1,SE=(t,e)=>Array.isArray(e)?e.includes(t):!1,rj=(t,e,n)=>{switch(t){case"EQ":return e===n;case"NOT":return e!==n;case"GT":return Number(e)>Number(n);case"LT":return Number(e)<Number(n);case"GE":return Number(e)>=Number(n);case"LE":return Number(e)<=Number(n);case"ISEVEN":return Number(e)%2===0;case"ISODD":return Math.abs(Number(e))%2===1;case"IC":return kE(e,n);case"NIC":return!kE(e,n);case"IN":return SE(e,n);case"NIN":return!SE(e,n);case"EXISTS":return e!=null;case"EMPTY":return xE(e);case"NOT_EMPTY":return!xE(e);default:return!1}},jo=(t,e)=>{if(!t)return!0;const{AND:n,OR:r,key:o,keyword:i,value:s}=t,a=Array.isArray(n),l=Array.isArray(r);if(a||l){const u=n??[],d=r??[];let f=!0,p=nj(d);for(const m of u){if(!f)break;f=jo(m,e)}for(const m of d){if(p)break;p=jo(m,e)}return f&&p}if(!o||!i)return!0;const c=Wn(e,o);return rj(i,c,s)};function oj(t,e){const{eventPayload:n,formValues:r}=e;if(t.startsWith("payload.")){const o=t.slice(8);return Wn(n.payload||{},o)}if(t.startsWith("formValues.")){const o=t.slice(11);return Wn(r,o)}return t in n?n[t]:n.payload&&t in n.payload?n.payload[t]:Wn(r,t)}function ij(t,e){const{form:n}=e,{targets:r}=t;for(const o of r)n.setFieldValue(o,void 0);e.executionDepth===1&&console.log("[ActionExecutor] 清空字段:",r)}function sj(t,e){const{form:n}=e,{target:r,value:o,valueFrom:i}=t;let s;i?s=oj(i,e):s=o,n.setFieldValue(r,s),e.executionDepth===1&&console.log(`[ActionExecutor] 设置字段值: ${r} =`,s)}function aj(t,e){const{target:n,disabled:r}=t;e.executionDepth===1&&(console.log(`[ActionExecutor] 设置字段禁用状态: ${n} = ${r}`),console.warn("[ActionExecutor] setFieldDisabled 需要外部状态管理支持,当前仅记录日志"))}async function lj(t,e){const{form:n}=e,{targets:r}=t;try{r&&r.length>0?await n.validateFields(r):await n.validateFields(),e.executionDepth===1&&console.log("[ActionExecutor] 触发验证:",r||"所有字段")}catch(o){e.executionDepth===1&&console.log("[ActionExecutor] 验证失败:",o)}}async function cj(t,e){const{optionsLoader:n,form:r}=e,{action:o,params:i,resultTo:s}=t;if(!n){console.warn("[ActionExecutor] 未提供 optionsLoader,无法执行 callDataLoader 动作");return}try{const a=await n(o,i||{},{values:e.formValues});s&&(r.setFieldValue(s,a),e.executionDepth===1&&console.log(`[ActionExecutor] 数据加载完成,结果设置到: ${s}`,a))}catch(a){console.error("[ActionExecutor] 数据加载失败:",a)}}async function uj(t,e){const{customHandlers:n}=e,{handler:r,params:o}=t;if(!n||!n[r]){console.warn(`[ActionExecutor] 未找到自定义处理器: ${r}`);return}try{await n[r](e,o),e.executionDepth===1&&console.log(`[ActionExecutor] 执行自定义动作: ${r}`)}catch(i){console.error(`[ActionExecutor] 自定义动作执行失败: ${r}`,i)}}async function dj(t,e){switch(t.type){case"clearFields":ij(t,e);break;case"setFieldValue":sj(t,e);break;case"setFieldDisabled":aj(t,e);break;case"triggerValidation":await lj(t,e);break;case"callDataLoader":await cj(t,e);break;case"custom":await uj(t,e);break;default:console.warn("[ActionExecutor] 未知的动作类型:",t.type)}}async function fj(t,e){for(const n of t)await dj(n,e)}function hj(t){const{events:e,form:n,optionsLoader:r,customHandlers:o,maxExecutionDepth:i=10,debug:s=!1}=t,a=C.useRef(0),l=C.useRef(new Map),c=C.useCallback(async(v,y)=>{if(a.current+=1,a.current>i){console.error(`[EventEngine] 执行深度超过限制 (${i}),可能存在无限循环`,v.id||v.trigger),a.current=0;return}try{const g=n.getFieldsValue();if(v.conditions&&!jo(v.conditions,g)){s&&console.log("[EventEngine] 条件不满足,跳过执行:",v.id);return}const x={form:n,formValues:g,eventPayload:y,optionsLoader:r,customHandlers:o,executionDepth:a.current};await fj(v.actions,x),s&&console.log("[EventEngine] 事件处理完成:",v.id||v.trigger)}finally{a.current-=1}},[n,r,o,i,s]),u=C.useCallback(v=>{const y=e.filter(g=>{const{trigger:x}=g;return x.type!==v.type?!1:(x.type==="fieldChange"||x.type==="fieldBlur"||x.type==="fieldFocus")&&"field"in x?x.field===v.field:x.type==="custom"&&"eventName"in x?x.eventName===v.eventName:x.type==="formMount"});for(const g of y)if(g.debounce&&g.debounce>0){const x=`${g.id||JSON.stringify(g.trigger)}`,S=l.current.get(x);S&&clearTimeout(S);const b=setTimeout(()=>{c(g,v),l.current.delete(x)},g.debounce);l.current.set(x,b)}else c(g,v)},[e,c]),d=C.useCallback((v,y,g)=>{const x={type:"fieldChange",field:v,oldValue:g,newValue:y,timestamp:Date.now()};u(x),s&&console.log("[EventEngine] 字段变化事件:",{fieldPath:v,oldValue:g,newValue:y})},[u,s]),f=C.useCallback(v=>{const y={type:"fieldBlur",field:v,timestamp:Date.now()};u(y),s&&console.log("[EventEngine] 字段失焦事件:",{fieldPath:v})},[u,s]),p=C.useCallback(v=>{const y={type:"fieldFocus",field:v,timestamp:Date.now()};u(y),s&&console.log("[EventEngine] 字段聚焦事件:",{fieldPath:v})},[u,s]);C.useEffect(()=>{const v={type:"formMount",timestamp:Date.now()};u(v)},[]),C.useEffect(()=>()=>{for(const v of l.current.values())clearTimeout(v);l.current.clear()},[]);const m=C.useCallback((v,y)=>{const g={type:"custom",eventName:v,payload:y,timestamp:Date.now()};u(g)},[u]);return{triggerFieldChange:d,fieldEventHandlers:{onBlur:f,onFocus:p,dispatch:m}}}const Em=C.createContext({}),EE=({value:t,children:e})=>h.jsx(Em.Provider,{value:t,children:e}),pj=()=>C.useContext(Em);class ou{constructor(){Qe(this,"registry",new Map)}register(e,n,r={}){const{override:o=!1}=r;if(this.registry.has(e)&&!o){console.warn(`[FieldRegistry] 字段类型 "${e}" 已注册。使用 { override: true } 来覆盖。`);return}this.registry.set(e,n)}unregister(e){this.registry.delete(e)}get(e){return this.registry.get(e)}has(e){return this.registry.has(e)}getRegisteredTypes(){return Array.from(this.registry.keys())}clone(){const e=new ou;return this.registry.forEach((n,r)=>{e.register(r,n)}),e}}const iu=new ou;function mj(){return new ou}const DE=C.createContext(iu),gj=({registry:t,additionalRegistrations:e,children:n})=>{const r=C.useMemo(()=>{const o=t||iu.clone();if(e!=null&&e.length)for(const{type:i,definition:s}of e)o.register(i,s,{override:!0});return o},[t,e]);return h.jsx(DE.Provider,{value:r,children:n})},su=()=>C.useContext(DE);var _e=(t=>(t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.NUMBER="NUMBER",t.PASSWORD="PASSWORD",t.SELECT="SELECT",t.MULTI_SELECT="MULTI_SELECT",t.RADIO="RADIO",t.CHECKBOX="CHECKBOX",t.CHECKBOX_GROUP="CHECKBOX_GROUP",t.SWITCH="SWITCH",t.CASCADER="CASCADER",t.TREE_SELECT="TREE_SELECT",t.DATE="DATE",t.DATE_RANGE="DATE_RANGE",t.TIME="TIME",t.TIME_RANGE="TIME_RANGE",t.DATETIME="DATETIME",t.UPLOAD="UPLOAD",t.RATE="RATE",t.SLIDER="SLIDER",t.COLOR_PICKER="COLOR_PICKER",t.MENTIONS="MENTIONS",t.AUTO_COMPLETE="AUTO_COMPLETE",t.LABEL="LABEL",t.HIDDEN="HIDDEN",t.JSON="JSON",t.DIVIDER="DIVIDER",t.INFO_CARD="INFO_CARD",t.ARRAY="ARRAY",t.OBJECT="OBJECT",t.KEY_VALUE="KEY_VALUE",t.ARRAY_OBJECT="ARRAY_OBJECT",t))(_e||{});function wj(t){switch(t){case _e.NUMBER:case _e.SLIDER:case _e.RATE:return"number";case _e.CHECKBOX:case _e.SWITCH:return"boolean";case _e.MULTI_SELECT:case _e.CHECKBOX_GROUP:case _e.DATE_RANGE:case _e.TIME_RANGE:case _e.ARRAY:case _e.ARRAY_OBJECT:return"array";case _e.DATE:case _e.DATETIME:case _e.TIME:return"object";case _e.OBJECT:case _e.KEY_VALUE:return"object";default:return}}function zi(t,e,n){const r=[],o=n?wj(n):void 0;for(const i of t){if(i.type==="when"){jo(i.conditions,e)&&r.push(...zi(i.rules,e,n));continue}const s=vj(i,o);s&&r.push(s)}return r}function vj(t,e){const n={message:t.message,warningOnly:t.warningOnly};switch(t.type){case"required":return e?{...n,required:!0,type:e}:{...n,required:!0};case"type":return{...n,type:t.value};case"min":return{...n,min:t.value,type:e};case"max":return{...n,max:t.value,type:e};case"len":return{...n,len:t.value};case"pattern":return{...n,pattern:new RegExp(t.value,t.flags)};case"enum":return{...n,enum:t.value};case"whitespace":return{...n,whitespace:!0};default:return null}}const yj=t=>!t||typeof t!="object"?!1:"AND"in t||"OR"in t?!0:"keyword"in t&&"key"in t;function Dm(t,e){return t.visibleWhen&&t.visibleWhen.conditions?jo(t.visibleWhen.conditions,e):!0}function bj(t){var e;return((e=t.visibleWhen)==null?void 0:e.hideStrategy)||"unregister"}function Hi(t,e,n=!1){return typeof t=="boolean"?t:yj(t)?jo(t,e):n}const Cj=(t,e)=>{const n=e.split(".");let r=t;for(let i=0;i<n.length-1;i+=1){const s=n[i],a=r==null?void 0:r[s];if(typeof a!="object"||a===null)return;r=a}const o=n[n.length-1];if(Array.isArray(r)){const i=Number(o);Number.isNaN(i)||r.splice(i,1)}else r&&delete r[o]};function kj(t,e,n){const r=structuredClone(e);for(const o of t.fields)n[o.name]===!1&&Cj(r,o.name);return r}function rt(t,e={}){const n={needsFormItemName:!0,supportsVariableInsert:!1,supportsAiFillable:!1,...e};if(n.supportsVariableInsert&&n.supportsAiFillable)return{component:t,meta:n};const r=o=>{const{field:i,disabled:s,readOnly:a,context:l,value:c,onChange:u}=o;let d=h.jsx(t,{...o});return i.variableInsert&&!n.supportsVariableInsert&&(d=h.jsx(Sm,{availableModes:["normal","expression"],defaultMode:"normal",disabled:s,readOnly:a,placeholder:i.placeholder,validateVariable:l.validateVariable,modeSwitchPosition:"top-right",value:c,onChange:u,children:d})),i.aiFillable&&!n.supportsAiFillable&&(d=h.jsx(gE,{aiFillable:!0,disabled:s,children:d})),d};return r.displayName=`FieldComponent(${t.displayName||t.name||"Anonymous"})`,{component:r,meta:n}}function ro(t,e={}){return{component:t,meta:e}}const AE=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.showThousandsSeparator?a=>`${a}`.replace(/\B(?=(\d{3})+(?!\d))/g,","):void 0,s=t.showThousandsSeparator?a=>a==null?void 0:a.replace(/\$\s?|(,*)/g,""):void 0;return h.jsx(B.InputNumber,{disabled:e,placeholder:t.placeholder,min:t.min,max:t.max,step:t.step,precision:t.precision,addonBefore:t.addonBefore,addonAfter:t.addonAfter,controls:t.controls,formatter:i,parser:s,style:{width:"100%"},value:n,onChange:r,id:o})};AE.displayName="NumberFieldControl";const xj=rt(AE,{needsFormItemName:!0}),OE=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i})=>h.jsx(B.Input.Password,{disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:s=>o==null?void 0:o(s.target.value),id:i});OE.displayName="PasswordFieldControl";const Sj=rt(OE,{needsFormItemName:!0}),BE=({field:t,disabled:e,readOnly:n,context:r,value:o,onChange:i,id:s})=>{const a=t.autoSize??(t.minRows||t.maxRows?{minRows:t.minRows,maxRows:t.maxRows}:void 0),l=t.minRows||4;if(t.variableInsert)return h.jsx(Sm,{availableModes:["normal","expression"],defaultMode:"normal",disabled:e,readOnly:n,placeholder:t.placeholder,multiline:!0,rows:l,validateVariable:r.validateVariable,modeSwitchPosition:"top-right",value:o,onChange:i,children:h.jsx(B.Input.TextArea,{placeholder:t.placeholder,rows:l,autoSize:a,showCount:t.showCount,maxLength:t.maxLength})});const c=()=>{var d;(d=r.eventHandlers)==null||d.onBlur(t.name)},u=()=>{var d;(d=r.eventHandlers)==null||d.onFocus(t.name)};return h.jsx(B.Input.TextArea,{disabled:e,readOnly:n,placeholder:t.placeholder,rows:l,autoSize:a,showCount:t.showCount,maxLength:t.maxLength,value:o,onChange:d=>i==null?void 0:i(d.target.value),onBlur:c,onFocus:u,id:s})};BE.displayName="TextareaFieldControl";const Ej=rt(BE,{supportsVariableInsert:!0,needsFormItemName:!0}),TE=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i,context:s})=>{const a=()=>{var c;(c=s.eventHandlers)==null||c.onBlur(t.name)},l=()=>{var c;(c=s.eventHandlers)==null||c.onFocus(t.name)};return h.jsx(B.Input,{disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:c=>o==null?void 0:o(c.target.value),onBlur:a,onFocus:l,id:i})};TE.displayName="TextFieldControl";const Dj=rt(TE,{supportsVariableInsert:!1,needsFormItemName:!0}),_E=({field:t,disabled:e,context:n})=>{const r=su(),{values:o,optionsLoader:i,validateVariable:s}=n,a=Aj(t),l=r.get(t.itemSchema.type),c=l==null?void 0:l.component;return h.jsx(B.Form.List,{name:t.name,rules:a,children:(u,{add:d,remove:f},{errors:p})=>h.jsxs(B.Space,{direction:"vertical",style:{width:"100%"},children:[u.map((m,w)=>h.jsxs(B.Card,{size:"small",title:t.itemLabel||`Item ${w+1}`,children:[h.jsx(B.Form.Item,{name:[m.name,t.itemSchema.name],label:t.itemSchema.label,rules:zi(t.itemSchema.rules||[],o,t.itemSchema.type),children:c&&h.jsx(c,{field:t.itemSchema,disabled:e,readOnly:!1,context:{values:o,optionsLoader:i,validateVariable:s}})}),h.jsxs("div",{style:{textAlign:"right"},children:[h.jsx(B.Button,{type:"link",danger:!0,onClick:()=>f(m.name),disabled:e||t.minItems!==void 0&&u.length<=t.minItems,children:"移除"}),t.allowCopy&&h.jsx(B.Button,{type:"link",onClick:()=>{const v=Wn(o,`${t.name}.${m.name}`);d(v,w+1)},disabled:e,children:"复制"})]})]},m.key)),h.jsx(B.Button,{type:"dashed",block:!0,onClick:()=>d(t.itemSchema.defaultValue),disabled:e||t.maxItems!==void 0&&u.length>=t.maxItems,children:"添加"}),h.jsx(B.Form.ErrorList,{errors:p})]})})};_E.displayName="ArrayFieldControl";function Aj(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(!o||o.length<t.minItems)throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const Oj=ro(_E,{isComplexField:!0,needsFormItemName:!1}),NE=({field:t,disabled:e,context:n})=>{const r=su(),{values:o,optionsLoader:i,validateVariable:s}=n,a=Bj(t);return h.jsx(B.Form.List,{name:t.name,rules:a,children:(l,{add:c,remove:u},{errors:d})=>h.jsxs(B.Space,{direction:"vertical",style:{width:"100%"},children:[l.map((f,p)=>h.jsx(B.Card,{size:"small",title:t.label?`${t.label} #${p+1}`:`Item ${p+1}`,extra:h.jsxs(B.Space,{children:[t.allowCopy&&h.jsx(B.Button,{type:"link",icon:h.jsx(ce.CopyOutlined,{}),onClick:()=>{const m=Wn(o,`${t.name}.${f.name}`);c(m,p+1)},disabled:e||t.maxItems!==void 0&&l.length>=t.maxItems,children:"复制"}),h.jsx(B.Button,{type:"link",danger:!0,icon:h.jsx(ce.DeleteOutlined,{}),onClick:()=>u(f.name),disabled:e||t.minItems!==void 0&&l.length<=t.minItems,children:"删除"})]}),children:h.jsx(B.Space,{direction:"vertical",style:{width:"100%"},children:t.columns.map(m=>{const w=r.get(m.type),v=w==null?void 0:w.component;return h.jsx(B.Form.Item,{name:[f.name,m.name],label:m.label,rules:zi(m.rules||[],o,m.type),children:v&&h.jsx(v,{field:m,disabled:e,readOnly:!1,context:{values:o,optionsLoader:i,validateVariable:s}})},m.name)})})},f.key)),h.jsx(B.Button,{type:"dashed",block:!0,icon:h.jsx(ce.PlusOutlined,{}),onClick:()=>c(),disabled:e||t.maxItems!==void 0&&l.length>=t.maxItems,children:"添加行"}),h.jsx(B.Form.ErrorList,{errors:d})]})})};NE.displayName="ArrayObjectFieldControl";function Bj(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(!o||o.length<t.minItems)throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const Tj=ro(NE,{isComplexField:!0,needsFormItemName:!1}),FE=({field:t,disabled:e,context:n})=>{const{validateVariable:r}=n,o=t.variableInsert?pa:B.Input,i=_j(t);return h.jsx(B.Form.List,{name:t.name,rules:i,children:(s,{add:a,remove:l},{errors:c})=>h.jsxs(B.Space,{direction:"vertical",style:{width:"100%"},children:[s.map(u=>h.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:8},children:[h.jsx(B.Form.Item,{style:{flex:1,marginBottom:0},name:[u.name,"key"],rules:[{required:!0,message:"请输入Key"}],children:h.jsx(B.Input,{placeholder:t.keyPlaceholder||"Key",disabled:e})}),h.jsx(B.Form.Item,{style:{flex:1,marginBottom:0},name:[u.name,"value"],children:h.jsx(o,{placeholder:t.valuePlaceholder||"Value",disabled:e,...t.variableInsert?{validateVariable:r}:{}})}),h.jsx(B.Button,{type:"text",danger:!0,icon:h.jsx(ce.DeleteOutlined,{}),onClick:()=>l(u.name),disabled:e||t.minItems!==void 0&&s.length<=t.minItems})]},u.key)),h.jsx(B.Button,{type:"dashed",block:!0,icon:h.jsx(ce.PlusOutlined,{}),onClick:()=>a(),disabled:e||t.maxItems!==void 0&&s.length>=t.maxItems,children:"添加键值对"}),h.jsx(B.Form.ErrorList,{errors:c})]})})};FE.displayName="KeyValueFieldControl";function _j(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(!o||o.length<t.minItems)throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const Nj=ro(FE,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1}),ME=({field:t,disabled:e,context:n})=>{const[r,o]=yt.useState(null);yt.useEffect(()=>{Promise.resolve().then(()=>nW).then(c=>{o(()=>c.FieldRenderer)})},[]);const{values:i,optionsLoader:s,validateVariable:a}=n,l=h.jsx(B.Space,{direction:"vertical",style:{width:"100%"},children:Object.values(t.properties).map(c=>r?h.jsx(r,{field:{...c,name:`${t.name}.${c.name}`},values:i,optionsLoader:s,disabled:e,validateVariable:a},c.name):null)});return t.collapsible?h.jsx(B.Collapse,{defaultActiveKey:t.defaultCollapsed?[]:["main"],items:[{key:"main",label:t.label||t.name,children:l}]}):h.jsx(B.Card,{size:"small",title:t.label,children:l})};ME.displayName="ObjectFieldControl";const Fj=ro(ME,{isComplexField:!0,needsFormItemName:!1}),IE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.DatePicker,{disabled:e,placeholder:t.placeholder,picker:t.picker,format:t.format,style:{width:"100%"},value:n,onChange:r,id:o});IE.displayName="DateFieldControl";const Mj=rt(IE,{needsFormItemName:!0}),PE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.DatePicker.RangePicker,{disabled:e,picker:t.picker,showTime:t.showTime,format:t.format,style:{width:"100%"},value:n,onChange:r,id:o});PE.displayName="DateRangeFieldControl";const Ij=rt(PE,{needsFormItemName:!0}),LE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.DatePicker,{disabled:e,placeholder:t.placeholder,showTime:t.showTime??!0,format:t.format||"YYYY-MM-DD HH:mm:ss",style:{width:"100%"},value:n,onChange:r,id:o});LE.displayName="DateTimeFieldControl";const Pj=rt(LE,{needsFormItemName:!0}),zE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.TimePicker,{disabled:e,placeholder:t.placeholder,format:t.format,style:{width:"100%"},value:n,onChange:r,id:o});zE.displayName="TimeFieldControl";const Lj=rt(zE,{needsFormItemName:!0}),HE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.TimePicker.RangePicker,{disabled:e,format:t.format,style:{width:"100%"},value:n,onChange:r,id:o});HE.displayName="TimeRangeFieldControl";const zj=rt(HE,{needsFormItemName:!0}),$E=({field:t})=>h.jsx(B.Divider,{children:t.label});$E.displayName="DividerFieldControl";const Hj=ro($E,{isDisplayOnly:!0,needsFormItemName:!1}),jE=({value:t,onChange:e,id:n})=>h.jsx(B.Input,{type:"hidden",value:t,onChange:r=>e==null?void 0:e(r.target.value),id:n});jE.displayName="HiddenFieldControl";const $j=ro(jE,{needsFormItemName:!0}),WE=({field:t})=>h.jsx(B.Alert,{message:t.label,description:t.description||t.placeholder,type:t.status||"info",showIcon:t.showIcon,closable:t.closable});WE.displayName="InfoCardFieldControl";const jj=ro(WE,{isDisplayOnly:!0,needsFormItemName:!1}),VE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Input.TextArea,{disabled:e,placeholder:t.placeholder,rows:6,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});VE.displayName="JsonFieldControl";const Wj=rt(VE,{needsFormItemName:!0}),UE=({field:t,value:e})=>h.jsx("span",{children:e||t.placeholder||t.defaultValue});UE.displayName="LabelFieldControl";const Vj=rt(UE,{needsFormItemName:!0}),qE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Cascader,{disabled:e,placeholder:t.placeholder,options:t.options,changeOnSelect:t.changeOnSelect,multiple:t.multiple,showSearch:t.showSearch,value:n,onChange:r,id:o});qE.displayName="CascaderFieldControl";const Uj=rt(qE,{needsFormItemName:!0}),RE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Checkbox,{disabled:e,checked:n,onChange:i=>r==null?void 0:r(i.target.checked),id:o,children:t.placeholder});RE.displayName="CheckboxFieldControl";const qj=rt(RE,{needsFormItemName:!0,valuePropName:"checked"}),GE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Checkbox.Group,{disabled:e,options:t.options,value:n,onChange:r,id:o});GE.displayName="CheckboxGroupFieldControl";const Rj=rt(GE,{needsFormItemName:!0}),KE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Radio.Group,{disabled:e,options:t.options,optionType:t.optionType,buttonStyle:t.buttonStyle,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});KE.displayName="RadioFieldControl";const Gj=rt(KE,{needsFormItemName:!0}),XE=({field:t,disabled:e,context:n,value:r,onChange:o,id:i})=>{const{values:s,optionsLoader:a}=n,[l,c]=C.useState(YE(t)),[u,d]=C.useState(!1),f=t.type===_e.MULTI_SELECT||t.mode==="multiple",p=y=>!y||y.kind==="static"?[]:y.deps||[],m=C.useMemo(()=>{const g=p(t.optionsSource).map(x=>Wn(s,x));return JSON.stringify(g)},[t.optionsSource,s]);C.useEffect(()=>{if(!t.optionsSource||t.optionsSource.kind==="static"){c(YE(t));return}const y=t.optionsSource;if(!a){c(y.fallbackOptions||t.options||[]);return}const x=p(y).reduce((k,A)=>(k[A]=Wn(s,A),k),{}),S={...y.params||{},deps:x};d(!0);let b=!1;return a(y.action,S,{values:s}).then(k=>{b||c(k)}).catch(()=>{b||c(y.fallbackOptions||t.options||[])}).finally(()=>{b||d(!1)}),()=>{b=!0}},[m,t.optionsSource,t.options]);const w=()=>{var y;(y=n.eventHandlers)==null||y.onBlur(t.name)},v=()=>{var y;(y=n.eventHandlers)==null||y.onFocus(t.name)};return h.jsx(B.Select,{disabled:e,placeholder:t.placeholder,options:l,mode:f?"multiple":t.mode,showSearch:t.showSearch,allowClear:t.allowClear,maxTagCount:t.maxTagCount,loading:u,value:r,onChange:o,onBlur:w,onFocus:v,id:i})};XE.displayName="SelectFieldControl";function YE(t){var n;if((n=t.options)!=null&&n.length)return t.options;const e=t.optionsSource;return e?e.kind==="static"?e.items||[]:e.fallbackOptions||[]:[]}const JE=rt(XE,{supportsVariableInsert:!1,needsFormItemName:!0}),QE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Switch,{disabled:e,checkedChildren:t.checkedChildren,unCheckedChildren:t.unCheckedChildren,checked:n,onChange:r,id:o});QE.displayName="SwitchFieldControl";const Kj=rt(QE,{needsFormItemName:!0,valuePropName:"checked"}),ZE=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.TreeSelect,{disabled:e,placeholder:t.placeholder,treeData:t.options,multiple:t.multiple,showSearch:t.showSearch,allowClear:t.allowClear,treeCheckable:t.treeCheckable,value:n,onChange:r,id:o});ZE.displayName="TreeSelectFieldControl";const Xj=rt(ZE,{needsFormItemName:!0}),eD=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.AutoComplete,{disabled:e,placeholder:t.placeholder,options:t.options,allowClear:t.allowClear,value:n,onChange:r,id:o});eD.displayName="AutoCompleteFieldControl";const Yj=rt(eD,{needsFormItemName:!0}),tD=({disabled:t,value:e,onChange:n,id:r})=>h.jsx(B.ColorPicker,{disabled:t,value:e,onChange:(o,i)=>n==null?void 0:n(i),id:r});tD.displayName="ColorPickerFieldControl";const Jj=rt(tD,{needsFormItemName:!0}),nD=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Mentions,{disabled:e,placeholder:t.placeholder,value:n,onChange:r,id:o});nD.displayName="MentionsFieldControl";const Qj=rt(nD,{needsFormItemName:!0}),rD=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Rate,{disabled:e,count:t.count,allowHalf:t.allowHalf,value:n,onChange:r,id:o});rD.displayName="RateFieldControl";const Zj=rt(rD,{needsFormItemName:!0}),oD=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Slider,{disabled:e,min:t.min,max:t.max,step:t.step,marks:t.marks,range:t.range,value:n,onChange:r,id:o});oD.displayName="SliderFieldControl";const eW=rt(oD,{needsFormItemName:!0}),iD=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(B.Upload,{disabled:e,accept:t.accept,maxCount:t.maxCount,listType:t.listType||"text",action:t.action,multiple:t.multiple,fileList:n,onChange:r,id:o,children:h.jsx(B.Button,{icon:h.jsx(ce.UploadOutlined,{}),disabled:e,children:"上传文件"})});iD.displayName="UploadFieldControl";const tW=rt(iD,{needsFormItemName:!0});function sD(t=iu){t.register(_e.TEXT,Dj),t.register(_e.TEXTAREA,Ej),t.register(_e.NUMBER,xj),t.register(_e.PASSWORD,Sj),t.register(_e.SELECT,JE),t.register(_e.MULTI_SELECT,JE),t.register(_e.RADIO,Gj),t.register(_e.CHECKBOX,qj),t.register(_e.CHECKBOX_GROUP,Rj),t.register(_e.SWITCH,Kj),t.register(_e.CASCADER,Uj),t.register(_e.TREE_SELECT,Xj),t.register(_e.DATE,Mj),t.register(_e.DATETIME,Pj),t.register(_e.DATE_RANGE,Ij),t.register(_e.TIME,Lj),t.register(_e.TIME_RANGE,zj),t.register(_e.UPLOAD,tW),t.register(_e.RATE,Zj),t.register(_e.SLIDER,eW),t.register(_e.COLOR_PICKER,Jj),t.register(_e.MENTIONS,Qj),t.register(_e.AUTO_COMPLETE,Yj),t.register(_e.LABEL,Vj),t.register(_e.HIDDEN,$j),t.register(_e.JSON,Wj),t.register(_e.DIVIDER,Hj),t.register(_e.INFO_CARD,jj),t.register(_e.ARRAY,Oj),t.register(_e.OBJECT,Fj),t.register(_e.KEY_VALUE,Nj),t.register(_e.ARRAY_OBJECT,Tj)}sD();const Am=({field:t,disabled:e,required:n,readOnly:r,rules:o,values:i,optionsLoader:s,validateVariable:a,eventHandlers:l})=>{const c=su(),u=e??Hi(t.disabled,i,!1),d=n??Hi(t.required,i,!1),f=r??Hi(t.readOnly,i,!1),p=o??zi(t.rules||[],i,t.type),m={values:i,optionsLoader:s,validateVariable:a,eventHandlers:l},w=c.get(t.type);if(!w)return h.jsxs("span",{children:["不支持的字段类型: ",t.type]});const{component:v,meta:y}=w;return y.isDisplayOnly?h.jsx(v,{field:t,disabled:u,readOnly:f,context:m}):y.isComplexField?h.jsx(B.Form.Item,{label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:d,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,children:h.jsx(v,{field:t,disabled:u,readOnly:f,context:m})}):h.jsx(B.Form.Item,{name:y.needsFormItemName!==!1?t.name:void 0,label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:d,rules:p,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,valuePropName:y.valuePropName,validateTrigger:t.validateTrigger,children:h.jsx(v,{field:t,disabled:u,readOnly:f,context:m})})},nW=Object.freeze(Object.defineProperty({__proto__:null,FieldRenderer:Am},Symbol.toStringTag,{value:"Module"})),rW={meta:{name:"antd-5x-apple-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#007AFF",colorInfo:"#007AFF",colorSuccess:"#34C759",colorWarning:"#FF9F0A",colorError:"#FF3B30",colorTextBase:"#0B0B0F",colorBgBase:"#FFFFFF",colorBorder:"#D1D1D6",colorBorderSecondary:"#E5E5EA",colorPrimaryBorder:"#007AFF",colorPrimaryBorderHover:"#007AFF",colorPrimaryHover:"#0066D6",colorPrimaryActive:"#0056B3",controlOutlineWidth:2,controlOutline:"rgba(0, 122, 255, 0.25)",fontFamily:'"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:10,borderRadiusSM:8,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:52,sizeUnit:4,sizeStep:4,padding:16,paddingXS:10,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:10,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 10px 24px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08)",boxShadowSecondary:"0 6px 16px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06)",boxShadowTertiary:"0 2px 8px rgba(0,0,0,0.08)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:18,paddingInlineLG:20,paddingInlineSM:14,contentFontSize:14,contentFontSizeLG:16,contentFontSizeSM:14,primaryShadow:"0 2px 0 rgba(0,122,255,0.14)",dangerShadow:"0 2px 0 rgba(255,59,48,0.12)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:14},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:44,controlHeightLG:52,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:44,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:14,paddingInlineSM:12,paddingInlineLG:14,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:12,borderRadius:10,hoverBorderColor:"#C7C7CC",activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Layout:{headerBg:"#FFFFFF",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F2F2F7",siderBg:"#FFFFFF",triggerBg:"#F2F2F7"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Menu:{itemHeight:44,iconSize:16,collapsedIconSize:18,horizontalItemBorderRadius:10,itemBorderRadius:10},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:14},Notification:{},Pagination:{itemSize:44,itemSizeSM:36},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#007AFF"},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F2F2F7",headerSortActiveBg:"#EDEDF2",headerSortHoverBg:"#F2F2F7",rowHoverBg:"#F2F2F7",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:36,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},oW={meta:{name:"antd-5x-google-material3-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#1A73E8",colorInfo:"#1A73E8",colorSuccess:"#34A853",colorWarning:"#FBBC04",colorError:"#EA4335",colorTextBase:"#202124",colorBgBase:"#FFFFFF",colorBorder:"#DADCE0",colorBorderSecondary:"#E0E3E7",colorPrimaryBorder:"#1A73E8",colorPrimaryBorderHover:"#1A73E8",colorPrimaryHover:"#1967D2",colorPrimaryActive:"#174EA6",controlOutlineWidth:2,controlOutline:"rgba(26, 115, 232, 0.24)",fontFamily:'"Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.5714285714285714,borderRadius:8,borderRadiusSM:4,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:56,controlHeightSM:40,controlHeightLG:64,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(60,64,67,0.16), 0 2px 6px rgba(60,64,67,0.12)",boxShadowSecondary:"0 2px 8px rgba(60,64,67,0.14)",boxShadowTertiary:"0 1px 3px rgba(60,64,67,0.12)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:40,controlHeightSM:32,controlHeightLG:48,paddingInline:24,paddingInlineLG:24,paddingInlineSM:16,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(26,115,232,0.20)",dangerShadow:"0 1px 0 rgba(234,67,53,0.18)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:4},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:40,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:14,paddingBlockSM:8,paddingBlockLG:16,borderRadius:4,hoverBorderColor:"#BDC1C6",activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},InputNumber:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Layout:{headerBg:"#202124",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8F9FA",siderBg:"#202124",triggerBg:"#303134"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:12,itemBorderRadius:12},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:16},Notification:{},Pagination:{itemSize:40,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#1A73E8"},Rate:{},Result:{},Segmented:{controlHeight:40},Select:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F8F9FA",headerSortActiveBg:"#F1F3F4",headerSortHoverBg:"#F3F5F6",rowHoverBg:"#F8F9FA",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 18px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},iW={meta:{name:"antd-5x-preline-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#2563EB",colorInfo:"#2563EB",colorSuccess:"#16A34A",colorWarning:"#F59E0B",colorError:"#EF4444",colorTextBase:"#0F172A",colorBgBase:"#FFFFFF",colorBorder:"#E5E7EB",colorBorderSecondary:"#E5E7EB",colorPrimaryBorder:"#3B82F6",colorPrimaryBorderHover:"#3B82F6",colorPrimaryHover:"#1D4ED8",colorPrimaryActive:"#1E40AF",controlOutlineWidth:1,controlOutline:"rgba(59, 130, 246, 0.45)",fontFamily:'Graphik, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:8,borderRadiusSM:6,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:48,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(15,23,42,0.06), 0 6px 18px rgba(15,23,42,0.08)",boxShadowSecondary:"0 1px 2px rgba(15,23,42,0.05), 0 10px 24px rgba(15,23,42,0.10)",boxShadowTertiary:"0 1px 2px rgba(15,23,42,0.06)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:8,borderRadiusSM:8,borderRadiusLG:10,controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineLG:18,paddingInlineSM:12,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(37,99,235,0.18)",dangerShadow:"0 1px 0 rgba(239,68,68,0.16)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:36,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:10,borderRadius:8,hoverBorderColor:"#D1D5DB",activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Layout:{headerBg:"#0B1220",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8FAFC",siderBg:"#0B1220",triggerBg:"#0F1A2E"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:8,itemBorderRadius:8},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:12},Notification:{},Pagination:{itemSize:36,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:22,trackMinWidth:44,handleSize:18},Table:{headerBg:"#F8FAFC",headerSortActiveBg:"#F1F5F9",headerSortHoverBg:"#F3F6FB",rowHoverBg:"#F8FAFC",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:6,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:6},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}};function sW(t){return"optionsSource"in t&&t.optionsSource&&t.optionsSource.kind!=="static"?t.optionsSource.deps||[]:[]}function aW(t){const e=[];for(const n of t.fields){const r=sW(n);if(r.length>0)for(const o of r)e.push({id:`auto-clear-${n.name}-on-${o}-change`,trigger:{type:"fieldChange",field:o},actions:[{type:"clearFields",targets:[n.name]}]})}return e}function lW(t,e,n=!0){return[...n?aW(t):[],...e||[]]}const cW={default:bm,apple:rW,google:oW,preline:iW};function uW({schema:t,initialValues:e,onSubmit:n,onChange:r,submitLabel:o="提交",showReset:i=!1,resetLabel:s="重置",onReset:a,form:l,showSubmit:c=!0,optionsLoader:u,nodeId:d,mcpMode:f,validateVariable:p,availableVariables:m,theme:w,customTheme:v,locale:y,prefixCls:g,events:x,customHandlers:S,maxExecutionDepth:b,debugEvents:k}){var $;const[A]=B.Form.useForm(),E=l||A,T=yt.useMemo(()=>{const V=t.enableAutoEvents!==!1,q=t.events||[],ee=x||[];return lW(t,[...q,...ee],V)},[t,x]),D=T.length>0?hj({events:T,form:E,optionsLoader:u,customHandlers:S,maxExecutionDepth:b,debug:k}):{triggerFieldChange:void 0,fieldEventHandlers:void 0},M=yt.useRef({}),N=yt.useMemo(()=>{if(v)return v;if(w)return cW[w]},[v,w]),F=B.Form.useWatch([],E),I=yt.useMemo(()=>JSON.stringify({...e||{},...F||{}}),[e,F]),O=yt.useMemo(()=>({...e||{},...F||{}}),[I]),[H,L]=yt.useState({}),W=yt.useRef({});yt.useEffect(()=>{var q;const V={};for(const ee of t.fields){const pe=Dm(ee,O);if(V[ee.name]=pe,W.current[ee.name]===!0&&pe===!1){const P=bj(ee),U=((q=ee.visibleWhen)==null?void 0:q.clearOnHide)??!0;P==="unregister"&&E.setFieldValue(ee.name,U?void 0:E.getFieldValue(ee.name))}}W.current=V,L(V)},[t.fields,E,O]);const R=async V=>{const q=t.pruneInvisibleOnSubmit===!1?V:kj(t,V,H);await(n==null?void 0:n(q))},Y=(V,q)=>{if(r==null||r(V,q),D.triggerFieldChange&&V){const ee=M.current;for(const pe in V){const se=Wn(ee,pe),P=V[pe];D.triggerFieldChange(pe,P,se)}}M.current={...q}},K=c||i,le=yt.useMemo(()=>({nodeId:d,mcpMode:f,validateVariable:p,availableVariables:m}),[d,f,p,m]);return h.jsx(mE,{customTheme:N,locale:y,prefixCls:g,children:h.jsx(EE,{value:le,children:h.jsxs(B.Form,{form:E,layout:t.layout||"vertical",labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,size:t.size,initialValues:e,onFinish:R,onValuesChange:Y,children:[t.fields.map(V=>{if(!Dm(V,O))return null;const ee=Hi(V.disabled,O,!1),pe=Hi(V.required,O,!1),se=zi(V.rules||[],O,V.type),P=pe&&!se.some(U=>"required"in U&&U.required)?[{required:!0,message:`${V.label||V.name}为必填项`},...se]:se;return h.jsx(Am,{field:V,disabled:ee,required:pe,rules:P,values:O,optionsLoader:u,validateVariable:p,eventHandlers:D.fieldEventHandlers},V.name)}),K&&h.jsx(B.Form.Item,{wrapperCol:{offset:(($=t.labelCol)==null?void 0:$.span)||0},children:h.jsxs(B.Space,{children:[i&&h.jsx(B.Button,{onClick:()=>{E.resetFields(),a==null||a()},children:s}),c&&h.jsx(B.Button,{type:"primary",htmlType:"submit",children:o})]})})]})})})}function dW(t){const{dataSource:e,dataLoader:n,values:r,initialData:o,immediate:i=!0,context:s={},transform:a}=t,[l,c]=C.useState(o),[u,d]=C.useState(!1),[f,p]=C.useState(),m=C.useRef(new Map),w=k=>!k||k.kind==="static"?[]:k.deps||[],v=C.useMemo(()=>e?JSON.stringify(e):"null",[e]),y=C.useMemo(()=>{const A=w(e).map(E=>Wn(r,E));return JSON.stringify(A)},[e,r]),g=k=>k.cacheKey?k.cacheKey:`${k.action}:${y}`,x=k=>{if(!k.cache)return;const A=g(k),E=m.current.get(A);if(E){if(k.cacheTTL&&Date.now()-E.timestamp>k.cacheTTL){m.current.delete(A);return}return E.data}},S=(k,A)=>{if(!k.cache)return;const E=g(k);m.current.set(E,{data:A,timestamp:Date.now()})},b=()=>{c(void 0),p(void 0)};return C.useEffect(()=>{if(!i)return;if(!e||e.kind==="static"){const N=e&&"data"in e?e.data:o,F=a&&N!==void 0?a(N):N;c(F);return}const k=e,A=x(k);if(A!==void 0){c(A);return}if(!n){const N=k.fallbackData??o,F=a&&N!==void 0?a(N):N;c(F);return}const T=w(k).reduce((N,F)=>(N[F]=Wn(r,F),N),{}),D={...k.params||{},deps:T};d(!0),p(void 0);let M=!1;return n(k.action,D,{values:r,...s}).then(N=>{if(!M){const F=a?a(N):N;c(F),S(k,F)}}).catch(N=>{if(!M){const F=N instanceof Error?N:new Error(String(N));p(F);const I=k.fallbackData??o,O=a&&I!==void 0?a(I):I;c(O)}}).finally(()=>{M||d(!1)}),()=>{M=!0}},[y,v,i]),{data:l,loading:u,error:f,reload:b,setData:c}}me.AIFieldWrapper=gE,me.AI_FILL_VALUE=Zc,me.AI_TOOL_NODE_TYPES=nw,me.AntdProvider=mE,me.DigitalseeWorkFlow=$$,me.DynamicForm=uW,me.DynamicFormContext=Em,me.DynamicFormField=_e,me.DynamicFormProvider=EE,me.EdgeFactory=mn,me.EdgeType=Ht,me.FieldRegistryProvider=gj,me.FieldRenderer=Am,me.HandleFactory=z$,me.NodeFactory=to,me.NodeStatus=ve,me.NodeType=ne,me.SelectWithExpression=tj,me.ValueModeWrapper=Sm,me.VariableInput=pa,me.VariableSelectorProvider=G$,me.VariableTextarea=CE,me.WorkflowOpStatus=es,me.aiProtocolTypes=tw,me.arrowStyles=yO,me.canvasGeometry=ow,me.configureWorkflow=I$,me.connectionRules=iw,me.createFieldComponent=rt,me.createFieldRegistry=mj,me.createSimpleFieldComponent=ro,me.createTranslator=Pg,me.defaultCanvasEngineConfig=Yc,me.defaultFieldRegistry=iu,me.edgeButtonStyles=Zi,me.edgeStyles=Qi,me.evaluateCondition=jo,me.extenderStyles=Rn,me.getGlobalWorkflowConfig=P$,me.handleStyles=mo,me.isFieldVisible=Dm,me.jsonRulesToAntdRules=zi,me.labelStyles=rw,me.mergeConfig=fE,me.nodeTypeColors=_t,me.registerBuiltinFields=sD,me.resetGlobalWorkflowConfig=L$,me.resolveBool=Hi,me.useCanvasLayout=ZS,me.useDataLoader=dW,me.useDynamicFormContext=pj,me.useFieldRegistry=su,me.useRegisterVariableField=vE,me.useUndo=H$,me.useVariableSelector=K$,me.useVariableSelectorOptional=X$,me.useWorkflow=no,Object.defineProperty(me,Symbol.toStringTag,{value:"Module"})}));