@rubytech/create-maxy-code 0.1.28 → 0.1.30

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 (530) hide show
  1. package/dist/__tests__/init-logging.test.js +85 -0
  2. package/dist/index.js +23 -12
  3. package/dist/init-logging.js +28 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  6. package/payload/platform/plugins/admin/PLUGIN.md +1 -1
  7. package/payload/platform/plugins/admin/hooks/onboarding-skill-drift.sh +56 -54
  8. package/payload/platform/plugins/admin/mcp/dist/index.js +1 -1
  9. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  10. package/payload/platform/plugins/admin/references/contextual-ui.md +4 -2
  11. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +16 -33
  12. package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +2 -2
  13. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +1 -1
  14. package/payload/platform/plugins/brochures/PLUGIN.md +1 -1
  15. package/payload/platform/plugins/buyers/.claude-plugin/plugin.json +1 -1
  16. package/payload/platform/plugins/buyers/PLUGIN.md +2 -3
  17. package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +1 -1
  18. package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +1 -1
  19. package/payload/platform/plugins/docs/references/deployment.md +2 -2
  20. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -3
  21. package/payload/platform/plugins/estate-business/.claude-plugin/plugin.json +1 -1
  22. package/payload/platform/plugins/estate-business/PLUGIN.md +2 -3
  23. package/payload/platform/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
  24. package/payload/platform/plugins/estate-coaching/PLUGIN.md +2 -3
  25. package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
  26. package/payload/platform/plugins/estate-onboarding/PLUGIN.md +2 -3
  27. package/payload/platform/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
  28. package/payload/platform/plugins/estate-sales/PLUGIN.md +2 -3
  29. package/payload/platform/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
  30. package/payload/platform/plugins/estate-teaching/PLUGIN.md +2 -3
  31. package/payload/platform/plugins/leads/.claude-plugin/plugin.json +1 -1
  32. package/payload/platform/plugins/leads/PLUGIN.md +2 -3
  33. package/payload/platform/plugins/listings/.claude-plugin/plugin.json +1 -1
  34. package/payload/platform/plugins/listings/PLUGIN.md +2 -3
  35. package/payload/platform/plugins/loop/.claude-plugin/plugin.json +2 -2
  36. package/payload/platform/plugins/loop/PLUGIN.md +48 -25
  37. package/payload/platform/plugins/real-agency/plugins/.claude-plugin/marketplace.json +13 -0
  38. package/payload/platform/plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +17 -0
  39. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts +2 -0
  40. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts.map +1 -0
  41. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js +293 -0
  42. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js.map +1 -0
  43. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
  44. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
  45. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js +88 -0
  46. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
  47. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
  48. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
  49. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
  50. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
  51. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
  52. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
  53. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
  54. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
  55. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
  56. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
  57. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
  58. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
  59. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
  60. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
  61. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js +35 -0
  62. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
  63. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
  64. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
  65. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
  66. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
  67. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
  68. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
  69. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js +14 -0
  70. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
  71. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
  72. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
  73. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js +60 -0
  74. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
  75. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
  76. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
  77. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
  78. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
  79. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
  80. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
  81. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
  82. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
  83. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
  84. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
  85. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
  86. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
  87. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
  88. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
  89. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
  90. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
  91. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
  92. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
  93. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
  94. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
  95. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
  96. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
  97. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js +87 -0
  98. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
  99. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
  100. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
  101. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
  102. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
  103. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
  104. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
  105. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
  106. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
  107. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
  108. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
  109. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js +11 -0
  110. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
  111. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
  112. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
  113. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js +41 -0
  114. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
  115. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
  116. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
  117. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js +49 -0
  118. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
  119. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
  120. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
  121. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
  122. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
  123. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
  124. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
  125. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js +32 -0
  126. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
  127. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
  128. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
  129. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
  130. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
  131. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
  132. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
  133. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
  134. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
  135. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
  136. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
  137. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
  138. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
  139. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
  140. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
  141. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
  142. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
  143. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  144. package/payload/platform/plugins/vendors/.claude-plugin/plugin.json +1 -1
  145. package/payload/platform/plugins/vendors/PLUGIN.md +2 -3
  146. package/payload/premium-plugins/real-agency/plugins/.claude-plugin/marketplace.json +0 -50
  147. package/payload/premium-plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +3 -3
  148. package/payload/premium-plugins/{real-agency → real-agent}/BUNDLE.md +7 -7
  149. package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/template.json +1 -1
  150. package/payload/premium-plugins/{real-agency → real-agent}/agents/compliance.md +1 -1
  151. package/payload/premium-plugins/{real-agency → real-agent}/agents/negotiator.md +1 -1
  152. package/payload/premium-plugins/{real-agency → real-agent}/agents/valuer.md +1 -1
  153. package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +63 -0
  154. package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/PLUGIN.md +1 -1
  155. package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/.claude-plugin/plugin.json +1 -1
  156. package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/PLUGIN.md +2 -3
  157. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/.claude-plugin/plugin.json +1 -1
  158. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/PLUGIN.md +2 -3
  159. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/.claude-plugin/plugin.json +1 -1
  160. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/PLUGIN.md +2 -3
  161. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/.claude-plugin/plugin.json +1 -1
  162. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/PLUGIN.md +2 -3
  163. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
  164. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/PLUGIN.md +2 -3
  165. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/.claude-plugin/plugin.json +1 -1
  166. package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/PLUGIN.md +2 -3
  167. package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/.claude-plugin/plugin.json +1 -1
  168. package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/PLUGIN.md +2 -3
  169. package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/.claude-plugin/plugin.json +1 -1
  170. package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/PLUGIN.md +2 -3
  171. package/payload/premium-plugins/real-agent/plugins/loop/.claude-plugin/plugin.json +17 -0
  172. package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/PLUGIN.md +48 -25
  173. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts +2 -0
  174. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.d.ts.map +1 -0
  175. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js +293 -0
  176. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/index.js.map +1 -0
  177. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts +10 -0
  178. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.d.ts.map +1 -0
  179. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js +88 -0
  180. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/crypto.js.map +1 -0
  181. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts +82 -0
  182. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +1 -0
  183. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js +427 -0
  184. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/loop-api.js.map +1 -0
  185. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts +5 -0
  186. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +1 -0
  187. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +40 -0
  188. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -0
  189. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +10 -0
  190. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +1 -0
  191. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js +24 -0
  192. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/customer-preferences.js.map +1 -0
  193. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts +16 -0
  194. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.d.ts.map +1 -0
  195. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js +35 -0
  196. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/feedback.js.map +1 -0
  197. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts +5 -0
  198. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +1 -0
  199. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js +19 -0
  200. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-deregister.js.map +1 -0
  201. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts +4 -0
  202. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.d.ts.map +1 -0
  203. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js +14 -0
  204. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-list.js.map +1 -0
  205. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts +9 -0
  206. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.d.ts.map +1 -0
  207. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js +60 -0
  208. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/key-register.js.map +1 -0
  209. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +13 -0
  210. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +1 -0
  211. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js +41 -0
  212. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +1 -0
  213. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +9 -0
  214. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +1 -0
  215. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js +16 -0
  216. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +1 -0
  217. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +15 -0
  218. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +1 -0
  219. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js +11 -0
  220. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +1 -0
  221. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts +10 -0
  222. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +1 -0
  223. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js +39 -0
  224. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/marketing-match.js.map +1 -0
  225. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts +9 -0
  226. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +1 -0
  227. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js +125 -0
  228. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-detail.js.map +1 -0
  229. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts +18 -0
  230. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.d.ts.map +1 -0
  231. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js +87 -0
  232. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/people-search.js.map +1 -0
  233. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts +10 -0
  234. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +1 -0
  235. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js +82 -0
  236. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-detail.js.map +1 -0
  237. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts +12 -0
  238. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +1 -0
  239. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js +32 -0
  240. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-listed.js.map +1 -0
  241. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts +15 -0
  242. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.d.ts.map +1 -0
  243. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js +11 -0
  244. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-request.js.map +1 -0
  245. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts +16 -0
  246. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.d.ts.map +1 -0
  247. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js +41 -0
  248. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/property-search.js.map +1 -0
  249. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts +13 -0
  250. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.d.ts.map +1 -0
  251. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js +49 -0
  252. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/supplier.js.map +1 -0
  253. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts +7 -0
  254. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +1 -0
  255. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js +19 -0
  256. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-availability.js.map +1 -0
  257. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts +5 -0
  258. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.d.ts.map +1 -0
  259. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js +32 -0
  260. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/team-info.js.map +1 -0
  261. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts +14 -0
  262. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +1 -0
  263. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js +11 -0
  264. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-create.js.map +1 -0
  265. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +9 -0
  266. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +1 -0
  267. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js +85 -0
  268. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-detail.js.map +1 -0
  269. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts +13 -0
  270. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +1 -0
  271. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js +44 -0
  272. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-search.js.map +1 -0
  273. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts +14 -0
  274. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +1 -0
  275. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js +18 -0
  276. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/tools/viewing-update.js.map +1 -0
  277. package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/.claude-plugin/plugin.json +1 -1
  278. package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/PLUGIN.md +2 -3
  279. package/payload/server/public/assets/{admin-DW8IJcLc.js → admin-CDvF5de6.js} +5 -5
  280. package/payload/server/public/index.html +1 -1
  281. /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/IDENTITY.md +0 -0
  282. /package/payload/premium-plugins/{real-agency → real-agent}/agents/buyer-enquiry/SOUL.md +0 -0
  283. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/.claude-plugin/plugin.json +0 -0
  284. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/commands/make-brochure.md +0 -0
  285. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -0
  286. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/brand-design/SKILL.md +0 -0
  287. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/SKILL.md +0 -0
  288. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -0
  289. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/SKILL.md +0 -0
  290. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/build.md +0 -0
  291. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/copy.md +0 -0
  292. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/images.md +0 -0
  293. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -0
  294. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/index.html +0 -0
  295. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -0
  296. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/registers.md +0 -0
  297. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -0
  298. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/structure.md +0 -0
  299. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-brochure/references/template.html +0 -0
  300. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/brochures/skills/property-extract/SKILL.md +0 -0
  301. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -0
  302. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/SKILL.md +0 -0
  303. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -0
  304. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -0
  305. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -0
  306. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -0
  307. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -0
  308. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -0
  309. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -0
  310. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -0
  311. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -0
  312. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -0
  313. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -0
  314. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -0
  315. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -0
  316. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -0
  317. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -0
  318. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -0
  319. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/property-enquiry/SKILL.md +0 -0
  320. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/buyers/skills/viewing-management/SKILL.md +0 -0
  321. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/SKILL.md +0 -0
  322. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -0
  323. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -0
  324. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -0
  325. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -0
  326. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -0
  327. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -0
  328. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -0
  329. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -0
  330. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -0
  331. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -0
  332. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/SKILL.md +0 -0
  333. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -0
  334. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -0
  335. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -0
  336. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -0
  337. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/business-operations/references/team-management.md +0 -0
  338. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -0
  339. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -0
  340. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -0
  341. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -0
  342. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -0
  343. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -0
  344. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -0
  345. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -0
  346. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -0
  347. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/month-end-close/SKILL.md +0 -0
  348. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -0
  349. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -0
  350. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/SKILL.md +0 -0
  351. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -0
  352. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -0
  353. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -0
  354. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -0
  355. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -0
  356. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -0
  357. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -0
  358. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -0
  359. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -0
  360. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -0
  361. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -0
  362. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -0
  363. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -0
  364. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -0
  365. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -0
  366. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -0
  367. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -0
  368. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -0
  369. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -0
  370. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -0
  371. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -0
  372. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -0
  373. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -0
  374. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -0
  375. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -0
  376. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -0
  377. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -0
  378. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -0
  379. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -0
  380. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -0
  381. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -0
  382. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -0
  383. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -0
  384. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -0
  385. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -0
  386. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -0
  387. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -0
  388. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -0
  389. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -0
  390. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/SKILL.md +0 -0
  391. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -0
  392. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -0
  393. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -0
  394. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -0
  395. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -0
  396. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -0
  397. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -0
  398. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -0
  399. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -0
  400. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -0
  401. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -0
  402. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -0
  403. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -0
  404. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -0
  405. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -0
  406. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -0
  407. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -0
  408. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -0
  409. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -0
  410. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -0
  411. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -0
  412. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -0
  413. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -0
  414. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -0
  415. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -0
  416. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -0
  417. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -0
  418. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -0
  419. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -0
  420. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/diary-builder/SKILL.md +0 -0
  421. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/enquiry-triage/SKILL.md +0 -0
  422. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/SKILL.md +0 -0
  423. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -0
  424. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -0
  425. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -0
  426. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -0
  427. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -0
  428. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -0
  429. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -0
  430. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -0
  431. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -0
  432. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -0
  433. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -0
  434. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -0
  435. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -0
  436. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -0
  437. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -0
  438. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -0
  439. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -0
  440. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/morning-round/SKILL.md +0 -0
  441. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/SKILL.md +0 -0
  442. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-matching.md +0 -0
  443. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/database-value.md +0 -0
  444. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -0
  445. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/leads/skills/prospecting/references/reactivation.md +0 -0
  446. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/comparable-finder/SKILL.md +0 -0
  447. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/epc-checker/SKILL.md +0 -0
  448. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/SKILL.md +0 -0
  449. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -0
  450. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/photo-day.md +0 -0
  451. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -0
  452. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -0
  453. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -0
  454. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/SKILL.md +0 -0
  455. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -0
  456. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -0
  457. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -0
  458. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -0
  459. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -0
  460. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -0
  461. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/local-market-stats/SKILL.md +0 -0
  462. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/new-instruction/SKILL.md +0 -0
  463. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/particulars-builder/SKILL.md +0 -0
  464. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -0
  465. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -0
  466. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/SKILL.md +0 -0
  467. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -0
  468. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -0
  469. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -0
  470. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -0
  471. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -0
  472. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/supplier-booker/SKILL.md +0 -0
  473. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/talk-track-composer/SKILL.md +0 -0
  474. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -0
  475. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/listings/skills/valuation-prep/SKILL.md +0 -0
  476. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package-lock.json +0 -0
  477. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/package.json +0 -0
  478. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -0
  479. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -0
  480. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/index.ts +0 -0
  481. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/crypto.ts +0 -0
  482. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/loop-api.ts +0 -0
  483. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/lib/neo4j.ts +0 -0
  484. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -0
  485. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/feedback.ts +0 -0
  486. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-deregister.ts +0 -0
  487. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-list.ts +0 -0
  488. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/key-register.ts +0 -0
  489. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -0
  490. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -0
  491. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -0
  492. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/marketing-match.ts +0 -0
  493. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-detail.ts +0 -0
  494. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/people-search.ts +0 -0
  495. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-detail.ts +0 -0
  496. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-listed.ts +0 -0
  497. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-request.ts +0 -0
  498. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/property-search.ts +0 -0
  499. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/supplier.ts +0 -0
  500. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-availability.ts +0 -0
  501. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/team-info.ts +0 -0
  502. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-create.ts +0 -0
  503. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -0
  504. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-search.ts +0 -0
  505. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/src/tools/viewing-update.ts +0 -0
  506. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/tsconfig.json +0 -0
  507. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/mcp/vitest.config.ts +0 -0
  508. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -0
  509. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/priority-ranker/SKILL.md +0 -0
  510. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -0
  511. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/variance-narrator/SKILL.md +0 -0
  512. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/loop/skills/vendor-research/SKILL.md +0 -0
  513. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/SKILL.md +0 -0
  514. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -0
  515. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -0
  516. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -0
  517. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -0
  518. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -0
  519. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -0
  520. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -0
  521. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -0
  522. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -0
  523. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -0
  524. /package/payload/premium-plugins/{real-agency → real-agent}/plugins/vendors/skills/vendor-updates/SKILL.md +0 -0
  525. /package/payload/premium-plugins/{real-agency → real-agent}/specs/00-architecture-and-customization.md +0 -0
  526. /package/payload/premium-plugins/{real-agency → real-agent}/specs/01-morning-round.md +0 -0
  527. /package/payload/premium-plugins/{real-agency → real-agent}/specs/02-valuation-prep.md +0 -0
  528. /package/payload/premium-plugins/{real-agency → real-agent}/specs/03-new-instruction.md +0 -0
  529. /package/payload/premium-plugins/{real-agency → real-agent}/specs/04-chase-progression.md +0 -0
  530. /package/payload/premium-plugins/{real-agency → real-agent}/specs/05-month-end-close.md +0 -0
@@ -1,5 +1,5 @@
1
- import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,c as r,d as i,f as a,h as o,i as s,l as c,m as l,p as u,s as d,t as f,u as p}from"./brand-Bm671owU.js";import{_ as m,c as h,g,h as _,l as v,m as y,o as b,p as x,s as S,u as C,v as ee}from"./graph-labels-C7I5QvNv.js";import{i as w,r as te,t as ne}from"./page-qSH972X0.js";import{i as re,n as ie,r as T}from"./page-B_rpjIRr.js";import{i as E,n as D,o as O,r as k,s as ae}from"./device-url-actions-AcOyLSeF.js";import{t as oe}from"./Checkbox-YIF0payo.js";var se=u(),A=e(o(),1);new Set(`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed,audio/ogg,audio/opus,audio/mp4,audio/mpeg,audio/webm,audio/wav,.opus,.ogg,.m4a,.mp3,.wav,.webm`.split(`,`).filter(e=>!e.startsWith(`.`)));function ce(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}var le=`admin-landing-redirected`,ue=`/graph?onboardingFilter=1`;function de(e){return e.appState===`chat`&&!e.alreadyRedirected}function fe(){let[e,t]=(0,A.useState)(`loading`),[n,r]=(0,A.useState)(``),[i,a]=(0,A.useState)(``),[o,s]=(0,A.useState)(``),[c,l]=(0,A.useState)(``),[u,d]=(0,A.useState)(!1),[f,p]=(0,A.useState)(!1),[m,h]=(0,A.useState)(!1),[g,_]=(0,A.useState)(!1),[v,y]=(0,A.useState)(!1),[b,x]=(0,A.useState)(null),[S,C]=(0,A.useState)(null),[ee,w]=(0,A.useState)(void 0),[te,ne]=(0,A.useState)(void 0),[re,ie]=(0,A.useState)(null),[T,E]=(0,A.useState)(void 0),[D,O]=(0,A.useState)(null),[k,ae]=(0,A.useState)(null),[oe,se]=(0,A.useState)([]),[fe,pe]=(0,A.useState)(!1),[me,he]=(0,A.useState)(void 0),ge=(0,A.useRef)(void 0),[_e,ve]=(0,A.useState)(!1);(0,A.useEffect)(()=>{typeof window>`u`||window.location.hostname.startsWith(`admin.`)&&fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&ve(!0)}).catch(()=>{})},[]);let ye=(0,A.useRef)(null),be=(0,A.useRef)(null),xe=(0,A.useRef)(null);(0,A.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();x(r.session_key),ae(r.conversationId??null),w(r.onboardingComplete),ne(r.businessName),ie(r.role??null),E(r.userName===void 0?null:r.userName),O(r.avatar??null);let i=ce(r.thinkingView);return ge.current=i,he(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,A.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&C(e)}).catch(()=>{})},[e]),(0,A.useEffect)(()=>{if(typeof window>`u`)return;let t=!1;try{t=sessionStorage.getItem(le)===`1`}catch{}if(de({appState:e,alreadyRedirected:t})){try{sessionStorage.setItem(le,`1`)}catch{}console.info(`[admin-ui] landing-redirect target=${ue} onboardingComplete=${ee??`unknown`}`),window.location.replace(ue)}},[e,ee]),(0,A.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,A.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function Se(e,n){p(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){l((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let o=await i.json();if(o.accounts&&!o.session_key){console.log(`[admin] account picker shown: userId=${o.userId} accountCount=${o.accounts.length}`),se(o.accounts),t(`account-picker`);return}x(o.session_key),ae(o.conversationId??null),w(o.onboardingComplete??!0),ne(o.businessName),ie(o.role??null),E(o.userName===void 0?null:o.userName),O(o.avatar??null);let s=ce(o.thinkingView);if(ge.current=s,he(s),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,o.session_key)}catch{}r(``),a(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1),pe(!1)}}let Ce=(0,A.useCallback)(async e=>{if(e.preventDefault(),f)return;l(``);let s=o.trim();if(!s){l(`Please enter your name.`);return}if(n.length<4){l(`PIN must be at least 4 characters.`);return}if(n!==i){l(`PINs do not match.`);return}let c=n;p(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:c,name:s})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):l(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}l(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),a(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await Se(c);return}r(``),a(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),l(`Could not connect.`)}finally{p(!1)}},[n,i,f,o]),we=(0,A.useCallback)(async e=>{e.preventDefault(),l(``),await Se(n)},[n]),j=(0,A.useCallback)(async()=>{y(!0);try{await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),x(null),ie(null),E(void 0),O(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)}finally{y(!1)}},[]),Te=(0,A.useCallback)(()=>{x(null),ie(null),E(void 0),O(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(le)}catch{}r(``),a(``),l(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,confirmPin:i,setConfirmPin:a,operatorName:o,setOperatorName:s,pinError:c,setPinError:l,showPin:u,setShowPin:d,pinLoading:f,authPolling:m,setAuthPolling:h,authLoading:g,setAuthLoading:_,disconnecting:v,cacheKey:b,setCacheKey:x,claudeInfo:S,setClaudeInfo:C,onboardingComplete:ee,setOnboardingComplete:w,businessName:te,role:re,userName:T,userAvatar:D,conversationId:k,setConversationId:ae,accounts:oe,accountPickerLoading:fe,expandAll:me,setExpandAll:he,expandAllDefaultRef:ge,remoteAuthEnabled:_e,pinInputRef:ye,confirmPinInputRef:be,setPinFormRef:xe,handleSetPin:Ce,handleLogin:we,handleAccountSelect:(0,A.useCallback)(async e=>{pe(!0),l(``),await Se(n,e)},[n]),handleDisconnect:j,handleLogout:Te,handleChangePin:(0,A.useCallback)(async()=>{if(!n){l(`Enter your current PIN first.`);return}p(!0),l(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){l((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),a(``),l(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),l(e instanceof Error?e.message:String(e))}finally{p(!1)}},[n])}}var pe=a(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),me=a(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),he=a(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),ge=a(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),_e=a(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),ve=a(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),ye=a(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),be=a(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),xe=a(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Se=a(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ce=a(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),we=a(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),j=n();function Te({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,A.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,j.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,j.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function Ee(e){let{pin:t,setPin:n,confirmPin:r,setConfirmPin:i,showPin:a,setShowPin:o,pinLoading:c,pinError:l,pinInputRef:u,confirmPinInputRef:d,setPinFormRef:p,onSubmit:m,operatorName:h,setOperatorName:g}=e;return(0,j.jsx)(`div`,{className:`connect-page`,children:(0,j.jsxs)(`div`,{className:`connect-content`,children:[(0,j.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,j.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,f.productName]}),(0,j.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,f.productName,` who you are, then choose a PIN.`]}),(0,j.jsxs)(`form`,{ref:p,onSubmit:m,className:`connect-pin-form`,children:[(0,j.jsxs)(`div`,{className:`pin-input-row`,children:[(0,j.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:h,onChange:e=>g(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,j.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,j.jsxs)(`div`,{className:`pin-input-row`,children:[(0,j.jsx)(Te,{inputRef:u,value:t,onChange:n,onComplete:()=>d.current?.focus(),showPin:a}),(0,j.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,j.jsxs)(`div`,{className:`pin-input-row`,children:[(0,j.jsx)(Te,{inputRef:d,value:r,onChange:i,onComplete:()=>{},showPin:a}),(0,j.jsx)(O,{variant:`send`,type:`submit`,disabled:!t||!r||!h.trim(),loading:c,"aria-label":`Set PIN`,children:(0,j.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,j.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,j.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,j.jsx)(oe,{checked:a,onChange:()=>o(e=>!e),label:`Show PIN`})]}),l&&(0,j.jsx)(`p`,{className:`admin-pin-error`,children:l})]})})}function De(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:c,onSubmit:l,onChangePin:u,remoteAuthEnabled:d,onSignOutRemote:p}=e;return(0,j.jsxs)(`div`,{className:`connect-page`,children:[d&&p&&(0,j.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:p,children:`Sign out`}),(0,j.jsxs)(`div`,{className:`connect-content`,children:[(0,j.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,j.jsx)(`h1`,{className:`connect-title`,children:f.productName}),(0,j.jsxs)(`form`,{onSubmit:l,className:`connect-pin-form`,children:[(0,j.jsxs)(`div`,{className:`pin-input-row`,children:[(0,j.jsx)(Te,{inputRef:c,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,j.jsx)(O,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,j.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,j.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,j.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,j.jsxs)(`div`,{className:`pin-options`,children:[(0,j.jsx)(oe,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,j.jsx)(O,{type:`button`,variant:`ghost`,onClick:u,children:`Change PIN`})]})]}),o&&(0,j.jsx)(`p`,{className:`admin-pin-error`,children:o})]})]})}function Oe(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,j.jsx)(`div`,{className:`connect-page`,children:(0,j.jsxs)(`div`,{className:`connect-content`,children:[(0,j.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,j.jsx)(`h1`,{className:`connect-title`,children:f.productName}),(0,j.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,j.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,j.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,j.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,j.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,j.jsx)(y,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,j.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function ke(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:c}=e,[l,u]=(0,A.useState)(!1),[d,p]=(0,A.useState)(!1);async function m(){p(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?u(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}p(!1)}async function h(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),u(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),c(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function g(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||l?(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,j.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,j.jsx)(`button`,{onClick:g,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,j.jsx)(`button`,{onClick:()=>u(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,j.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,j.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,j.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,j.jsx)(`div`,{style:{marginTop:`12px`},children:(0,j.jsx)(O,{variant:`primary`,onClick:h,disabled:r,children:r?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,j.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,j.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,j.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,j.jsxs)(`div`,{className:`connect-page`,children:[(0,j.jsx)(`button`,{onClick:()=>c(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,j.jsxs)(`div`,{className:`connect-content`,children:[(0,j.jsxs)(`div`,{className:`connect-logos`,children:[(0,j.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,j.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,j.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,j.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,j.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,j.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,j.jsx)(`span`,{className:`connect-logo-label`,children:f.productName})]})]}),(0,j.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,f.productName]}),(0,j.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,j.jsx)(O,{variant:`primary`,onClick:h,disabled:r,children:r?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,j.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,j.jsx)(`button`,{onClick:m,disabled:d,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:d?`Launching…`:`Open browser first`}),a&&(0,j.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function Ae({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,A.useState)(!1),[i,a]=(0,A.useState)(``);async function o(){r(!0),a(``);try{let n=await fetch(`/api/onboarding/skip`,{method:`POST`});if(!n.ok){a((await n.json().catch(()=>({}))).error||`Could not apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function c(){e(`connect-claude`)}return(0,j.jsx)(`div`,{className:`connect-page`,children:(0,j.jsxs)(`div`,{className:`connect-content`,children:[(0,j.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,j.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,j.jsx)(`span`,{className:`connect-logo-label`,children:f.productName})]}),(0,j.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,j.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.85rem`,maxWidth:`340px`},children:`Get started keeps the platform on sensible defaults; the agent walk-through asks for your preferences in chat.`}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,j.jsx)(O,{variant:`primary`,onClick:o,disabled:n,children:n?`Applying defaults…`:`Get started`}),(0,j.jsx)(`button`,{onClick:c,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Have the agent walk me through setup`})]}),i&&(0,j.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}var je=`maxy-shell-side-px`;function Me(){if(typeof window>`u`)return 0;let e=document.querySelector(`.platform > .artefact`)?.getBoundingClientRect();return e&&e.width>0?Math.round(e.width):0}function Ne(e){if(typeof window>`u`)return e;let t=window.innerWidth,n=Math.max(248,t-480-Me());return Math.min(Math.max(e,248),n)}function Pe(){if(typeof window>`u`)return 264;try{let e=window.localStorage.getItem(je);if(!e)return 264;let t=parseInt(e,10);if(Number.isFinite(t)&&t>=248)return Ne(t)}catch{}return 264}function Fe({targetSelector:e=`.platform`}){let t=(0,A.useRef)(null),[n,r]=(0,A.useState)(()=>Pe()),i=(0,A.useRef)(n);(0,A.useEffect)(()=>{let t=document.querySelector(e);!t||!(t instanceof HTMLElement)||(t.style.setProperty(`--side-px`,`${n}px`),i.current=n)},[n,e]);let a=(0,A.useCallback)(()=>{r(e=>{let t=Ne(e);return t===e?e:t})},[]);(0,A.useEffect)(()=>{a(),window.addEventListener(`resize`,a);let t=document.querySelector(e),n=null;return t instanceof HTMLElement&&(n=new MutationObserver(a),n.observe(t,{attributes:!0,attributeFilter:[`data-artefact`,`class`]})),()=>{window.removeEventListener(`resize`,a),n?.disconnect()}},[a,e]);let o=e=>{e.preventDefault();let n=t.current;if(!n)return;n.setPointerCapture(e.pointerId),n.classList.add(`dragging`);let a=!1,o=e=>{a=!0,r(Ne(Math.round(e.clientX)))},s=()=>{if(n.releasePointerCapture(e.pointerId),n.classList.remove(`dragging`),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),!a)return;let t=i.current;try{window.localStorage.setItem(je,String(t))}catch{}console.info(`[admin-ui] sidebar-resize px=${t}`)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s)},s=()=>{let e=Ne(264);r(e);try{window.localStorage.removeItem(je)}catch{}console.info(`[admin-ui] sidebar-resize px=${e}`)};return(0,j.jsx)(`div`,{ref:t,className:`side-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,onPointerDown:o,onDoubleClick:s})}var Ie=`maxy-shell-artefact-px`;function Le(){if(typeof window>`u`)return 320;let e=window.innerWidth,t=document.querySelector(`.platform > .side`)?.getBoundingClientRect(),n=t?t.right:Math.round(e*.3);return ze(Math.round((e-n)*(2/3)))}function Re(){if(typeof window>`u`)return 320;try{let e=window.localStorage.getItem(Ie);if(!e)return Le();let t=parseInt(e,10);if(Number.isFinite(t)&&t>=320)return t}catch{}return Le()}function ze(e){if(typeof window>`u`)return e;let t=window.innerWidth,n=document.querySelector(`.platform > .side`)?.getBoundingClientRect(),r=n?n.right:Math.round(t*.3),i=Math.max(320,t-r-480);return Math.min(Math.max(e,320),i)}function Be({targetSelector:e=`.platform`}){let t=(0,A.useRef)(null),[n,r]=(0,A.useState)(()=>Re()),i=(0,A.useRef)(n);(0,A.useEffect)(()=>{let t=document.querySelector(e);!t||!(t instanceof HTMLElement)||(t.style.setProperty(`--artefact-px`,`${n}px`),i.current=n)},[n,e]);let a=(0,A.useCallback)(()=>{r(e=>{let t=ze(e);return t===e?e:t})},[]);(0,A.useEffect)(()=>(a(),window.addEventListener(`resize`,a),()=>window.removeEventListener(`resize`,a)),[a]);let o=e=>{e.preventDefault();let n=t.current;if(!n)return;n.setPointerCapture(e.pointerId),n.classList.add(`dragging`);let a=!1,o=e=>{a=!0,r(ze(Math.round(window.innerWidth-e.clientX)))},s=()=>{if(n.releasePointerCapture(e.pointerId),n.classList.remove(`dragging`),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),!a)return;let t=i.current;try{window.localStorage.setItem(Ie,String(t))}catch{}console.info(`[admin-ui] artefact-resize px=${t}`)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s)},s=()=>{let e=Le();r(e);try{window.localStorage.removeItem(Ie)}catch{}console.info(`[admin-ui] artefact-resize px=${e}`)};return(0,j.jsx)(`div`,{ref:t,className:`art-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize artefact pane`,onPointerDown:o,onDoubleClick:s})}function Ve(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return e;let n=Date.now()-t,r=Math.round(n/1e3);if(r<60)return`${r}s ago`;let i=Math.round(r/60);if(i<60)return`${i}m ago`;let a=Math.round(i/60);return a<24?`${a}h ago`:`${Math.round(a/24)}d ago`}function He(e){return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ue({sessionId:e,cacheKey:t,onRenamed:n,onClose:a,recentsActions:o}){let[s,c]=(0,A.useState)(null),[l,u]=(0,A.useState)(!0),[m,b]=(0,A.useState)(null),[x,C]=(0,A.useState)(!1),[w,te]=(0,A.useState)(``),[ne,re]=(0,A.useState)(!1),[ie,T]=(0,A.useState)(null),[D,O]=(0,A.useState)(null),[k,oe]=(0,A.useState)(null),[se,ce]=(0,A.useState)(!1),le=(0,A.useRef)(null),ue=h(t,o,`pane`),{isPinned:de,togglePin:fe}=S(f.hostname),me=(0,A.useCallback)(async()=>{u(!0),b(null);try{let n=await fetch(`/api/admin/claude-sessions/${encodeURIComponent(e)}/meta?session_key=${encodeURIComponent(t)}`);if(!n.ok){let e=await n.text().catch(()=>``);throw Error(`meta returned ${n.status} ${e.slice(0,200)}`)}let r=await n.json();c(r),te(r.displayName)}catch(e){b(e instanceof Error?e.message:String(e)),console.error(`[admin-ui] sidebar-meta-pane fetch failed:`,e)}finally{u(!1)}},[e,t]);(0,A.useEffect)(()=>{console.info(`[admin-ui] sidebar-meta-pane sessionId=${e.slice(0,8)}`),me()},[me,e]),(0,A.useEffect)(()=>{if(!se)return;let e=e=>{le.current&&!le.current.contains(e.target)&&ce(!1)},t=e=>{e.key===`Escape`&&ce(!1)};return document.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[se]);let he=(0,A.useCallback)(async()=>{if(!s)return;let r=w.trim();if(!r||r===s.displayName){C(!1);return}re(!0);try{let i=await fetch(`/api/admin/claude-sessions/${encodeURIComponent(e)}?session_key=${encodeURIComponent(t)}`,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify({displayName:r})});if(!i.ok){let e=await i.text().catch(()=>``);throw Error(`PATCH ${i.status} ${e.slice(0,200)}`)}c({...s,displayName:r}),C(!1),n()}catch(e){console.error(`[admin-ui] sidebar-meta-pane rename failed:`,e),b(e instanceof Error?e.message:String(e))}finally{re(!1)}},[s,w,e,t,n]),ge=(0,A.useCallback)(async(e,t)=>{T(await E(t)?`Copied ${e}`:`Copy failed`),window.setTimeout(()=>T(null),1500)},[]),_e=(0,A.useCallback)(async(e,t,n)=>{O(null);let r=e===`resume`?await ue.resume(t):e===`end`?await ue.end(t):e===`purge`?await ue.purge(t):e===`archive`?await ue.archive(t):await ue.unarchive(t);if(!r.ok){O(r.error??`action failed`);return}n&&a()},[ue,a]);if(l&&!s)return(0,j.jsx)(`main`,{className:`session-meta-pane`,style:{padding:24},children:(0,j.jsx)(y,{size:16,className:`spinning`})});if(m&&!s)return(0,j.jsxs)(`main`,{className:`session-meta-pane`,style:{padding:24},children:[(0,j.jsx)(`p`,{style:{color:`var(--text-tertiary)`},children:m}),(0,j.jsx)(`button`,{type:`button`,className:`action-btn`,onClick:()=>void me(),children:`Retry`})]});if(!s)return null;let ve=s.sessionId,ye=s.status===`alive`,be=de(s.sessionId),xe=ue.inFlight;return(0,j.jsxs)(`main`,{className:`session-meta-pane`,style:{padding:24,display:`flex`,flexDirection:`column`,gap:20,overflowY:`auto`},children:[(0,j.jsxs)(`header`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[x?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`input`,{type:`text`,value:w,onChange:e=>te(e.target.value),maxLength:256,autoFocus:!0,style:{fontSize:22,fontWeight:600,flex:1,padding:`4px 8px`},onKeyDown:e=>{e.key===`Enter`&&he(),e.key===`Escape`&&(te(s.displayName),C(!1))}}),(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Confirm rename`,disabled:ne,onClick:()=>void he(),children:ne?(0,j.jsx)(y,{size:16,className:`spinning`}):(0,j.jsx)(i,{size:16})}),(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Cancel rename`,onClick:()=>{te(s.displayName),C(!1)},children:(0,j.jsx)(v,{size:16})})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`h2`,{style:{fontSize:22,fontWeight:600,margin:0,flex:1},children:s.displayName}),(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Rename`,onClick:()=>C(!0),children:(0,j.jsx)(Se,{size:16})})]}),(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Close pane`,onClick:a,children:(0,j.jsx)(v,{size:18})})]}),(0,j.jsx)(`section`,{children:(0,j.jsxs)(`dl`,{className:`meta-dl`,children:[(0,j.jsx)(`dt`,{children:`Status`}),(0,j.jsx)(`dd`,{children:ye?`alive · pid ${s.pid??`?`}`:`ended`}),(0,j.jsx)(`dt`,{children:`sessionId`}),(0,j.jsxs)(`dd`,{"data-mono":!0,children:[(0,j.jsx)(`span`,{children:ve}),(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy sessionId`,onClick:()=>void ge(`id`,ve),children:(0,j.jsx)(ae,{size:12})})]}),(0,j.jsx)(`dt`,{children:`Started at`}),(0,j.jsxs)(`dd`,{children:[s.startedAt,` `,(0,j.jsxs)(`span`,{className:`text-tertiary`,children:[`(`,Ve(s.startedAt),`)`]})]}),(0,j.jsx)(`dt`,{children:`Last message`}),(0,j.jsx)(`dd`,{children:s.lastMessageAt?(0,j.jsxs)(j.Fragment,{children:[s.lastMessageAt,` `,(0,j.jsxs)(`span`,{className:`text-tertiary`,children:[`(`,Ve(s.lastMessageAt),`)`]})]}):`—`}),(0,j.jsx)(`dt`,{children:`Turns`}),(0,j.jsxs)(`dd`,{children:[s.turnCount,s.capped?(0,j.jsx)(`span`,{className:`text-tertiary`,children:` (≥, JSONL exceeds tail-read cap)`}):null]}),(0,j.jsx)(`dt`,{children:`JSONL size`}),(0,j.jsx)(`dd`,{children:He(s.sizeBytes)}),(0,j.jsx)(`dt`,{children:`JSONL path`}),(0,j.jsxs)(`dd`,{"data-mono":!0,children:[(0,j.jsx)(`span`,{children:s.jsonlPath??`—`}),s.jsonlPath&&(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy JSONL path`,onClick:()=>void ge(`path`,s.jsonlPath),children:(0,j.jsx)(ae,{size:12})})]}),ye&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`dt`,{children:`Session URL`}),(0,j.jsxs)(`dd`,{"data-mono":!0,children:[(0,j.jsx)(`span`,{children:s.url??`—`}),s.url&&(0,j.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy URL`,onClick:()=>void ge(`URL`,s.url),children:(0,j.jsx)(ae,{size:12})})]}),(0,j.jsx)(`dt`,{children:`Channel`}),(0,j.jsx)(`dd`,{children:s.channel??`—`}),(0,j.jsx)(`dt`,{children:`Role`}),(0,j.jsx)(`dd`,{children:s.role??`—`}),(0,j.jsx)(`dt`,{children:`senderId`}),(0,j.jsx)(`dd`,{"data-mono":!0,children:(0,j.jsx)(`span`,{children:s.senderId||`—`})})]})]})}),(()=>{let e=[];return ye&&s.url&&e.push((0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,onClick:()=>window.open(s.url,`_blank`,`noopener,noreferrer`),children:[(0,j.jsx)(_,{size:14}),` Open in new tab`]},`open-tab`)),s.jsonlPath&&e.push((0,j.jsxs)(`a`,{className:`action-btn`,href:`vscode://file/${s.jsonlPath}`,title:`Open JSONL in VS Code`,children:[(0,j.jsx)(p,{size:14}),` Open JSONL in editor`]},`open-jsonl`)),ye||e.push((0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`primary`,disabled:xe===`resume`,onClick:()=>void _e(`resume`,s.claudeSessionId??s.sessionId,!1),children:[xe===`resume`?(0,j.jsx)(y,{size:14,className:`spinning`}):(0,j.jsx)(r,{size:14}),` Resume`]},`resume`)),e.push((0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,onClick:()=>C(!0),children:[(0,j.jsx)(Se,{size:14}),` Rename`]},`rename`),(0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-active":be?`true`:void 0,onClick:()=>fe(s.sessionId),children:[(0,j.jsx)(Ce,{size:14}),` `,be?`Unpin`:`Pin`]},`pin`),(0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,disabled:xe===`archive`,title:ye?`Manager will refuse with 409 — end the session first`:void 0,onClick:()=>void _e(`archive`,s.sessionId,!ye),children:[xe===`archive`?(0,j.jsx)(y,{size:14,className:`spinning`}):(0,j.jsx)(pe,{size:14}),` Archive`]},`archive`)),e.push(ye?(0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`danger`,disabled:xe===`end`,onClick:()=>oe({action:`end`,sessionId:s.sessionId,displayName:s.displayName}),children:[(0,j.jsx)(ee,{size:14}),` End session`]},`end`):(0,j.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`danger`,disabled:xe===`purge`,onClick:()=>oe({action:`purge`,sessionId:s.sessionId,displayName:s.displayName}),children:[(0,j.jsx)(d,{size:14}),` Purge JSONL`]},`purge`)),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`section`,{className:`action-bar`,children:e}),(0,j.jsxs)(`section`,{className:`session-actions-overflow`,ref:le,children:[(0,j.jsx)(`button`,{type:`button`,className:`session-actions-overflow__trigger`,"aria-label":`Actions`,"aria-haspopup":`menu`,"aria-expanded":se,onClick:()=>{ce(e=>{let t=!e;return t&&console.info(`[admin-ui] pane-actions-overflow-open sessionId=${s.sessionId.slice(0,8)}`),t})},children:(0,j.jsx)(g,{size:14})}),se&&(0,j.jsx)(`div`,{className:`overflow-popover`,role:`menu`,onClick:()=>ce(!1),children:e})]})]})})(),ie&&(0,j.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:ie}),D&&(0,j.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:D}),m&&(0,j.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:m}),k&&(0,j.jsx)(We,{confirm:k,busy:xe===k.action,onCancel:()=>oe(null),onConfirm:async()=>{await _e(k.action,k.sessionId,k.action===`purge`),oe(null)}})]})}function We({confirm:e,busy:t,onCancel:n,onConfirm:r}){let i=e.action===`end`?`End live session?`:`Purge session JSONL?`,a=e.action===`end`?`This kills the PTY for ${e.displayName}. The JSONL is kept on disk and can be resumed later.`:`This hard-deletes the transcript and sidecar for ${e.displayName}. The action cannot be undone.`,o=e.action===`end`?`End session`:`Purge`;return(0,j.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,className:`modal-overlay`,onClick:e=>{e.target===e.currentTarget&&!t&&n()},children:(0,j.jsxs)(`div`,{className:`modal-card`,children:[(0,j.jsx)(`h3`,{style:{margin:0,marginBottom:8,fontSize:16,fontWeight:600},children:i}),(0,j.jsx)(`p`,{style:{margin:0,marginBottom:12,fontSize:13},children:a}),(0,j.jsxs)(`div`,{className:`modal-action-row`,children:[(0,j.jsx)(`button`,{type:`button`,className:`modal-action-btn`,disabled:t,onClick:n,children:`Cancel`}),(0,j.jsx)(`button`,{type:`button`,className:`modal-action-btn`,"data-variant":`danger`,disabled:t,onClick:()=>r(),children:t?(0,j.jsx)(y,{size:13,className:`spinning`}):o})]})]})})}function Ge({onOpen:e}){return(0,j.jsx)(`footer`,{className:`admin-footer`,children:(0,j.jsxs)(`div`,{className:`powered-by`,role:`button`,tabIndex:0,onClick:e,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},"aria-label":`Powered by Claude Code — show details`,children:[(0,j.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,j.jsx)(`span`,{children:`Powered by Claude Code`})]})})}var Ke=t((e=>{var t=o();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,l=r[1];return s(function(){o.value=n,o.getSnapshot=t,u(o)&&l({inst:o})},[e,n,t]),a(function(){return u(o)&&l({inst:o}),e(function(){u(o)&&l({inst:o})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),qe=t(((e,t)=>{t.exports=Ke()})),Je=qe(),Ye=e(l(),1);function Xe(e){this.content=e}Xe.prototype={constructor:Xe,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new Xe(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new Xe(n)},addToStart:function(e,t){return new Xe([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new Xe(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new Xe(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=Xe.from(e),e.size?new Xe(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=Xe.from(e),e.size?new Xe(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=Xe.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},Xe.from=function(e){if(e instanceof Xe)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Xe(t)};function Ze(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=Ze(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function Qe(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=Qe(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var M=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return Ze(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return Qe(this,e,t,n)}findIndex(e){if(e==0)return et(0,e);if(e==this.size)return et(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?et(t+1,i):et(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};M.empty=new M([],0);var $e={index:0,offset:0};function et(e,t){return $e.index=e,$e.offset=t,$e}function tt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!tt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!tt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var N=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&tt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};N.none=[];var nt=class extends Error{},P=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=it(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(rt(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(M.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};P.empty=new P(M.empty,0,0);function rt(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(rt(a.content,t-i-1,n-i-1)))}function it(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=it(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function at(e,t,n){if(n.openStart>e.depth)throw new nt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new nt(`Inconsistent open depths`);return ot(e,t,n,0)}function ot(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=ot(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return dt(a,pt(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return dt(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=mt(n,e);return dt(a,ft(e,i,o,t,r))}}function st(e,t){if(!t.type.compatibleContent(e.type))throw new nt(`Cannot join `+t.type.name+` onto `+e.type.name)}function ct(e,t,n){let r=e.node(n);return st(r,t.node(n)),r}function lt(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function ut(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(lt(e.nodeAfter,r),a++));for(let e=a;e<o;e++)lt(i.child(e),r);t&&t.depth==n&&t.textOffset&&lt(t.nodeBefore,r)}function dt(e,t){return e.type.checkContent(t),e.copy(t)}function ft(e,t,n,r,i){let a=e.depth>i&&ct(e,t,i+1),o=r.depth>i&&ct(n,r,i+1),s=[];return ut(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(st(a,o),lt(dt(a,ft(e,t,n,r,i+1)),s)):(a&&lt(dt(a,pt(e,t,i+1)),s),ut(t,n,i,s),o&&lt(dt(o,pt(n,r,i+1)),s)),ut(r,null,i,s),new M(s)}function pt(e,t,n){let r=[];return ut(null,e,n,r),e.depth>n&&lt(dt(ct(e,t,n+1),pt(e,t,n+1)),r),ut(t,null,n,r),new M(r)}function mt(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(M.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var ht=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return N.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new yt(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=vt.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else vt.set(t,r=new gt);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%_t,i}},gt=class{constructor(){this.elts=[],this.i=0}},_t=12,vt=new WeakMap,yt=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},bt=Object.create(null),xt=class e{constructor(e,t,n,r=N.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||M.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&tt(this.attrs,t||e.defaultAttrs||bt)&&N.sameSet(this.marks,n||N.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return P.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new P(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return at(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return ht.resolveCached(this,e)}resolveNoCache(e){return ht.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),Ct(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=M.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=N.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!N.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=M.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};xt.prototype.text=void 0;var St=class e extends xt{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Ct(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function Ct(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var wt=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Tt(t,n);if(r.next==null)return e.empty;let i=Et(r);r.next&&r.err(`Unexpected trailing text`);let a=It(Nt(i));return Lt(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return M.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
2
- `)}};wt.empty=new wt(!0);var Tt=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function Et(e){let t=[];do t.push(Dt(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function Dt(e){let t=[];do t.push(Ot(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function Ot(e){let t=Mt(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=At(e,t);else break;return t}function kt(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function At(e,t){let n=kt(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:kt(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function jt(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Mt(e){if(e.eat(`(`)){let t=Et(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=jt(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function Nt(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function Pt(e,t){return t-e}function Ft(e,t){let n=[];return r(t),n.sort(Pt);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function It(e){let t=Object.create(null);return n(Ft(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);Ft(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new wt(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(Pt);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function Lt(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function Rt(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function zt(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function Bt(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function Vt(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Wt(e,r,t[r]);return n}var Ht=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=Vt(e,n.attrs),this.defaultAttrs=Rt(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==wt.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:zt(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new xt(this,this.computeAttrs(e),M.from(t),N.setFrom(n))}createChecked(e=null,t,n){return t=M.from(t),this.checkContent(t),new xt(this,this.computeAttrs(e),t,N.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=M.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(M.empty,!0);return i?new xt(this,e,t.append(i),N.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Bt(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:N.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function Ut(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var Wt=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?Ut(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},Gt=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=Vt(e,r.attrs),this.excluded=null;let i=Rt(this.attrs);this.instance=i?new N(this,i):null}create(e=null){return!e&&this.instance?this.instance:new N(this,zt(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){Bt(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},Kt=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=Xe.from(e.nodes),t.marks=Xe.from(e.marks||{}),this.nodes=Ht.compile(this.spec.nodes,this),this.marks=Gt.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=wt.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?qt(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:qt(this,n.split(` `))}this.nodeFromJSON=e=>xt.fromJSON(this,e),this.markFromJSON=e=>N.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof Ht))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new St(n,n.defaultAttrs,e,N.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function qt(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function Jt(e){return e.tag!=null}function Yt(e){return e.style!=null}var Xt=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(Jt(e))this.tags.push(e);else if(Yt(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new on(this,t,!1);return n.addAll(e,N.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new on(this,t,!0);return n.addAll(e,N.none,t.from,t.to),P.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(cn(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=ln(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=ln(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},Zt={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Qt={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},$t={ol:!0,ul:!0},en=1,tn=2,nn=4;function rn(e,t,n){return t==null?e&&e.whitespace==`pre`?en|tn:n&~nn:(t?en:0)|(t===`full`?tn:0)}var an=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=N.none,this.match=i||(a&nn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(M.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&en)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=M.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(M.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Zt.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},on=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=rn(null,t.preserveWhitespace,0)|(n?nn:0);i=r?new an(r.type,r.attrs,N.none,!0,t.topMatch||r.type.contentMatch,a):n?new an(null,null,N.none,!0,null,a):new an(e.schema.topNodeType,null,N.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&tn?`full`:this.localPreserveWS||(r.options&en)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
1
+ import{o as e,t}from"./chunk-DD-I1_y5.js";import{a as n,c as r,d as i,f as a,h as o,i as s,l as c,m as l,p as u,s as d,t as f,u as p}from"./brand-Bm671owU.js";import{_ as m,c as h,g,h as _,l as v,m as y,o as b,p as x,s as S,u as C,v as ee}from"./graph-labels-C7I5QvNv.js";import{i as w,r as te,t as ne}from"./page-qSH972X0.js";import{i as re,n as ie,r as ae}from"./page-B_rpjIRr.js";import{i as T,n as E,o as D,r as O,s as oe}from"./device-url-actions-AcOyLSeF.js";import{t as se}from"./Checkbox-YIF0payo.js";var ce=u(),k=e(o(),1);new Set(`image/jpeg,image/png,image/gif,image/webp,application/pdf,text/plain,text/markdown,text/csv,text/html,text/calendar,application/zip,application/x-zip-compressed,audio/ogg,audio/opus,audio/mp4,audio/mpeg,audio/webm,audio/wav,.opus,.ogg,.m4a,.mp3,.wav,.webm`.split(`,`).filter(e=>!e.startsWith(`.`)));function le(e){switch(e){case`expanded`:return!0;case`collapsed`:return!1;default:return}}var ue=`admin-landing-redirected`,de=`/graph?onboardingFilter=1`;function fe(e){return e.appState===`chat`&&!e.alreadyRedirected}function pe(){let[e,t]=(0,k.useState)(`loading`),[n,r]=(0,k.useState)(``),[i,a]=(0,k.useState)(``),[o,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(!1),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(!1),[m,h]=(0,k.useState)(!1),[g,_]=(0,k.useState)(!1),[v,y]=(0,k.useState)(null),[b,x]=(0,k.useState)(null),[S,C]=(0,k.useState)(void 0),[ee,w]=(0,k.useState)(void 0),[te,ne]=(0,k.useState)(null),[re,ie]=(0,k.useState)(void 0),[ae,T]=(0,k.useState)(null),[E,D]=(0,k.useState)(null),[O,oe]=(0,k.useState)([]),[se,ce]=(0,k.useState)(!1),[pe,me]=(0,k.useState)(void 0),he=(0,k.useRef)(void 0),[ge,_e]=(0,k.useState)(!1);(0,k.useEffect)(()=>{typeof window>`u`||window.location.hostname.startsWith(`admin.`)&&fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&_e(!0)}).catch(()=>{})},[]);let ve=(0,k.useRef)(null),ye=(0,k.useRef)(null);(0,k.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let n=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(n.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!n.ok)return!1;let r=await n.json();y(r.session_key),D(r.conversationId??null),C(r.onboardingComplete),w(r.businessName),ne(r.role??null),ie(r.userName===void 0?null:r.userName),T(r.avatar??null);let i=le(r.thinkingView);return he.current=i,me(i),t(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function n(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check returned ${i.status} after retries`),t(`set-pin`);return}let a=await i.json();if(!a.pin_configured){t(`set-pin`);return}if(a.onboarding_complete===!1){t(`onboarding-choice`);return}if(!a.claude_authenticated){t(`connect-claude`);return}if(await e())return;t(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),n(r-1);console.error(`[admin] health check failed:`,e),t(`set-pin`)}}n()},[]),(0,k.useEffect)(()=>{e===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&x(e)}).catch(()=>{})},[e]),(0,k.useEffect)(()=>{if(typeof window>`u`)return;let t=!1;try{t=sessionStorage.getItem(ue)===`1`}catch{}if(fe({appState:e,alreadyRedirected:t})){try{sessionStorage.setItem(ue,`1`)}catch{}console.info(`[admin-ui] landing-redirect target=${de} onboardingComplete=${S??`unknown`}`),window.location.replace(de)}},[e,S]),(0,k.useEffect)(()=>{if(e!==`chat`)return;let n=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(!e.ok)return;let n=await e.json();(n.auth_status===`dead`||n.auth_status===`missing`)&&t(`connect-claude`)}catch{}},300*1e3);return()=>clearInterval(n)},[e]),(0,k.useEffect)(()=>{e===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&t(`enter-pin`)}).catch(()=>{})},[e]);async function be(e,n){d(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...n?{accountId:n}:{}})});if(!i.ok){s((await i.json().catch(()=>({}))).error||`Invalid PIN`);return}let a=await i.json();if(a.accounts&&!a.session_key){console.log(`[admin] account picker shown: userId=${a.userId} accountCount=${a.accounts.length}`),oe(a.accounts),t(`account-picker`);return}y(a.session_key),D(a.conversationId??null),C(a.onboardingComplete??!0),w(a.businessName),ne(a.role??null),ie(a.userName===void 0?null:a.userName),T(a.avatar??null);let o=le(a.thinkingView);if(he.current=o,me(o),n)try{sessionStorage.setItem(`maxy-account-id`,n)}catch{}try{sessionStorage.setItem(`maxy-admin-session-key`,a.session_key)}catch{}r(``),t(`chat`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1),ce(!1)}}let xe=(0,k.useCallback)(async e=>{if(e.preventDefault(),u)return;s(``);let a=i.trim();if(!a){s(`Please enter your name.`);return}if(n.length<4){s(`PIN must be at least 4 characters.`);return}let o=n;d(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o,name:a})});if(!e.ok){let n=await e.json().catch(()=>({}));if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?t(`enter-pin`):r.pin_configured?t(`connect-claude`):s(n.error||`Failed to set PIN.`)}else t(`enter-pin`)}catch{t(`enter-pin`)}return}s(n.error||`Failed to set PIN.`);return}let n=await fetch(`/api/health`),i=n.ok?await n.json():null;if(i?.onboarding_complete===!1){r(``),t(`onboarding-choice`);return}if(i?.claude_authenticated){await be(o);return}r(``),t(`onboarding-choice`)}catch(e){console.error(`[admin] connection error:`,e),s(`Could not connect.`)}finally{d(!1)}},[n,u,i]),Se=(0,k.useCallback)(async e=>{e.preventDefault(),s(``),await be(n)},[n]),Ce=(0,k.useCallback)(async()=>{_(!0);try{await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`logout`})}),y(null),ne(null),ie(void 0),T(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}t(`connect-claude`)}finally{_(!1)}},[]),we=(0,k.useCallback)(()=>{y(null),ne(null),ie(void 0),T(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(ue)}catch{}r(``),s(``),t(`enter-pin`)},[]);return{appState:e,setAppState:t,pin:n,setPin:r,operatorName:i,setOperatorName:a,pinError:o,setPinError:s,showPin:c,setShowPin:l,pinLoading:u,authPolling:f,setAuthPolling:p,authLoading:m,setAuthLoading:h,disconnecting:g,cacheKey:v,setCacheKey:y,claudeInfo:b,setClaudeInfo:x,onboardingComplete:S,setOnboardingComplete:C,businessName:ee,role:te,userName:re,userAvatar:ae,conversationId:E,setConversationId:D,accounts:O,accountPickerLoading:se,expandAll:pe,setExpandAll:me,expandAllDefaultRef:he,remoteAuthEnabled:ge,pinInputRef:ve,setPinFormRef:ye,handleSetPin:xe,handleLogin:Se,handleAccountSelect:(0,k.useCallback)(async e=>{ce(!0),s(``),await be(n,e)},[n]),handleDisconnect:Ce,handleLogout:we,handleChangePin:(0,k.useCallback)(async()=>{if(!n){s(`Enter your current PIN first.`);return}d(!0),s(``);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({currentPin:n})});if(!e.ok){s((await e.json().catch(()=>({error:`Incorrect PIN.`}))).error||`Incorrect PIN.`);return}r(``),s(``),t(`set-pin`)}catch(e){console.error(`[admin-auth] change pin failed:`,e),s(e instanceof Error?e.message:String(e))}finally{d(!1)}},[n])}}var me=a(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),he=a(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),ge=a(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),_e=a(`file-exclamation-point`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ve=a(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),ye=a(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),be=a(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),xe=a(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Se=a(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Ce=a(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),we=a(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Te=a(`square-arrow-down-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m16 8-8 8`,key:`166keh`}],[`path`,{d:`M16 16H8V8`,key:`1w2ppm`}]]),A=n();function Ee({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,k.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,A.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,A.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function De(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:c,setPinFormRef:l,onSubmit:u,operatorName:d,setOperatorName:p}=e;return(0,A.jsx)(`div`,{className:`connect-page`,children:(0,A.jsxs)(`div`,{className:`connect-content`,children:[(0,A.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,A.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,f.productName]}),(0,A.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,f.productName,` who you are, then choose a PIN.`]}),(0,A.jsxs)(`form`,{ref:l,onSubmit:u,className:`connect-pin-form`,children:[(0,A.jsxs)(`div`,{className:`pin-input-row`,children:[(0,A.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:d,onChange:e=>p(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,A.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,A.jsxs)(`div`,{className:`pin-input-row`,children:[(0,A.jsx)(Ee,{inputRef:c,value:t,onChange:n,onComplete:()=>{},showPin:r}),(0,A.jsx)(D,{variant:`send`,type:`submit`,disabled:!t||!d.trim(),loading:a,"aria-label":`Set PIN`,children:(0,A.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,A.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,A.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,A.jsx)(se,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`})]}),o&&(0,A.jsx)(`p`,{className:`admin-pin-error`,children:o})]})})}function Oe(e){let{pin:t,setPin:n,showPin:r,setShowPin:i,pinLoading:a,pinError:o,pinInputRef:c,onSubmit:l,onChangePin:u,remoteAuthEnabled:d,onSignOutRemote:p}=e;return(0,A.jsxs)(`div`,{className:`connect-page`,children:[d&&p&&(0,A.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:p,children:`Sign out`}),(0,A.jsxs)(`div`,{className:`connect-content`,children:[(0,A.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,A.jsx)(`h1`,{className:`connect-title`,children:f.productName}),(0,A.jsxs)(`form`,{onSubmit:l,className:`connect-pin-form`,children:[(0,A.jsxs)(`div`,{className:`pin-input-row`,children:[(0,A.jsx)(Ee,{inputRef:c,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,A.jsx)(D,{variant:`send`,type:`submit`,disabled:!t,loading:a,children:(0,A.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,A.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,A.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,A.jsxs)(`div`,{className:`pin-options`,children:[(0,A.jsx)(se,{checked:r,onChange:()=>i(e=>!e),label:`Show PIN`}),(0,A.jsx)(D,{type:`button`,variant:`ghost`,onClick:u,children:`Change PIN`})]})]}),o&&(0,A.jsx)(`p`,{className:`admin-pin-error`,children:o})]})]})}function ke(e){let{accounts:t,loading:n,error:r,onSelect:i}=e;return(0,A.jsx)(`div`,{className:`connect-page`,children:(0,A.jsxs)(`div`,{className:`connect-content`,children:[(0,A.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,A.jsx)(`h1`,{className:`connect-title`,children:f.productName}),(0,A.jsx)(`p`,{className:`connect-subtitle`,children:`Select an account`}),(0,A.jsx)(`div`,{className:`account-picker-list`,children:t.map(e=>(0,A.jsxs)(`button`,{className:`account-picker-card`,onClick:()=>i(e.accountId),disabled:n,type:`button`,children:[(0,A.jsx)(`span`,{className:`account-picker-name`,children:e.businessName||e.accountId}),(0,A.jsx)(`span`,{className:`account-picker-role`,children:e.role}),n&&(0,A.jsx)(y,{className:`account-picker-spinner`,size:16})]},e.accountId))}),r&&(0,A.jsx)(`p`,{className:`admin-pin-error`,children:r})]})})}function Ae(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:i,pinError:a,setPinError:o,setAppState:c}=e,[l,u]=(0,k.useState)(!1),[d,p]=(0,k.useState)(!1);async function m(){p(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?u(!0):e.error&&o(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),o(`Could not launch browser.`)}p(!1)}async function h(){i(!0),o(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),u(!0),i(!1);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),c(`enter-pin`);return}o(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&o(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),o(`Could not start auth flow.`)}i(!1)}async function g(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),o(``)}return t||l?(0,A.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,A.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,A.jsx)(`button`,{onClick:g,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,A.jsx)(`button`,{onClick:()=>u(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,A.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,A.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,A.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,A.jsx)(`div`,{style:{marginTop:`12px`},children:(0,A.jsx)(D,{variant:`primary`,onClick:h,disabled:r,children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})})]}),(0,A.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,A.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),a&&(0,A.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:a})]}):(0,A.jsxs)(`div`,{className:`connect-page`,children:[(0,A.jsx)(`button`,{onClick:()=>c(`onboarding-choice`),style:{position:`fixed`,top:`16px`,left:`16px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Back to setup choice`,children:`← Back`}),(0,A.jsxs)(`div`,{className:`connect-content`,children:[(0,A.jsxs)(`div`,{className:`connect-logos`,children:[(0,A.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,A.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,A.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,A.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,A.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,A.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,A.jsx)(`span`,{className:`connect-logo-label`,children:f.productName})]})]}),(0,A.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,f.productName]}),(0,A.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,A.jsx)(D,{variant:`primary`,onClick:h,disabled:r,children:r?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,A.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,A.jsx)(`button`,{onClick:m,disabled:d,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:d?`Launching…`:`Open browser first`}),a&&(0,A.jsx)(`p`,{className:`admin-pin-error`,children:a})]})]})}function je({setAppState:e,setOnboardingComplete:t}){let[n,r]=(0,k.useState)(!1),[i,a]=(0,k.useState)(``);async function o(){r(!0),a(``);try{let n=await fetch(`/api/onboarding/skip`,{method:`POST`});if(!n.ok){a((await n.json().catch(()=>({}))).error||`Could not apply defaults.`);return}t(!0),e(`connect-claude`)}catch(e){console.error(`[admin] skip onboarding error:`,e),a(`Could not apply defaults.`)}finally{r(!1)}}function c(){e(`connect-claude`)}return(0,A.jsx)(`div`,{className:`connect-page`,children:(0,A.jsxs)(`div`,{className:`connect-content`,children:[(0,A.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,A.jsx)(`img`,{src:s,alt:f.productName,className:`connect-logo connect-logo--maxy`}),!f.logoContainsName&&(0,A.jsx)(`span`,{className:`connect-logo-label`,children:f.productName})]}),(0,A.jsx)(`h1`,{className:`connect-title`,children:`How would you like to get started?`}),(0,A.jsx)(`p`,{className:`connect-subtitle`,style:{fontSize:`0.85rem`,maxWidth:`340px`},children:`Get started keeps the platform on sensible defaults; the agent walk-through asks for your preferences in chat.`}),(0,A.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`10px`,width:`100%`,maxWidth:`320px`,alignItems:`center`},children:[(0,A.jsx)(D,{variant:`primary`,onClick:o,disabled:n,children:n?`Applying defaults…`:`Get started`}),(0,A.jsx)(`button`,{onClick:c,disabled:n,style:{background:`none`,border:`none`,padding:`8px`,cursor:`pointer`,fontSize:`0.95rem`,color:`var(--text-secondary, #666)`,textDecoration:`none`},children:`Have the agent walk me through setup`})]}),i&&(0,A.jsx)(`p`,{className:`admin-pin-error`,children:i})]})})}var Me=`maxy-shell-side-px`;function Ne(){if(typeof window>`u`)return 0;let e=document.querySelector(`.platform > .artefact`)?.getBoundingClientRect();return e&&e.width>0?Math.round(e.width):0}function Pe(e){if(typeof window>`u`)return e;let t=window.innerWidth,n=Math.max(248,t-480-Ne());return Math.min(Math.max(e,248),n)}function Fe(){if(typeof window>`u`)return 264;try{let e=window.localStorage.getItem(Me);if(!e)return 264;let t=parseInt(e,10);if(Number.isFinite(t)&&t>=248)return Pe(t)}catch{}return 264}function Ie({targetSelector:e=`.platform`}){let t=(0,k.useRef)(null),[n,r]=(0,k.useState)(()=>Fe()),i=(0,k.useRef)(n);(0,k.useEffect)(()=>{let t=document.querySelector(e);!t||!(t instanceof HTMLElement)||(t.style.setProperty(`--side-px`,`${n}px`),i.current=n)},[n,e]);let a=(0,k.useCallback)(()=>{r(e=>{let t=Pe(e);return t===e?e:t})},[]);(0,k.useEffect)(()=>{a(),window.addEventListener(`resize`,a);let t=document.querySelector(e),n=null;return t instanceof HTMLElement&&(n=new MutationObserver(a),n.observe(t,{attributes:!0,attributeFilter:[`data-artefact`,`class`]})),()=>{window.removeEventListener(`resize`,a),n?.disconnect()}},[a,e]);let o=e=>{e.preventDefault();let n=t.current;if(!n)return;n.setPointerCapture(e.pointerId),n.classList.add(`dragging`);let a=!1,o=e=>{a=!0,r(Pe(Math.round(e.clientX)))},s=()=>{if(n.releasePointerCapture(e.pointerId),n.classList.remove(`dragging`),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),!a)return;let t=i.current;try{window.localStorage.setItem(Me,String(t))}catch{}console.info(`[admin-ui] sidebar-resize px=${t}`)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s)},s=()=>{let e=Pe(264);r(e);try{window.localStorage.removeItem(Me)}catch{}console.info(`[admin-ui] sidebar-resize px=${e}`)};return(0,A.jsx)(`div`,{ref:t,className:`side-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,onPointerDown:o,onDoubleClick:s})}var Le=`maxy-shell-artefact-px`;function Re(){if(typeof window>`u`)return 320;let e=window.innerWidth,t=document.querySelector(`.platform > .side`)?.getBoundingClientRect(),n=t?t.right:Math.round(e*.3);return Be(Math.round((e-n)*(2/3)))}function ze(){if(typeof window>`u`)return 320;try{let e=window.localStorage.getItem(Le);if(!e)return Re();let t=parseInt(e,10);if(Number.isFinite(t)&&t>=320)return t}catch{}return Re()}function Be(e){if(typeof window>`u`)return e;let t=window.innerWidth,n=document.querySelector(`.platform > .side`)?.getBoundingClientRect(),r=n?n.right:Math.round(t*.3),i=Math.max(320,t-r-480);return Math.min(Math.max(e,320),i)}function Ve({targetSelector:e=`.platform`}){let t=(0,k.useRef)(null),[n,r]=(0,k.useState)(()=>ze()),i=(0,k.useRef)(n);(0,k.useEffect)(()=>{let t=document.querySelector(e);!t||!(t instanceof HTMLElement)||(t.style.setProperty(`--artefact-px`,`${n}px`),i.current=n)},[n,e]);let a=(0,k.useCallback)(()=>{r(e=>{let t=Be(e);return t===e?e:t})},[]);(0,k.useEffect)(()=>(a(),window.addEventListener(`resize`,a),()=>window.removeEventListener(`resize`,a)),[a]);let o=e=>{e.preventDefault();let n=t.current;if(!n)return;n.setPointerCapture(e.pointerId),n.classList.add(`dragging`);let a=!1,o=e=>{a=!0,r(Be(Math.round(window.innerWidth-e.clientX)))},s=()=>{if(n.releasePointerCapture(e.pointerId),n.classList.remove(`dragging`),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),!a)return;let t=i.current;try{window.localStorage.setItem(Le,String(t))}catch{}console.info(`[admin-ui] artefact-resize px=${t}`)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s)},s=()=>{let e=Re();r(e);try{window.localStorage.removeItem(Le)}catch{}console.info(`[admin-ui] artefact-resize px=${e}`)};return(0,A.jsx)(`div`,{ref:t,className:`art-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize artefact pane`,onPointerDown:o,onDoubleClick:s})}function He(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return e;let n=Date.now()-t,r=Math.round(n/1e3);if(r<60)return`${r}s ago`;let i=Math.round(r/60);if(i<60)return`${i}m ago`;let a=Math.round(i/60);return a<24?`${a}h ago`:`${Math.round(a/24)}d ago`}function Ue(e){return e==null?`—`:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function We({sessionId:e,cacheKey:t,onRenamed:n,onClose:a,recentsActions:o}){let[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)(!0),[m,b]=(0,k.useState)(null),[x,C]=(0,k.useState)(!1),[w,te]=(0,k.useState)(``),[ne,re]=(0,k.useState)(!1),[ie,ae]=(0,k.useState)(null),[E,D]=(0,k.useState)(null),[O,se]=(0,k.useState)(null),[ce,le]=(0,k.useState)(!1),ue=(0,k.useRef)(null),de=h(t,o,`pane`),{isPinned:fe,togglePin:pe}=S(f.hostname),he=(0,k.useCallback)(async()=>{u(!0),b(null);try{let n=await fetch(`/api/admin/claude-sessions/${encodeURIComponent(e)}/meta?session_key=${encodeURIComponent(t)}`);if(!n.ok){let e=await n.text().catch(()=>``);throw Error(`meta returned ${n.status} ${e.slice(0,200)}`)}let r=await n.json();c(r),te(r.displayName)}catch(e){b(e instanceof Error?e.message:String(e)),console.error(`[admin-ui] sidebar-meta-pane fetch failed:`,e)}finally{u(!1)}},[e,t]);(0,k.useEffect)(()=>{console.info(`[admin-ui] sidebar-meta-pane sessionId=${e.slice(0,8)}`),he()},[he,e]),(0,k.useEffect)(()=>{if(!ce)return;let e=e=>{ue.current&&!ue.current.contains(e.target)&&le(!1)},t=e=>{e.key===`Escape`&&le(!1)};return document.addEventListener(`mousedown`,e),window.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),window.removeEventListener(`keydown`,t)}},[ce]);let ge=(0,k.useCallback)(async()=>{if(!s)return;let r=w.trim();if(!r||r===s.displayName){C(!1);return}re(!0);try{let i=await fetch(`/api/admin/claude-sessions/${encodeURIComponent(e)}?session_key=${encodeURIComponent(t)}`,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify({displayName:r})});if(!i.ok){let e=await i.text().catch(()=>``);throw Error(`PATCH ${i.status} ${e.slice(0,200)}`)}c({...s,displayName:r}),C(!1),n()}catch(e){console.error(`[admin-ui] sidebar-meta-pane rename failed:`,e),b(e instanceof Error?e.message:String(e))}finally{re(!1)}},[s,w,e,t,n]),_e=(0,k.useCallback)(async(e,t)=>{ae(await T(t)?`Copied ${e}`:`Copy failed`),window.setTimeout(()=>ae(null),1500)},[]),ve=(0,k.useCallback)(async(e,t,n)=>{D(null);let r=e===`resume`?await de.resume(t):e===`end`?await de.end(t):e===`purge`?await de.purge(t):e===`archive`?await de.archive(t):await de.unarchive(t);if(!r.ok){D(r.error??`action failed`);return}n&&a()},[de,a]);if(l&&!s)return(0,A.jsx)(`main`,{className:`session-meta-pane`,style:{padding:24},children:(0,A.jsx)(y,{size:16,className:`spinning`})});if(m&&!s)return(0,A.jsxs)(`main`,{className:`session-meta-pane`,style:{padding:24},children:[(0,A.jsx)(`p`,{style:{color:`var(--text-tertiary)`},children:m}),(0,A.jsx)(`button`,{type:`button`,className:`action-btn`,onClick:()=>void he(),children:`Retry`})]});if(!s)return null;let ye=s.sessionId,be=s.status===`alive`,xe=fe(s.sessionId),Se=de.inFlight;return(0,A.jsxs)(`main`,{className:`session-meta-pane`,style:{padding:24,display:`flex`,flexDirection:`column`,gap:20,overflowY:`auto`},children:[(0,A.jsxs)(`header`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[x?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`input`,{type:`text`,value:w,onChange:e=>te(e.target.value),maxLength:256,autoFocus:!0,style:{fontSize:22,fontWeight:600,flex:1,padding:`4px 8px`},onKeyDown:e=>{e.key===`Enter`&&ge(),e.key===`Escape`&&(te(s.displayName),C(!1))}}),(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Confirm rename`,disabled:ne,onClick:()=>void ge(),children:ne?(0,A.jsx)(y,{size:16,className:`spinning`}):(0,A.jsx)(i,{size:16})}),(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Cancel rename`,onClick:()=>{te(s.displayName),C(!1)},children:(0,A.jsx)(v,{size:16})})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`h2`,{style:{fontSize:22,fontWeight:600,margin:0,flex:1},children:s.displayName}),(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Rename`,onClick:()=>C(!0),children:(0,A.jsx)(Ce,{size:16})})]}),(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Close pane`,onClick:a,children:(0,A.jsx)(v,{size:18})})]}),(0,A.jsx)(`section`,{children:(0,A.jsxs)(`dl`,{className:`meta-dl`,children:[(0,A.jsx)(`dt`,{children:`Status`}),(0,A.jsx)(`dd`,{children:be?`alive · pid ${s.pid??`?`}`:`ended`}),(0,A.jsx)(`dt`,{children:`sessionId`}),(0,A.jsxs)(`dd`,{"data-mono":!0,children:[(0,A.jsx)(`span`,{children:ye}),(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy sessionId`,onClick:()=>void _e(`id`,ye),children:(0,A.jsx)(oe,{size:12})})]}),(0,A.jsx)(`dt`,{children:`Started at`}),(0,A.jsxs)(`dd`,{children:[s.startedAt,` `,(0,A.jsxs)(`span`,{className:`text-tertiary`,children:[`(`,He(s.startedAt),`)`]})]}),(0,A.jsx)(`dt`,{children:`Last message`}),(0,A.jsx)(`dd`,{children:s.lastMessageAt?(0,A.jsxs)(A.Fragment,{children:[s.lastMessageAt,` `,(0,A.jsxs)(`span`,{className:`text-tertiary`,children:[`(`,He(s.lastMessageAt),`)`]})]}):`—`}),(0,A.jsx)(`dt`,{children:`Turns`}),(0,A.jsxs)(`dd`,{children:[s.turnCount,s.capped?(0,A.jsx)(`span`,{className:`text-tertiary`,children:` (≥, JSONL exceeds tail-read cap)`}):null]}),(0,A.jsx)(`dt`,{children:`JSONL size`}),(0,A.jsx)(`dd`,{children:Ue(s.sizeBytes)}),(0,A.jsx)(`dt`,{children:`JSONL path`}),(0,A.jsxs)(`dd`,{"data-mono":!0,children:[(0,A.jsx)(`span`,{children:s.jsonlPath??`—`}),s.jsonlPath&&(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy JSONL path`,onClick:()=>void _e(`path`,s.jsonlPath),children:(0,A.jsx)(oe,{size:12})})]}),be&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`dt`,{children:`Session URL`}),(0,A.jsxs)(`dd`,{"data-mono":!0,children:[(0,A.jsx)(`span`,{children:s.url??`—`}),s.url&&(0,A.jsx)(`button`,{type:`button`,className:`icon-btn`,"aria-label":`Copy URL`,onClick:()=>void _e(`URL`,s.url),children:(0,A.jsx)(oe,{size:12})})]}),(0,A.jsx)(`dt`,{children:`Channel`}),(0,A.jsx)(`dd`,{children:s.channel??`—`}),(0,A.jsx)(`dt`,{children:`Role`}),(0,A.jsx)(`dd`,{children:s.role??`—`}),(0,A.jsx)(`dt`,{children:`senderId`}),(0,A.jsx)(`dd`,{"data-mono":!0,children:(0,A.jsx)(`span`,{children:s.senderId||`—`})})]})]})}),(()=>{let e=[];return be&&s.url&&e.push((0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,onClick:()=>window.open(s.url,`_blank`,`noopener,noreferrer`),children:[(0,A.jsx)(_,{size:14}),` Open in new tab`]},`open-tab`)),s.jsonlPath&&e.push((0,A.jsxs)(`a`,{className:`action-btn`,href:`vscode://file/${s.jsonlPath}`,title:`Open JSONL in VS Code`,children:[(0,A.jsx)(p,{size:14}),` Open JSONL in editor`]},`open-jsonl`)),be||e.push((0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`primary`,disabled:Se===`resume`,onClick:()=>void ve(`resume`,s.claudeSessionId??s.sessionId,!1),children:[Se===`resume`?(0,A.jsx)(y,{size:14,className:`spinning`}):(0,A.jsx)(r,{size:14}),` Resume`]},`resume`)),e.push((0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,onClick:()=>C(!0),children:[(0,A.jsx)(Ce,{size:14}),` Rename`]},`rename`),(0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-active":xe?`true`:void 0,onClick:()=>pe(s.sessionId),children:[(0,A.jsx)(we,{size:14}),` `,xe?`Unpin`:`Pin`]},`pin`),(0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,disabled:Se===`archive`,title:be?`Manager will refuse with 409 — end the session first`:void 0,onClick:()=>void ve(`archive`,s.sessionId,!be),children:[Se===`archive`?(0,A.jsx)(y,{size:14,className:`spinning`}):(0,A.jsx)(me,{size:14}),` Archive`]},`archive`)),e.push(be?(0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`danger`,disabled:Se===`end`,onClick:()=>se({action:`end`,sessionId:s.sessionId,displayName:s.displayName}),children:[(0,A.jsx)(ee,{size:14}),` End session`]},`end`):(0,A.jsxs)(`button`,{type:`button`,className:`action-btn`,"data-variant":`danger`,disabled:Se===`purge`,onClick:()=>se({action:`purge`,sessionId:s.sessionId,displayName:s.displayName}),children:[(0,A.jsx)(d,{size:14}),` Purge JSONL`]},`purge`)),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`section`,{className:`action-bar`,children:e}),(0,A.jsxs)(`section`,{className:`session-actions-overflow`,ref:ue,children:[(0,A.jsx)(`button`,{type:`button`,className:`session-actions-overflow__trigger`,"aria-label":`Actions`,"aria-haspopup":`menu`,"aria-expanded":ce,onClick:()=>{le(e=>{let t=!e;return t&&console.info(`[admin-ui] pane-actions-overflow-open sessionId=${s.sessionId.slice(0,8)}`),t})},children:(0,A.jsx)(g,{size:14})}),ce&&(0,A.jsx)(`div`,{className:`overflow-popover`,role:`menu`,onClick:()=>le(!1),children:e})]})]})})(),ie&&(0,A.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:ie}),E&&(0,A.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:E}),m&&(0,A.jsx)(`div`,{style:{color:`var(--text-tertiary)`,fontSize:12},children:m}),O&&(0,A.jsx)(Ge,{confirm:O,busy:Se===O.action,onCancel:()=>se(null),onConfirm:async()=>{await ve(O.action,O.sessionId,O.action===`purge`),se(null)}})]})}function Ge({confirm:e,busy:t,onCancel:n,onConfirm:r}){let i=e.action===`end`?`End live session?`:`Purge session JSONL?`,a=e.action===`end`?`This kills the PTY for ${e.displayName}. The JSONL is kept on disk and can be resumed later.`:`This hard-deletes the transcript and sidecar for ${e.displayName}. The action cannot be undone.`,o=e.action===`end`?`End session`:`Purge`;return(0,A.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,className:`modal-overlay`,onClick:e=>{e.target===e.currentTarget&&!t&&n()},children:(0,A.jsxs)(`div`,{className:`modal-card`,children:[(0,A.jsx)(`h3`,{style:{margin:0,marginBottom:8,fontSize:16,fontWeight:600},children:i}),(0,A.jsx)(`p`,{style:{margin:0,marginBottom:12,fontSize:13},children:a}),(0,A.jsxs)(`div`,{className:`modal-action-row`,children:[(0,A.jsx)(`button`,{type:`button`,className:`modal-action-btn`,disabled:t,onClick:n,children:`Cancel`}),(0,A.jsx)(`button`,{type:`button`,className:`modal-action-btn`,"data-variant":`danger`,disabled:t,onClick:()=>r(),children:t?(0,A.jsx)(y,{size:13,className:`spinning`}):o})]})]})})}function Ke({onOpen:e}){return(0,A.jsx)(`footer`,{className:`admin-footer`,children:(0,A.jsxs)(`div`,{className:`powered-by`,role:`button`,tabIndex:0,onClick:e,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},"aria-label":`Powered by Claude Code — show details`,children:[(0,A.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,A.jsx)(`span`,{children:`Powered by Claude Code`})]})})}var qe=t((e=>{var t=o();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,l=r[1];return s(function(){o.value=n,o.getSnapshot=t,u(o)&&l({inst:o})},[e,n,t]),a(function(){return u(o)&&l({inst:o}),e(function(){u(o)&&l({inst:o})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Je=t(((e,t)=>{t.exports=qe()})),Ye=Je(),Xe=e(l(),1);function j(e){this.content=e}j.prototype={constructor:j,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new j(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new j(n)},addToStart:function(e,t){return new j([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new j(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new j(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=j.from(e),e.size?new j(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=j.from(e),e.size?new j(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=j.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},j.from=function(e){if(e instanceof j)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new j(t)};function Ze(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){for(let e=0;i.text[e]==a.text[e];e++)n++;return n}if(i.content.size||a.content.size){let e=Ze(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function Qe(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=0,t=Math.min(o.text.length,s.text.length);for(;e<t&&o.text[o.text.length-e-1]==s.text[s.text.length-e-1];)e++,n--,r--;return{a:n,b:r}}if(o.content.size||s.content.size){let e=Qe(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}var M=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return Ze(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return Qe(this,e,t,n)}findIndex(e){if(e==0)return et(0,e);if(e==this.size)return et(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?et(t+1,i):et(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return new e(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};M.empty=new M([],0);var $e={index:0,offset:0};function et(e,t){return $e.index=e,$e.offset=t,$e}function tt(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!tt(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!tt(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var N=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else !n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&tt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};N.none=[];var nt=class extends Error{},P=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=it(this.content,t+this.openStart,n);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(rt(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(M.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};P.empty=new P(M.empty,0,0);function rt(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(rt(a.content,t-i-1,n-i-1)))}function it(e,t,n,r){let{index:i,offset:a}=e.findIndex(t),o=e.maybeChild(i);if(a==t||o.isText)return r&&!r.canReplace(i,i,n)?null:e.cut(0,t).append(n).append(e.cut(t));let s=it(o.content,t-a-1,n,o);return s&&e.replaceChild(i,o.copy(s))}function at(e,t,n){if(n.openStart>e.depth)throw new nt(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new nt(`Inconsistent open depths`);return ot(e,t,n,0)}function ot(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=ot(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return dt(a,pt(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return dt(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=mt(n,e);return dt(a,ft(e,i,o,t,r))}}function st(e,t){if(!t.type.compatibleContent(e.type))throw new nt(`Cannot join `+t.type.name+` onto `+e.type.name)}function ct(e,t,n){let r=e.node(n);return st(r,t.node(n)),r}function lt(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function ut(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(lt(e.nodeAfter,r),a++));for(let e=a;e<o;e++)lt(i.child(e),r);t&&t.depth==n&&t.textOffset&&lt(t.nodeBefore,r)}function dt(e,t){return e.type.checkContent(t),e.copy(t)}function ft(e,t,n,r,i){let a=e.depth>i&&ct(e,t,i+1),o=r.depth>i&&ct(n,r,i+1),s=[];return ut(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(st(a,o),lt(dt(a,ft(e,t,n,r,i+1)),s)):(a&&lt(dt(a,pt(e,t,i+1)),s),ut(t,n,i,s),o&&lt(dt(o,pt(n,r,i+1)),s)),ut(r,null,i,s),new M(s)}function pt(e,t,n){let r=[];return ut(null,e,n,r),e.depth>n&&lt(dt(ct(e,t,n+1),pt(e,t,n+1)),r),ut(t,null,n,r),new M(r)}function mt(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(M.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var ht=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return N.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new yt(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=vt.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else vt.set(t,r=new gt);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%_t,i}},gt=class{constructor(){this.elts=[],this.i=0}},_t=12,vt=new WeakMap,yt=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},bt=Object.create(null),xt=class e{constructor(e,t,n,r=N.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||M.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&tt(this.attrs,t||e.defaultAttrs||bt)&&N.sameSet(this.marks,n||N.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return P.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new P(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return at(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return ht.resolveCached(this,e)}resolveNoCache(e){return ht.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),Ct(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=M.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=N.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!N.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=M.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};xt.prototype.text=void 0;var St=class e extends xt{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Ct(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function Ct(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var wt=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Tt(t,n);if(r.next==null)return e.empty;let i=Et(r);r.next&&r.err(`Unexpected trailing text`);let a=It(Nt(i));return Lt(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return M.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
2
+ `)}};wt.empty=new wt(!0);var Tt=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function Et(e){let t=[];do t.push(Dt(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function Dt(e){let t=[];do t.push(Ot(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function Ot(e){let t=Mt(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=At(e,t);else break;return t}function kt(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function At(e,t){let n=kt(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:kt(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function jt(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Mt(e){if(e.eat(`(`)){let t=Et(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=jt(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function Nt(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function Pt(e,t){return t-e}function Ft(e,t){let n=[];return r(t),n.sort(Pt);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function It(e){let t=Object.create(null);return n(Ft(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);Ft(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new wt(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(Pt);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function Lt(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function Rt(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function zt(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function Bt(e,t,n,r){for(let r in t)if(!(r in e))throw RangeError(`Unsupported attribute ${r} for ${n} of type ${r}`);for(let n in e){let r=e[n];r.validate&&r.validate(t[n])}}function Vt(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Wt(e,r,t[r]);return n}var Ht=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=Vt(e,n.attrs),this.defaultAttrs=Rt(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==wt.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:zt(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new xt(this,this.computeAttrs(e),M.from(t),N.setFrom(n))}createChecked(e=null,t,n){return t=M.from(t),this.checkContent(t),new xt(this,this.computeAttrs(e),t,N.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=M.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(M.empty,!0);return i?new xt(this,e,t.append(i),N.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Bt(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:N.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function Ut(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var Wt=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?Ut(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},Gt=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=Vt(e,r.attrs),this.excluded=null;let i=Rt(this.attrs);this.instance=i?new N(this,i):null}create(e=null){return!e&&this.instance?this.instance:new N(this,zt(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){Bt(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},Kt=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=j.from(e.nodes),t.marks=j.from(e.marks||{}),this.nodes=Ht.compile(this.spec.nodes,this),this.marks=Gt.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=wt.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?qt(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:qt(this,n.split(` `))}this.nodeFromJSON=e=>xt.fromJSON(this,e),this.markFromJSON=e=>N.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof Ht))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new St(n,n.defaultAttrs,e,N.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function qt(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function Jt(e){return e.tag!=null}function Yt(e){return e.style!=null}var Xt=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(Jt(e))this.tags.push(e);else if(Yt(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new on(this,t,!1);return n.addAll(e,N.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new on(this,t,!0);return n.addAll(e,N.none,t.from,t.to),P.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(cn(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=ln(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=ln(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},Zt={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Qt={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},$t={ol:!0,ul:!0},en=1,tn=2,nn=4;function rn(e,t,n){return t==null?e&&e.whitespace==`pre`?en|tn:n&~nn:(t?en:0)|(t===`full`?tn:0)}var an=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=N.none,this.match=i||(a&nn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(M.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&en)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=M.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(M.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Zt.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},on=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=rn(null,t.preserveWhitespace,0)|(n?nn:0);i=r?new an(r.type,r.attrs,N.none,!0,t.topMatch||r.type.contentMatch,a):n?new an(null,null,N.none,!0,null,a):new an(e.schema.topNodeType,null,N.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&tn?`full`:this.localPreserveWS||(r.options&en)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
3
3
  `);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;$t.hasOwnProperty(a)&&this.parser.normalizeLists&&sn(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:Qt.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(Zt.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
4
4
  `),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=N.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):un(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=rn(e,i,a.options);a.options&nn&&a.content.length==0&&(o|=nn);let s=N.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):un(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new an(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=en);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+(r?0:1),a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function sn(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&$t.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function cn(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function ln(e){let t={};for(let n in e)t[n]=e[n];return t}function un(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var dn=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=pn(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){let{dom:n,contentDOM:r}=_n(pn(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&_n(pn(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return _n(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=fn(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return fn(e.marks)}};function fn(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function pn(e){return e.document||window.document}var mn=new WeakMap;function hn(e){let t=mn.get(e);return t===void 0&&mn.set(e,t=gn(e)),t}function gn(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function _n(e,t,n,r){if(typeof t==`string`)return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=hn(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else{let{dom:t,contentDOM:i}=_n(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var vn=65535,yn=2**16;function bn(e,t){return e+t*yn}function xn(e){return e&vn}function Sn(e){return(e-(e&vn))/yn}var Cn=1,wn=2,Tn=4,En=8,Dn=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&En)>0}get deletedBefore(){return(this.delInfo&(Cn|Tn))>0}get deletedAfter(){return(this.delInfo&(wn|Tn))>0}get deletedAcross(){return(this.delInfo&Tn)>0}},On=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=xn(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+Sn(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:bn(o/3,e-s),f=e==s?wn:e==u?Cn:Tn;return(t<0?e!=s:e!=u)&&(f|=En),new Dn(a,f,d)}r+=l-c}return n?e+r:new Dn(e+r,0,null)}touches(e,t){let n=0,r=xn(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};On.empty=new On([]);var kn=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new Dn(e,r,null)}},An=Object.create(null),jn=class{getMap(){return On.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=An[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in An)throw RangeError(`Duplicate use of step JSON ID `+e);return An[e]=t,t.prototype.jsonID=e,t}},Mn=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof nt)return e.fail(t.message);throw t}}};function Nn(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(Nn(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return M.fromArray(r)}var Pn=class e extends jn{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new P(Nn(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return Mn.fromReplace(e,this.from,this.to,i)}invert(){return new Fn(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};jn.jsonID(`addMark`,Pn);var Fn=class e extends jn{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new P(Nn(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return Mn.fromReplace(e,this.from,this.to,n)}invert(){return new Pn(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};jn.jsonID(`removeMark`,Fn);var In=class e extends jn{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return Mn.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return Mn.fromReplace(e,this.pos,this.pos+1,new P(M.from(n),0,t.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new Ln(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};jn.jsonID(`addNodeMark`,In);var Ln=class e extends jn{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return Mn.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return Mn.fromReplace(e,this.pos,this.pos+1,new P(M.from(n),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new In(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};jn.jsonID(`removeNodeMark`,Ln);var Rn=class e extends jn{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&Bn(e,this.from,this.to)?Mn.fail(`Structure replace would overwrite content`):Mn.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new On([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?P.empty:new P(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?P.empty:new P(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,P.fromJSON(t,n.slice),!!n.structure)}};jn.jsonID(`replace`,Rn);var zn=class e extends jn{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&(Bn(e,this.from,this.gapFrom)||Bn(e,this.gapTo,this.to)))return Mn.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return Mn.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?Mn.fromReplace(e,this.from,this.to,n):Mn.fail(`Content does not fit in gap`)}getMap(){return new On([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,P.fromJSON(t,n.slice),n.insert,!!n.structure)}};jn.jsonID(`replaceAround`,zn);function Bn(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function Vn(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new Fn(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new Pn(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function Hn(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof Gt){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new Fn(t.from,t.to,t.style)))}function Un(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new Rn(s,l,P.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new Fn(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new P(M.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new Rn(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(M.empty,!0);e.replace(s,s,new P(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function Wn(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function Gn(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!Wn(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function Kn(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=M.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=M.from(r.node(e).copy(u)),d++):c--;let f=M.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=M.from(i.node(e).copy(f)),p++):l++;e.step(new zn(c,l,o,s,new P(u.append(f),d,p),u.size-d,!0))}function qn(e,t,n=null,r=e){let i=Yn(e,t),a=i&&Xn(r,t);return a?i.map(Jn).concat({type:t,attrs:n}).concat(a.map(Jn)):null}function Jn(e){return{type:e,attrs:null}}function Yn(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function Xn(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function Zn(e,t,n){let r=M.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=M.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new zn(i,a,i,a,new P(r,0,0),n.length,!0))}function Qn(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&tr(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&er(e,t,n,a),Un(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new zn(c,l,c+1,l-1,new P(M.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&$n(e,t,n,a),!1}})}function $n(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function er(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`
5
5
  `))}})}function tr(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function nr(e,t,n,r,i){let a=e.doc.nodeAt(t);if(!a)throw RangeError(`No node at given position`);n||=a.type;let o=n.create(r,null,i||a.marks);if(a.isLeaf)return e.replaceWith(t,t+a.nodeSize,o);if(!n.validContent(a.content))throw RangeError(`Invalid content for node type `+n.name);e.step(new zn(t,t+a.nodeSize,t+1,t+a.nodeSize-1,new P(M.from(o),0,0),1,!0))}function rr(e,t,n=1,r){let i=e.resolve(t),a=i.depth-n,o=r&&r[r.length-1]||i.parent;if(a<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!o.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let e=i.depth-1,t=n-2;e>a;e--,t--){let n=i.node(e),a=i.index(e);if(n.type.spec.isolating)return!1;let o=n.content.cutByIndex(a,n.childCount),s=r&&r[t+1];s&&(o=o.replaceChild(0,s.type.create(s.attrs)));let c=r&&r[t]||n;if(!n.canReplace(a+1,n.childCount)||!c.type.validContent(o))return!1}let s=i.indexAfter(a),c=r&&r[0];return i.node(a).canReplaceWith(s,s,c?c.type:i.node(a+1).type)}function ir(e,t,n=1,r){let i=e.doc.resolve(t),a=M.empty,o=M.empty;for(let e=i.depth,t=i.depth-n,s=n-1;e>t;e--,s--){a=M.from(i.node(e).copy(a));let t=r&&r[s];o=M.from(t?t.type.create(t.attrs,o):i.node(e).copy(o))}e.step(new Rn(t,t,new P(a.append(o),n,n),!0))}function ar(e,t){let n=e.resolve(t),r=n.index();return sr(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function or(e,t){t.content.size||e.type.compatibleContent(t.type);let n=e.contentMatchAt(e.childCount),{linebreakReplacement:r}=e.type.schema;for(let i=0;i<t.childCount;i++){let a=t.child(i),o=a.type==r?e.type.schema.nodes.text:a.type;if(n=n.matchType(o),!n||!e.type.allowsMarks(a.marks))return!1}return n.validEnd}function sr(e,t){return!!(e&&t&&!e.isLeaf&&or(e,t))}function cr(e,t,n=-1){let r=e.resolve(t);for(let e=r.depth;;e--){let i,a,o=r.index(e);if(e==r.depth?(i=r.nodeBefore,a=r.nodeAfter):n>0?(i=r.node(e+1),o++,a=r.node(e).maybeChild(o)):(i=r.node(e).maybeChild(o-1),a=r.node(e+1)),i&&!i.isTextblock&&sr(i,a)&&r.node(e).canReplace(o,o+1))return t;if(e==0)break;t=n<0?r.before(e):r.after(e)}}function lr(e,t,n){let r=null,{linebreakReplacement:i}=e.doc.type.schema,a=e.doc.resolve(t-n),o=a.node().type;if(i&&o.inlineContent){let e=o.whitespace==`pre`,t=!!o.contentMatch.matchType(i);e&&!t?r=!1:!e&&t&&(r=!0)}let s=e.steps.length;if(r===!1){let r=e.doc.resolve(t+n);er(e,r.node(),r.before(),s)}o.inlineContent&&Un(e,t+n-1,o,a.node().contentMatchAt(a.index()),r==null);let c=e.mapping.slice(s),l=c.map(t-n);if(e.step(new Rn(l,c.map(t+n,-1),P.empty,!0)),r===!0){let t=e.doc.resolve(l);$n(e,t.node(),t.before(),e.steps.length)}return e}function ur(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let e=r.depth-1;e>=0;e--){let t=r.index(e);if(r.node(e).canReplaceWith(t,t,n))return r.before(e+1);if(t>0)return null}if(r.parentOffset==r.parent.content.size)for(let e=r.depth-1;e>=0;e--){let t=r.indexAfter(e);if(r.node(e).canReplaceWith(t,t,n))return r.after(e+1);if(t<r.node(e).childCount)return null}return null}function dr(e,t,n){let r=e.resolve(t);if(!n.content.size)return t;let i=n.content;for(let e=0;e<n.openStart;e++)i=i.firstChild.content;for(let e=1;e<=(n.openStart==0&&n.size?2:1);e++)for(let t=r.depth;t>=0;t--){let n=t==r.depth?0:r.pos<=(r.start(t+1)+r.end(t+1))/2?-1:1,a=r.index(t)+(n>0?1:0),o=r.node(t),s=!1;if(e==1)s=o.canReplace(a,a,i);else{let e=o.contentMatchAt(a).findWrapping(i.firstChild.type);s=e&&o.canReplaceWith(a,a,e[0])}if(s)return n==0?r.pos:n<0?r.before(t+1):r.after(t+1)}return null}function fr(e,t,n=t,r=P.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),a=e.resolve(n);return pr(i,a,r)?new Rn(t,n,r):new mr(i,a,r).fit()}function pr(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}var mr=class{constructor(e,t,n){this.$from=e,this.$to=t,this.unplaced=n,this.frontier=[],this.placed=M.empty;for(let t=0;t<=e.depth;t++){let n=e.node(t);this.frontier.push({type:n.type,match:n.contentMatchAt(e.indexAfter(t))})}for(let t=e.depth;t>0;t--)this.placed=M.from(e.node(t).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let e=this.findFittable();e?this.placeNodes(e):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),t=this.placed.size-this.depth-this.$from.depth,n=this.$from,r=this.close(e<0?this.$to:n.doc.resolve(e));if(!r)return null;let i=this.placed,a=n.depth,o=r.depth;for(;a&&o&&i.childCount==1;)i=i.firstChild.content,a--,o--;let s=new P(i,a,o);return e>-1?new zn(n.pos,e,this.$to.pos,this.$to.end(),s,t):s.size||n.pos!=this.$to.pos?new Rn(n.pos,r.pos,s):null}findFittable(){let e=this.unplaced.openStart;for(let t=this.unplaced.content,n=0,r=this.unplaced.openEnd;n<e;n++){let i=t.firstChild;if(t.childCount>1&&(r=0),i.type.spec.isolating&&r<=n){e=n;break}t=i.content}for(let t=1;t<=2;t++)for(let n=t==1?e:this.unplaced.openStart;n>=0;n--){let e,r=null;n?(r=_r(this.unplaced.content,n-1).firstChild,e=r.content):e=this.unplaced.content;let i=e.firstChild;for(let e=this.depth;e>=0;e--){let{type:a,match:o}=this.frontier[e],s,c=null;if(t==1&&(i?o.matchType(i.type)||(c=o.fillBefore(M.from(i),!1)):r&&a.compatibleContent(r.type)))return{sliceDepth:n,frontierDepth:e,parent:r,inject:c};if(t==2&&i&&(s=o.findWrapping(i.type)))return{sliceDepth:n,frontierDepth:e,parent:r,wrap:s};if(r&&o.matchType(r.type))break}}}openMore(){let{content:e,openStart:t,openEnd:n}=this.unplaced,r=_r(e,t);return!r.childCount||r.firstChild.isLeaf?!1:(this.unplaced=new P(e,t+1,Math.max(n,r.size+t>=e.size-n?t+1:0)),!0)}dropNode(){let{content:e,openStart:t,openEnd:n}=this.unplaced,r=_r(e,t);if(r.childCount<=1&&t>0){let i=e.size-t<=t+r.size;this.unplaced=new P(hr(e,t-1,1),t-1,i?t-1:n)}else this.unplaced=new P(hr(e,t,1),t,n)}placeNodes({sliceDepth:e,frontierDepth:t,parent:n,inject:r,wrap:i}){for(;this.depth>t;)this.closeFrontierNode();if(i)for(let e=0;e<i.length;e++)this.openFrontierNode(i[e]);let a=this.unplaced,o=n?n.content:a.content,s=a.openStart-e,c=0,l=[],{match:u,type:d}=this.frontier[t];if(r){for(let e=0;e<r.childCount;e++)l.push(r.child(e));u=u.matchFragment(r)}let f=o.size+e-(a.content.size-a.openEnd);for(;c<o.childCount;){let e=o.child(c),t=u.matchType(e.type);if(!t)break;c++,(c>1||s==0||e.content.size)&&(u=t,l.push(vr(e.mark(d.allowedMarks(e.marks)),c==1?s:0,c==o.childCount?f:-1)))}let p=c==o.childCount;p||(f=-1),this.placed=gr(this.placed,t,M.from(l)),this.frontier[t].match=u,p&&f<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let e=0,t=o;e<f;e++){let e=t.lastChild;this.frontier.push({type:e.type,match:e.contentMatchAt(e.childCount)}),t=e.content}this.unplaced=p?e==0?P.empty:new P(hr(a.content,e-1,1),e-1,f<0?a.openEnd:e-1):new P(hr(a.content,e,c),a.openStart,a.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],t;if(!e.type.isTextblock||!yr(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(t=this.findCloseLevel(this.$to))&&t.depth==this.depth)return-1;let{depth:n}=this.$to,r=this.$to.after(n);for(;n>1&&r==this.$to.end(--n);)++r;return r}findCloseLevel(e){scan:for(let t=Math.min(this.depth,e.depth);t>=0;t--){let{match:n,type:r}=this.frontier[t],i=t<e.depth&&e.end(t+1)==e.pos+(e.depth-(t+1)),a=yr(e,t,r,n,i);if(a){for(let n=t-1;n>=0;n--){let{match:t,type:r}=this.frontier[n],i=yr(e,n,r,t,!0);if(!i||i.childCount)continue scan}return{depth:t,fit:a,move:i?e.doc.resolve(e.after(t+1)):e}}}}close(e){let t=this.findCloseLevel(e);if(!t)return null;for(;this.depth>t.depth;)this.closeFrontierNode();t.fit.childCount&&(this.placed=gr(this.placed,t.depth,t.fit)),e=t.move;for(let n=t.depth+1;n<=e.depth;n++){let t=e.node(n),r=t.type.contentMatch.fillBefore(t.content,!0,e.index(n));this.openFrontierNode(t.type,t.attrs,r)}return e}openFrontierNode(e,t=null,n){let r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=gr(this.placed,this.depth,M.from(e.create(t,n))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let e=this.frontier.pop().match.fillBefore(M.empty,!0);e.childCount&&(this.placed=gr(this.placed,this.frontier.length,e))}};function hr(e,t,n){return t==0?e.cutByIndex(n,e.childCount):e.replaceChild(0,e.firstChild.copy(hr(e.firstChild.content,t-1,n)))}function gr(e,t,n){return t==0?e.append(n):e.replaceChild(e.childCount-1,e.lastChild.copy(gr(e.lastChild.content,t-1,n)))}function _r(e,t){for(let n=0;n<t;n++)e=e.firstChild.content;return e}function vr(e,t,n){if(t<=0)return e;let r=e.content;return t>1&&(r=r.replaceChild(0,vr(r.firstChild,t-1,r.childCount==1?n-1:0))),t>0&&(r=e.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(e.type.contentMatch.matchFragment(r).fillBefore(M.empty,!0)))),e.copy(r)}function yr(e,t,n,r,i){let a=e.node(t),o=i?e.indexAfter(t):e.index(t);if(o==a.childCount&&!n.compatibleContent(a.type))return null;let s=r.fillBefore(a.content,!0,o);return s&&!br(n,a.content,o)?s:null}function br(e,t,n){for(let r=n;r<t.childCount;r++)if(!e.allowsMarks(t.child(r).marks))return!0;return!1}function xr(e){return e.spec.defining||e.spec.definingForContent}function Sr(e,t,n,r){if(!r.size)return e.deleteRange(t,n);let i=e.doc.resolve(t),a=e.doc.resolve(n);if(pr(i,a,r))return e.step(new Rn(t,n,r));let o=Er(i,a);o[o.length-1]==0&&o.pop();let s=-(i.depth+1);o.unshift(s);for(let e=i.depth,t=i.pos-1;e>0;e--,t--){let n=i.node(e).type.spec;if(n.defining||n.definingAsContext||n.isolating)break;o.indexOf(e)>-1?s=e:i.before(e)==t&&o.splice(1,0,-e)}let c=o.indexOf(s),l=[],u=r.openStart;for(let e=r.content,t=0;;t++){let n=e.firstChild;if(l.push(n),t==r.openStart)break;e=n.content}for(let e=u-1;e>=0;e--){let t=l[e],n=xr(t.type);if(n&&!t.sameMarkup(i.node(Math.abs(s)-1)))u=e;else if(n||!t.type.isTextblock)break}for(let t=r.openStart;t>=0;t--){let s=(t+u+1)%(r.openStart+1),d=l[s];if(d)for(let t=0;t<o.length;t++){let l=o[(t+c)%o.length],u=!0;l<0&&(u=!1,l=-l);let f=i.node(l-1),p=i.index(l-1);if(f.canReplaceWith(p,p,d.type,d.marks))return e.replace(i.before(l),u?a.after(l):n,new P(Cr(r.content,0,r.openStart,s),s,r.openEnd))}}let d=e.steps.length;for(let s=o.length-1;s>=0&&(e.replace(t,n,r),!(e.steps.length>d));s--){let e=o[s];e<0||(t=i.before(e),n=a.after(e))}}function Cr(e,t,n,r,i){if(t<n){let i=e.firstChild;e=e.replaceChild(0,i.copy(Cr(i.content,t+1,n,r,i)))}if(t>r){let t=i.contentMatchAt(0),n=t.fillBefore(e).append(e);e=n.append(t.matchFragment(n).fillBefore(M.empty,!0))}return e}function wr(e,t,n,r){if(!r.isInline&&t==n&&e.doc.resolve(t).parent.content.size){let i=ur(e.doc,t,r.type);i!=null&&(t=n=i)}e.replaceRange(t,n,new P(M.from(r),0,0))}function Tr(e,t,n){let r=e.doc.resolve(t),i=e.doc.resolve(n),a=Er(r,i);for(let t=0;t<a.length;t++){let n=a[t],o=t==a.length-1;if(o&&n==0||r.node(n).type.contentMatch.validEnd)return e.delete(r.start(n),i.end(n));if(n>0&&(o||r.node(n-1).canReplace(r.index(n-1),i.indexAfter(n-1))))return e.delete(r.before(n),i.after(n))}for(let a=1;a<=r.depth&&a<=i.depth;a++)if(t-r.start(a)==r.depth-a&&n>r.end(a)&&i.end(a)-n!=i.depth-a&&r.start(a-1)==i.start(a-1)&&r.node(a-1).canReplace(r.index(a-1),i.index(a-1)))return e.delete(r.before(a),n);e.delete(t,n)}function Er(e,t){let n=[],r=Math.min(e.depth,t.depth);for(let i=r;i>=0;i--){let r=e.start(i);if(r<e.pos-(e.depth-i)||t.end(i)>t.pos+(t.depth-i)||e.node(i).type.spec.isolating||t.node(i).type.spec.isolating)break;(r==t.start(i)||i==e.depth&&i==t.depth&&e.parent.inlineContent&&t.parent.inlineContent&&i&&t.start(i-1)==r-1)&&n.push(i)}return n}var Dr=class e extends jn{constructor(e,t,n){super(),this.pos=e,this.attr=t,this.value=n}apply(e){let t=e.nodeAt(this.pos);if(!t)return Mn.fail(`No node at attribute step's position`);let n=Object.create(null);for(let e in t.attrs)n[e]=t.attrs[e];n[this.attr]=this.value;let r=t.type.create(n,null,t.marks);return Mn.fromReplace(e,this.pos,this.pos+1,new P(M.from(r),0,t.isLeaf?0:1))}getMap(){return On.empty}invert(t){return new e(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.attr,this.value)}toJSON(){return{stepType:`attr`,pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.pos!=`number`||typeof n.attr!=`string`)throw RangeError(`Invalid input for AttrStep.fromJSON`);return new e(n.pos,n.attr,n.value)}};jn.jsonID(`attr`,Dr);var Or=class e extends jn{constructor(e,t){super(),this.attr=e,this.value=t}apply(e){let t=Object.create(null);for(let n in e.attrs)t[n]=e.attrs[n];t[this.attr]=this.value;let n=e.type.create(t,e.content,e.marks);return Mn.ok(n)}getMap(){return On.empty}invert(t){return new e(this.attr,t.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:`docAttr`,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.attr!=`string`)throw RangeError(`Invalid input for DocAttrStep.fromJSON`);return new e(n.attr,n.value)}};jn.jsonID(`docAttr`,Or);var kr=class extends Error{};kr=function e(t){let n=Error.call(this,t);return n.__proto__=e.prototype,n},kr.prototype=Object.create(Error.prototype),kr.prototype.constructor=kr,kr.prototype.name=`TransformError`;var Ar=class{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new kn}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let t=this.maybeStep(e);if(t.failed)throw new kr(t.failed);return this}maybeStep(e){let t=e.apply(this.doc);return t.failed||this.addStep(e,t.doc),t}get docChanged(){return this.steps.length>0}changedRange(){let e=1e9,t=-1e9;for(let n=0;n<this.mapping.maps.length;n++){let r=this.mapping.maps[n];n&&(e=r.map(e,1),t=r.map(t,-1)),r.forEach((n,r,i,a)=>{e=Math.min(e,i),t=Math.max(t,a)})}return e==1e9?null:{from:e,to:t}}addStep(e,t){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=t}replace(e,t=e,n=P.empty){let r=fr(this.doc,e,t,n);return r&&this.step(r),this}replaceWith(e,t,n){return this.replace(e,t,new P(M.from(n),0,0))}delete(e,t){return this.replace(e,t,P.empty)}insert(e,t){return this.replaceWith(e,e,t)}replaceRange(e,t,n){return Sr(this,e,t,n),this}replaceRangeWith(e,t,n){return wr(this,e,t,n),this}deleteRange(e,t){return Tr(this,e,t),this}lift(e,t){return Kn(this,e,t),this}join(e,t=1){return lr(this,e,t),this}wrap(e,t){return Zn(this,e,t),this}setBlockType(e,t=e,n,r=null){return Qn(this,e,t,n,r),this}setNodeMarkup(e,t,n=null,r){return nr(this,e,t,n,r),this}setNodeAttribute(e,t,n){return this.step(new Dr(e,t,n)),this}setDocAttribute(e,t){return this.step(new Or(e,t)),this}addNodeMark(e,t){return this.step(new In(e,t)),this}removeNodeMark(e,t){let n=this.doc.nodeAt(e);if(!n)throw RangeError(`No node at position `+e);if(t instanceof N)t.isInSet(n.marks)&&this.step(new Ln(e,t));else{let r=n.marks,i,a=[];for(;i=t.isInSet(r);)a.push(new Ln(e,i)),r=i.removeFromSet(r);for(let e=a.length-1;e>=0;e--)this.step(a[e])}return this}split(e,t=1,n){return ir(this,e,t,n),this}addMark(e,t,n){return Vn(this,e,t,n),this}removeMark(e,t,n){return Hn(this,e,t,n),this}clearIncompatible(e,t,n){return Un(this,e,t,n),this}},jr=Object.create(null),F=class{constructor(e,t,n){this.$anchor=e,this.$head=t,this.ranges=n||[new Mr(e.min(t),e.max(t))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let t=0;t<e.length;t++)if(e[t].$from.pos!=e[t].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,t=P.empty){let n=t.content.lastChild,r=null;for(let e=0;e<t.openEnd;e++)r=n,n=n.lastChild;let i=e.steps.length,a=this.ranges;for(let o=0;o<a.length;o++){let{$from:s,$to:c}=a[o],l=e.mapping.slice(i);e.replaceRange(l.map(s.pos),l.map(c.pos),o?P.empty:t),o==0&&Br(e,i,(n?n.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(e,t){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n),c=s.map(a.pos),l=s.map(o.pos);i?e.deleteRange(c,l):(e.replaceRangeWith(c,l,t),Br(e,n,t.isInline?-1:1))}}static findFrom(e,t,n=!1){let r=e.parent.inlineContent?new I(e):zr(e.node(0),e.parent,e.pos,e.index(),t,n);if(r)return r;for(let r=e.depth-1;r>=0;r--){let i=t<0?zr(e.node(0),e.node(r),e.before(r+1),e.index(r),t,n):zr(e.node(0),e.node(r),e.after(r+1),e.index(r)+1,t,n);if(i)return i}return null}static near(e,t=1){return this.findFrom(e,t)||this.findFrom(e,-t)||new Lr(e.node(0))}static atStart(e){return zr(e,e,0,0,1)||new Lr(e)}static atEnd(e){return zr(e,e,e.content.size,e.childCount,-1)||new Lr(e)}static fromJSON(e,t){if(!t||!t.type)throw RangeError(`Invalid input for Selection.fromJSON`);let n=jr[t.type];if(!n)throw RangeError(`No selection type ${t.type} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in jr)throw RangeError(`Duplicate use of selection JSON ID `+e);return jr[e]=t,t.prototype.jsonID=e,t}getBookmark(){return I.between(this.$anchor,this.$head).getBookmark()}};F.prototype.visible=!0;var Mr=class{constructor(e,t){this.$from=e,this.$to=t}},Nr=!1;function Pr(e){!Nr&&!e.parent.inlineContent&&(Nr=!0,console.warn(`TextSelection endpoint not pointing into a node with inline content (`+e.parent.type.name+`)`))}var I=class e extends F{constructor(e,t=e){Pr(e),Pr(t),super(e,t)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,n){let r=t.resolve(n.map(this.head));if(!r.parent.inlineContent)return F.near(r);let i=t.resolve(n.map(this.anchor));return new e(i.parent.inlineContent?i:r,r)}replace(e,t=P.empty){if(super.replace(e,t),t==P.empty){let t=this.$from.marksAcross(this.$to);t&&e.ensureMarks(t)}}eq(t){return t instanceof e&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Fr(this.anchor,this.head)}toJSON(){return{type:`text`,anchor:this.anchor,head:this.head}}static fromJSON(t,n){if(typeof n.anchor!=`number`||typeof n.head!=`number`)throw RangeError(`Invalid input for TextSelection.fromJSON`);return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(e,t,n=t){let r=e.resolve(t);return new this(r,n==t?r:e.resolve(n))}static between(t,n,r){let i=t.pos-n.pos;if((!r||i)&&(r=i>=0?1:-1),!n.parent.inlineContent){let e=F.findFrom(n,r,!0)||F.findFrom(n,-r,!0);if(e)n=e.$head;else return F.near(n,r)}return t.parent.inlineContent||(i==0?t=n:(t=(F.findFrom(t,-r,!0)||F.findFrom(t,r,!0)).$anchor,t.pos<n.pos!=i<0&&(t=n))),new e(t,n)}};F.jsonID(`text`,I);var Fr=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){return I.between(e.resolve(this.anchor),e.resolve(this.head))}},L=class e extends F{constructor(e){let t=e.nodeAfter,n=e.node(0).resolve(e.pos+t.nodeSize);super(e,n),this.node=t}map(t,n){let{deleted:r,pos:i}=n.mapResult(this.anchor),a=t.resolve(i);return r?F.near(a):new e(a)}content(){return new P(M.from(this.node),0,0)}eq(t){return t instanceof e&&t.anchor==this.anchor}toJSON(){return{type:`node`,anchor:this.anchor}}getBookmark(){return new Ir(this.anchor)}static fromJSON(t,n){if(typeof n.anchor!=`number`)throw RangeError(`Invalid input for NodeSelection.fromJSON`);return new e(t.resolve(n.anchor))}static create(t,n){return new e(t.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}};L.prototype.visible=!1,F.jsonID(`node`,L);var Ir=class e{constructor(e){this.anchor=e}map(t){let{deleted:n,pos:r}=t.mapResult(this.anchor);return n?new Fr(r,r):new e(r)}resolve(e){let t=e.resolve(this.anchor),n=t.nodeAfter;return n&&L.isSelectable(n)?new L(t):F.near(t)}},Lr=class e extends F{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,t=P.empty){if(t==P.empty){e.delete(0,e.doc.content.size);let t=F.atStart(e.doc);t.eq(e.selection)||e.setSelection(t)}else super.replace(e,t)}toJSON(){return{type:`all`}}static fromJSON(t){return new e(t)}map(t){return new e(t)}eq(t){return t instanceof e}getBookmark(){return Rr}};F.jsonID(`all`,Lr);var Rr={map(){return this},resolve(e){return new Lr(e)}};function zr(e,t,n,r,i,a=!1){if(t.inlineContent)return I.create(e,n);for(let o=r-(i>0?0:1);i>0?o<t.childCount:o>=0;o+=i){let r=t.child(o);if(!r.isAtom){let t=zr(e,r,n+i,i<0?r.childCount:0,i,a);if(t)return t}else if(!a&&L.isSelectable(r))return L.create(e,n-(i<0?r.nodeSize:0));n+=r.nodeSize*i}return null}function Br(e,t,n){let r=e.steps.length-1;if(r<t)return;let i=e.steps[r];if(!(i instanceof Rn||i instanceof zn))return;let a=e.mapping.maps[r],o;a.forEach((e,t,n,r)=>{o??=r}),e.setSelection(F.near(e.doc.resolve(o),n))}var Vr=1,Hr=2,Ur=4,Wr=class extends Ar{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw RangeError(`Selection passed to setSelection must point at the current document`);return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|Vr)&~Hr,this.storedMarks=null,this}get selectionSet(){return(this.updated&Vr)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=Hr,this}ensureMarks(e){return N.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Hr)>0}addStep(e,t){super.addStep(e,t),this.updated&=~Hr,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,t=!0){let n=this.selection;return t&&(e=e.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||N.none))),n.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,t,n){let r=this.doc.type.schema;if(t==null)return e?this.replaceSelectionWith(r.text(e),!0):this.deleteSelection();{if(n??=t,!e)return this.deleteRange(t,n);let i=this.storedMarks;if(!i){let e=this.doc.resolve(t);i=n==t?e.marks():e.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(t,n,r.text(e,i)),!this.selection.empty&&this.selection.to==t+e.length&&this.setSelection(F.near(this.selection.$to)),this}}setMeta(e,t){return this.meta[typeof e==`string`?e:e.key]=t,this}getMeta(e){return this.meta[typeof e==`string`?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Ur,this}get scrolledIntoView(){return(this.updated&Ur)>0}};function Gr(e,t){return!t||!e?e:e.bind(t)}var Kr=class{constructor(e,t,n){this.name=e,this.init=Gr(t.init,n),this.apply=Gr(t.apply,n)}},qr=[new Kr(`doc`,{init(e){return e.doc||e.schema.topNodeType.createAndFill()},apply(e){return e.doc}}),new Kr(`selection`,{init(e,t){return e.selection||F.atStart(t.doc)},apply(e){return e.selection}}),new Kr(`storedMarks`,{init(e){return e.storedMarks||null},apply(e,t,n,r){return r.selection.$cursor?e.storedMarks:null}}),new Kr(`scrollToSelection`,{init(){return 0},apply(e,t){return e.scrolledIntoView?t+1:t}})],Jr=class{constructor(e,t){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=qr.slice(),t&&t.forEach(e=>{if(this.pluginsByKey[e.key])throw RangeError(`Adding different instances of a keyed plugin (`+e.key+`)`);this.plugins.push(e),this.pluginsByKey[e.key]=e,e.spec.state&&this.fields.push(new Kr(e.key,e.spec.state,e))})}},Yr=class e{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,t=-1){for(let n=0;n<this.config.plugins.length;n++)if(n!=t){let t=this.config.plugins[n];if(t.spec.filterTransaction&&!t.spec.filterTransaction.call(t,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let t=[e],n=this.applyInner(e),r=null;for(;;){let i=!1;for(let a=0;a<this.config.plugins.length;a++){let o=this.config.plugins[a];if(o.spec.appendTransaction){let s=r?r[a].n:0,c=r?r[a].state:this,l=s<t.length&&o.spec.appendTransaction.call(o,s?t.slice(s):t,c,n);if(l&&n.filterTransaction(l,a)){if(l.setMeta(`appendedTransaction`,e),!r){r=[];for(let e=0;e<this.config.plugins.length;e++)r.push(e<a?{state:n,n:t.length}:{state:this,n:0})}t.push(l),n=n.applyInner(l),i=!0}r&&(r[a]={state:n,n:t.length})}}if(!i)return{state:n,transactions:t}}}applyInner(t){if(!t.before.eq(this.doc))throw RangeError(`Applying a mismatched transaction`);let n=new e(this.config),r=this.config.fields;for(let e=0;e<r.length;e++){let i=r[e];n[i.name]=i.apply(t,this[i.name],this,n)}return n}get tr(){return new Wr(this)}static create(t){let n=new Jr(t.doc?t.doc.type.schema:t.schema,t.plugins),r=new e(n);for(let e=0;e<n.fields.length;e++)r[n.fields[e].name]=n.fields[e].init(t,r);return r}reconfigure(t){let n=new Jr(this.schema,t.plugins),r=n.fields,i=new e(n);for(let e=0;e<r.length;e++){let n=r[e].name;i[n]=this.hasOwnProperty(n)?this[n]:r[e].init(t,i)}return i}toJSON(e){let t={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(t.storedMarks=this.storedMarks.map(e=>e.toJSON())),e&&typeof e==`object`)for(let n in e){if(n==`doc`||n==`selection`)throw RangeError("The JSON fields `doc` and `selection` are reserved");let r=e[n],i=r.spec.state;i&&i.toJSON&&(t[n]=i.toJSON.call(r,this[r.key]))}return t}static fromJSON(t,n,r){if(!n)throw RangeError(`Invalid input for EditorState.fromJSON`);if(!t.schema)throw RangeError(`Required config field 'schema' missing`);let i=new Jr(t.schema,t.plugins),a=new e(i);return i.fields.forEach(e=>{if(e.name==`doc`)a.doc=xt.fromJSON(t.schema,n.doc);else if(e.name==`selection`)a.selection=F.fromJSON(a.doc,n.selection);else if(e.name==`storedMarks`)n.storedMarks&&(a.storedMarks=n.storedMarks.map(t.schema.markFromJSON));else{if(r)for(let i in r){let o=r[i],s=o.spec.state;if(o.key==e.name&&s&&s.fromJSON&&Object.prototype.hasOwnProperty.call(n,i)){a[e.name]=s.fromJSON.call(o,t,n[i],a);return}}a[e.name]=e.init(t,a)}}),a}};function Xr(e,t,n){for(let r in e){let i=e[r];i instanceof Function?i=i.bind(t):r==`handleDOMEvents`&&(i=Xr(i,t,{})),n[r]=i}return n}var R=class{constructor(e){this.spec=e,this.props={},e.props&&Xr(e.props,this,this.props),this.key=e.key?e.key.key:Qr(`plugin`)}getState(e){return e[this.key]}},Zr=Object.create(null);function Qr(e){return e in Zr?e+`$`+ ++Zr[e]:(Zr[e]=0,e+`$`)}var z=class{constructor(e=`key`){this.key=Qr(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}},$r=(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function ei(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var ti=(e,t,n)=>{let r=ei(e,n);if(!r)return!1;let i=si(r);if(!i){let n=r.blockRange(),i=n&&Gn(n);return i==null?!1:(t&&t(e.tr.lift(n,i).scrollIntoView()),!0)}let a=i.nodeBefore;if(Ti(e,i,t,-1))return!0;if(r.parent.content.size==0&&(ai(a,`end`)||L.isSelectable(a)))for(let n=r.depth;;n--){let o=fr(e.doc,r.before(n),r.after(n),P.empty);if(o&&o.slice.size<o.to-o.from){if(t){let n=e.tr.step(o);n.setSelection(ai(a,`end`)?F.findFrom(n.doc.resolve(n.mapping.map(i.pos,-1)),-1):L.create(n.doc,i.pos-a.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return a.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos-a.nodeSize,i.pos).scrollIntoView()),!0):!1},ni=(e,t,n)=>{let r=ei(e,n);if(!r)return!1;let i=si(r);return i?ii(e,i,t):!1},ri=(e,t,n)=>{let r=ci(e,n);if(!r)return!1;let i=di(r);return i?ii(e,i,t):!1};function ii(e,t,n){let r=t.nodeBefore,i=t.pos-1;for(;!r.isTextblock;i--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let a=t.nodeAfter,o=t.pos+1;for(;!a.isTextblock;o++){if(a.type.spec.isolating)return!1;let e=a.firstChild;if(!e)return!1;a=e}let s=fr(e.doc,i,o,P.empty);if(!s||s.from!=i||s instanceof Rn&&s.slice.size>=o-i)return!1;if(n){let t=e.tr.step(s);t.setSelection(I.create(t.doc,i)),n(t.scrollIntoView())}return!0}function ai(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var oi=(e,t,n)=>{let{$head:r,empty:i}=e.selection,a=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;a=si(r)}let o=a&&a.nodeBefore;return!o||!L.isSelectable(o)?!1:(t&&t(e.tr.setSelection(L.create(e.doc,a.pos-o.nodeSize)).scrollIntoView()),!0)};function si(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function ci(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var li=(e,t,n)=>{let r=ci(e,n);if(!r)return!1;let i=di(r);if(!i)return!1;let a=i.nodeAfter;if(Ti(e,i,t,1))return!0;if(r.parent.content.size==0&&(ai(a,`start`)||L.isSelectable(a))){let n=fr(e.doc,r.before(),r.after(),P.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(ai(a,`start`)?F.findFrom(r.doc.resolve(r.mapping.map(i.pos)),1):L.create(r.doc,r.mapping.map(i.pos))),t(r.scrollIntoView())}return!0}}return a.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos,i.pos+a.nodeSize).scrollIntoView()),!0):!1},ui=(e,t,n)=>{let{$head:r,empty:i}=e.selection,a=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;a=di(r)}let o=a&&a.nodeAfter;return!o||!L.isSelectable(o)?!1:(t&&t(e.tr.setSelection(L.create(e.doc,a.pos)).scrollIntoView()),!0)};function di(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var fi=(e,t)=>{let n=e.selection,r=n instanceof L,i;if(r){if(n.node.isTextblock||!ar(e.doc,n.from))return!1;i=n.from}else if(i=cr(e.doc,n.from,-1),i==null)return!1;if(t){let n=e.tr.join(i);r&&n.setSelection(L.create(n.doc,i-e.doc.resolve(i).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},pi=(e,t)=>{let n=e.selection,r;if(n instanceof L){if(n.node.isTextblock||!ar(e.doc,n.to))return!1;r=n.to}else if(r=cr(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},mi=(e,t)=>{let{$from:n,$to:r}=e.selection,i=n.blockRange(r),a=i&&Gn(i);return a==null?!1:(t&&t(e.tr.lift(i,a).scrollIntoView()),!0)},hi=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
@@ -99,7 +99,7 @@ ${t.renderChildren(e.content||[],`
99
99
  `);s+=e.type===`paragraph`?`
100
100
 
101
101
  ${n}`:`
102
- ${n}`}}),s}function ep(e,t,n={}){let{state:r}=t,{doc:i,tr:a}=r,o=e;i.descendants((t,r)=>{let i=a.mapping.map(r),s=a.mapping.map(r)+t.nodeSize,c=null;if(t.marks.forEach(e=>{if(e!==o)return!1;c=e}),!c)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==c.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});a.removeMark(i,s,e.type),a.addMark(i,s,t)}}),a.docChanged&&t.view.dispatch(a)}var tp=class e extends hf{constructor(){super(...arguments),this.type=`node`}static create(t={}){return new e(typeof t==`function`?t():t)}configure(e){return super.configure(e)}extend(e){let t=typeof e==`function`?e():e;return super.extend(t)}};function np(e){return new vf({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let a=W(e.getAttributes,void 0,r,i);if(a===!1||a===null)return null;let{tr:o}=t,s=r[r.length-1],c=r[0],l=n.to;if(s){let r=c.search(/\S/),i=n.from+c.indexOf(s),u=i+s.length;if(yd(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;u<n.to&&o.delete(u,n.to),i>n.from&&o.delete(n.from+r,i),l=n.from+r+s.length,o.addMark(n.from+r,l,e.type.create(a||{})),o.removeStoredMark(e.type)}}})}var{getOwnPropertyNames:rp,getOwnPropertySymbols:ip}=Object,{hasOwnProperty:ap}=Object.prototype;function op(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function sp(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function cp(e){return e?.[Symbol.toStringTag]}function lp(e){return rp(e).concat(ip(e))}var up=Object.hasOwn||((e,t)=>ap.call(e,t));function dp(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var fp=`__v`,pp=`__o`,mp=`_owner`,{getOwnPropertyDescriptor:hp,keys:gp}=Object;function _p(e,t){return e.byteLength===t.byteLength&&Ap(new Uint8Array(e),new Uint8Array(t))}function vp(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function yp(e,t){return e.byteLength===t.byteLength&&Ap(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function bp(e,t){return dp(e.getTime(),t.getTime())}function xp(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Sp(e,t){return e===t}function Cp(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var wp=dp;function Tp(e,t,n){let r=gp(e),i=r.length;if(gp(t).length!==i)return!1;for(;i-- >0;)if(!Mp(e,t,n,r[i]))return!1;return!0}function Ep(e,t,n){let r=lp(e),i=r.length;if(lp(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!Mp(e,t,n,a)||(o=hp(e,a),s=hp(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function Dp(e,t){return dp(e.valueOf(),t.valueOf())}function Op(e,t){return e.source===t.source&&e.flags===t.flags}function kp(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function Ap(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function jp(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Mp(e,t,n,r){return(r===mp||r===pp||r===fp)&&(e.$$typeof||t.$$typeof)?!0:up(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Np=`[object ArrayBuffer]`,Pp=`[object Arguments]`,Fp=`[object Boolean]`,Ip=`[object DataView]`,Lp=`[object Date]`,Rp=`[object Error]`,zp=`[object Map]`,Bp=`[object Number]`,Vp=`[object Object]`,Hp=`[object RegExp]`,Up=`[object Set]`,Wp=`[object String]`,Gp={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},Kp=`[object URL]`,qp=Object.prototype.toString;function Jp({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=qp.call(h);if(b===Lp)return r(h,g,_);if(b===Hp)return u(h,g,_);if(b===zp)return o(h,g,_);if(b===Up)return d(h,g,_);if(b===Vp)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===Kp)return p(h,g,_);if(b===Rp)return i(h,g,_);if(b===Pp)return c(h,g,_);if(Gp[b])return f(h,g,_);if(b===Np)return e(h,g,_);if(b===Ip)return n(h,g,_);if(b===Fp||b===Bp||b===Wp)return l(h,g,_);if(m){let e=m[b];if(!e){let t=cp(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function Yp({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:_p,areArraysEqual:n?Ep:vp,areDataViewsEqual:yp,areDatesEqual:bp,areErrorsEqual:xp,areFunctionsEqual:Sp,areMapsEqual:n?op(Cp,Ep):Cp,areNumbersEqual:wp,areObjectsEqual:n?Ep:Tp,arePrimitiveWrappersEqual:Dp,areRegExpsEqual:Op,areSetsEqual:n?op(kp,Ep):kp,areTypedArraysEqual:n?op(Ap,Ep):Ap,areUrlsEqual:jp,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=sp(r.areArraysEqual),t=sp(r.areMapsEqual),n=sp(r.areObjectsEqual),i=sp(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function Xp(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function Zp({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var Qp=$p();$p({strict:!0}),$p({circular:!0}),$p({circular:!0,strict:!0}),$p({createInternalComparator:()=>dp}),$p({strict:!0,createInternalComparator:()=>dp}),$p({circular:!0,createInternalComparator:()=>dp}),$p({circular:!0,createInternalComparator:()=>dp,strict:!0});function $p(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=Jp(Yp(e));return Zp({circular:t,comparator:a,createState:r,equals:n?n(a):Xp(a),strict:i})}var em=t((e=>{var t=o(),n=qe();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),o!==void 0&&f.hasValue){var t=f.value;if(o(t,e))return c=t}return c=e}if(t=c,i(s,e))return t;var n=r(e);return o!==void 0&&o(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,o]);var p=a(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),tm=t(((e,t)=>{t.exports=em()}))(),nm=(...e)=>t=>{e.forEach(e=>{typeof e==`function`?e(t):e&&(e.current=t)})},rm=({contentComponent:e})=>{let t=(0,Je.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,j.jsx)(j.Fragment,{children:Object.values(t)})};function im(){let e=new Set,t={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:Ye.createPortal(r.reactElement,r.element,n)},e.forEach(e=>e())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(e=>e())}}}var am=class extends A.Component{constructor(e){super(e),this.editorContentRef=A.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!e.editor?.contentComponent}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){let e=this.props.editor;if(e&&!e.isDestroyed&&e.view.dom?.parentNode){if(e.contentComponent)return;let t=this.editorContentRef.current;t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t}),e.contentComponent=im(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(e=>e.hasContentComponentInitialized?e:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){let e=this.props.editor;if(e){this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null;try{if(!e.view.dom?.parentNode)return;let t=document.createElement(`div`);t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{ref:nm(t,this.editorContentRef),...n}),e?.contentComponent&&(0,j.jsx)(rm,{contentComponent:e.contentComponent})]})}},om=(0,A.forwardRef)((e,t)=>{let n=A.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return A.createElement(am,{key:n,innerRef:t,...e})}),sm=A.memo(om),cm=typeof window<`u`?A.useLayoutEffect:A.useEffect,lm=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let e=()=>{this.transactionNumber+=1,this.subscribers.forEach(e=>e())},t=this.editor;return t.on(`transaction`,e),()=>{t.off(`transaction`,e)}}}};function um(e){let[t]=(0,A.useState)(()=>new lm(e.editor)),n=(0,tm.useSyncExternalStoreWithSelector)(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn??Qp);return cm(()=>t.watch(e.editor),[e.editor,t]),(0,A.useDebugValue)(n),n}var dm=!1,fm=typeof window>`u`,pm=fm||!!(typeof window<`u`&&window.next),mm=class e{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId=``,this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(e=>e())}getInitialEditor(){if(this.options.current.immediatelyRender===void 0){if(fm||pm){if(dm)throw Error("Tiptap Error: SSR has been detected, please set `immediatelyRender` explicitly to `false` to avoid hydration mismatches.");return null}return this.createEditor()}if(this.options.current.immediatelyRender&&fm&&dm)throw Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){return new zf({...this.options.current,onBeforeCreate:(...e)=>{var t;return(t=this.options.current).onBeforeCreate?.call(t,...e)},onBlur:(...e)=>{var t;return(t=this.options.current).onBlur?.call(t,...e)},onCreate:(...e)=>{var t;return(t=this.options.current).onCreate?.call(t,...e)},onDestroy:(...e)=>{var t;return(t=this.options.current).onDestroy?.call(t,...e)},onFocus:(...e)=>{var t;return(t=this.options.current).onFocus?.call(t,...e)},onSelectionUpdate:(...e)=>{var t;return(t=this.options.current).onSelectionUpdate?.call(t,...e)},onTransaction:(...e)=>{var t;return(t=this.options.current).onTransaction?.call(t,...e)},onUpdate:(...e)=>{var t;return(t=this.options.current).onUpdate?.call(t,...e)},onContentError:(...e)=>{var t;return(t=this.options.current).onContentError?.call(t,...e)},onDrop:(...e)=>{var t;return(t=this.options.current).onDrop?.call(t,...e)},onPaste:(...e)=>{var t;return(t=this.options.current).onPaste?.call(t,...e)},onDelete:(...e)=>{var t;return(t=this.options.current).onDelete?.call(t,...e)}})}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,t){return Object.keys(e).every(n=>[`onCreate`,`onBeforeCreate`,`onDestroy`,`onUpdate`,`onTransaction`,`onFocus`,`onBlur`,`onSelectionUpdate`,`onContentError`,`onDrop`,`onPaste`].includes(n)?!0:n===`extensions`&&e.extensions&&t.extensions?e.extensions.length===t.extensions.length?e.extensions.every((e,n)=>e===t.extensions?.[n]):!1:e[n]===t[n])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?e.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((t,n)=>t===e[n]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){let e=this.instanceId,t=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){t&&t.setOptions(this.options.current);return}t&&!t.isDestroyed&&(t.destroy(),this.instanceId===e&&this.setEditor(null))},1)}};function hm(e={},t=[]){let n=(0,A.useRef)(e);n.current=e;let[r]=(0,A.useState)(()=>new mm(n)),i=(0,Je.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,A.useDebugValue)(i),(0,A.useEffect)(r.onRender(t)),um({editor:i,selector:({transactionNumber:t})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&t===0?0:t+1}),i}var gm=(0,A.createContext)({editor:null});gm.Consumer;var _m=()=>(0,A.useContext)(gm),vm=(0,A.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}}),ym=()=>(0,A.useContext)(vm);A.forwardRef((e,t)=>{let{onDragStart:n}=ym();return(0,j.jsx)(e.as||`div`,{...e,ref:t,"data-node-view-wrapper":``,onDragStart:n,style:{whiteSpace:`normal`,...e.style}})}),A.createContext({markViewContentRef:()=>{}});var bm=(0,A.createContext)({get editor(){throw Error(`useTiptap must be used within a <Tiptap> provider`)}});bm.displayName=`TiptapContext`;var xm=()=>(0,A.useContext)(bm);function Sm({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,A.useMemo)(()=>({editor:r}),[r]),a=(0,A.useMemo)(()=>({editor:r}),[r]);return(0,j.jsx)(gm.Provider,{value:a,children:(0,j.jsx)(bm.Provider,{value:i,children:n})})}Sm.displayName=`Tiptap`;function Cm({...e}){let{editor:t}=xm();return(0,j.jsx)(sm,{editor:t,...e})}Cm.displayName=`Tiptap.Content`,Object.assign(Sm,{Content:Cm});var wm=[`top`,`right`,`bottom`,`left`],Tm=[`start`,`end`],Em=wm.reduce((e,t)=>e.concat(t,t+`-`+Tm[0],t+`-`+Tm[1]),[]),Dm=Math.min,Om=Math.max,km=Math.round,Am=e=>({x:e,y:e}),jm={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Mm(e,t,n){return Om(e,Dm(t,n))}function Nm(e,t){return typeof e==`function`?e(t):e}function Pm(e){return e.split(`-`)[0]}function Fm(e){return e.split(`-`)[1]}function Im(e){return e===`x`?`y`:`x`}function Lm(e){return e===`y`?`height`:`width`}function Rm(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function zm(e){return Im(Rm(e))}function Bm(e,t,n){n===void 0&&(n=!1);let r=Fm(e),i=zm(e),a=Lm(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ym(o)),[o,Ym(o)]}function Vm(e){let t=Ym(e);return[Hm(e),t,Hm(t)]}function Hm(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Um=[`left`,`right`],Wm=[`right`,`left`],Gm=[`top`,`bottom`],Km=[`bottom`,`top`];function qm(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Wm:Um:t?Um:Wm;case`left`:case`right`:return t?Gm:Km;default:return[]}}function Jm(e,t,n,r){let i=Fm(e),a=qm(Pm(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Hm)))),a}function Ym(e){let t=Pm(e);return jm[t]+e.slice(t.length)}function Xm(e){return{top:0,right:0,bottom:0,left:0,...e}}function Zm(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Xm(e)}function Qm(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function $m(e,t,n){let{reference:r,floating:i}=e,a=Rm(t),o=zm(t),s=Lm(o),c=Pm(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Fm(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function eh(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Nm(t,e),p=Zm(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Qm(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Qm(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var th=50,nh=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:eh},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=$m(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<th&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=$m(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},rh=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Nm(e,t)||{};if(l==null)return{};let d=Zm(u),f={x:n,y:r},p=zm(i),m=Lm(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let ee=b/2-x/2,w=C/2-h[m]/2-1,te=Dm(d[_],w),ne=Dm(d[v],w),re=te,ie=C-h[m]-ne,T=C/2-h[m]/2+ee,E=Mm(re,T,ie),D=!c.arrow&&Fm(i)!=null&&T!==E&&a.reference[m]/2-(T<re?te:ne)-h[m]/2<0,O=D?T<re?T-re:T-ie:0;return{[p]:f[p]+O,data:{[p]:E,centerOffset:T-E-O,...D&&{alignmentOffset:O}},reset:D}}});function ih(e,t,n){return(e?[...n.filter(t=>Fm(t)===e),...n.filter(t=>Fm(t)!==e)]:n.filter(e=>Pm(e)===e)).filter(n=>e?Fm(n)===e||(t?Hm(n)!==n:!1):!0)}var ah=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=Em,autoAlignment:u=!0,...d}=Nm(e,t),f=c!==void 0||l===Em?ih(c||null,u,l):l,p=await a.detectOverflow(t,d),m=r.autoPlacement?.index||0,h=f[m];if(h==null)return{};let g=Bm(h,n,await(a.isRTL==null?void 0:a.isRTL(o.floating)));if(i!==h)return{reset:{placement:f[0]}};let _=[p[Pm(h)],p[g[0]],p[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:h,overflows:_}],y=f[m+1];if(y)return{data:{index:m+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Fm(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Fm(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:m+1,overflows:v},reset:{placement:x}}}}},oh=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Nm(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Pm(r),_=Rm(o),v=Pm(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ym(o)]:Vm(o)),x=p!==`none`;!d&&x&&b.push(...Jm(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),ee=[],w=i.flip?.overflows||[];if(l&&ee.push(C[g]),u){let e=Bm(r,a,y);ee.push(C[e[0]],C[e[1]])}if(w=[...w,{placement:r,overflows:ee}],!ee.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Rm(t))||w.every(e=>Rm(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:w},reset:{placement:t}};let n=w.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=w.filter(e=>{if(x){let t=Rm(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function sh(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ch(e){return wm.some(t=>e[t]>=0)}var lh=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Nm(e,t);switch(i){case`referenceHidden`:{let e=sh(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ch(e)}}}case`escaped`:{let e=sh(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ch(e)}}}default:return{}}}}};function uh(e){let t=Dm(...e.map(e=>e.left)),n=Dm(...e.map(e=>e.top)),r=Om(...e.map(e=>e.right)),i=Om(...e.map(e=>e.bottom));return{x:t,y:n,width:r-t,height:i-n}}function dh(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>Qm(uh(e)))}var fh=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:r,rects:i,platform:a,strategy:o}=t,{padding:s=2,x:c,y:l}=Nm(e,t),u=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(r.reference))||[]),d=dh(u),f=Qm(uh(u)),p=Zm(s);function m(){if(d.length===2&&d[0].left>d[1].right&&c!=null&&l!=null)return d.find(e=>c>e.left-p.left&&c<e.right+p.right&&l>e.top-p.top&&l<e.bottom+p.bottom)||f;if(d.length>=2){if(Rm(n)===`y`){let e=d[0],t=d[d.length-1],r=Pm(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=Pm(n)===`left`,t=Om(...d.map(e=>e.right)),r=Dm(...d.map(e=>e.left)),i=d.filter(n=>e?n.left===r:n.right===t),a=i[0].top,o=i[i.length-1].bottom,s=r,c=t;return{top:a,bottom:o,left:s,right:c,width:c-s,height:o-a,x:s,y:a}}return f}let h=await a.getElementRects({reference:{getBoundingClientRect:m},floating:r.floating,strategy:o});return i.reference.x!==h.reference.x||i.reference.y!==h.reference.y||i.reference.width!==h.reference.width||i.reference.height!==h.reference.height?{reset:{rects:h}}:{}}}},ph=new Set([`left`,`top`]);async function mh(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Pm(n),s=Fm(n),c=Rm(n)===`y`,l=ph.has(o)?-1:1,u=a&&c?-1:1,d=Nm(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var hh=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await mh(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},gh=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Nm(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Rm(Pm(i)),p=Im(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Mm(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Mm(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},_h=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Nm(e,t),u=await o.detectOverflow(t,l),d=Pm(i),f=Fm(i),p=Rm(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Dm(h-u[g],v),x=Dm(m-u[_],y),S=!t.middlewareData.shift,C=b,ee=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ee=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Om(u.left,0),t=Om(u.right,0),n=Om(u.top,0),r=Om(u.bottom,0);p?ee=m-2*(e!==0||t!==0?e+t:Om(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Om(u.top,u.bottom))}await c({...t,availableWidth:ee,availableHeight:C});let w=await o.getDimensions(s.floating);return m!==w.width||h!==w.height?{reset:{rects:!0}}:{}}}};function vh(){return typeof window<`u`}function yh(e){return Sh(e)?(e.nodeName||``).toLowerCase():`#document`}function bh(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function xh(e){return((Sh(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Sh(e){return vh()?e instanceof Node||e instanceof bh(e).Node:!1}function Ch(e){return vh()?e instanceof Element||e instanceof bh(e).Element:!1}function wh(e){return vh()?e instanceof HTMLElement||e instanceof bh(e).HTMLElement:!1}function Th(e){return!vh()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof bh(e).ShadowRoot}function Eh(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Lh(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Dh(e){return/^(table|td|th)$/.test(yh(e))}function Oh(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var kh=/transform|translate|scale|rotate|perspective|filter/,Ah=/paint|layout|strict|content/,jh=e=>!!e&&e!==`none`,Mh;function Nh(e){let t=Ch(e)?Lh(e):e;return jh(t.transform)||jh(t.translate)||jh(t.scale)||jh(t.rotate)||jh(t.perspective)||!Fh()&&(jh(t.backdropFilter)||jh(t.filter))||kh.test(t.willChange||``)||Ah.test(t.contain||``)}function Ph(e){let t=zh(e);for(;wh(t)&&!Ih(t);){if(Nh(t))return t;if(Oh(t))return null;t=zh(t)}return null}function Fh(){return Mh??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Mh}function Ih(e){return/^(html|body|#document)$/.test(yh(e))}function Lh(e){return bh(e).getComputedStyle(e)}function Rh(e){return Ch(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function zh(e){if(yh(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Th(e)&&e.host||xh(e);return Th(t)?t.host:t}function Bh(e){let t=zh(e);return Ih(t)?e.ownerDocument?e.ownerDocument.body:e.body:wh(t)&&Eh(t)?t:Bh(t)}function Vh(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Bh(e),i=r===e.ownerDocument?.body,a=bh(r);if(i){let e=Hh(a);return t.concat(a,a.visualViewport||[],Eh(r)?r:[],e&&n?Vh(e):[])}else return t.concat(r,Vh(r,[],n))}function Hh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Uh(e){let t=Lh(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=wh(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=km(n)!==a||km(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Wh(e){return Ch(e)?e:e.contextElement}function Gh(e){let t=Wh(e);if(!wh(t))return Am(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Uh(t),o=(a?km(n.width):n.width)/r,s=(a?km(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Kh=Am(0);function qh(e){let t=bh(e);return!Fh()||!t.visualViewport?Kh:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Jh(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==bh(e)?!1:t}function Yh(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Wh(e),o=Am(1);t&&(r?Ch(r)&&(o=Gh(r)):o=Gh(e));let s=Jh(a,n,r)?qh(a):Am(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=bh(a),t=r&&Ch(r)?bh(r):r,n=e,i=Hh(n);for(;i&&r&&t!==n;){let e=Gh(i),t=i.getBoundingClientRect(),r=Lh(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=bh(i),i=Hh(n)}}return Qm({width:u,height:d,x:c,y:l})}function Xh(e,t){let n=Rh(e).scrollLeft;return t?t.left+n:Yh(xh(e)).left+n}function Zh(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Xh(e,n),y:n.top+t.scrollTop}}function Qh(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=xh(r),s=t?Oh(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Am(1),u=Am(0),d=wh(r);if((d||!d&&!a)&&((yh(r)!==`body`||Eh(o))&&(c=Rh(r)),d)){let e=Yh(r);l=Gh(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Zh(o,c):Am(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function $h(e){return Array.from(e.getClientRects())}function eg(e){let t=xh(e),n=Rh(e),r=e.ownerDocument.body,i=Om(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Om(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Xh(e),s=-n.scrollTop;return Lh(r).direction===`rtl`&&(o+=Om(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var tg=25;function ng(e,t){let n=bh(e),r=xh(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Fh();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Xh(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=tg&&(a-=o)}else l<=tg&&(a+=l);return{width:a,height:o,x:s,y:c}}function rg(e,t){let n=Yh(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=wh(e)?Gh(e):Am(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ig(e,t,n){let r;if(t===`viewport`)r=ng(e,n);else if(t===`document`)r=eg(xh(e));else if(Ch(t))r=rg(t,n);else{let n=qh(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Qm(r)}function ag(e,t){let n=zh(e);return n===t||!Ch(n)||Ih(n)?!1:Lh(n).position===`fixed`||ag(n,t)}function og(e,t){let n=t.get(e);if(n)return n;let r=Vh(e,[],!1).filter(e=>Ch(e)&&yh(e)!==`body`),i=null,a=Lh(e).position===`fixed`,o=a?zh(e):e;for(;Ch(o)&&!Ih(o);){let t=Lh(o),n=Nh(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Eh(o)&&!n&&ag(e,o))?r=r.filter(e=>e!==o):i=t,o=zh(o)}return t.set(e,r),r}function sg(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Oh(t)?[]:og(t,this._c):[].concat(n),r],o=ig(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ig(t,a[e],i);s=Om(n.top,s),c=Dm(n.right,c),l=Dm(n.bottom,l),u=Om(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function cg(e){let{width:t,height:n}=Uh(e);return{width:t,height:n}}function lg(e,t,n){let r=wh(t),i=xh(t),a=n===`fixed`,o=Yh(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Am(0);function l(){c.x=Xh(i)}if(r||!r&&!a)if((yh(t)!==`body`||Eh(i))&&(s=Rh(t)),r){let e=Yh(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Zh(i,s):Am(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function ug(e){return Lh(e).position===`static`}function dg(e,t){if(!wh(e)||Lh(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return xh(e)===n&&(n=n.ownerDocument.body),n}function fg(e,t){let n=bh(e);if(Oh(e))return n;if(!wh(e)){let t=zh(e);for(;t&&!Ih(t);){if(Ch(t)&&!ug(t))return t;t=zh(t)}return n}let r=dg(e,t);for(;r&&Dh(r)&&ug(r);)r=dg(r,t);return r&&Ih(r)&&ug(r)&&!Nh(r)?n:r||Ph(e)||n}var pg=async function(e){let t=this.getOffsetParent||fg,n=this.getDimensions,r=await n(e.floating);return{reference:lg(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function mg(e){return Lh(e).direction===`rtl`}var hg={convertOffsetParentRelativeRectToViewportRelativeRect:Qh,getDocumentElement:xh,getClippingRect:sg,getOffsetParent:fg,getElementRects:pg,getClientRects:$h,getDimensions:cg,getScale:Gh,isElement:Ch,isRTL:mg},gg=hh,_g=ah,vg=gh,yg=oh,bg=_h,xg=lh,Sg=rh,Cg=fh,wg=(e,t,n)=>{let r=new Map,i={platform:hg,...n},a={...i.platform,_c:r};return nh(e,t,{...i,platform:a})},Tg,Eg;if(typeof WeakMap<`u`){let e=new WeakMap;Tg=t=>e.get(t),Eg=(t,n)=>(e.set(t,n),n)}else{let e=[],t=0;Tg=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},Eg=(n,r)=>(t==10&&(t=0),e[t++]=n,e[t++]=r)}var Dg=class{constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,i=t/this.width|0,a=r+1,o=i+1;for(let e=1;a<this.width&&this.map[t+e]==n;e++)a++;for(let e=1;o<this.height&&this.map[t+this.width*e]==n;e++)o++;return{left:r,top:i,right:a,bottom:o}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:i,top:a,bottom:o}=this.findCell(e);return t==`horiz`?(n<0?r==0:i==this.width)?null:this.map[a*this.width+(n<0?r-1:i)]:(n<0?a==0:o==this.height)?null:this.map[r+this.width*(n<0?a-1:o)]}rectBetween(e,t){let{left:n,right:r,top:i,bottom:a}=this.findCell(e),{left:o,right:s,top:c,bottom:l}=this.findCell(t);return{left:Math.min(n,o),top:Math.min(i,c),right:Math.max(r,s),bottom:Math.max(a,l)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let i=e.left;i<e.right;i++){let a=r*this.width+i,o=this.map[a];n[o]||(n[o]=!0,!(i==e.left&&i&&this.map[a-1]==o||r==e.top&&r&&this.map[a-this.width]==o)&&t.push(o))}return t}positionAt(e,t,n){for(let r=0,i=0;;r++){let a=i+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<i;)n++;return n==r?a-1:this.map[n]}i=a}}static get(e){return Tg(e)||Eg(e,Og(e))}};function Og(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=kg(e),n=e.childCount,r=[],i=0,a=null,o=[];for(let e=0,i=t*n;e<i;e++)r[e]=0;for(let s=0,c=0;s<n;s++){let l=e.child(s);c++;for(let e=0;;e++){for(;i<r.length&&r[i]!=0;)i++;if(e==l.childCount)break;let u=l.child(e),{colspan:d,rowspan:f,colwidth:p}=u.attrs;for(let e=0;e<f;e++){if(e+s>=n){(a||=[]).push({type:`overlong_rowspan`,pos:c,n:f-e});break}let l=i+e*t;for(let e=0;e<d;e++){r[l+e]==0?r[l+e]=c:(a||=[]).push({type:`collision`,row:s,pos:c,n:d-e});let n=p&&p[e];if(n){let r=(l+e)%t*2,i=o[r];i==null||i!=n&&o[r+1]==1?(o[r]=n,o[r+1]=1):i==n&&o[r+1]++}}}i+=d,c+=u.nodeSize}let u=(s+1)*t,d=0;for(;i<u;)r[i++]==0&&d++;d&&(a||=[]).push({type:`missing`,row:s,n:d}),c++}(t===0||n===0)&&(a||=[]).push({type:`zero_sized`});let s=new Dg(t,n,r,a),c=!1;for(let e=0;!c&&e<o.length;e+=2)o[e]!=null&&o[e+1]<n&&(c=!0);return c&&Ag(s,o,e),s}function kg(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let i=e.child(r),a=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let i=n.child(e);t+i.attrs.rowspan>r&&(a+=i.attrs.colspan)}}for(let e=0;e<i.childCount;e++){let t=i.child(e);a+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=a:t!=a&&(t=Math.max(t,a))}return t}function Ag(e,t,n){e.problems||=[];let r={};for(let i=0;i<e.map.length;i++){let a=e.map[i];if(r[a])continue;r[a]=!0;let o=n.nodeAt(a);if(!o)throw RangeError(`No cell with offset ${a} found`);let s=null,c=o.attrs;for(let n=0;n<c.colspan;n++){let r=t[(i+n)%e.width*2];r!=null&&(!c.colwidth||c.colwidth[n]!=r)&&((s||=jg(c))[n]=r)}s&&e.problems.unshift({type:`colwidth mismatch`,pos:a,colwidth:s})}}function jg(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function Mg(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],i=r.spec.tableRole;i&&(t[i]=r)}}return t}new z(`selectingCells`);function Ng(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function Pg(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function Fg(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=Ng(t.$head)||Ig(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function Ig(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function Lg(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function Rg(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function zg(e,t,n){let r=e.node(-1),i=Dg.get(r),a=e.start(-1),o=i.nextCell(e.pos-a,t,n);return o==null?null:e.node(0).resolve(a+o)}function Bg(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}var Vg=class e extends F{constructor(e,t=e){let n=e.node(-1),r=Dg.get(n),i=e.start(-1),a=r.rectBetween(e.pos-i,t.pos-i),o=e.node(0),s=r.cellsInRect(a).filter(e=>e!=t.pos-i);s.unshift(t.pos-i);let c=s.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=i+e+1;return new Mr(o.resolve(r),o.resolve(r+t.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),i=t.resolve(n.map(this.$headCell.pos));if(Lg(r)&&Lg(i)&&Rg(r,i)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,i):t&&this.isColSelection()?e.colSelection(r,i):new e(r,i)}return I.between(r,i)}content(){let e=this.$anchorCell.node(-1),t=Dg.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),i={},a=[];for(let n=r.top;n<r.bottom;n++){let o=[];for(let a=n*t.width+r.left,s=r.left;s<r.right;s++,a++){let n=t.map[a];if(i[n])continue;i[n]=!0;let s=t.findCell(n),c=e.nodeAt(n);if(!c)throw RangeError(`No cell with offset ${n} found`);let l=r.left-s.left,u=s.right-r.right;if(l>0||u>0){let e=c.attrs;if(l>0&&(e=Bg(e,0,l)),u>0&&(e=Bg(e,e.colspan-u,u)),s.left<r.left){if(c=c.type.createAndFill(e),!c)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else c=c.type.create(e,c.content)}if(s.top<r.top||s.bottom>r.bottom){let e={...c.attrs,rowspan:Math.min(s.bottom,r.bottom)-Math.max(s.top,r.top)};c=s.top<r.top?c.type.createAndFill(e):c.type.create(e,c.content)}o.push(c)}a.push(e.child(n).copy(M.from(o)))}let o=this.isColSelection()&&this.isRowSelection()?e:a;return new P(M.from(o),1,1)}replace(e,t=P.empty){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n);e.replace(s.map(a.pos),s.map(o.pos),i?P.empty:t)}let i=F.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);i&&e.setSelection(i)}replaceWith(e,t){this.replace(e,new P(M.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=Dg.get(t),r=this.$anchorCell.start(-1),i=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<i.length;n++)e(t.nodeAt(i[n]),r+i[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),i=Dg.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.top<=s.top?(o.top>0&&(t=c.resolve(a+i.map[o.left])),s.bottom<i.height&&(n=c.resolve(a+i.map[i.width*(i.height-1)+s.right-1]))):(s.top>0&&(n=c.resolve(a+i.map[s.left])),o.bottom<i.height&&(t=c.resolve(a+i.map[i.width*(i.height-1)+o.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=Dg.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),i=t.colCount(this.$headCell.pos-n);if(Math.min(r,i)>0)return!1;let a=r+this.$anchorCell.nodeAfter.attrs.colspan,o=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(a,o)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),i=Dg.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.left<=s.left?(o.left>0&&(t=c.resolve(a+i.map[o.top*i.width])),s.right<i.width&&(n=c.resolve(a+i.map[i.width*(s.top+1)-1]))):(s.left>0&&(n=c.resolve(a+i.map[s.top*i.width])),o.right<i.width&&(t=c.resolve(a+i.map[i.width*(o.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new Hg(this.$anchorCell.pos,this.$headCell.pos)}};Vg.prototype.visible=!1,F.jsonID(`cell`,Vg);var Hg=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&Rg(t,n)?new Vg(t,n):F.near(n,1)}};new z(`fix-tables`);function Ug(e){let t=e.selection,n=Fg(e),r=n.node(-1),i=n.start(-1),a=Dg.get(r);return{...t instanceof Vg?a.rectBetween(t.$anchorCell.pos-i,t.$headCell.pos-i):a.findCell(n.pos-i),tableStart:i,map:a,table:r}}function Wg(e){return function(t,n){if(!Pg(t))return!1;if(n){let r=Mg(t.schema),i=Ug(t),a=t.tr,o=i.map.cellsInRect(e==`column`?{left:i.left,top:0,right:i.right,bottom:i.map.height}:e==`row`?{left:0,top:i.top,right:i.map.width,bottom:i.bottom}:i),s=o.map(e=>i.table.nodeAt(e));for(let e=0;e<o.length;e++)s[e].type==r.header_cell&&a.setNodeMarkup(i.tableStart+o[e],r.cell,s[e].attrs);if(a.steps.length===0)for(let e=0;e<o.length;e++)a.setNodeMarkup(i.tableStart+o[e],r.header_cell,s[e].attrs);n(a)}return!0}}function Gg(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let i=t.table.nodeAt(r[e]);if(i&&i.type!==n.header_cell)return!1}return!0}function Kg(e,t){return t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?Wg(e):function(t,n){if(!Pg(t))return!1;if(n){let r=Mg(t.schema),i=Ug(t),a=t.tr,o=Gg(`row`,i,r),s=Gg(`column`,i,r),c=(e===`column`?o:e===`row`&&s)?1:0,l=e==`column`?{left:0,top:c,right:1,bottom:i.map.height}:e==`row`?{left:c,top:0,right:i.map.width,bottom:1}:i,u=e==`column`?s?r.cell:r.header_cell:e==`row`?o?r.cell:r.header_cell:r.cell;i.map.cellsInRect(l).forEach(e=>{let t=e+i.tableStart,n=a.doc.nodeAt(t);n&&a.setNodeMarkup(t,u,n.attrs)}),n(a)}return!0}}Kg(`row`,{useDeprecatedLogic:!0}),Kg(`column`,{useDeprecatedLogic:!0}),Kg(`cell`,{useDeprecatedLogic:!0});function qg(e,t){let n=e.selection;if(!(n instanceof Vg))return!1;if(t){let r=e.tr,i=Mg(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(i)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new P(i,0,0))}),r.docChanged&&t(r)}return!0}Tl({ArrowLeft:Yg(`horiz`,-1),ArrowRight:Yg(`horiz`,1),ArrowUp:Yg(`vert`,-1),ArrowDown:Yg(`vert`,1),"Shift-ArrowLeft":Xg(`horiz`,-1),"Shift-ArrowRight":Xg(`horiz`,1),"Shift-ArrowUp":Xg(`vert`,-1),"Shift-ArrowDown":Xg(`vert`,1),Backspace:qg,"Mod-Backspace":qg,Delete:qg,"Mod-Delete":qg});function Jg(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function Yg(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection;if(a instanceof Vg)return Jg(n,r,F.near(a.$headCell,t));if(e!=`horiz`&&!a.empty)return!1;let o=Zg(i,e,t);if(o==null)return!1;if(e==`horiz`)return Jg(n,r,F.near(n.doc.resolve(a.head+t),t));{let i=n.doc.resolve(o),a=zg(i,e,t),s;return s=a?F.near(a,1):t<0?F.near(n.doc.resolve(i.before(-1)),-1):F.near(n.doc.resolve(i.after(-1)),1),Jg(n,r,s)}}}function Xg(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection,o;if(a instanceof Vg)o=a;else{let r=Zg(i,e,t);if(r==null)return!1;o=new Vg(n.doc.resolve(r))}let s=zg(o.$headCell,e,t);return s?Jg(n,r,new Vg(o.$anchorCell,s)):!1}}function Zg(e,t,n){if(!(e.state.selection instanceof I))return null;let{$head:r}=e.state.selection;for(let i=r.depth-1;i>=0;i--){let a=r.node(i);if((n<0?r.index(i):r.indexAfter(i))!=(n<0?0:a.childCount))return null;if(a.type.spec.tableRole==`cell`||a.type.spec.tableRole==`header_cell`){let a=r.before(i),o=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(o)?a:null}}return null}new z(`tableColumnResizing`);function Qg(e,t){let n=Math.min(e.top,t.top),r=Math.max(e.bottom,t.bottom),i=Math.min(e.left,t.left),a=Math.max(e.right,t.right)-i,o=r-n;return new DOMRect(i,n,a,o)}var $g=class{constructor({editor:e,element:t,view:n,pluginKey:r=`bubbleMenu`,updateDelay:i=250,resizeDelay:a=60,shouldShow:o,appendTo:s,getReferencedVirtualElement:c,options:l}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.floatingUIOptions={strategy:`absolute`,placement:`top`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:e,state:t,from:n,to:r})=>{let{doc:i,selection:a}=t,{empty:o}=a,s=!i.textBetween(n,r).length&&Zl(t.selection),c=this.element.contains(document.activeElement);return!(!(e.hasFocus()||c)||o||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.editor.isDestroyed){this.destroy();return}if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(e,t)=>{let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);!n&&!r||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(e,n,r,t)},this.updateDelay))},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=l?.scrollTarget??window,this.getReferencedVirtualElement=c,this.floatingUIOptions={...this.floatingUIOptions,...l},this.element.tabIndex=0,o&&(this.shouldShow=o),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener(`dragstart`,this.dragstartHandler),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(yg(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(vg(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(gg(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(Sg(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(bg(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(_g(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(xg(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(Cg(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}get virtualElement(){let{selection:e}=this.editor.state,t=this.getReferencedVirtualElement?.call(this);if(t)return t;if(!this.view?.dom?.parentNode)return;let n=Fd(this.view,e.from,e.to),r={getBoundingClientRect:()=>n,getClientRects:()=>[n]};if(e instanceof L){let t=this.view.nodeDOM(e.from),n=t.dataset.nodeViewWrapper?t:t.querySelector(`[data-node-view-wrapper]`);n&&(t=n),t&&(r={getBoundingClientRect:()=>t.getBoundingClientRect(),getClientRects:()=>[t.getBoundingClientRect()]})}if(e instanceof Vg){let{$anchorCell:t,$headCell:n}=e,i=t?t.pos:n.pos,a=n?n.pos:t.pos,o=this.view.nodeDOM(i),s=this.view.nodeDOM(a);if(!o||!s)return;let c=o===s?o.getBoundingClientRect():Qg(o.getBoundingClientRect(),s.getBoundingClientRect());r={getBoundingClientRect:()=>c,getClientRects:()=>[c]}}return r}updatePosition(){let e=this.virtualElement;e&&wg(e,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let{state:n}=e,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(e,t);return}let i=!t?.selection.eq(e.state.selection),a=!t?.doc.eq(e.state.doc);this.updateHandler(e,i,a,t)}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,element:this.element,view:this.view,state:t,oldState:e,from:i,to:a})||!1}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.getReferencedVirtualElement!==void 0&&(this.getReferencedVirtualElement=e.getReferencedVirtualElement),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener(`dragstart`,this.dragstartHandler),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},e_=e=>new R({key:typeof e.pluginKey==`string`?new z(e.pluginKey):e.pluginKey,view:t=>new $g({view:t,...e})});K.create({name:`bubbleMenu`,addOptions(){return{element:null,pluginKey:`bubbleMenu`,updateDelay:void 0,appendTo:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[e_({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,appendTo:this.options.appendTo,getReferencedVirtualElement:this.options.getReferencedVirtualElement,shouldShow:this.options.shouldShow})]:[]}});var t_=class{constructor({editor:e,element:t,view:n,pluginKey:r=`floatingMenu`,updateDelay:i=250,resizeDelay:a=60,options:o,appendTo:s,shouldShow:c}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.shouldShow=({view:e,state:t})=>{let{selection:n}=t,{$anchor:r,empty:i}=n,a=r.depth===1,o=r.parent.isTextblock&&!r.parent.type.spec.code&&!r.parent.textContent&&r.parent.childCount===0&&!this.getTextContent(r.parent);return!(!e.hasFocus()||!i||!a||!o||!this.editor.isEditable)},this.floatingUIOptions={strategy:`absolute`,placement:`right`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=o?.scrollTarget??window,this.floatingUIOptions={...this.floatingUIOptions,...o},this.element.tabIndex=0,c&&(this.shouldShow=c),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}getTextContent(e){return fd(e,{textSerializers:pd(this.editor.schema)})}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(yg(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(vg(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(gg(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(Sg(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(bg(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(_g(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(xg(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(Cg(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,view:this.view,state:t,oldState:e,from:i,to:a})}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}updatePosition(){let{selection:e}=this.editor.state,t=Fd(this.view,e.from,e.to);wg({getBoundingClientRect:()=>t,getClientRects:()=>[t]},this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);this.updateHandler(e,n,r,t)}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},n_=e=>new R({key:typeof e.pluginKey==`string`?new z(e.pluginKey):e.pluginKey,view:t=>new t_({view:t,...e})});K.create({name:`floatingMenu`,addOptions(){return{element:null,options:{},pluginKey:`floatingMenu`,updateDelay:void 0,resizeDelay:void 0,appendTo:void 0,shouldShow:null}},addCommands(){return{updateFloatingMenuPosition:()=>({tr:e,dispatch:t})=>(t&&e.setMeta(this.options.pluginKey,`updatePosition`),!0)}},addProseMirrorPlugins(){return this.options.element?[n_({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,resizeDelay:this.options.resizeDelay,options:this.options.options,appendTo:this.options.appendTo,shouldShow:this.options.shouldShow})]:[]}});function r_(e,t){return e??new z(t)}var i_=typeof window<`u`?A.useLayoutEffect:A.useEffect,a_=new Set([`left`,`opacity`,`position`,`top`,`visibility`,`width`]),o_=new Set(`animationIterationCount.aspectRatio.borderImageOutset.borderImageSlice.borderImageWidth.columnCount.columns.fillOpacity.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineClamp.lineHeight.opacity.order.orphans.scale.stopOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeOpacity.strokeWidth.tabSize.widows.zIndex.zoom`.split(`.`)),s_=new Set([`children`,`className`,`style`]),c_=new Set([`tabIndex`]),l_=new Set([`accessKey`,`autoCapitalize`,`contentEditable`,`contextMenu`,`dir`,`draggable`,`enterKeyHint`,`hidden`,`id`,`lang`,`nonce`,`role`,`slot`,`spellCheck`,`tabIndex`,`title`,`translate`]),u_={Blur:`focusout`,DoubleClick:`dblclick`,Focus:`focusin`,MouseEnter:`mouseenter`,MouseLeave:`mouseleave`};function d_(e,t){return/^on[A-Z]/.test(e)&&typeof t==`function`}function f_(e){return e.startsWith(`aria-`)||e.startsWith(`data-`),e}function p_(e){return e.startsWith(`aria-`)||e.startsWith(`data-`)||l_.has(e)}function m_(e){return e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function h_(e){let t=e.endsWith(`Capture`),n=(t?e.slice(0,-7):e).slice(2);return{eventName:u_[n]??n.toLowerCase(),options:t?{capture:!0}:void 0}}function g_(e,t){let n=t.defaultPrevented,r=!1,i=Object.create(t);return Object.defineProperties(i,{nativeEvent:{value:t},currentTarget:{value:e},target:{value:t.target},persist:{value:()=>void 0},isDefaultPrevented:{value:()=>n},isPropagationStopped:{value:()=>r},preventDefault:{value:()=>{n=!0,t.preventDefault()}},stopPropagation:{value:()=>{r=!0,t.stopPropagation()}}}),i}function __(e){return c_.has(e)}function v_(e,t,n){if(t===`tabIndex`){e.tabIndex=Number(n);return}e[t]=n}function y_(e,t){if(t===`tabIndex`){e.removeAttribute(`tabindex`);return}let n=e[t];if(typeof n==`boolean`){e[t]=!1;return}if(typeof n==`number`){e[t]=0;return}e[t]=``}function b_(e,t){return typeof t!=`number`||t===0||e.startsWith(`--`)||o_.has(e)?String(t):`${t}px`}function x_(e,t){a_.has(t)||e.style.removeProperty(m_(t))}function S_(e,t,n){a_.has(t)||e.style.setProperty(m_(t),b_(t,n))}function C_(e,t,n){new Set([...Object.keys(t),...Object.keys(n)]).forEach(r=>{if(s_.has(r)||!p_(r)||d_(r,t[r])||d_(r,n[r]))return;let i=t[r],a=n[r];if(i===a)return;let o=f_(r);if(a==null||a===!1){__(r)&&y_(e,r),e.removeAttribute(o);return}if(a===!0){__(r)&&v_(e,r,!0),e.setAttribute(o,``);return}if(__(r)){v_(e,r,a);return}e.setAttribute(o,String(a))})}function w_(e,t,n){if(t!==n){if(n){e.className=n;return}e.removeAttribute(`class`)}}function T_(e,t,n){let r=t??{},i=n??{};new Set([...Object.keys(r),...Object.keys(i)]).forEach(t=>{let n=r[t],a=i[t];if(n!==a){if(a==null){x_(e,t);return}S_(e,t,a)}})}function E_(e,t,n){t.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)});let r=[];return Object.entries(n).forEach(([t,n])=>{if(!d_(t,n))return;let{eventName:i,options:a}=h_(t),o=t=>{n(g_(e,t))};e.addEventListener(i,o,a),r.push({eventName:i,listener:o,options:a})}),r}function D_(e,t){let n=(0,A.useRef)({}),r=(0,A.useRef)([]);i_(()=>{let i=n.current;return w_(e,i.className,t.className),T_(e,i.style,t.style),C_(e,i,t),r.current=E_(e,r.current,t),n.current=t,()=>{r.current.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)}),r.current=[]}},[e,t])}var O_=A.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,getReferencedVirtualElement:o,options:s,children:c,...l},u)=>{let d=(0,A.useRef)(document.createElement(`div`)),f=(0,A.useRef)(r_(e,`bubbleMenu`)).current;D_(d.current,l),typeof u==`function`?u(d.current):u&&(u.current=d.current);let{editor:p}=_m(),m=t||p,h={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:f,shouldShow:a,getReferencedVirtualElement:o,options:s},g=(0,A.useRef)(h);g.current=h;let[_,v]=(0,A.useState)(!1),y=(0,A.useRef)(!0);return(0,A.useEffect)(()=>{if(m?.isDestroyed)return;if(!m){console.warn(`BubbleMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=d.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=e_({...g.current,editor:m,element:e});m.registerPlugin(t);let n=g.current.pluginKey;return y.current=!0,v(!0),()=>{v(!1),m.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[m]),(0,A.useEffect)(()=>{if(!(!_||!m||m.isDestroyed)){if(y.current){y.current=!1;return}m.view.dispatch(m.state.tr.setMeta(f,{type:`updateOptions`,options:g.current}))}},[_,m,n,r,a,s,i,o,f]),(0,Ye.createPortal)(c,d.current)});A.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,options:o,children:s,...c},l)=>{let u=(0,A.useRef)(document.createElement(`div`)),d=(0,A.useRef)(r_(e,`floatingMenu`)).current;D_(u.current,c),typeof l==`function`?l(u.current):l&&(l.current=u.current);let{editor:f}=_m(),p=t||f,m={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:d,shouldShow:a,options:o},h=(0,A.useRef)(m);h.current=m;let[g,_]=(0,A.useState)(!1),v=(0,A.useRef)(!0);return(0,A.useEffect)(()=>{if(p?.isDestroyed)return;if(!p){console.warn(`FloatingMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=u.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=n_({...h.current,editor:p,element:e});p.registerPlugin(t);let n=h.current.pluginKey;return v.current=!0,_(!0),()=>{_(!1),p.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[p]),(0,A.useEffect)(()=>{if(!(!g||!p||p.isDestroyed)){if(v.current){v.current=!1;return}p.view.dispatch(p.state.tr.setMeta(d,{type:`updateOptions`,options:h.current}))}},[g,p,n,r,a,o,i,d]),(0,Ye.createPortal)(s,u.current)});var k_=(e,t)=>{if(e===`slot`)return 0;if(e instanceof Function)return e(t);let{children:n,...r}=t??{};if(e===`svg`)throw Error(`SVG elements are not supported in the JSX syntax, use the array syntax instead`);return[e,r,n]},A_=/^\s*>\s$/,j_=tp.create({name:`blockquote`,addOptions(){return{HTMLAttributes:{}}},content:`block+`,group:`block`,defining:!0,parseHTML(){return[{tag:`blockquote`}]},renderHTML({HTMLAttributes:e}){return k_(`blockquote`,{...G(this.options.HTMLAttributes,e),children:k_(`slot`,{})})},parseMarkdown:(e,t)=>{let n=t.parseBlockChildren??t.parseChildren;return t.createNode(`blockquote`,void 0,n(e.tokens||[]))},renderMarkdown:(e,t)=>{if(!e.content)return``;let n=[];return e.content.forEach((e,r)=>{let i=(t.renderChild?.call(t,e,r)??t.renderChildren([e])).split(`
102
+ ${n}`}}),s}function ep(e,t,n={}){let{state:r}=t,{doc:i,tr:a}=r,o=e;i.descendants((t,r)=>{let i=a.mapping.map(r),s=a.mapping.map(r)+t.nodeSize,c=null;if(t.marks.forEach(e=>{if(e!==o)return!1;c=e}),!c)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==c.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});a.removeMark(i,s,e.type),a.addMark(i,s,t)}}),a.docChanged&&t.view.dispatch(a)}var tp=class e extends hf{constructor(){super(...arguments),this.type=`node`}static create(t={}){return new e(typeof t==`function`?t():t)}configure(e){return super.configure(e)}extend(e){let t=typeof e==`function`?e():e;return super.extend(t)}};function np(e){return new vf({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let a=W(e.getAttributes,void 0,r,i);if(a===!1||a===null)return null;let{tr:o}=t,s=r[r.length-1],c=r[0],l=n.to;if(s){let r=c.search(/\S/),i=n.from+c.indexOf(s),u=i+s.length;if(yd(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;u<n.to&&o.delete(u,n.to),i>n.from&&o.delete(n.from+r,i),l=n.from+r+s.length,o.addMark(n.from+r,l,e.type.create(a||{})),o.removeStoredMark(e.type)}}})}var{getOwnPropertyNames:rp,getOwnPropertySymbols:ip}=Object,{hasOwnProperty:ap}=Object.prototype;function op(e,t){return function(n,r,i){return e(n,r,i)&&t(n,r,i)}}function sp(e){return function(t,n,r){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r);let{cache:i}=r,a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);let s=e(t,n,r);return i.delete(t),i.delete(n),s}}function cp(e){return e?.[Symbol.toStringTag]}function lp(e){return rp(e).concat(ip(e))}var up=Object.hasOwn||((e,t)=>ap.call(e,t));function dp(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var fp=`__v`,pp=`__o`,mp=`_owner`,{getOwnPropertyDescriptor:hp,keys:gp}=Object;function _p(e,t){return e.byteLength===t.byteLength&&Ap(new Uint8Array(e),new Uint8Array(t))}function vp(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function yp(e,t){return e.byteLength===t.byteLength&&Ap(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function bp(e,t){return dp(e.getTime(),t.getTime())}function xp(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Sp(e,t){return e===t}function Cp(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.entries(),o,s,c=0;for(;(o=a.next())&&!o.done;){let r=t.entries(),a=!1,l=0;for(;(s=r.next())&&!s.done;){if(i[l]){l++;continue}let r=o.value,u=s.value;if(n.equals(r[0],u[0],c,l,e,t,n)&&n.equals(r[1],u[1],r[0],u[0],e,t,n)){a=i[l]=!0;break}l++}if(!a)return!1;c++}return!0}var wp=dp;function Tp(e,t,n){let r=gp(e),i=r.length;if(gp(t).length!==i)return!1;for(;i-- >0;)if(!Mp(e,t,n,r[i]))return!1;return!0}function Ep(e,t,n){let r=lp(e),i=r.length;if(lp(t).length!==i)return!1;let a,o,s;for(;i-- >0;)if(a=r[i],!Mp(e,t,n,a)||(o=hp(e,a),s=hp(t,a),(o||s)&&(!o||!s||o.configurable!==s.configurable||o.enumerable!==s.enumerable||o.writable!==s.writable)))return!1;return!0}function Dp(e,t){return dp(e.valueOf(),t.valueOf())}function Op(e,t){return e.source===t.source&&e.flags===t.flags}function kp(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=Array(r),a=e.values(),o,s;for(;(o=a.next())&&!o.done;){let r=t.values(),a=!1,c=0;for(;(s=r.next())&&!s.done;){if(!i[c]&&n.equals(o.value,s.value,o.value,s.value,e,t,n)){a=i[c]=!0;break}c++}if(!a)return!1}return!0}function Ap(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function jp(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Mp(e,t,n,r){return(r===mp||r===pp||r===fp)&&(e.$$typeof||t.$$typeof)?!0:up(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Np=`[object ArrayBuffer]`,Pp=`[object Arguments]`,Fp=`[object Boolean]`,Ip=`[object DataView]`,Lp=`[object Date]`,Rp=`[object Error]`,zp=`[object Map]`,Bp=`[object Number]`,Vp=`[object Object]`,Hp=`[object RegExp]`,Up=`[object Set]`,Wp=`[object String]`,Gp={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},Kp=`[object URL]`,qp=Object.prototype.toString;function Jp({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:s,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:m}){return function(h,g,_){if(h===g)return!0;if(h==null||g==null)return!1;let v=typeof h;if(v!==typeof g)return!1;if(v!==`object`)return v===`number`?s(h,g,_):v===`function`?a(h,g,_):!1;let y=h.constructor;if(y!==g.constructor)return!1;if(y===Object)return c(h,g,_);if(Array.isArray(h))return t(h,g,_);if(y===Date)return r(h,g,_);if(y===RegExp)return u(h,g,_);if(y===Map)return o(h,g,_);if(y===Set)return d(h,g,_);let b=qp.call(h);if(b===Lp)return r(h,g,_);if(b===Hp)return u(h,g,_);if(b===zp)return o(h,g,_);if(b===Up)return d(h,g,_);if(b===Vp)return typeof h.then!=`function`&&typeof g.then!=`function`&&c(h,g,_);if(b===Kp)return p(h,g,_);if(b===Rp)return i(h,g,_);if(b===Pp)return c(h,g,_);if(Gp[b])return f(h,g,_);if(b===Np)return e(h,g,_);if(b===Ip)return n(h,g,_);if(b===Fp||b===Bp||b===Wp)return l(h,g,_);if(m){let e=m[b];if(!e){let t=cp(h);t&&(e=m[t])}if(e)return e(h,g,_)}return!1}}function Yp({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:_p,areArraysEqual:n?Ep:vp,areDataViewsEqual:yp,areDatesEqual:bp,areErrorsEqual:xp,areFunctionsEqual:Sp,areMapsEqual:n?op(Cp,Ep):Cp,areNumbersEqual:wp,areObjectsEqual:n?Ep:Tp,arePrimitiveWrappersEqual:Dp,areRegExpsEqual:Op,areSetsEqual:n?op(kp,Ep):kp,areTypedArraysEqual:n?op(Ap,Ep):Ap,areUrlsEqual:jp,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=sp(r.areArraysEqual),t=sp(r.areMapsEqual),n=sp(r.areObjectsEqual),i=sp(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:i})}return r}function Xp(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function Zp({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,o){let{cache:s=e?new WeakMap:void 0,meta:c}=n();return t(a,o,{cache:s,equals:r,meta:c,strict:i})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let a={cache:void 0,equals:r,meta:void 0,strict:i};return function(e,n){return t(e,n,a)}}var Qp=$p();$p({strict:!0}),$p({circular:!0}),$p({circular:!0,strict:!0}),$p({createInternalComparator:()=>dp}),$p({strict:!0,createInternalComparator:()=>dp}),$p({circular:!0,createInternalComparator:()=>dp}),$p({circular:!0,createInternalComparator:()=>dp,strict:!0});function $p(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,a=Jp(Yp(e));return Zp({circular:t,comparator:a,createState:r,equals:n?n(a):Xp(a),strict:i})}var em=t((e=>{var t=o(),n=Je();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),o!==void 0&&f.hasValue){var t=f.value;if(o(t,e))return c=t}return c=e}if(t=c,i(s,e))return t;var n=r(e);return o!==void 0&&o(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,o]);var p=a(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),tm=t(((e,t)=>{t.exports=em()}))(),nm=(...e)=>t=>{e.forEach(e=>{typeof e==`function`?e(t):e&&(e.current=t)})},rm=({contentComponent:e})=>{let t=(0,Ye.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,A.jsx)(A.Fragment,{children:Object.values(t)})};function im(){let e=new Set,t={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:Xe.createPortal(r.reactElement,r.element,n)},e.forEach(e=>e())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(e=>e())}}}var am=class extends k.Component{constructor(e){super(e),this.editorContentRef=k.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!e.editor?.contentComponent}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){let e=this.props.editor;if(e&&!e.isDestroyed&&e.view.dom?.parentNode){if(e.contentComponent)return;let t=this.editorContentRef.current;t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t}),e.contentComponent=im(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(e=>e.hasContentComponentInitialized?e:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){let e=this.props.editor;if(e){this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null;try{if(!e.view.dom?.parentNode)return;let t=document.createElement(`div`);t.append(...e.view.dom.parentNode.childNodes),e.setOptions({element:t})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`div`,{ref:nm(t,this.editorContentRef),...n}),e?.contentComponent&&(0,A.jsx)(rm,{contentComponent:e.contentComponent})]})}},om=(0,k.forwardRef)((e,t)=>{let n=k.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return k.createElement(am,{key:n,innerRef:t,...e})}),sm=k.memo(om),cm=typeof window<`u`?k.useLayoutEffect:k.useEffect,lm=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let e=()=>{this.transactionNumber+=1,this.subscribers.forEach(e=>e())},t=this.editor;return t.on(`transaction`,e),()=>{t.off(`transaction`,e)}}}};function um(e){let[t]=(0,k.useState)(()=>new lm(e.editor)),n=(0,tm.useSyncExternalStoreWithSelector)(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn??Qp);return cm(()=>t.watch(e.editor),[e.editor,t]),(0,k.useDebugValue)(n),n}var dm=!1,fm=typeof window>`u`,pm=fm||!!(typeof window<`u`&&window.next),mm=class e{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId=``,this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(e=>e())}getInitialEditor(){if(this.options.current.immediatelyRender===void 0){if(fm||pm){if(dm)throw Error("Tiptap Error: SSR has been detected, please set `immediatelyRender` explicitly to `false` to avoid hydration mismatches.");return null}return this.createEditor()}if(this.options.current.immediatelyRender&&fm&&dm)throw Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){return new zf({...this.options.current,onBeforeCreate:(...e)=>{var t;return(t=this.options.current).onBeforeCreate?.call(t,...e)},onBlur:(...e)=>{var t;return(t=this.options.current).onBlur?.call(t,...e)},onCreate:(...e)=>{var t;return(t=this.options.current).onCreate?.call(t,...e)},onDestroy:(...e)=>{var t;return(t=this.options.current).onDestroy?.call(t,...e)},onFocus:(...e)=>{var t;return(t=this.options.current).onFocus?.call(t,...e)},onSelectionUpdate:(...e)=>{var t;return(t=this.options.current).onSelectionUpdate?.call(t,...e)},onTransaction:(...e)=>{var t;return(t=this.options.current).onTransaction?.call(t,...e)},onUpdate:(...e)=>{var t;return(t=this.options.current).onUpdate?.call(t,...e)},onContentError:(...e)=>{var t;return(t=this.options.current).onContentError?.call(t,...e)},onDrop:(...e)=>{var t;return(t=this.options.current).onDrop?.call(t,...e)},onPaste:(...e)=>{var t;return(t=this.options.current).onPaste?.call(t,...e)},onDelete:(...e)=>{var t;return(t=this.options.current).onDelete?.call(t,...e)}})}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,t){return Object.keys(e).every(n=>[`onCreate`,`onBeforeCreate`,`onDestroy`,`onUpdate`,`onTransaction`,`onFocus`,`onBlur`,`onSelectionUpdate`,`onContentError`,`onDrop`,`onPaste`].includes(n)?!0:n===`extensions`&&e.extensions&&t.extensions?e.extensions.length===t.extensions.length?e.extensions.every((e,n)=>e===t.extensions?.[n]):!1:e[n]===t[n])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?e.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((t,n)=>t===e[n]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){let e=this.instanceId,t=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){t&&t.setOptions(this.options.current);return}t&&!t.isDestroyed&&(t.destroy(),this.instanceId===e&&this.setEditor(null))},1)}};function hm(e={},t=[]){let n=(0,k.useRef)(e);n.current=e;let[r]=(0,k.useState)(()=>new mm(n)),i=(0,Ye.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,k.useDebugValue)(i),(0,k.useEffect)(r.onRender(t)),um({editor:i,selector:({transactionNumber:t})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&t===0?0:t+1}),i}var gm=(0,k.createContext)({editor:null});gm.Consumer;var _m=()=>(0,k.useContext)(gm),vm=(0,k.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}}),ym=()=>(0,k.useContext)(vm);k.forwardRef((e,t)=>{let{onDragStart:n}=ym();return(0,A.jsx)(e.as||`div`,{...e,ref:t,"data-node-view-wrapper":``,onDragStart:n,style:{whiteSpace:`normal`,...e.style}})}),k.createContext({markViewContentRef:()=>{}});var bm=(0,k.createContext)({get editor(){throw Error(`useTiptap must be used within a <Tiptap> provider`)}});bm.displayName=`TiptapContext`;var xm=()=>(0,k.useContext)(bm);function Sm({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,k.useMemo)(()=>({editor:r}),[r]),a=(0,k.useMemo)(()=>({editor:r}),[r]);return(0,A.jsx)(gm.Provider,{value:a,children:(0,A.jsx)(bm.Provider,{value:i,children:n})})}Sm.displayName=`Tiptap`;function Cm({...e}){let{editor:t}=xm();return(0,A.jsx)(sm,{editor:t,...e})}Cm.displayName=`Tiptap.Content`,Object.assign(Sm,{Content:Cm});var wm=[`top`,`right`,`bottom`,`left`],Tm=[`start`,`end`],Em=wm.reduce((e,t)=>e.concat(t,t+`-`+Tm[0],t+`-`+Tm[1]),[]),Dm=Math.min,Om=Math.max,km=Math.round,Am=e=>({x:e,y:e}),jm={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Mm(e,t,n){return Om(e,Dm(t,n))}function Nm(e,t){return typeof e==`function`?e(t):e}function Pm(e){return e.split(`-`)[0]}function Fm(e){return e.split(`-`)[1]}function Im(e){return e===`x`?`y`:`x`}function Lm(e){return e===`y`?`height`:`width`}function Rm(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function zm(e){return Im(Rm(e))}function Bm(e,t,n){n===void 0&&(n=!1);let r=Fm(e),i=zm(e),a=Lm(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ym(o)),[o,Ym(o)]}function Vm(e){let t=Ym(e);return[Hm(e),t,Hm(t)]}function Hm(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Um=[`left`,`right`],Wm=[`right`,`left`],Gm=[`top`,`bottom`],Km=[`bottom`,`top`];function qm(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Wm:Um:t?Um:Wm;case`left`:case`right`:return t?Gm:Km;default:return[]}}function Jm(e,t,n,r){let i=Fm(e),a=qm(Pm(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Hm)))),a}function Ym(e){let t=Pm(e);return jm[t]+e.slice(t.length)}function Xm(e){return{top:0,right:0,bottom:0,left:0,...e}}function Zm(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Xm(e)}function Qm(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function $m(e,t,n){let{reference:r,floating:i}=e,a=Rm(t),o=zm(t),s=Lm(o),c=Pm(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Fm(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function eh(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Nm(t,e),p=Zm(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Qm(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Qm(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var th=50,nh=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:eh},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=$m(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<th&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=$m(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},rh=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Nm(e,t)||{};if(l==null)return{};let d=Zm(u),f={x:n,y:r},p=zm(i),m=Lm(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let ee=b/2-x/2,w=C/2-h[m]/2-1,te=Dm(d[_],w),ne=Dm(d[v],w),re=te,ie=C-h[m]-ne,ae=C/2-h[m]/2+ee,T=Mm(re,ae,ie),E=!c.arrow&&Fm(i)!=null&&ae!==T&&a.reference[m]/2-(ae<re?te:ne)-h[m]/2<0,D=E?ae<re?ae-re:ae-ie:0;return{[p]:f[p]+D,data:{[p]:T,centerOffset:ae-T-D,...E&&{alignmentOffset:D}},reset:E}}});function ih(e,t,n){return(e?[...n.filter(t=>Fm(t)===e),...n.filter(t=>Fm(t)!==e)]:n.filter(e=>Pm(e)===e)).filter(n=>e?Fm(n)===e||(t?Hm(n)!==n:!1):!0)}var ah=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=Em,autoAlignment:u=!0,...d}=Nm(e,t),f=c!==void 0||l===Em?ih(c||null,u,l):l,p=await a.detectOverflow(t,d),m=r.autoPlacement?.index||0,h=f[m];if(h==null)return{};let g=Bm(h,n,await(a.isRTL==null?void 0:a.isRTL(o.floating)));if(i!==h)return{reset:{placement:f[0]}};let _=[p[Pm(h)],p[g[0]],p[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:h,overflows:_}],y=f[m+1];if(y)return{data:{index:m+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Fm(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Fm(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:m+1,overflows:v},reset:{placement:x}}}}},oh=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Nm(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Pm(r),_=Rm(o),v=Pm(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ym(o)]:Vm(o)),x=p!==`none`;!d&&x&&b.push(...Jm(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),ee=[],w=i.flip?.overflows||[];if(l&&ee.push(C[g]),u){let e=Bm(r,a,y);ee.push(C[e[0]],C[e[1]])}if(w=[...w,{placement:r,overflows:ee}],!ee.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Rm(t))||w.every(e=>Rm(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:w},reset:{placement:t}};let n=w.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=w.filter(e=>{if(x){let t=Rm(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function sh(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ch(e){return wm.some(t=>e[t]>=0)}var lh=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Nm(e,t);switch(i){case`referenceHidden`:{let e=sh(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ch(e)}}}case`escaped`:{let e=sh(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ch(e)}}}default:return{}}}}};function uh(e){let t=Dm(...e.map(e=>e.left)),n=Dm(...e.map(e=>e.top)),r=Om(...e.map(e=>e.right)),i=Om(...e.map(e=>e.bottom));return{x:t,y:n,width:r-t,height:i-n}}function dh(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>Qm(uh(e)))}var fh=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:r,rects:i,platform:a,strategy:o}=t,{padding:s=2,x:c,y:l}=Nm(e,t),u=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(r.reference))||[]),d=dh(u),f=Qm(uh(u)),p=Zm(s);function m(){if(d.length===2&&d[0].left>d[1].right&&c!=null&&l!=null)return d.find(e=>c>e.left-p.left&&c<e.right+p.right&&l>e.top-p.top&&l<e.bottom+p.bottom)||f;if(d.length>=2){if(Rm(n)===`y`){let e=d[0],t=d[d.length-1],r=Pm(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=Pm(n)===`left`,t=Om(...d.map(e=>e.right)),r=Dm(...d.map(e=>e.left)),i=d.filter(n=>e?n.left===r:n.right===t),a=i[0].top,o=i[i.length-1].bottom,s=r,c=t;return{top:a,bottom:o,left:s,right:c,width:c-s,height:o-a,x:s,y:a}}return f}let h=await a.getElementRects({reference:{getBoundingClientRect:m},floating:r.floating,strategy:o});return i.reference.x!==h.reference.x||i.reference.y!==h.reference.y||i.reference.width!==h.reference.width||i.reference.height!==h.reference.height?{reset:{rects:h}}:{}}}},ph=new Set([`left`,`top`]);async function mh(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Pm(n),s=Fm(n),c=Rm(n)===`y`,l=ph.has(o)?-1:1,u=a&&c?-1:1,d=Nm(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var hh=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await mh(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},gh=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Nm(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Rm(Pm(i)),p=Im(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Mm(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Mm(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},_h=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Nm(e,t),u=await o.detectOverflow(t,l),d=Pm(i),f=Fm(i),p=Rm(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Dm(h-u[g],v),x=Dm(m-u[_],y),S=!t.middlewareData.shift,C=b,ee=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(ee=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Om(u.left,0),t=Om(u.right,0),n=Om(u.top,0),r=Om(u.bottom,0);p?ee=m-2*(e!==0||t!==0?e+t:Om(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Om(u.top,u.bottom))}await c({...t,availableWidth:ee,availableHeight:C});let w=await o.getDimensions(s.floating);return m!==w.width||h!==w.height?{reset:{rects:!0}}:{}}}};function vh(){return typeof window<`u`}function yh(e){return Sh(e)?(e.nodeName||``).toLowerCase():`#document`}function bh(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function xh(e){return((Sh(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Sh(e){return vh()?e instanceof Node||e instanceof bh(e).Node:!1}function Ch(e){return vh()?e instanceof Element||e instanceof bh(e).Element:!1}function wh(e){return vh()?e instanceof HTMLElement||e instanceof bh(e).HTMLElement:!1}function Th(e){return!vh()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof bh(e).ShadowRoot}function Eh(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Lh(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Dh(e){return/^(table|td|th)$/.test(yh(e))}function Oh(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var kh=/transform|translate|scale|rotate|perspective|filter/,Ah=/paint|layout|strict|content/,jh=e=>!!e&&e!==`none`,Mh;function Nh(e){let t=Ch(e)?Lh(e):e;return jh(t.transform)||jh(t.translate)||jh(t.scale)||jh(t.rotate)||jh(t.perspective)||!Fh()&&(jh(t.backdropFilter)||jh(t.filter))||kh.test(t.willChange||``)||Ah.test(t.contain||``)}function Ph(e){let t=zh(e);for(;wh(t)&&!Ih(t);){if(Nh(t))return t;if(Oh(t))return null;t=zh(t)}return null}function Fh(){return Mh??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Mh}function Ih(e){return/^(html|body|#document)$/.test(yh(e))}function Lh(e){return bh(e).getComputedStyle(e)}function Rh(e){return Ch(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function zh(e){if(yh(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Th(e)&&e.host||xh(e);return Th(t)?t.host:t}function Bh(e){let t=zh(e);return Ih(t)?e.ownerDocument?e.ownerDocument.body:e.body:wh(t)&&Eh(t)?t:Bh(t)}function Vh(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Bh(e),i=r===e.ownerDocument?.body,a=bh(r);if(i){let e=Hh(a);return t.concat(a,a.visualViewport||[],Eh(r)?r:[],e&&n?Vh(e):[])}else return t.concat(r,Vh(r,[],n))}function Hh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Uh(e){let t=Lh(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=wh(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=km(n)!==a||km(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Wh(e){return Ch(e)?e:e.contextElement}function Gh(e){let t=Wh(e);if(!wh(t))return Am(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Uh(t),o=(a?km(n.width):n.width)/r,s=(a?km(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Kh=Am(0);function qh(e){let t=bh(e);return!Fh()||!t.visualViewport?Kh:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Jh(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==bh(e)?!1:t}function Yh(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Wh(e),o=Am(1);t&&(r?Ch(r)&&(o=Gh(r)):o=Gh(e));let s=Jh(a,n,r)?qh(a):Am(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=bh(a),t=r&&Ch(r)?bh(r):r,n=e,i=Hh(n);for(;i&&r&&t!==n;){let e=Gh(i),t=i.getBoundingClientRect(),r=Lh(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=bh(i),i=Hh(n)}}return Qm({width:u,height:d,x:c,y:l})}function Xh(e,t){let n=Rh(e).scrollLeft;return t?t.left+n:Yh(xh(e)).left+n}function Zh(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Xh(e,n),y:n.top+t.scrollTop}}function Qh(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=xh(r),s=t?Oh(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Am(1),u=Am(0),d=wh(r);if((d||!d&&!a)&&((yh(r)!==`body`||Eh(o))&&(c=Rh(r)),d)){let e=Yh(r);l=Gh(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Zh(o,c):Am(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function $h(e){return Array.from(e.getClientRects())}function eg(e){let t=xh(e),n=Rh(e),r=e.ownerDocument.body,i=Om(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Om(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Xh(e),s=-n.scrollTop;return Lh(r).direction===`rtl`&&(o+=Om(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var tg=25;function ng(e,t){let n=bh(e),r=xh(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Fh();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Xh(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=tg&&(a-=o)}else l<=tg&&(a+=l);return{width:a,height:o,x:s,y:c}}function rg(e,t){let n=Yh(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=wh(e)?Gh(e):Am(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ig(e,t,n){let r;if(t===`viewport`)r=ng(e,n);else if(t===`document`)r=eg(xh(e));else if(Ch(t))r=rg(t,n);else{let n=qh(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Qm(r)}function ag(e,t){let n=zh(e);return n===t||!Ch(n)||Ih(n)?!1:Lh(n).position===`fixed`||ag(n,t)}function og(e,t){let n=t.get(e);if(n)return n;let r=Vh(e,[],!1).filter(e=>Ch(e)&&yh(e)!==`body`),i=null,a=Lh(e).position===`fixed`,o=a?zh(e):e;for(;Ch(o)&&!Ih(o);){let t=Lh(o),n=Nh(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Eh(o)&&!n&&ag(e,o))?r=r.filter(e=>e!==o):i=t,o=zh(o)}return t.set(e,r),r}function sg(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Oh(t)?[]:og(t,this._c):[].concat(n),r],o=ig(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ig(t,a[e],i);s=Om(n.top,s),c=Dm(n.right,c),l=Dm(n.bottom,l),u=Om(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function cg(e){let{width:t,height:n}=Uh(e);return{width:t,height:n}}function lg(e,t,n){let r=wh(t),i=xh(t),a=n===`fixed`,o=Yh(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Am(0);function l(){c.x=Xh(i)}if(r||!r&&!a)if((yh(t)!==`body`||Eh(i))&&(s=Rh(t)),r){let e=Yh(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Zh(i,s):Am(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function ug(e){return Lh(e).position===`static`}function dg(e,t){if(!wh(e)||Lh(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return xh(e)===n&&(n=n.ownerDocument.body),n}function fg(e,t){let n=bh(e);if(Oh(e))return n;if(!wh(e)){let t=zh(e);for(;t&&!Ih(t);){if(Ch(t)&&!ug(t))return t;t=zh(t)}return n}let r=dg(e,t);for(;r&&Dh(r)&&ug(r);)r=dg(r,t);return r&&Ih(r)&&ug(r)&&!Nh(r)?n:r||Ph(e)||n}var pg=async function(e){let t=this.getOffsetParent||fg,n=this.getDimensions,r=await n(e.floating);return{reference:lg(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function mg(e){return Lh(e).direction===`rtl`}var hg={convertOffsetParentRelativeRectToViewportRelativeRect:Qh,getDocumentElement:xh,getClippingRect:sg,getOffsetParent:fg,getElementRects:pg,getClientRects:$h,getDimensions:cg,getScale:Gh,isElement:Ch,isRTL:mg},gg=hh,_g=ah,vg=gh,yg=oh,bg=_h,xg=lh,Sg=rh,Cg=fh,wg=(e,t,n)=>{let r=new Map,i={platform:hg,...n},a={...i.platform,_c:r};return nh(e,t,{...i,platform:a})},Tg,Eg;if(typeof WeakMap<`u`){let e=new WeakMap;Tg=t=>e.get(t),Eg=(t,n)=>(e.set(t,n),n)}else{let e=[],t=0;Tg=t=>{for(let n=0;n<e.length;n+=2)if(e[n]==t)return e[n+1]},Eg=(n,r)=>(t==10&&(t=0),e[t++]=n,e[t++]=r)}var Dg=class{constructor(e,t,n,r){this.width=e,this.height=t,this.map=n,this.problems=r}findCell(e){for(let t=0;t<this.map.length;t++){let n=this.map[t];if(n!=e)continue;let r=t%this.width,i=t/this.width|0,a=r+1,o=i+1;for(let e=1;a<this.width&&this.map[t+e]==n;e++)a++;for(let e=1;o<this.height&&this.map[t+this.width*e]==n;e++)o++;return{left:r,top:i,right:a,bottom:o}}throw RangeError(`No cell with offset ${e} found`)}colCount(e){for(let t=0;t<this.map.length;t++)if(this.map[t]==e)return t%this.width;throw RangeError(`No cell with offset ${e} found`)}nextCell(e,t,n){let{left:r,right:i,top:a,bottom:o}=this.findCell(e);return t==`horiz`?(n<0?r==0:i==this.width)?null:this.map[a*this.width+(n<0?r-1:i)]:(n<0?a==0:o==this.height)?null:this.map[r+this.width*(n<0?a-1:o)]}rectBetween(e,t){let{left:n,right:r,top:i,bottom:a}=this.findCell(e),{left:o,right:s,top:c,bottom:l}=this.findCell(t);return{left:Math.min(n,o),top:Math.min(i,c),right:Math.max(r,s),bottom:Math.max(a,l)}}cellsInRect(e){let t=[],n={};for(let r=e.top;r<e.bottom;r++)for(let i=e.left;i<e.right;i++){let a=r*this.width+i,o=this.map[a];n[o]||(n[o]=!0,!(i==e.left&&i&&this.map[a-1]==o||r==e.top&&r&&this.map[a-this.width]==o)&&t.push(o))}return t}positionAt(e,t,n){for(let r=0,i=0;;r++){let a=i+n.child(r).nodeSize;if(r==e){let n=t+e*this.width,r=(e+1)*this.width;for(;n<r&&this.map[n]<i;)n++;return n==r?a-1:this.map[n]}i=a}}static get(e){return Tg(e)||Eg(e,Og(e))}};function Og(e){if(e.type.spec.tableRole!=`table`)throw RangeError(`Not a table node: `+e.type.name);let t=kg(e),n=e.childCount,r=[],i=0,a=null,o=[];for(let e=0,i=t*n;e<i;e++)r[e]=0;for(let s=0,c=0;s<n;s++){let l=e.child(s);c++;for(let e=0;;e++){for(;i<r.length&&r[i]!=0;)i++;if(e==l.childCount)break;let u=l.child(e),{colspan:d,rowspan:f,colwidth:p}=u.attrs;for(let e=0;e<f;e++){if(e+s>=n){(a||=[]).push({type:`overlong_rowspan`,pos:c,n:f-e});break}let l=i+e*t;for(let e=0;e<d;e++){r[l+e]==0?r[l+e]=c:(a||=[]).push({type:`collision`,row:s,pos:c,n:d-e});let n=p&&p[e];if(n){let r=(l+e)%t*2,i=o[r];i==null||i!=n&&o[r+1]==1?(o[r]=n,o[r+1]=1):i==n&&o[r+1]++}}}i+=d,c+=u.nodeSize}let u=(s+1)*t,d=0;for(;i<u;)r[i++]==0&&d++;d&&(a||=[]).push({type:`missing`,row:s,n:d}),c++}(t===0||n===0)&&(a||=[]).push({type:`zero_sized`});let s=new Dg(t,n,r,a),c=!1;for(let e=0;!c&&e<o.length;e+=2)o[e]!=null&&o[e+1]<n&&(c=!0);return c&&Ag(s,o,e),s}function kg(e){let t=-1,n=!1;for(let r=0;r<e.childCount;r++){let i=e.child(r),a=0;if(n)for(let t=0;t<r;t++){let n=e.child(t);for(let e=0;e<n.childCount;e++){let i=n.child(e);t+i.attrs.rowspan>r&&(a+=i.attrs.colspan)}}for(let e=0;e<i.childCount;e++){let t=i.child(e);a+=t.attrs.colspan,t.attrs.rowspan>1&&(n=!0)}t==-1?t=a:t!=a&&(t=Math.max(t,a))}return t}function Ag(e,t,n){e.problems||=[];let r={};for(let i=0;i<e.map.length;i++){let a=e.map[i];if(r[a])continue;r[a]=!0;let o=n.nodeAt(a);if(!o)throw RangeError(`No cell with offset ${a} found`);let s=null,c=o.attrs;for(let n=0;n<c.colspan;n++){let r=t[(i+n)%e.width*2];r!=null&&(!c.colwidth||c.colwidth[n]!=r)&&((s||=jg(c))[n]=r)}s&&e.problems.unshift({type:`colwidth mismatch`,pos:a,colwidth:s})}}function jg(e){if(e.colwidth)return e.colwidth.slice();let t=[];for(let n=0;n<e.colspan;n++)t.push(0);return t}function Mg(e){let t=e.cached.tableNodeTypes;if(!t){t=e.cached.tableNodeTypes={};for(let n in e.nodes){let r=e.nodes[n],i=r.spec.tableRole;i&&(t[i]=r)}}return t}new z(`selectingCells`);function Ng(e){for(let t=e.depth-1;t>0;t--)if(e.node(t).type.spec.tableRole==`row`)return e.node(0).resolve(e.before(t+1));return null}function Pg(e){let t=e.selection.$head;for(let e=t.depth;e>0;e--)if(t.node(e).type.spec.tableRole==`row`)return!0;return!1}function Fg(e){let t=e.selection;if(`$anchorCell`in t&&t.$anchorCell)return t.$anchorCell.pos>t.$headCell.pos?t.$anchorCell:t.$headCell;if(`node`in t&&t.node&&t.node.type.spec.tableRole==`cell`)return t.$anchor;let n=Ng(t.$head)||Ig(t.$head);if(n)return n;throw RangeError(`No cell found around position ${t.head}`)}function Ig(e){for(let t=e.nodeAfter,n=e.pos;t;t=t.firstChild,n++){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n)}for(let t=e.nodeBefore,n=e.pos;t;t=t.lastChild,n--){let r=t.type.spec.tableRole;if(r==`cell`||r==`header_cell`)return e.doc.resolve(n-t.nodeSize)}}function Lg(e){return e.parent.type.spec.tableRole==`row`&&!!e.nodeAfter}function Rg(e,t){return e.depth==t.depth&&e.pos>=t.start(-1)&&e.pos<=t.end(-1)}function zg(e,t,n){let r=e.node(-1),i=Dg.get(r),a=e.start(-1),o=i.nextCell(e.pos-a,t,n);return o==null?null:e.node(0).resolve(a+o)}function Bg(e,t,n=1){let r={...e,colspan:e.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(t,n),r.colwidth.some(e=>e>0)||(r.colwidth=null)),r}var Vg=class e extends F{constructor(e,t=e){let n=e.node(-1),r=Dg.get(n),i=e.start(-1),a=r.rectBetween(e.pos-i,t.pos-i),o=e.node(0),s=r.cellsInRect(a).filter(e=>e!=t.pos-i);s.unshift(t.pos-i);let c=s.map(e=>{let t=n.nodeAt(e);if(!t)throw RangeError(`No cell with offset ${e} found`);let r=i+e+1;return new Mr(o.resolve(r),o.resolve(r+t.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=t}map(t,n){let r=t.resolve(n.map(this.$anchorCell.pos)),i=t.resolve(n.map(this.$headCell.pos));if(Lg(r)&&Lg(i)&&Rg(r,i)){let t=this.$anchorCell.node(-1)!=r.node(-1);return t&&this.isRowSelection()?e.rowSelection(r,i):t&&this.isColSelection()?e.colSelection(r,i):new e(r,i)}return I.between(r,i)}content(){let e=this.$anchorCell.node(-1),t=Dg.get(e),n=this.$anchorCell.start(-1),r=t.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),i={},a=[];for(let n=r.top;n<r.bottom;n++){let o=[];for(let a=n*t.width+r.left,s=r.left;s<r.right;s++,a++){let n=t.map[a];if(i[n])continue;i[n]=!0;let s=t.findCell(n),c=e.nodeAt(n);if(!c)throw RangeError(`No cell with offset ${n} found`);let l=r.left-s.left,u=s.right-r.right;if(l>0||u>0){let e=c.attrs;if(l>0&&(e=Bg(e,0,l)),u>0&&(e=Bg(e,e.colspan-u,u)),s.left<r.left){if(c=c.type.createAndFill(e),!c)throw RangeError(`Could not create cell with attrs ${JSON.stringify(e)}`)}else c=c.type.create(e,c.content)}if(s.top<r.top||s.bottom>r.bottom){let e={...c.attrs,rowspan:Math.min(s.bottom,r.bottom)-Math.max(s.top,r.top)};c=s.top<r.top?c.type.createAndFill(e):c.type.create(e,c.content)}o.push(c)}a.push(e.child(n).copy(M.from(o)))}let o=this.isColSelection()&&this.isRowSelection()?e:a;return new P(M.from(o),1,1)}replace(e,t=P.empty){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n);e.replace(s.map(a.pos),s.map(o.pos),i?P.empty:t)}let i=F.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);i&&e.setSelection(i)}replaceWith(e,t){this.replace(e,new P(M.from(t),0,0))}forEachCell(e){let t=this.$anchorCell.node(-1),n=Dg.get(t),r=this.$anchorCell.start(-1),i=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let n=0;n<i.length;n++)e(t.nodeAt(i[n]),r+i[n])}isColSelection(){let e=this.$anchorCell.index(-1),t=this.$headCell.index(-1);if(Math.min(e,t)>0)return!1;let n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=t+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(t,n=t){let r=t.node(-1),i=Dg.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.top<=s.top?(o.top>0&&(t=c.resolve(a+i.map[o.left])),s.bottom<i.height&&(n=c.resolve(a+i.map[i.width*(i.height-1)+s.right-1]))):(s.top>0&&(n=c.resolve(a+i.map[s.left])),o.bottom<i.height&&(t=c.resolve(a+i.map[i.width*(i.height-1)+o.right-1]))),new e(t,n)}isRowSelection(){let e=this.$anchorCell.node(-1),t=Dg.get(e),n=this.$anchorCell.start(-1),r=t.colCount(this.$anchorCell.pos-n),i=t.colCount(this.$headCell.pos-n);if(Math.min(r,i)>0)return!1;let a=r+this.$anchorCell.nodeAfter.attrs.colspan,o=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(a,o)==t.width}eq(t){return t instanceof e&&t.$anchorCell.pos==this.$anchorCell.pos&&t.$headCell.pos==this.$headCell.pos}static rowSelection(t,n=t){let r=t.node(-1),i=Dg.get(r),a=t.start(-1),o=i.findCell(t.pos-a),s=i.findCell(n.pos-a),c=t.node(0);return o.left<=s.left?(o.left>0&&(t=c.resolve(a+i.map[o.top*i.width])),s.right<i.width&&(n=c.resolve(a+i.map[i.width*(s.top+1)-1]))):(s.left>0&&(n=c.resolve(a+i.map[s.top*i.width])),o.right<i.width&&(t=c.resolve(a+i.map[i.width*(o.top+1)-1]))),new e(t,n)}toJSON(){return{type:`cell`,anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(t,n){return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){return new e(t.resolve(n),t.resolve(r))}getBookmark(){return new Hg(this.$anchorCell.pos,this.$headCell.pos)}};Vg.prototype.visible=!1,F.jsonID(`cell`,Vg);var Hg=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){let t=e.resolve(this.anchor),n=e.resolve(this.head);return t.parent.type.spec.tableRole==`row`&&n.parent.type.spec.tableRole==`row`&&t.index()<t.parent.childCount&&n.index()<n.parent.childCount&&Rg(t,n)?new Vg(t,n):F.near(n,1)}};new z(`fix-tables`);function Ug(e){let t=e.selection,n=Fg(e),r=n.node(-1),i=n.start(-1),a=Dg.get(r);return{...t instanceof Vg?a.rectBetween(t.$anchorCell.pos-i,t.$headCell.pos-i):a.findCell(n.pos-i),tableStart:i,map:a,table:r}}function Wg(e){return function(t,n){if(!Pg(t))return!1;if(n){let r=Mg(t.schema),i=Ug(t),a=t.tr,o=i.map.cellsInRect(e==`column`?{left:i.left,top:0,right:i.right,bottom:i.map.height}:e==`row`?{left:0,top:i.top,right:i.map.width,bottom:i.bottom}:i),s=o.map(e=>i.table.nodeAt(e));for(let e=0;e<o.length;e++)s[e].type==r.header_cell&&a.setNodeMarkup(i.tableStart+o[e],r.cell,s[e].attrs);if(a.steps.length===0)for(let e=0;e<o.length;e++)a.setNodeMarkup(i.tableStart+o[e],r.header_cell,s[e].attrs);n(a)}return!0}}function Gg(e,t,n){let r=t.map.cellsInRect({left:0,top:0,right:e==`row`?t.map.width:1,bottom:e==`column`?t.map.height:1});for(let e=0;e<r.length;e++){let i=t.table.nodeAt(r[e]);if(i&&i.type!==n.header_cell)return!1}return!0}function Kg(e,t){return t||={useDeprecatedLogic:!1},t.useDeprecatedLogic?Wg(e):function(t,n){if(!Pg(t))return!1;if(n){let r=Mg(t.schema),i=Ug(t),a=t.tr,o=Gg(`row`,i,r),s=Gg(`column`,i,r),c=(e===`column`?o:e===`row`&&s)?1:0,l=e==`column`?{left:0,top:c,right:1,bottom:i.map.height}:e==`row`?{left:c,top:0,right:i.map.width,bottom:1}:i,u=e==`column`?s?r.cell:r.header_cell:e==`row`?o?r.cell:r.header_cell:r.cell;i.map.cellsInRect(l).forEach(e=>{let t=e+i.tableStart,n=a.doc.nodeAt(t);n&&a.setNodeMarkup(t,u,n.attrs)}),n(a)}return!0}}Kg(`row`,{useDeprecatedLogic:!0}),Kg(`column`,{useDeprecatedLogic:!0}),Kg(`cell`,{useDeprecatedLogic:!0});function qg(e,t){let n=e.selection;if(!(n instanceof Vg))return!1;if(t){let r=e.tr,i=Mg(e.schema).cell.createAndFill().content;n.forEachCell((e,t)=>{e.content.eq(i)||r.replace(r.mapping.map(t+1),r.mapping.map(t+e.nodeSize-1),new P(i,0,0))}),r.docChanged&&t(r)}return!0}Tl({ArrowLeft:Yg(`horiz`,-1),ArrowRight:Yg(`horiz`,1),ArrowUp:Yg(`vert`,-1),ArrowDown:Yg(`vert`,1),"Shift-ArrowLeft":Xg(`horiz`,-1),"Shift-ArrowRight":Xg(`horiz`,1),"Shift-ArrowUp":Xg(`vert`,-1),"Shift-ArrowDown":Xg(`vert`,1),Backspace:qg,"Mod-Backspace":qg,Delete:qg,"Mod-Delete":qg});function Jg(e,t,n){return n.eq(e.selection)?!1:(t&&t(e.tr.setSelection(n).scrollIntoView()),!0)}function Yg(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection;if(a instanceof Vg)return Jg(n,r,F.near(a.$headCell,t));if(e!=`horiz`&&!a.empty)return!1;let o=Zg(i,e,t);if(o==null)return!1;if(e==`horiz`)return Jg(n,r,F.near(n.doc.resolve(a.head+t),t));{let i=n.doc.resolve(o),a=zg(i,e,t),s;return s=a?F.near(a,1):t<0?F.near(n.doc.resolve(i.before(-1)),-1):F.near(n.doc.resolve(i.after(-1)),1),Jg(n,r,s)}}}function Xg(e,t){return(n,r,i)=>{if(!i)return!1;let a=n.selection,o;if(a instanceof Vg)o=a;else{let r=Zg(i,e,t);if(r==null)return!1;o=new Vg(n.doc.resolve(r))}let s=zg(o.$headCell,e,t);return s?Jg(n,r,new Vg(o.$anchorCell,s)):!1}}function Zg(e,t,n){if(!(e.state.selection instanceof I))return null;let{$head:r}=e.state.selection;for(let i=r.depth-1;i>=0;i--){let a=r.node(i);if((n<0?r.index(i):r.indexAfter(i))!=(n<0?0:a.childCount))return null;if(a.type.spec.tableRole==`cell`||a.type.spec.tableRole==`header_cell`){let a=r.before(i),o=t==`vert`?n>0?`down`:`up`:n>0?`right`:`left`;return e.endOfTextblock(o)?a:null}}return null}new z(`tableColumnResizing`);function Qg(e,t){let n=Math.min(e.top,t.top),r=Math.max(e.bottom,t.bottom),i=Math.min(e.left,t.left),a=Math.max(e.right,t.right)-i,o=r-n;return new DOMRect(i,n,a,o)}var $g=class{constructor({editor:e,element:t,view:n,pluginKey:r=`bubbleMenu`,updateDelay:i=250,resizeDelay:a=60,shouldShow:o,appendTo:s,getReferencedVirtualElement:c,options:l}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.floatingUIOptions={strategy:`absolute`,placement:`top`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:e,state:t,from:n,to:r})=>{let{doc:i,selection:a}=t,{empty:o}=a,s=!i.textBetween(n,r).length&&Zl(t.selection),c=this.element.contains(document.activeElement);return!(!(e.hasFocus()||c)||o||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.editor.isDestroyed){this.destroy();return}if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(e,t)=>{let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);!n&&!r||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(e,n,r,t)},this.updateDelay))},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=l?.scrollTarget??window,this.getReferencedVirtualElement=c,this.floatingUIOptions={...this.floatingUIOptions,...l},this.element.tabIndex=0,o&&(this.shouldShow=o),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener(`dragstart`,this.dragstartHandler),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(yg(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(vg(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(gg(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(Sg(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(bg(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(_g(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(xg(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(Cg(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}get virtualElement(){let{selection:e}=this.editor.state,t=this.getReferencedVirtualElement?.call(this);if(t)return t;if(!this.view?.dom?.parentNode)return;let n=Fd(this.view,e.from,e.to),r={getBoundingClientRect:()=>n,getClientRects:()=>[n]};if(e instanceof L){let t=this.view.nodeDOM(e.from),n=t.dataset.nodeViewWrapper?t:t.querySelector(`[data-node-view-wrapper]`);n&&(t=n),t&&(r={getBoundingClientRect:()=>t.getBoundingClientRect(),getClientRects:()=>[t.getBoundingClientRect()]})}if(e instanceof Vg){let{$anchorCell:t,$headCell:n}=e,i=t?t.pos:n.pos,a=n?n.pos:t.pos,o=this.view.nodeDOM(i),s=this.view.nodeDOM(a);if(!o||!s)return;let c=o===s?o.getBoundingClientRect():Qg(o.getBoundingClientRect(),s.getBoundingClientRect());r={getBoundingClientRect:()=>c,getClientRects:()=>[c]}}return r}updatePosition(){let e=this.virtualElement;e&&wg(e,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let{state:n}=e,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(e,t);return}let i=!t?.selection.eq(e.state.selection),a=!t?.doc.eq(e.state.doc);this.updateHandler(e,i,a,t)}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,element:this.element,view:this.view,state:t,oldState:e,from:i,to:a})||!1}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.getReferencedVirtualElement!==void 0&&(this.getReferencedVirtualElement=e.getReferencedVirtualElement),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener(`dragstart`,this.dragstartHandler),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},e_=e=>new R({key:typeof e.pluginKey==`string`?new z(e.pluginKey):e.pluginKey,view:t=>new $g({view:t,...e})});K.create({name:`bubbleMenu`,addOptions(){return{element:null,pluginKey:`bubbleMenu`,updateDelay:void 0,appendTo:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[e_({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,appendTo:this.options.appendTo,getReferencedVirtualElement:this.options.getReferencedVirtualElement,shouldShow:this.options.shouldShow})]:[]}});var t_=class{constructor({editor:e,element:t,view:n,pluginKey:r=`floatingMenu`,updateDelay:i=250,resizeDelay:a=60,options:o,appendTo:s,shouldShow:c}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.shouldShow=({view:e,state:t})=>{let{selection:n}=t,{$anchor:r,empty:i}=n,a=r.depth===1,o=r.parent.isTextblock&&!r.parent.type.spec.code&&!r.parent.textContent&&r.parent.childCount===0&&!this.getTextContent(r.parent);return!(!e.hasFocus()||!i||!a||!o||!this.editor.isEditable)},this.floatingUIOptions={strategy:`absolute`,placement:`right`,offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1},this.updateHandler=(e,t,n,r)=>{let{composing:i}=e;if(!(i||!t&&!n)){if(!this.getShouldShow(r)){this.hide();return}this.updatePosition(),this.show()}},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:e})=>{if(this.preventHide){this.preventHide=!1;return}e?.relatedTarget&&this.element.parentNode?.contains(e.relatedTarget)||e?.relatedTarget!==this.editor.view.dom&&this.hide()},this.transactionHandler=({transaction:e})=>{let t=e.getMeta(this.pluginKey);t===`updatePosition`?this.updatePosition():t&&typeof t==`object`&&t.type===`updateOptions`&&this.updateOptions(t.options)},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.editor=e,this.element=t,this.view=n,this.pluginKey=r,this.updateDelay=i,this.resizeDelay=a,this.appendTo=s,this.scrollTarget=o?.scrollTarget??window,this.floatingUIOptions={...this.floatingUIOptions,...o},this.element.tabIndex=0,c&&(this.shouldShow=c),this.element.addEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),this.editor.on(`focus`,this.focusHandler),this.editor.on(`blur`,this.blurHandler),this.editor.on(`transaction`,this.transactionHandler),window.addEventListener(`resize`,this.resizeHandler),this.scrollTarget.addEventListener(`scroll`,this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}getTextContent(e){return fd(e,{textSerializers:pd(this.editor.schema)})}get middlewares(){let e=[];return this.floatingUIOptions.flip&&e.push(yg(typeof this.floatingUIOptions.flip==`boolean`?void 0:this.floatingUIOptions.flip)),this.floatingUIOptions.shift&&e.push(vg(typeof this.floatingUIOptions.shift==`boolean`?void 0:this.floatingUIOptions.shift)),this.floatingUIOptions.offset&&e.push(gg(typeof this.floatingUIOptions.offset==`boolean`?void 0:this.floatingUIOptions.offset)),this.floatingUIOptions.arrow&&e.push(Sg(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&e.push(bg(typeof this.floatingUIOptions.size==`boolean`?void 0:this.floatingUIOptions.size)),this.floatingUIOptions.autoPlacement&&e.push(_g(typeof this.floatingUIOptions.autoPlacement==`boolean`?void 0:this.floatingUIOptions.autoPlacement)),this.floatingUIOptions.hide&&e.push(xg(typeof this.floatingUIOptions.hide==`boolean`?void 0:this.floatingUIOptions.hide)),this.floatingUIOptions.inline&&e.push(Cg(typeof this.floatingUIOptions.inline==`boolean`?void 0:this.floatingUIOptions.inline)),e}getShouldShow(e){let{state:t}=this.view,{selection:n}=t,{ranges:r}=n,i=Math.min(...r.map(e=>e.$from.pos)),a=Math.max(...r.map(e=>e.$to.pos));return this.shouldShow?.call(this,{editor:this.editor,view:this.view,state:t,oldState:e,from:i,to:a})}updateOptions(e){if(e.updateDelay!==void 0&&(this.updateDelay=e.updateDelay),e.resizeDelay!==void 0&&(this.resizeDelay=e.resizeDelay),e.appendTo!==void 0&&(this.appendTo=e.appendTo),e.shouldShow!==void 0&&e.shouldShow&&(this.shouldShow=e.shouldShow),e.options!==void 0){let t=e.options.scrollTarget??window;t!==this.scrollTarget&&(this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.scrollTarget=t,this.scrollTarget.addEventListener(`scroll`,this.resizeHandler)),this.floatingUIOptions={...this.floatingUIOptions,...e.options}}}updatePosition(){let{selection:e}=this.editor.state,t=Fd(this.view,e.from,e.to);wg({getBoundingClientRect:()=>t,getClientRects:()=>[t]},this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:t,strategy:n,middlewareData:r})=>{if(r.hide?.referenceHidden||r.hide?.escaped){this.element.style.visibility=`hidden`;return}this.element.style.visibility=`visible`,this.element.style.width=`max-content`,this.element.style.position=n,this.element.style.left=`${e}px`,this.element.style.top=`${t}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(e,t){let n=!t?.selection.eq(e.state.selection),r=!t?.doc.eq(e.state.doc);this.updateHandler(e,n,r,t)}show(){var e;this.isVisible||(this.element.style.visibility=`visible`,this.element.style.opacity=`1`,(e=(typeof this.appendTo==`function`?this.appendTo():this.appendTo)??this.view.dom.parentElement)==null||e.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&=(this.element.style.visibility=`hidden`,this.element.style.opacity=`0`,this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),!1)}destroy(){this.hide(),this.element.removeEventListener(`mousedown`,this.mousedownHandler,{capture:!0}),window.removeEventListener(`resize`,this.resizeHandler),this.scrollTarget.removeEventListener(`scroll`,this.resizeHandler),this.editor.off(`focus`,this.focusHandler),this.editor.off(`blur`,this.blurHandler),this.editor.off(`transaction`,this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},n_=e=>new R({key:typeof e.pluginKey==`string`?new z(e.pluginKey):e.pluginKey,view:t=>new t_({view:t,...e})});K.create({name:`floatingMenu`,addOptions(){return{element:null,options:{},pluginKey:`floatingMenu`,updateDelay:void 0,resizeDelay:void 0,appendTo:void 0,shouldShow:null}},addCommands(){return{updateFloatingMenuPosition:()=>({tr:e,dispatch:t})=>(t&&e.setMeta(this.options.pluginKey,`updatePosition`),!0)}},addProseMirrorPlugins(){return this.options.element?[n_({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,resizeDelay:this.options.resizeDelay,options:this.options.options,appendTo:this.options.appendTo,shouldShow:this.options.shouldShow})]:[]}});function r_(e,t){return e??new z(t)}var i_=typeof window<`u`?k.useLayoutEffect:k.useEffect,a_=new Set([`left`,`opacity`,`position`,`top`,`visibility`,`width`]),o_=new Set(`animationIterationCount.aspectRatio.borderImageOutset.borderImageSlice.borderImageWidth.columnCount.columns.fillOpacity.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineClamp.lineHeight.opacity.order.orphans.scale.stopOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeOpacity.strokeWidth.tabSize.widows.zIndex.zoom`.split(`.`)),s_=new Set([`children`,`className`,`style`]),c_=new Set([`tabIndex`]),l_=new Set([`accessKey`,`autoCapitalize`,`contentEditable`,`contextMenu`,`dir`,`draggable`,`enterKeyHint`,`hidden`,`id`,`lang`,`nonce`,`role`,`slot`,`spellCheck`,`tabIndex`,`title`,`translate`]),u_={Blur:`focusout`,DoubleClick:`dblclick`,Focus:`focusin`,MouseEnter:`mouseenter`,MouseLeave:`mouseleave`};function d_(e,t){return/^on[A-Z]/.test(e)&&typeof t==`function`}function f_(e){return e.startsWith(`aria-`)||e.startsWith(`data-`),e}function p_(e){return e.startsWith(`aria-`)||e.startsWith(`data-`)||l_.has(e)}function m_(e){return e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function h_(e){let t=e.endsWith(`Capture`),n=(t?e.slice(0,-7):e).slice(2);return{eventName:u_[n]??n.toLowerCase(),options:t?{capture:!0}:void 0}}function g_(e,t){let n=t.defaultPrevented,r=!1,i=Object.create(t);return Object.defineProperties(i,{nativeEvent:{value:t},currentTarget:{value:e},target:{value:t.target},persist:{value:()=>void 0},isDefaultPrevented:{value:()=>n},isPropagationStopped:{value:()=>r},preventDefault:{value:()=>{n=!0,t.preventDefault()}},stopPropagation:{value:()=>{r=!0,t.stopPropagation()}}}),i}function __(e){return c_.has(e)}function v_(e,t,n){if(t===`tabIndex`){e.tabIndex=Number(n);return}e[t]=n}function y_(e,t){if(t===`tabIndex`){e.removeAttribute(`tabindex`);return}let n=e[t];if(typeof n==`boolean`){e[t]=!1;return}if(typeof n==`number`){e[t]=0;return}e[t]=``}function b_(e,t){return typeof t!=`number`||t===0||e.startsWith(`--`)||o_.has(e)?String(t):`${t}px`}function x_(e,t){a_.has(t)||e.style.removeProperty(m_(t))}function S_(e,t,n){a_.has(t)||e.style.setProperty(m_(t),b_(t,n))}function C_(e,t,n){new Set([...Object.keys(t),...Object.keys(n)]).forEach(r=>{if(s_.has(r)||!p_(r)||d_(r,t[r])||d_(r,n[r]))return;let i=t[r],a=n[r];if(i===a)return;let o=f_(r);if(a==null||a===!1){__(r)&&y_(e,r),e.removeAttribute(o);return}if(a===!0){__(r)&&v_(e,r,!0),e.setAttribute(o,``);return}if(__(r)){v_(e,r,a);return}e.setAttribute(o,String(a))})}function w_(e,t,n){if(t!==n){if(n){e.className=n;return}e.removeAttribute(`class`)}}function T_(e,t,n){let r=t??{},i=n??{};new Set([...Object.keys(r),...Object.keys(i)]).forEach(t=>{let n=r[t],a=i[t];if(n!==a){if(a==null){x_(e,t);return}S_(e,t,a)}})}function E_(e,t,n){t.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)});let r=[];return Object.entries(n).forEach(([t,n])=>{if(!d_(t,n))return;let{eventName:i,options:a}=h_(t),o=t=>{n(g_(e,t))};e.addEventListener(i,o,a),r.push({eventName:i,listener:o,options:a})}),r}function D_(e,t){let n=(0,k.useRef)({}),r=(0,k.useRef)([]);i_(()=>{let i=n.current;return w_(e,i.className,t.className),T_(e,i.style,t.style),C_(e,i,t),r.current=E_(e,r.current,t),n.current=t,()=>{r.current.forEach(({eventName:t,listener:n,options:r})=>{e.removeEventListener(t,n,r)}),r.current=[]}},[e,t])}var O_=k.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,getReferencedVirtualElement:o,options:s,children:c,...l},u)=>{let d=(0,k.useRef)(document.createElement(`div`)),f=(0,k.useRef)(r_(e,`bubbleMenu`)).current;D_(d.current,l),typeof u==`function`?u(d.current):u&&(u.current=d.current);let{editor:p}=_m(),m=t||p,h={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:f,shouldShow:a,getReferencedVirtualElement:o,options:s},g=(0,k.useRef)(h);g.current=h;let[_,v]=(0,k.useState)(!1),y=(0,k.useRef)(!0);return(0,k.useEffect)(()=>{if(m?.isDestroyed)return;if(!m){console.warn(`BubbleMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=d.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=e_({...g.current,editor:m,element:e});m.registerPlugin(t);let n=g.current.pluginKey;return y.current=!0,v(!0),()=>{v(!1),m.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[m]),(0,k.useEffect)(()=>{if(!(!_||!m||m.isDestroyed)){if(y.current){y.current=!1;return}m.view.dispatch(m.state.tr.setMeta(f,{type:`updateOptions`,options:g.current}))}},[_,m,n,r,a,s,i,o,f]),(0,Xe.createPortal)(c,d.current)});k.forwardRef(({pluginKey:e,editor:t,updateDelay:n,resizeDelay:r,appendTo:i,shouldShow:a=null,options:o,children:s,...c},l)=>{let u=(0,k.useRef)(document.createElement(`div`)),d=(0,k.useRef)(r_(e,`floatingMenu`)).current;D_(u.current,c),typeof l==`function`?l(u.current):l&&(l.current=u.current);let{editor:f}=_m(),p=t||f,m={updateDelay:n,resizeDelay:r,appendTo:i,pluginKey:d,shouldShow:a,options:o},h=(0,k.useRef)(m);h.current=m;let[g,_]=(0,k.useState)(!1),v=(0,k.useRef)(!0);return(0,k.useEffect)(()=>{if(p?.isDestroyed)return;if(!p){console.warn(`FloatingMenu component is not rendered inside of an editor component or does not have editor prop.`);return}let e=u.current;e.style.visibility=`hidden`,e.style.position=`absolute`;let t=n_({...h.current,editor:p,element:e});p.registerPlugin(t);let n=h.current.pluginKey;return v.current=!0,_(!0),()=>{_(!1),p.unregisterPlugin(n),window.requestAnimationFrame(()=>{e.parentNode&&e.parentNode.removeChild(e)})}},[p]),(0,k.useEffect)(()=>{if(!(!g||!p||p.isDestroyed)){if(v.current){v.current=!1;return}p.view.dispatch(p.state.tr.setMeta(d,{type:`updateOptions`,options:h.current}))}},[g,p,n,r,a,o,i,d]),(0,Xe.createPortal)(s,u.current)});var k_=(e,t)=>{if(e===`slot`)return 0;if(e instanceof Function)return e(t);let{children:n,...r}=t??{};if(e===`svg`)throw Error(`SVG elements are not supported in the JSX syntax, use the array syntax instead`);return[e,r,n]},A_=/^\s*>\s$/,j_=tp.create({name:`blockquote`,addOptions(){return{HTMLAttributes:{}}},content:`block+`,group:`block`,defining:!0,parseHTML(){return[{tag:`blockquote`}]},renderHTML({HTMLAttributes:e}){return k_(`blockquote`,{...G(this.options.HTMLAttributes,e),children:k_(`slot`,{})})},parseMarkdown:(e,t)=>{let n=t.parseBlockChildren??t.parseChildren;return t.createNode(`blockquote`,void 0,n(e.tokens||[]))},renderMarkdown:(e,t)=>{if(!e.content)return``;let n=[];return e.content.forEach((e,r)=>{let i=(t.renderChild?.call(t,e,r)??t.renderChildren([e])).split(`
103
103
  `).map(e=>e.trim()===``?`>`:`> ${e}`);n.push(i.join(`
104
104
  `))}),n.join(`
105
105
  >
@@ -204,7 +204,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
204
204
  `),t=e[0].match(/^\s*[-+*]\s+\[([ xX])\]\s+(.*)$/),r=t?t[2]:``,i=[];if(e.length>1&&e.slice(1).join(`
205
205
  `).trim()){let t=e.slice(1),n=t.filter(e=>e.trim());if(n.length>0){let e=Math.min(...n.map(e=>e.length-e.trimStart().length)),r=t.map(t=>t.trim()?t.slice(e):``).join(`
206
206
  `).trim();r&&(i=this.markedInstance.lexer(`${r}
207
- `))}}l={type:`taskItem`,raw:``,mainContent:r,indentLevel:c,checked:s??!1,text:r,tokens:this.lexer.inlineTokens(r),nestedTokens:i}}let u=o?`taskList`:`list`;a===u?i.push(l):(i.length>0&&r.push({type:a,items:i}),i=[l],a=u)}i.length>0&&r.push({type:a,items:i});let o=[];for(let t=0;t<r.length;t+=1){let n=r[t],i={...e,type:n.type,items:n.items},a=this.parseToken(i);a&&(Array.isArray(a)?o.push(...a):o.push(a))}return o.length>0?o:null}parseTokenWithHandlers(e){if(!e.type)return null;let t=this.getHandlersForToken(e.type),n=this.createParseHelpers();if(t.find(t=>{if(!t.parseMarkdown)return!1;let r=t.parseMarkdown(e,n),i=this.normalizeParseResult(r);return i&&(!Array.isArray(i)||i.length>0)?(this.lastParseResult=i,!0):!1})&&this.lastParseResult){let e=this.lastParseResult;return this.lastParseResult=null,e}return this.parseFallbackToken(e)}createParseHelpers(){return{parseInline:e=>this.parseInlineTokens(e),parseChildren:e=>this.parseTokens(e),parseBlockChildren:e=>this.parseTokens(e,!0),createTextNode:(e,t)=>({type:`text`,text:e,marks:t||void 0}),createNode:(e,t,n)=>{let r={type:e,attrs:t||void 0,content:n||void 0};return(!t||Object.keys(t).length===0)&&delete r.attrs,r},applyMark:(e,t,n)=>({mark:e,content:t,attrs:n&&Object.keys(n).length>0?n:void 0})}}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}parseInlineTokens(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r.type===`text`)t.push({type:`text`,text:r.text||``});else if(r.type===`html`){let i=(r.raw??r.text??``).toString(),a=/^<\/[\s]*[\w-]+/i.test(i),o=i.match(/^<[\s]*([\w-]+)(\s|>|\/|$)/i);if(!a&&o&&!/\/>$/.test(i)){let r=o[1],a=this.escapeRegex(r),s=RegExp(`^<\\/\\s*${a}\\b`,`i`),c=-1,l=[i];for(let t=n+1;t<e.length;t+=1){let n=e[t],r=(n.raw??n.text??``).toString();if(l.push(r),n.type===`html`&&s.test(r)){c=t;break}}if(c!==-1){let e=l.join(``),r={type:`html`,raw:e,text:e,block:!1},i=this.parseHTMLToken(r);if(i){let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}n=c;continue}}let s=this.parseHTMLToken(r);if(s){let e=this.normalizeParseResult(s);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else if(r.type){let e=this.getHandlerForToken(r.type);if(e&&e.parseMarkdown){let n=this.createParseHelpers(),i=e.parseMarkdown(r,n);if(this.isMarkResult(i)){let e=this.applyMarkToContent(i.mark,i.content,i.attrs);t.push(...e)}else{let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else r.tokens&&t.push(...this.parseInlineTokens(r.tokens))}}return t}applyMarkToContent(e,t,n){return t.map(t=>{if(t.type===`text`){let r=t.marks||[],i=n?{type:e,attrs:n}:{type:e};return{...t,marks:[...r,i]}}return{...t,content:t.content?this.applyMarkToContent(e,t.content,n):void 0}})}isMarkResult(e){return e&&typeof e==`object`&&`mark`in e}normalizeParseResult(e){return e?this.isMarkResult(e)?e.content:e:null}parseFallbackToken(e,t=!1){switch(e.type){case`paragraph`:return{type:`paragraph`,content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`heading`:return{type:`heading`,attrs:{level:e.depth||1},content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`text`:return{type:`text`,text:e.text||``};case`html`:return this.parseHTMLToken(e);case`space`:return null;default:return e.tokens?this.parseTokens(e.tokens,t):null}}parseHTMLToken(e){let t=e.text||e.raw||``;if(!t.trim())return null;if(typeof window>`u`)return e.block?{type:`paragraph`,content:[{type:`text`,text:t}]}:{type:`text`,text:t};try{let n=ud(t,this.baseExtensions);return n.type===`doc`&&n.content?e.block?n.content:n.content.length===1&&n.content[0].type===`paragraph`&&n.content[0].content?n.content[0].content:n.content:n}catch(e){throw Error(`Failed to parse HTML in markdown: ${e}`)}}renderNodeToMarkdown(e,t,n=0,r=0,i={}){if(e.type===`text`)return e.text||``;if(!e.type)return``;let a=this.getHandlerForToken(e.type);if(!a)return``;let o=Array.isArray(t?.content)&&n>0?t.content[n-1]:void 0,s={renderChildren:(t,i)=>{let o=a.isIndenting?r+1:r;return!Array.isArray(t)&&t.content?this.renderNodes(t.content,e,i||``,n,o):this.renderNodes(t,e,i||``,n,o)},renderChild:(t,n)=>{let i=a.isIndenting?r+1:r;return this.renderNodeToMarkdown(t,e,n,i)},indent:e=>this.indentString+e,wrapInBlock:mC},c={index:n,level:r,parentType:t?.type,previousNode:o,meta:{parentAttrs:t?.attrs,...i}};return a.renderMarkdown?.call(a,e,s,c)||``}renderNodes(e,t,n=``,r=0,i=0){return Array.isArray(e)?this.renderNodesWithMarkBoundaries(e,t,n,i):e.type?this.renderNodeToMarkdown(e,t,r,i):``}renderNodesWithMarkBoundaries(e,t,n=``,r=0){let i=[],a=new Map,o=new Set,s=new Map;return e.forEach((n,c)=>{let l=c<e.length-1?e[c+1]:null;if(n.type)if(n.type===`text`){let e=n.text||``,t=new Map((n.marks||[]).map(e=>[e.type,e])),r=gC(a,t),c=hC(t,l),u=c.filter(e=>a.has(e)),d=u.length>0&&r.length>0,f=``;if(c.length>0&&!d){let t=e.match(/(\s+)$/);t&&(f=t[1],e=e.slice(0,-f.length))}d||c.forEach(n=>{if(!a.has(n))return;let r=t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.has(n)&&(a.delete(n),s.delete(n))});let p=``;if(r.length>0){let t=e.match(/^(\s+)/);t&&(p=t[1],e=e.slice(p.length))}r.forEach(({type:t,mark:n})=>{let r=o.has(t)?`html`:`markdown`,i=this.getMarkOpening(t,n,r);i&&(e=i+e),s.set(t,r),o.delete(t)}),d||r.slice().reverse().forEach(({type:e,mark:t})=>{a.set(e,t)}),e=p+e;let m;if(d){let e=new Set((l?.marks||[]).map(e=>e.type));r.forEach(({type:t})=>{e.has(t)&&this.getHtmlReopenTags(t)&&o.add(t)}),m=[...r.map(e=>e.type),...u]}else m=_C(a,t,l,this.markSetsEqual.bind(this));let h=``;if(m.length>0){let t=e.match(/(\s+)$/);t&&(h=t[1],e=e.slice(0,-h.length))}m.forEach(n=>{let r=a.get(n)??t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.delete(n),s.delete(n)}),e+=h,e+=f,i.push(e)}else{let e=new Map(a),o=new Map(s),l=vC(a,(e,t)=>this.getMarkClosing(e,t,s.get(e)));s.clear();let u=this.renderNodeToMarkdown(n,t,c,r),d=n.type===`hardBreak`?``:yC(e,a,(e,t)=>{let n=o.get(e)??`markdown`;return s.set(e,n),this.getMarkOpening(e,t,n)});i.push(l+u+d)}}),i.join(n)}getMarkOpening(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.open||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a);return t>=0?e.substring(0,t):``}catch(t){throw Error(`Failed to get mark opening for ${e}: ${t}`)}}getMarkClosing(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.close||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a),n=t+33;return t>=0?e.substring(n):``}catch(t){throw Error(`Failed to get mark closing for ${e}: ${t}`)}}getHtmlReopenTags(e){let t=this.getHandlersForNodeType(e);return(t.length>0?t[0]:void 0)?.htmlReopen}markSetsEqual(e,t){return e.size===t.size?Array.from(e.keys()).every(e=>t.has(e)):!1}},CC=K.create({name:`markdown`,addOptions(){return{indentation:{style:`space`,size:2},marked:void 0,markedOptions:{}}},addCommands(){return{setContent:(e,t)=>{if(!t?.contentType||xC(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Al.setContent(e,t);let n=this.editor.markdown.parse(e);return Al.setContent(n,t)},insertContent:(e,t)=>{if(!t?.contentType||xC(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Al.insertContent(e,t);let n=this.editor.markdown.parse(e);return Al.insertContent(n,t)},insertContentAt:(e,t,n)=>{if(!n?.contentType||xC(t,n?.contentType)!==`markdown`||!this.editor.markdown)return Al.insertContentAt(e,t,n);let r=this.editor.markdown.parse(t);return Al.insertContentAt(e,r,n)}}},addStorage(){return{manager:new SC({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:[]})}},onBeforeCreate(){if(this.editor.markdown){console.error("[tiptap][markdown]: There is already a `markdown` property on the editor instance. This might lead to unexpected behavior.");return}if(this.storage.manager=new SC({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:this.editor.extensionManager.baseExtensions}),this.editor.markdown=this.storage.manager,this.editor.getMarkdown=()=>this.storage.manager.serialize(this.editor.getJSON()),!this.editor.options.contentType||xC(this.editor.options.content,this.editor.options.contentType)!==`markdown`)return;if(!this.editor.markdown)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the Markdown extension is not added to the editor. Please add the Markdown extension to use this feature.');if(this.editor.options.content===void 0||typeof this.editor.options.content!=`string`)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the initial content is not a string. Please provide the initial content as a markdown string.');let e=this.editor.markdown.parse(this.editor.options.content);this.editor.options.content=e}});function wC({handlePopout:e,disabled:t=!1}){let n=(0,A.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,A.useEffect)(()=>()=>n(),[n]);let r=(0,A.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,A.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function TC({title:e,isStreaming:t,persistent:n,channelName:r,renderPopout:i,onSyncMessage:a}){let[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(!n&&t===!1),f=(0,A.useRef)(null),p=(0,A.useRef)(null),m=(0,A.useRef)(null),h=(0,A.useRef)(t);(0,A.useEffect)(()=>{!n&&h.current===!0&&t===!1&&d(!0),h.current=t},[t,n]);let g=(0,A.useCallback)(()=>{p.current&&=(clearInterval(p.current),null),m.current&&=(m.current.close(),null),f.current&&!f.current.closed&&f.current.close(),f.current=null,l(!1)},[]),_=(0,A.useCallback)(()=>{s(!1),d(!1);let t=window.open(``,`maxy-${r}`,`width=800,height=600`);if(t){f.current=t,l(!0),i(t,e);try{let e=new BroadcastChannel(r);m.current=e,a&&(e.onmessage=e=>a(e.data))}catch{}p.current=setInterval(()=>{f.current?.closed&&(g(),d(!0))},500)}},[r,e,i,a,g]),v=(0,A.useCallback)(()=>{g(),d(!1)},[g]),y=(0,A.useCallback)(()=>{g(),s(!1),d(!0)},[g]),b=(0,A.useCallback)(()=>{d(!1)},[]),x=(0,A.useCallback)(()=>{g(),d(!1),s(!0)},[g]),S=(0,A.useCallback)(()=>s(!1),[]),C=(0,A.useCallback)(e=>{m.current&&m.current.postMessage(e)},[]);return(0,A.useEffect)(()=>{if(!o)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),S())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[o,S]),(0,A.useEffect)(()=>()=>g(),[g]),{fullscreen:o,poppedOut:c,minimised:u,handlePopout:_,handlePopIn:v,handleFullscreen:x,handleMinimise:y,handleExpand:b,exitFullscreen:S,syncToPopout:C,dragBarProps:wC({handlePopout:_,disabled:c||o})}}function EC({onSubmit:e}){let[t,n]=(0,A.useState)([]),[r,i]=(0,A.useState)(!1),[a,o]=(0,A.useState)(``),s=(0,A.useRef)(null);return{pendingComments:t,showCommentInput:r,commentText:a,commentInputRef:s,setCommentText:o,openCommentInput:(0,A.useCallback)(()=>{i(!0),setTimeout(()=>s.current?.focus(),50)},[]),submitComment:(0,A.useCallback)((e,t)=>{if(!a.trim()||!e)return null;let r=`c_${Date.now()}`,s={id:r,selectedText:e,comment:a.trim(),meta:t};return n(e=>[...e,s]),o(``),i(!1),r},[a]),sendComments:(0,A.useCallback)(()=>{t.length!==0&&(e(JSON.stringify({action:`comment`,comments:t.map(({selectedText:e,comment:t,meta:n})=>({selectedText:e,comment:t,...n}))})),n([]))},[t,e]),cancelComment:(0,A.useCallback)(()=>{o(``),i(!1)},[]),removeComment:(0,A.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[])}}var DC=gf.create({name:`comment`,addAttributes(){return{commentId:{default:null},commentText:{default:``},createdAt:{default:``}}},parseHTML(){return[{tag:`span[data-comment]`}]},renderHTML({HTMLAttributes:e}){return[`span`,G(e,{"data-comment":``,class:`doc-editor__comment-highlight`,title:e.commentText||``}),0]}});function OC({content:e}){return(0,j.jsx)(`div`,{className:`doc-editor__fallback`,children:(0,j.jsx)(k,{remarkPlugins:[D],children:e})})}var kC=`
207
+ `))}}l={type:`taskItem`,raw:``,mainContent:r,indentLevel:c,checked:s??!1,text:r,tokens:this.lexer.inlineTokens(r),nestedTokens:i}}let u=o?`taskList`:`list`;a===u?i.push(l):(i.length>0&&r.push({type:a,items:i}),i=[l],a=u)}i.length>0&&r.push({type:a,items:i});let o=[];for(let t=0;t<r.length;t+=1){let n=r[t],i={...e,type:n.type,items:n.items},a=this.parseToken(i);a&&(Array.isArray(a)?o.push(...a):o.push(a))}return o.length>0?o:null}parseTokenWithHandlers(e){if(!e.type)return null;let t=this.getHandlersForToken(e.type),n=this.createParseHelpers();if(t.find(t=>{if(!t.parseMarkdown)return!1;let r=t.parseMarkdown(e,n),i=this.normalizeParseResult(r);return i&&(!Array.isArray(i)||i.length>0)?(this.lastParseResult=i,!0):!1})&&this.lastParseResult){let e=this.lastParseResult;return this.lastParseResult=null,e}return this.parseFallbackToken(e)}createParseHelpers(){return{parseInline:e=>this.parseInlineTokens(e),parseChildren:e=>this.parseTokens(e),parseBlockChildren:e=>this.parseTokens(e,!0),createTextNode:(e,t)=>({type:`text`,text:e,marks:t||void 0}),createNode:(e,t,n)=>{let r={type:e,attrs:t||void 0,content:n||void 0};return(!t||Object.keys(t).length===0)&&delete r.attrs,r},applyMark:(e,t,n)=>({mark:e,content:t,attrs:n&&Object.keys(n).length>0?n:void 0})}}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}parseInlineTokens(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r.type===`text`)t.push({type:`text`,text:r.text||``});else if(r.type===`html`){let i=(r.raw??r.text??``).toString(),a=/^<\/[\s]*[\w-]+/i.test(i),o=i.match(/^<[\s]*([\w-]+)(\s|>|\/|$)/i);if(!a&&o&&!/\/>$/.test(i)){let r=o[1],a=this.escapeRegex(r),s=RegExp(`^<\\/\\s*${a}\\b`,`i`),c=-1,l=[i];for(let t=n+1;t<e.length;t+=1){let n=e[t],r=(n.raw??n.text??``).toString();if(l.push(r),n.type===`html`&&s.test(r)){c=t;break}}if(c!==-1){let e=l.join(``),r={type:`html`,raw:e,text:e,block:!1},i=this.parseHTMLToken(r);if(i){let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}n=c;continue}}let s=this.parseHTMLToken(r);if(s){let e=this.normalizeParseResult(s);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else if(r.type){let e=this.getHandlerForToken(r.type);if(e&&e.parseMarkdown){let n=this.createParseHelpers(),i=e.parseMarkdown(r,n);if(this.isMarkResult(i)){let e=this.applyMarkToContent(i.mark,i.content,i.attrs);t.push(...e)}else{let e=this.normalizeParseResult(i);Array.isArray(e)?t.push(...e):e&&t.push(e)}}else r.tokens&&t.push(...this.parseInlineTokens(r.tokens))}}return t}applyMarkToContent(e,t,n){return t.map(t=>{if(t.type===`text`){let r=t.marks||[],i=n?{type:e,attrs:n}:{type:e};return{...t,marks:[...r,i]}}return{...t,content:t.content?this.applyMarkToContent(e,t.content,n):void 0}})}isMarkResult(e){return e&&typeof e==`object`&&`mark`in e}normalizeParseResult(e){return e?this.isMarkResult(e)?e.content:e:null}parseFallbackToken(e,t=!1){switch(e.type){case`paragraph`:return{type:`paragraph`,content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`heading`:return{type:`heading`,attrs:{level:e.depth||1},content:e.tokens?this.parseInlineTokens(e.tokens):[]};case`text`:return{type:`text`,text:e.text||``};case`html`:return this.parseHTMLToken(e);case`space`:return null;default:return e.tokens?this.parseTokens(e.tokens,t):null}}parseHTMLToken(e){let t=e.text||e.raw||``;if(!t.trim())return null;if(typeof window>`u`)return e.block?{type:`paragraph`,content:[{type:`text`,text:t}]}:{type:`text`,text:t};try{let n=ud(t,this.baseExtensions);return n.type===`doc`&&n.content?e.block?n.content:n.content.length===1&&n.content[0].type===`paragraph`&&n.content[0].content?n.content[0].content:n.content:n}catch(e){throw Error(`Failed to parse HTML in markdown: ${e}`)}}renderNodeToMarkdown(e,t,n=0,r=0,i={}){if(e.type===`text`)return e.text||``;if(!e.type)return``;let a=this.getHandlerForToken(e.type);if(!a)return``;let o=Array.isArray(t?.content)&&n>0?t.content[n-1]:void 0,s={renderChildren:(t,i)=>{let o=a.isIndenting?r+1:r;return!Array.isArray(t)&&t.content?this.renderNodes(t.content,e,i||``,n,o):this.renderNodes(t,e,i||``,n,o)},renderChild:(t,n)=>{let i=a.isIndenting?r+1:r;return this.renderNodeToMarkdown(t,e,n,i)},indent:e=>this.indentString+e,wrapInBlock:mC},c={index:n,level:r,parentType:t?.type,previousNode:o,meta:{parentAttrs:t?.attrs,...i}};return a.renderMarkdown?.call(a,e,s,c)||``}renderNodes(e,t,n=``,r=0,i=0){return Array.isArray(e)?this.renderNodesWithMarkBoundaries(e,t,n,i):e.type?this.renderNodeToMarkdown(e,t,r,i):``}renderNodesWithMarkBoundaries(e,t,n=``,r=0){let i=[],a=new Map,o=new Set,s=new Map;return e.forEach((n,c)=>{let l=c<e.length-1?e[c+1]:null;if(n.type)if(n.type===`text`){let e=n.text||``,t=new Map((n.marks||[]).map(e=>[e.type,e])),r=gC(a,t),c=hC(t,l),u=c.filter(e=>a.has(e)),d=u.length>0&&r.length>0,f=``;if(c.length>0&&!d){let t=e.match(/(\s+)$/);t&&(f=t[1],e=e.slice(0,-f.length))}d||c.forEach(n=>{if(!a.has(n))return;let r=t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.has(n)&&(a.delete(n),s.delete(n))});let p=``;if(r.length>0){let t=e.match(/^(\s+)/);t&&(p=t[1],e=e.slice(p.length))}r.forEach(({type:t,mark:n})=>{let r=o.has(t)?`html`:`markdown`,i=this.getMarkOpening(t,n,r);i&&(e=i+e),s.set(t,r),o.delete(t)}),d||r.slice().reverse().forEach(({type:e,mark:t})=>{a.set(e,t)}),e=p+e;let m;if(d){let e=new Set((l?.marks||[]).map(e=>e.type));r.forEach(({type:t})=>{e.has(t)&&this.getHtmlReopenTags(t)&&o.add(t)}),m=[...r.map(e=>e.type),...u]}else m=_C(a,t,l,this.markSetsEqual.bind(this));let h=``;if(m.length>0){let t=e.match(/(\s+)$/);t&&(h=t[1],e=e.slice(0,-h.length))}m.forEach(n=>{let r=a.get(n)??t.get(n),i=this.getMarkClosing(n,r,s.get(n));i&&(e+=i),a.delete(n),s.delete(n)}),e+=h,e+=f,i.push(e)}else{let e=new Map(a),o=new Map(s),l=vC(a,(e,t)=>this.getMarkClosing(e,t,s.get(e)));s.clear();let u=this.renderNodeToMarkdown(n,t,c,r),d=n.type===`hardBreak`?``:yC(e,a,(e,t)=>{let n=o.get(e)??`markdown`;return s.set(e,n),this.getMarkOpening(e,t,n)});i.push(l+u+d)}}),i.join(n)}getMarkOpening(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.open||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a);return t>=0?e.substring(0,t):``}catch(t){throw Error(`Failed to get mark opening for ${e}: ${t}`)}}getMarkClosing(e,t,n=`markdown`){if(n===`html`)return this.getHtmlReopenTags(e)?.close||``;let r=this.getHandlersForNodeType(e),i=r.length>0?r[0]:void 0;if(!i||!i.renderMarkdown)return``;let a=`__TIPTAP_MARKDOWN_PLACEHOLDER__`,o={type:e,attrs:t.attrs||{},content:[{type:`text`,text:a}]};try{let e=i.renderMarkdown(o,{renderChildren:()=>a,renderChild:()=>a,indent:e=>e,wrapInBlock:(e,t)=>e+t},{index:0,level:0,parentType:`text`,meta:{}}),t=e.indexOf(a),n=t+33;return t>=0?e.substring(n):``}catch(t){throw Error(`Failed to get mark closing for ${e}: ${t}`)}}getHtmlReopenTags(e){let t=this.getHandlersForNodeType(e);return(t.length>0?t[0]:void 0)?.htmlReopen}markSetsEqual(e,t){return e.size===t.size?Array.from(e.keys()).every(e=>t.has(e)):!1}},CC=K.create({name:`markdown`,addOptions(){return{indentation:{style:`space`,size:2},marked:void 0,markedOptions:{}}},addCommands(){return{setContent:(e,t)=>{if(!t?.contentType||xC(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Al.setContent(e,t);let n=this.editor.markdown.parse(e);return Al.setContent(n,t)},insertContent:(e,t)=>{if(!t?.contentType||xC(e,t?.contentType)!==`markdown`||!this.editor.markdown)return Al.insertContent(e,t);let n=this.editor.markdown.parse(e);return Al.insertContent(n,t)},insertContentAt:(e,t,n)=>{if(!n?.contentType||xC(t,n?.contentType)!==`markdown`||!this.editor.markdown)return Al.insertContentAt(e,t,n);let r=this.editor.markdown.parse(t);return Al.insertContentAt(e,r,n)}}},addStorage(){return{manager:new SC({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:[]})}},onBeforeCreate(){if(this.editor.markdown){console.error("[tiptap][markdown]: There is already a `markdown` property on the editor instance. This might lead to unexpected behavior.");return}if(this.storage.manager=new SC({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:this.editor.extensionManager.baseExtensions}),this.editor.markdown=this.storage.manager,this.editor.getMarkdown=()=>this.storage.manager.serialize(this.editor.getJSON()),!this.editor.options.contentType||xC(this.editor.options.content,this.editor.options.contentType)!==`markdown`)return;if(!this.editor.markdown)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the Markdown extension is not added to the editor. Please add the Markdown extension to use this feature.');if(this.editor.options.content===void 0||typeof this.editor.options.content!=`string`)throw Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the initial content is not a string. Please provide the initial content as a markdown string.');let e=this.editor.markdown.parse(this.editor.options.content);this.editor.options.content=e}});function wC({handlePopout:e,disabled:t=!1}){let n=(0,k.useCallback)(()=>{delete document.body.dataset.dragPopoutActive},[]);(0,k.useEffect)(()=>()=>n(),[n]);let r=(0,k.useCallback)(e=>{if(t){e.preventDefault();return}let n=e.target;if(n.closest(`.editor-base__actions`)||n.closest(`.browser-viewer__actions`)){e.preventDefault();return}if(!document.querySelector(`.chat-messages`)){e.preventDefault();return}e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,``),document.body.dataset.dragPopoutActive=`true`},[t,n]),i=(0,k.useCallback)(t=>{if(n(),t.clientX===0&&t.clientY===0)return;let r=document.querySelector(`.chat-messages`);if(!r)return;let i=r.getBoundingClientRect();(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)&&e()},[e,n]);return t?{draggable:!1,onDragStart:()=>{},onDragEnd:()=>{}}:{draggable:!0,onDragStart:r,onDragEnd:i}}function TC({title:e,isStreaming:t,persistent:n,channelName:r,renderPopout:i,onSyncMessage:a}){let[o,s]=(0,k.useState)(!1),[c,l]=(0,k.useState)(!1),[u,d]=(0,k.useState)(!n&&t===!1),f=(0,k.useRef)(null),p=(0,k.useRef)(null),m=(0,k.useRef)(null),h=(0,k.useRef)(t);(0,k.useEffect)(()=>{!n&&h.current===!0&&t===!1&&d(!0),h.current=t},[t,n]);let g=(0,k.useCallback)(()=>{p.current&&=(clearInterval(p.current),null),m.current&&=(m.current.close(),null),f.current&&!f.current.closed&&f.current.close(),f.current=null,l(!1)},[]),_=(0,k.useCallback)(()=>{s(!1),d(!1);let t=window.open(``,`maxy-${r}`,`width=800,height=600`);if(t){f.current=t,l(!0),i(t,e);try{let e=new BroadcastChannel(r);m.current=e,a&&(e.onmessage=e=>a(e.data))}catch{}p.current=setInterval(()=>{f.current?.closed&&(g(),d(!0))},500)}},[r,e,i,a,g]),v=(0,k.useCallback)(()=>{g(),d(!1)},[g]),y=(0,k.useCallback)(()=>{g(),s(!1),d(!0)},[g]),b=(0,k.useCallback)(()=>{d(!1)},[]),x=(0,k.useCallback)(()=>{g(),d(!1),s(!0)},[g]),S=(0,k.useCallback)(()=>s(!1),[]),C=(0,k.useCallback)(e=>{m.current&&m.current.postMessage(e)},[]);return(0,k.useEffect)(()=>{if(!o)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),S())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[o,S]),(0,k.useEffect)(()=>()=>g(),[g]),{fullscreen:o,poppedOut:c,minimised:u,handlePopout:_,handlePopIn:v,handleFullscreen:x,handleMinimise:y,handleExpand:b,exitFullscreen:S,syncToPopout:C,dragBarProps:wC({handlePopout:_,disabled:c||o})}}function EC({onSubmit:e}){let[t,n]=(0,k.useState)([]),[r,i]=(0,k.useState)(!1),[a,o]=(0,k.useState)(``),s=(0,k.useRef)(null);return{pendingComments:t,showCommentInput:r,commentText:a,commentInputRef:s,setCommentText:o,openCommentInput:(0,k.useCallback)(()=>{i(!0),setTimeout(()=>s.current?.focus(),50)},[]),submitComment:(0,k.useCallback)((e,t)=>{if(!a.trim()||!e)return null;let r=`c_${Date.now()}`,s={id:r,selectedText:e,comment:a.trim(),meta:t};return n(e=>[...e,s]),o(``),i(!1),r},[a]),sendComments:(0,k.useCallback)(()=>{t.length!==0&&(e(JSON.stringify({action:`comment`,comments:t.map(({selectedText:e,comment:t,meta:n})=>({selectedText:e,comment:t,...n}))})),n([]))},[t,e]),cancelComment:(0,k.useCallback)(()=>{o(``),i(!1)},[]),removeComment:(0,k.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[])}}var DC=gf.create({name:`comment`,addAttributes(){return{commentId:{default:null},commentText:{default:``},createdAt:{default:``}}},parseHTML(){return[{tag:`span[data-comment]`}]},renderHTML({HTMLAttributes:e}){return[`span`,G(e,{"data-comment":``,class:`doc-editor__comment-highlight`,title:e.commentText||``}),0]}});function OC({content:e}){return(0,A.jsx)(`div`,{className:`doc-editor__fallback`,children:(0,A.jsx)(O,{remarkPlugins:[E],children:e})})}var kC=`
208
208
  body { font-family: 'DM Sans', -apple-system, sans-serif; margin: 0; padding: 24px;
209
209
  background: #FAFAF8; color: #1A1A1A; font-size: 15px; line-height: 1.6; }
210
210
  h1,h2,h3 { margin-top: 1.2em; margin-bottom: 0.4em; }
@@ -213,4 +213,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
213
213
  a { color: #7C8C72; }
214
214
  .title { font-size: 20px; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px;
215
215
  border-bottom: 1px solid rgba(0,0,0,0.06); }
216
- `;function AC({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:a,content:o,filePath:s,readOnly:c}=e??{},l=a??`Document`,u=(0,A.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...s?{filePath:s}:{}}))},[t,s]),[d,f]=(0,A.useState)(`idle`),m=(0,A.useRef)(null),h=(0,A.useRef)(null),[g,y]=(0,A.useState)(!1),[b,S]=(0,A.useState)(!1),[C,ee]=(0,A.useState)(`idle`),te=(0,A.useRef)(o),ne=(0,A.useMemo)(()=>Rb.extend({markdownTokenizer:null}),[]),ie=(0,A.useMemo)(()=>[zx.configure({orderedList:!1}),ne,db.configure({openOnClick:!1}),CC,DC],[ne]),T=(0,A.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),E=hm({extensions:ie,content:(0,A.useMemo)(()=>o&&T(o),[o,T]),contentType:`markdown`,editable:!c,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{c||(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...s?{filePath:s}:{}})),u(`auto-saved`),h.current&&clearTimeout(h.current),f(`saved`),h.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||y(!0)},onFocus:()=>S(!0),onBlur:()=>S(!1)}),D=TC({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,A.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=kC,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=E?.getMarkdown()??``,n.body.appendChild(a)},[E]),onSyncMessage:(0,A.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&E&&E.commands.setContent(T(t.markdown),{contentType:`markdown`})},[E,T])});(0,A.useEffect)(()=>{D.poppedOut&&E&&D.syncToPopout({type:`content`,markdown:E.getMarkdown(),title:l})},[D.poppedOut]);let k=EC({onSubmit:t}),ae=(0,A.useRef)(null);(0,A.useEffect)(()=>{if(!E||!o||o===te.current)return;te.current=o;let e=T(o);if(ae.current&&=(E.off(`blur`,ae.current),null),!E.isFocused)E.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{E.commands.setContent(e,{contentType:`markdown`}),E.off(`blur`,t),ae.current=null};ae.current=t,E.on(`blur`,t)}},[E,o,T]),(0,A.useEffect)(()=>(u(`rendered`),()=>{m.current&&clearTimeout(m.current),h.current&&clearTimeout(h.current)}),[]);let oe=(0,A.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection;e!==t&&k.openCommentInput()},[E,k]),se=(0,A.useCallback)(()=>{if(!E)return;let{from:e,to:t}=E.state.selection,n=E.state.doc.textBetween(e,t);if(!n)return;let r=k.submitComment(n,{startOffset:e,endOffset:t});r&&E.chain().focus().setMark(`comment`,{commentId:r,commentText:k.commentText,createdAt:new Date().toISOString()}).run()},[E,k]),ce=(0,A.useCallback)(()=>{c||!E||(S(!0),E.commands.focus())},[c,E]),le=(0,A.useCallback)(()=>{if(!E||!s)return;let e=E.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:s})),u(`approved`),ee(`approved`))},[E,s,t,u]),ue=(0,A.useCallback)(()=>{if(!E)return;let e=E.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...s?{filePath:s}:{}}))},[E,l,s,t]);if(n&&!c)return(0,j.jsxs)(`div`,{className:`editor-base doc-editor doc-editor--approved`,children:[(0,j.jsxs)(`div`,{className:`editor-base__bar`,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,j.jsx)(`div`,{className:`editor-base__actions`,children:(0,j.jsx)(`span`,{className:`editor-base__status`,children:`Approved`})})]}),(0,j.jsx)(`div`,{className:`doc-editor__body`,children:(0,j.jsx)(OC,{content:o||``})})]});if(g||!E)return(0,j.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,j.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,j.jsx)(OC,{content:o||``})]});let de=typeof window<`u`&&window.innerWidth<640,fe=typeof BroadcastChannel<`u`,pe=(0,j.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,j.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,j.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),C===`approved`&&(0,j.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),c&&(0,j.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),s&&!c&&C!==`approved`&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:i,onClick:le,"aria-label":`Approve`,children:`Approve`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:re,onClick:ue,"aria-label":`Download`}),k.pendingComments.length>0&&(0,j.jsxs)(O,{variant:`ghost`,size:`sm`,onClick:k.sendComments,children:[`Send `,k.pendingComments.length,` comment`,k.pendingComments.length>1?`s`:``]}),!de&&fe&&!D.poppedOut&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:_,onClick:D.handlePopout,"aria-label":`Pop out`}),!D.fullscreen&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:ye,onClick:D.handleFullscreen,"aria-label":`Full screen`}),D.fullscreen&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:xe,onClick:D.exitFullscreen,"aria-label":`Exit full screen`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:w,onClick:D.handleMinimise,"aria-label":`Minimise`})]}),ge=c?null:(0,j.jsx)(O_,{editor:E,children:(0,j.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:me,onClick:()=>E.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":E.isActive(`bold`)}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:_e,onClick:()=>E.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":E.isActive(`italic`)}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:ve,onClick:()=>{let e=window.prompt(`URL`);e&&E.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":E.isActive(`link`)}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:he,onClick:()=>E.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":E.isActive(`code`)}),(0,j.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:be,onClick:oe,"aria-label":`Add comment`})]})}),Se=k.showCommentInput?(0,j.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,j.jsx)(`input`,{ref:k.commentInputRef,type:`text`,value:k.commentText,onChange:e=>k.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&se(),e.key===`Escape`&&k.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,j.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,j.jsx)(O,{variant:`primary`,size:`sm`,onClick:se,disabled:!k.commentText.trim(),children:`Add`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:v,onClick:k.cancelComment,"aria-label":`Cancel`})]})]}):null;if(D.fullscreen)return(0,j.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,j.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...D.dragBarProps,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),pe]}),(0,j.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:b||c?(0,j.jsxs)(j.Fragment,{children:[ge,Se,(0,j.jsx)(sm,{editor:E})]}):(0,j.jsx)(`div`,{className:`doc-editor__preview`,onClick:ce,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&ce(),children:(0,j.jsx)(OC,{content:E?.getMarkdown()??o??``})})})]});if(D.poppedOut)return(0,j.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,j.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,j.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,j.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:we,onClick:D.handlePopIn,"aria-label":`Pop back in`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:w,onClick:D.handleMinimise,"aria-label":`Close`})]})]})});if(D.minimised)return(0,j.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:D.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&D.handleExpand(),children:(0,j.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,j.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!de&&fe&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:_,onClick:D.handlePopout,"aria-label":`Pop out`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:ye,onClick:D.handleFullscreen,"aria-label":`Full screen`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:x,onClick:D.handleExpand,"aria-label":`Expand`})]})]})});let Ce=E?.getMarkdown()??o??``;return(0,j.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,j.jsxs)(`div`,{className:`editor-base__bar`,...D.dragBarProps,children:[(0,j.jsx)(p,{className:`editor-base__icon`}),(0,j.jsx)(`span`,{className:`editor-base__title`,children:l}),pe]}),(0,j.jsx)(`div`,{className:`doc-editor__body`,children:b||c?(0,j.jsxs)(j.Fragment,{children:[ge,Se,(0,j.jsx)(sm,{editor:E})]}):(0,j.jsx)(`div`,{className:`doc-editor__preview`,onClick:ce,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&ce(),children:(0,j.jsx)(OC,{content:Ce})})})]})}function jC(){(0,A.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&E(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&E(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function MC(e){(0,A.useEffect)(()=>{let t=Date.now(),n=`/api/admin/browser-iframe/event`,r={brand:f.productName,surface:e};return fetch(n,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:JSON.stringify({event:`mount`,...r}),keepalive:!0}).catch(()=>{}),()=>{let e=JSON.stringify({event:`unmount`,durationMs:Date.now()-t,...r});try{let t=new Blob([e],{type:`application/json`});navigator.sendBeacon(n,t)||fetch(n,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:e,keepalive:!0}).catch(()=>{})}catch{}}},[e])}var NC=`maxy-vnc-overlay-popout`;function PC(e){let[t,n]=(0,A.useState)(!1),r=(0,A.useRef)(null),i=(0,A.useRef)(null),a=(0,A.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,A.useCallback)(()=>{let t=`/vnc-popout.html?title=${encodeURIComponent(f.productName)}`,o=window.open(t,NC,`width=1024,height=768`);o&&(r.current=o,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e?.())},500))},[a,e]);return(0,A.useEffect)(()=>()=>a(),[a]),{poppedOut:t,popout:o,cleanupPopout:a}}var FC=(0,A.forwardRef)(function({onClose:e},t){jC(),MC(`overlay`);let{poppedOut:n,popout:r,cleanupPopout:i}=PC(e);return(0,A.useImperativeHandle)(t,()=>({popout:r}),[r]),n?(0,j.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,j.jsx)(c,{className:`browser-viewer__icon`}),(0,j.jsx)(`span`,{className:`browser-viewer__title`,children:f.productName}),(0,j.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:xe,onClick:()=>i(),"aria-label":`Pop back in`}),e&&(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:v,onClick:()=>{i(),e()},"aria-label":`Close`})]}):(0,j.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-surface__iframe`,title:f.productName})});function IC({onClose:e}){jC(),MC(`overlay`);let{poppedOut:t,popout:n,cleanupPopout:r}=PC(e),i=(0,A.useCallback)(()=>{r(),e()},[r,e]);(0,A.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&i()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,i]);let a=wC({handlePopout:n,disabled:t});return t?(0,j.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,j.jsx)(c,{className:`browser-viewer__icon`}),(0,j.jsx)(`span`,{className:`browser-viewer__title`,children:f.productName}),(0,j.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:xe,onClick:()=>{r()},"aria-label":`Pop back in`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:v,onClick:i,"aria-label":`Close`})]}):(0,j.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,j.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...a,children:[(0,j.jsx)(c,{className:`browser-viewer__icon`}),(0,j.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:f.productName}),(0,j.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:_,onClick:n,"aria-label":`Pop out`}),(0,j.jsx)(O,{variant:`ghost`,size:`sm`,icon:v,onClick:i,"aria-label":`Close`})]})]}),(0,j.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-viewer-fullscreen__iframe`,title:f.productName})]})}var LC=()=>{},RC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function zC(e){return RC.test(e)?`uuid`:e.startsWith(`agent-template:`)?`agent-template`:`other`}var BC={"null-attachmentId":`No file backing this artefact.`,"non-text-mime":`Content type cannot be displayed inline.`,"containment-rejected":`File path failed containment check; cannot display.`,"missing-on-disk":`File is missing on disk.`};function VC({reason:e}){return(0,j.jsxs)(`div`,{className:`art-skip-banner`,role:`status`,children:[(0,j.jsx)(ge,{size:14}),(0,j.jsx)(`span`,{children:BC[e]})]})}function HC({src:e,name:t,docId:n}){let[r,i]=(0,A.useState)(!1),a=(0,A.useRef)(null),o=(0,A.useRef)(!1),s=(0,A.useRef)(!1),c=(0,A.useCallback)(e=>{s.current||(s.current=!0,console.info(`[admin-ui] artefact-pdf-fallback id=${n.slice(0,8)} reason=${e}`),i(!0))},[n]);(0,A.useEffect)(()=>{let e=setTimeout(()=>{o.current||c(`onload-timeout`)},3e3);return()=>clearTimeout(e)},[c]);let l=()=>{o.current=!0;try{let e=a.current?.contentDocument?.body;e&&e.children.length===0&&!e.textContent?.trim()&&c(`empty-body`)}catch{}};return r?(0,j.jsxs)(`a`,{className:`art-pdf-fallback`,href:e,download:t,children:[(0,j.jsx)(p,{size:20}),(0,j.jsxs)(`div`,{className:`art-pdf-fallback-text`,children:[(0,j.jsx)(`div`,{className:`art-pdf-fallback-name`,children:t}),(0,j.jsx)(`div`,{className:`art-pdf-fallback-hint`,children:`Your browser can't display this PDF inline. Click to download.`})]}),(0,j.jsx)(re,{size:16})]}):(0,j.jsx)(`iframe`,{ref:a,className:`art-pdf`,src:e,title:t,"aria-label":`PDF preview of ${t}`,onLoad:l,onError:()=>c(`onerror`)})}var UC={browser:`Browser`,data:`Data`,graph:`Graph`};function WC({selection:e,trigger:t,cacheKey:n,onClose:r,onArtefactSaved:i,onSwapToGraph:a}){let o=e!==null,s=e?.surface??null,l=(0,A.useRef)(null),u=(0,A.useRef)(null),[d,f]=(0,A.useState)(null),p=e?.surface===`doc`?e.docId:null,h=[250,500,1e3,2e3],g=(0,A.useCallback)(e=>{if(!n||!p)return;let t={};try{t=JSON.parse(e)}catch{return}if(t.action!==`save`||typeof t.content!=`string`)return;f(null);let r=t.content,a=e=>{fetch(`/api/admin/sidebar-artefact-save?session_key=${encodeURIComponent(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:p,content:r})}).then(async t=>{if(t.status===503&&e<h.length){let t=h[e];console.info(`[admin-ui] artefact-save-retry docId=${p} attempt=${e+1} delayMs=${t} status=503`),setTimeout(()=>a(e+1),t);return}if(!t.ok){let n=(await t.json().catch(()=>({}))).error??`status ${t.status}`,r=t.status===503?`retries-exhausted`:`status-${t.status}`;f(`Save failed: ${n}`),console.error(`[admin-ui] artefact-save-failed docId=${p} status=${t.status} attempts=${e+1} source=${r} error="${n}"`);return}let n=await t.json();i?.(p,n.updatedAt,r)}).catch(t=>{let n=t instanceof Error?t.message:String(t);f(`Save failed: ${n}`),console.error(`[admin-ui] artefact-save-failed docId=${p} attempts=${e+1} error="${n}"`)})};a(0)},[n,p,i]);(0,A.useEffect)(()=>{f(null)},[p]),(0,A.useEffect)(()=>{let n=e?.surface===`doc`?e.docId:null,r=e?.surface===`graph`?e.focusNodeId??null:null,i=e?.surface??null,a=i===null?`closed`:`${i}:${n??`none`}:${r??`none`}`;if(a===l.current)return;let s=o?`open`:`closed`,c=o?t??`chat-link`:`toolbar-close`,u=i??l.current?.split(`:`)[0]??`doc`,d=n?` docIdShape=${zC(n)} docIdSample=${n.slice(0,8)}`:``;console.info(`[admin-ui] artefact-pane state=${s} docId=${n??`none`} trigger=${c} surface=${u}${d}`),l.current=a},[e,t,o]);let y=e?.surface===`doc`,b=y?(e.tag||e.name.split(`.`).pop()||`doc`).toUpperCase().slice(0,6):``,x=y?e.revision||`rev 1`:`live`,S=e&&e.surface!==`doc`?UC[e.surface]:``,ee=y?e.name:S;return(0,j.jsxs)(`aside`,{className:`artefact`,"data-open":o,"data-surface":s??`none`,children:[(0,j.jsxs)(`div`,{className:`art-head`,children:[(0,j.jsxs)(`div`,{className:`left`,children:[!y&&s===`browser`&&(0,j.jsx)(c,{size:14,className:`art-head-surface-icon`}),!y&&s===`data`&&(0,j.jsx)(m,{size:14,className:`art-head-surface-icon`}),!y&&s===`graph`&&(0,j.jsx)(C,{size:14,className:`art-head-surface-icon`}),(0,j.jsx)(`span`,{className:`file-name`,children:ee}),y&&(0,j.jsx)(`span`,{className:`file-tag`,children:b})]}),(0,j.jsxs)(`div`,{className:`right`,children:[y&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`button`,{className:`icon-btn`,title:`Copy`,type:`button`,"aria-label":`Copy`,onClick:()=>{E(e.content)},children:(0,j.jsx)(ae,{size:14})}),(0,j.jsx)(`button`,{className:`icon-btn`,title:`Refresh`,type:`button`,"aria-label":`Refresh`,children:(0,j.jsx)(te,{size:14})})]}),s===`browser`&&(0,j.jsx)(`button`,{className:`icon-btn`,title:`Pop out`,type:`button`,"aria-label":`Pop out`,onClick:()=>u.current?.popout(),children:(0,j.jsx)(_,{size:14})}),o&&(0,j.jsx)(`button`,{className:`icon-btn`,title:`Close`,type:`button`,"aria-label":`Close`,onClick:r,children:(0,j.jsx)(v,{size:14})})]})]}),(0,j.jsxs)(`div`,{className:`art-toolbar`,children:[(0,j.jsxs)(`span`,{className:`seg`,children:[(0,j.jsx)(`span`,{className:`bullet`}),(0,j.jsx)(`strong`,{children:y?`Artefact`:S})]}),(0,j.jsx)(`span`,{className:`right-meta`,children:x})]}),(0,j.jsxs)(`div`,{className:`art-body`,"data-surface":s??`none`,children:[y&&(()=>{let t=e.editable!==!1,r=e.skipReason??null,i=(e.mimeType??``).startsWith(`application/pdf`);if(r)return(0,j.jsx)(VC,{reason:r});if(i&&n){let t=`/api/admin/sidebar-artefact-content?id=${encodeURIComponent(e.docId)}&session_key=${encodeURIComponent(n)}`;return(0,j.jsx)(HC,{src:t,name:e.name,docId:e.docId},t)}return(0,j.jsxs)(j.Fragment,{children:[d&&(0,j.jsx)(`div`,{className:`art-save-error`,role:`alert`,children:d}),(0,j.jsx)(AC,{data:{title:e.name,content:e.content,readOnly:!t},onSubmit:t?g:LC,submitted:!1})]})})(),s===`browser`&&(0,j.jsx)(FC,{ref:u,onClose:r}),s===`data`&&n&&(0,j.jsx)(ie,{cacheKey:n,onOpenInGraph:a?e=>{let t=T(e.properties);a(e.nodeId,t??e.labels[0]??null)}:void 0}),e?.surface===`graph`&&n&&(0,j.jsx)(ne,{cacheKey:n,initialFocus:e.focusNodeId?{nodeId:e.focusNodeId,nodeLabel:e.focusNodeLabel??null}:null,initialLabels:e.initialLabels??null})]}),(0,j.jsxs)(`div`,{className:`art-foot`,children:[(0,j.jsx)(`span`,{className:`left`,children:x}),(0,j.jsx)(`span`,{className:`right in-sync`,children:`in sync`})]})]})}function GC(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function KC(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function qC(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,conversationId:o,cacheKey:s}=e,[c,l]=(0,A.useState)(null);if(!t)return null;let u=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),d=u.at(-1),f=d?.peak_request_pct==null?d?.context_window?Math.round((d.input_tokens+d.cache_creation_tokens+d.cache_read_tokens)/d.context_window*100):0:Math.round(d.peak_request_pct*100),p=u.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),m=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),h=u.reduce((e,t)=>e+(t.total_cost_usd??0),0),g=r?.account?.subscriptionType,_=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,j.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,j.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,j.jsxs)(`div`,{className:`claude-info-header`,children:[(0,j.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,j.jsx)(`span`,{children:`Claude Code`}),(0,j.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,j.jsxs)(`div`,{className:`claude-info-section`,children:[(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(g||m||h>0)&&(0,j.jsxs)(`div`,{className:`claude-info-section`,children:[g&&(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,j.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:g})]}),m&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,j.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(m.utilization*100),`%`]})]}),(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:_(m.resetsAt)})]}),m.isUsingOverage&&(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),h>0&&(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,j.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,h<.01?h.toFixed(4):h.toFixed(2)]})]})]}),(0,j.jsxs)(`div`,{className:`claude-info-section`,children:[(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:f>0?`${f}%`:`—`})]}),(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:p>0?KC(p):`—`})]}),(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,j.jsx)(`span`,{className:`claude-info-value`,children:GC(a)})]}),(o||s)&&(()=>{let e=o??s??``;return(0,j.jsxs)(`div`,{className:`claude-info-row`,children:[(0,j.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,j.jsx)(`button`,{type:`button`,className:`claude-info-value claude-info-id-copy`,title:`${e} (${o?`flushed`:`pre-flush`}) — click to copy`,onClick:async()=>{l(await E(e)?`copied`:`failed`),setTimeout(()=>l(null),1200)},children:c===`copied`?`copied ✓`:c===`failed`?`copy failed ✕`:`${e.slice(0,8)}…`})]})})()]})]})})}var JC=1080;function YC(){let e=fe(),[t,n]=(0,A.useState)(()=>typeof window>`u`?null:new URLSearchParams(window.location.search).get(`sessionId`)),[r,i]=(0,A.useState)(null),[a,o]=(0,A.useState)(null),[s,c]=(0,A.useState)(!1),[l,u]=(0,A.useState)(!1),[d,f]=(0,A.useState)(!1),[p,m]=(0,A.useState)(()=>typeof window<`u`&&window.matchMedia(`(min-width: ${JC}px)`).matches);(0,A.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${JC}px)`),t=e=>m(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,A.useEffect)(()=>{if(!d)return;let e=e=>{e.key===`Escape`&&f(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[d]);let h=(0,A.useCallback)(async()=>{if(l)return;u(!0);let e=p?`artefact`:`overlay`;try{let t=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!t.ok)throw Error(t.error??`Failed to launch browser`);p?(i({surface:`browser`}),o(`header-menu`)):c(!0),console.info(`[admin-ui] header-menu-browser-launch outcome=ok viewport=${e}`)}catch(t){console.error(`[admin-ui] header-menu-browser-launch outcome=error viewport=${e} error="${t instanceof Error?t.message:String(t)}"`),window.alert(t instanceof Error?t.message:`Failed to launch browser`)}finally{u(!1)}},[l,p]),g=(0,A.useCallback)(async()=>{let t=e.claudeInfo!=null;if(f(!0),t){console.info(`[admin-ui] claude-info-open cached=true ms=0`);return}let n=Date.now();try{let t=await fetch(`/api/admin/claude-info`);if(t.ok){let n=await t.json();e.setClaudeInfo(n)}console.info(`[admin-ui] claude-info-open cached=false ms=${Date.now()-n}`)}catch(e){console.error(`[admin-ui] claude-info-fetch-failed ms=${Date.now()-n} error="${e instanceof Error?e.message:String(e)}"`)}},[e]),_=(0,A.useCallback)(()=>{i(null),o(null)},[]);if(e.appState===`loading`)return(0,j.jsx)(`div`,{className:`connect-page`});if(e.appState===`set-pin`)return(0,j.jsx)(Ee,{pin:e.pin,setPin:e.setPin,confirmPin:e.confirmPin,setConfirmPin:e.setConfirmPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,confirmPinInputRef:e.confirmPinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName});if(e.appState===`onboarding-choice`)return(0,j.jsx)(Ae,{setAppState:e.setAppState,setOnboardingComplete:e.setOnboardingComplete});if(e.appState===`connect-claude`)return(0,j.jsx)(ke,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState});if(e.appState===`enter-pin`)return(0,j.jsx)(De,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,onChangePin:e.handleChangePin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:e.handleLogout});if(e.appState===`account-picker`)return(0,j.jsx)(Oe,{accounts:e.accounts,loading:e.accountPickerLoading,error:e.pinError,onSelect:e.handleAccountSelect});let v=r!==null;return(0,j.jsx)(b,{cacheKey:e.cacheKey,businessName:e.businessName,conversationId:e.conversationId,onLaunchBrowser:h,onLogout:e.handleLogout,browserLaunching:l,onboardingComplete:e.onboardingComplete,userName:e.userName,userAvatar:e.userAvatar,role:e.role,selectedSessionId:t,onSelectSession:n,dataArtefact:v?`open`:`closed`,footer:(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Ge,{onOpen:g}),s&&(0,j.jsx)(IC,{onClose:()=>c(!1)}),(0,j.jsx)(qC,{show:d,onClose:()=>f(!1),claudeInfo:e.claudeInfo,messages:[],sessionElapsed:0,conversationId:e.conversationId,cacheKey:e.cacheKey})]}),children:({sessionsState:i})=>(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(Fe,{}),t&&e.cacheKey?(0,j.jsx)(Ue,{sessionId:t,cacheKey:e.cacheKey,onRenamed:()=>i.refetch(),onClose:()=>n(null),recentsActions:{setSessions:i.setSessions,refetch:i.refetch}},t):(0,j.jsx)(`main`,{}),v&&(0,j.jsx)(Be,{}),(0,j.jsx)(WC,{selection:r,trigger:a,cacheKey:e.cacheKey,onClose:_})]})})}(0,se.createRoot)(document.getElementById(`root`)).render((0,j.jsx)(YC,{}));
216
+ `;function AC({data:e,onSubmit:t,submitted:n,isStreaming:r}){let{title:a,content:o,filePath:s,readOnly:c}=e??{},l=a??`Document`,u=(0,k.useCallback)(e=>{t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:e,...s?{filePath:s}:{}}))},[t,s]),[d,f]=(0,k.useState)(`idle`),m=(0,k.useRef)(null),h=(0,k.useRef)(null),[g,y]=(0,k.useState)(!1),[b,S]=(0,k.useState)(!1),[C,ee]=(0,k.useState)(`idle`),te=(0,k.useRef)(o),ne=(0,k.useMemo)(()=>Rb.extend({markdownTokenizer:null}),[]),ie=(0,k.useMemo)(()=>[zx.configure({orderedList:!1}),ne,db.configure({openOnClick:!1}),CC,DC],[ne]),ae=(0,k.useCallback)(e=>e.replace(/\u2014/g,`-`).replace(/\u2013/g,`-`).replace(/\u201C/g,`"`).replace(/\u201D/g,`"`).replace(/\u2018/g,`'`).replace(/\u2019/g,`'`).replace(/\u2026/g,`...`).replace(/\u00A0/g,` `),[]),T=hm({extensions:ie,content:(0,k.useMemo)(()=>o&&ae(o),[o,ae]),contentType:`markdown`,editable:!c,editorProps:{attributes:{class:`doc-editor__content`,role:`textbox`,"aria-multiline":`true`}},onUpdate:({editor:e})=>{c||(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{let n=e.getMarkdown();f(`saving`),t(JSON.stringify({action:`save`,content:n,...s?{filePath:s}:{}})),u(`auto-saved`),h.current&&clearTimeout(h.current),f(`saved`),h.current=setTimeout(()=>f(`idle`),2e3)},500))},onCreate:({editor:e})=>{e||y(!0)},onFocus:()=>S(!0),onBlur:()=>S(!1)}),E=TC({title:l,isStreaming:r,persistent:!0,channelName:`maxy-doc-editor`,renderPopout:(0,k.useCallback)((e,t)=>{let n=e.document;n.open(),n.close(),n.title=t;let r=n.createElement(`style`);r.textContent=kC,n.head.appendChild(r);let i=n.createElement(`div`);i.className=`title`,i.textContent=t,n.body.appendChild(i);let a=n.createElement(`pre`);a.style.whiteSpace=`pre-wrap`,a.style.fontFamily=`inherit`,a.style.background=`transparent`,a.style.padding=`0`,a.textContent=T?.getMarkdown()??``,n.body.appendChild(a)},[T]),onSyncMessage:(0,k.useCallback)(e=>{let t=e;t?.type===`content`&&t.markdown&&T&&T.commands.setContent(ae(t.markdown),{contentType:`markdown`})},[T,ae])});(0,k.useEffect)(()=>{E.poppedOut&&T&&E.syncToPopout({type:`content`,markdown:T.getMarkdown(),title:l})},[E.poppedOut]);let O=EC({onSubmit:t}),oe=(0,k.useRef)(null);(0,k.useEffect)(()=>{if(!T||!o||o===te.current)return;te.current=o;let e=ae(o);if(oe.current&&=(T.off(`blur`,oe.current),null),!T.isFocused)T.commands.setContent(e,{contentType:`markdown`});else{let t=()=>{T.commands.setContent(e,{contentType:`markdown`}),T.off(`blur`,t),oe.current=null};oe.current=t,T.on(`blur`,t)}},[T,o,ae]),(0,k.useEffect)(()=>(u(`rendered`),()=>{m.current&&clearTimeout(m.current),h.current&&clearTimeout(h.current)}),[]);let se=(0,k.useCallback)(()=>{if(!T)return;let{from:e,to:t}=T.state.selection;e!==t&&O.openCommentInput()},[T,O]),ce=(0,k.useCallback)(()=>{if(!T)return;let{from:e,to:t}=T.state.selection,n=T.state.doc.textBetween(e,t);if(!n)return;let r=O.submitComment(n,{startOffset:e,endOffset:t});r&&T.chain().focus().setMark(`comment`,{commentId:r,commentText:O.commentText,createdAt:new Date().toISOString()}).run()},[T,O]),le=(0,k.useCallback)(()=>{c||!T||(S(!0),T.commands.focus())},[c,T]),ue=(0,k.useCallback)(()=>{if(!T||!s)return;let e=T.getMarkdown();!e.trim()&&!window.confirm(`Save empty document?`)||(t(JSON.stringify({action:`approve`,content:e,filePath:s})),u(`approved`),ee(`approved`))},[T,s,t,u]),de=(0,k.useCallback)(()=>{if(!T)return;let e=T.getMarkdown(),n=(l||``).replace(/\.md$/i,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,80)||`document`,r=new Blob([e],{type:`text/markdown;charset=utf-8`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${n}.md`,a.click(),URL.revokeObjectURL(i),t(JSON.stringify({_lifecycle:!0,component:`document-editor`,event:`downloaded`,title:l,contentLength:e.length,...s?{filePath:s}:{}}))},[T,l,s,t]);if(n&&!c)return(0,A.jsxs)(`div`,{className:`editor-base doc-editor doc-editor--approved`,children:[(0,A.jsxs)(`div`,{className:`editor-base__bar`,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,A.jsx)(`div`,{className:`editor-base__actions`,children:(0,A.jsx)(`span`,{className:`editor-base__status`,children:`Approved`})})]}),(0,A.jsx)(`div`,{className:`doc-editor__body`,children:(0,A.jsx)(OC,{content:o||``})})]});if(g||!T)return(0,A.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,A.jsxs)(`div`,{className:`editor-base__bar`,...E.dragBarProps,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base__title`,children:l})]}),(0,A.jsx)(OC,{content:o||``})]});let fe=typeof window<`u`&&window.innerWidth<640,pe=typeof BroadcastChannel<`u`,me=(0,A.jsxs)(`div`,{className:`editor-base__actions`,children:[d===`saving`&&(0,A.jsx)(`span`,{className:`editor-base__status`,children:`Saving...`}),d===`saved`&&(0,A.jsx)(`span`,{className:`editor-base__status`,children:`Saved`}),C===`approved`&&(0,A.jsx)(`span`,{className:`editor-base__status`,children:`Approved`}),c&&(0,A.jsx)(`span`,{className:`editor-base__status`,children:`View only`}),s&&!c&&C!==`approved`&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:i,onClick:ue,"aria-label":`Approve`,children:`Approve`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:re,onClick:de,"aria-label":`Download`}),O.pendingComments.length>0&&(0,A.jsxs)(D,{variant:`ghost`,size:`sm`,onClick:O.sendComments,children:[`Send `,O.pendingComments.length,` comment`,O.pendingComments.length>1?`s`:``]}),!fe&&pe&&!E.poppedOut&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:_,onClick:E.handlePopout,"aria-label":`Pop out`}),!E.fullscreen&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:be,onClick:E.handleFullscreen,"aria-label":`Full screen`}),E.fullscreen&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:Se,onClick:E.exitFullscreen,"aria-label":`Exit full screen`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:w,onClick:E.handleMinimise,"aria-label":`Minimise`})]}),_e=c?null:(0,A.jsx)(O_,{editor:T,children:(0,A.jsxs)(`div`,{className:`doc-editor__bubble-menu`,role:`toolbar`,"aria-label":`Formatting`,children:[(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:he,onClick:()=>T.chain().focus().toggleBold().run(),"aria-label":`Bold`,"aria-pressed":T.isActive(`bold`)}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:ve,onClick:()=>T.chain().focus().toggleItalic().run(),"aria-label":`Italic`,"aria-pressed":T.isActive(`italic`)}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:ye,onClick:()=>{let e=window.prompt(`URL`);e&&T.chain().focus().setLink({href:e}).run()},"aria-label":`Link`,"aria-pressed":T.isActive(`link`)}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:ge,onClick:()=>T.chain().focus().toggleCode().run(),"aria-label":`Code`,"aria-pressed":T.isActive(`code`)}),(0,A.jsx)(`div`,{className:`doc-editor__bubble-divider`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:xe,onClick:se,"aria-label":`Add comment`})]})}),Ce=O.showCommentInput?(0,A.jsxs)(`div`,{className:`doc-editor__comment-popover`,children:[(0,A.jsx)(`input`,{ref:O.commentInputRef,type:`text`,value:O.commentText,onChange:e=>O.setCommentText(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ce(),e.key===`Escape`&&O.cancelComment()},placeholder:`Add a comment...`,className:`doc-editor__comment-input`,"aria-label":`Add comment`}),(0,A.jsxs)(`div`,{className:`doc-editor__comment-actions`,children:[(0,A.jsx)(D,{variant:`primary`,size:`sm`,onClick:ce,disabled:!O.commentText.trim(),children:`Add`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:v,onClick:O.cancelComment,"aria-label":`Cancel`})]})]}):null;if(E.fullscreen)return(0,A.jsxs)(`div`,{className:`editor-base-fullscreen`,children:[(0,A.jsxs)(`div`,{className:`editor-base-fullscreen__bar`,...E.dragBarProps,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base-fullscreen__title`,children:l}),me]}),(0,A.jsx)(`div`,{className:`editor-base-fullscreen__body`,children:b||c?(0,A.jsxs)(A.Fragment,{children:[_e,Ce,(0,A.jsx)(sm,{editor:T})]}):(0,A.jsx)(`div`,{className:`doc-editor__preview`,onClick:le,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&le(),children:(0,A.jsx)(OC,{content:T?.getMarkdown()??o??``})})})]});if(E.poppedOut)return(0,A.jsx)(`div`,{className:`editor-base editor-base--popout`,children:(0,A.jsxs)(`div`,{className:`editor-base__bar`,...E.dragBarProps,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,A.jsxs)(`div`,{className:`editor-base__actions`,children:[(0,A.jsx)(`span`,{className:`editor-base__status`,children:`Popped out`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:Te,onClick:E.handlePopIn,"aria-label":`Pop back in`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:w,onClick:E.handleMinimise,"aria-label":`Close`})]})]})});if(E.minimised)return(0,A.jsx)(`div`,{className:`editor-base editor-base--minimised`,onClick:E.handleExpand,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&E.handleExpand(),children:(0,A.jsxs)(`div`,{className:`editor-base__bar`,...E.dragBarProps,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base__title`,children:l}),(0,A.jsxs)(`div`,{className:`editor-base__actions`,onClick:e=>e.stopPropagation(),children:[!fe&&pe&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:_,onClick:E.handlePopout,"aria-label":`Pop out`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:be,onClick:E.handleFullscreen,"aria-label":`Full screen`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:x,onClick:E.handleExpand,"aria-label":`Expand`})]})]})});let we=T?.getMarkdown()??o??``;return(0,A.jsxs)(`div`,{className:`editor-base doc-editor`,children:[(0,A.jsxs)(`div`,{className:`editor-base__bar`,...E.dragBarProps,children:[(0,A.jsx)(p,{className:`editor-base__icon`}),(0,A.jsx)(`span`,{className:`editor-base__title`,children:l}),me]}),(0,A.jsx)(`div`,{className:`doc-editor__body`,children:b||c?(0,A.jsxs)(A.Fragment,{children:[_e,Ce,(0,A.jsx)(sm,{editor:T})]}):(0,A.jsx)(`div`,{className:`doc-editor__preview`,onClick:le,role:`button`,tabIndex:0,onKeyDown:e=>(e.key===`Enter`||e.key===` `)&&le(),children:(0,A.jsx)(OC,{content:we})})})]})}function jC(){(0,k.useEffect)(()=>{function e(e){e.data?.type===`vnc-clipboard`&&typeof e.data.text==`string`&&T(e.data.text)}window.addEventListener(`message`,e);let t=null;return typeof BroadcastChannel<`u`&&(t=new BroadcastChannel(`maxy-vnc-clipboard`),t.onmessage=e=>{typeof e.data==`string`&&T(e.data)}),()=>{window.removeEventListener(`message`,e),t?.close()}},[])}function MC(e){(0,k.useEffect)(()=>{let t=Date.now(),n=`/api/admin/browser-iframe/event`,r={brand:f.productName,surface:e};return fetch(n,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:JSON.stringify({event:`mount`,...r}),keepalive:!0}).catch(()=>{}),()=>{let e=JSON.stringify({event:`unmount`,durationMs:Date.now()-t,...r});try{let t=new Blob([e],{type:`application/json`});navigator.sendBeacon(n,t)||fetch(n,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:e,keepalive:!0}).catch(()=>{})}catch{}}},[e])}var NC=`maxy-vnc-overlay-popout`;function PC(e){let[t,n]=(0,k.useState)(!1),r=(0,k.useRef)(null),i=(0,k.useRef)(null),a=(0,k.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,k.useCallback)(()=>{let t=`/vnc-popout.html?title=${encodeURIComponent(f.productName)}`,o=window.open(t,NC,`width=1024,height=768`);o&&(r.current=o,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e?.())},500))},[a,e]);return(0,k.useEffect)(()=>()=>a(),[a]),{poppedOut:t,popout:o,cleanupPopout:a}}var FC=(0,k.forwardRef)(function({onClose:e},t){jC(),MC(`overlay`);let{poppedOut:n,popout:r,cleanupPopout:i}=PC(e);return(0,k.useImperativeHandle)(t,()=>({popout:r}),[r]),n?(0,A.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,A.jsx)(c,{className:`browser-viewer__icon`}),(0,A.jsx)(`span`,{className:`browser-viewer__title`,children:f.productName}),(0,A.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:Se,onClick:()=>i(),"aria-label":`Pop back in`}),e&&(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:v,onClick:()=>{i(),e()},"aria-label":`Close`})]}):(0,A.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-surface__iframe`,title:f.productName})});function IC({onClose:e}){jC(),MC(`overlay`);let{poppedOut:t,popout:n,cleanupPopout:r}=PC(e),i=(0,k.useCallback)(()=>{r(),e()},[r,e]);(0,k.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&i()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,i]);let a=wC({handlePopout:n,disabled:t});return t?(0,A.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,A.jsx)(c,{className:`browser-viewer__icon`}),(0,A.jsx)(`span`,{className:`browser-viewer__title`,children:f.productName}),(0,A.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:Se,onClick:()=>{r()},"aria-label":`Pop back in`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:v,onClick:i,"aria-label":`Close`})]}):(0,A.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,A.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...a,children:[(0,A.jsx)(c,{className:`browser-viewer__icon`}),(0,A.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:f.productName}),(0,A.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:_,onClick:n,"aria-label":`Pop out`}),(0,A.jsx)(D,{variant:`ghost`,size:`sm`,icon:v,onClick:i,"aria-label":`Close`})]})]}),(0,A.jsx)(`iframe`,{src:`/vnc-viewer.html`,className:`browser-viewer-fullscreen__iframe`,title:f.productName})]})}var LC=()=>{},RC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function zC(e){return RC.test(e)?`uuid`:e.startsWith(`agent-template:`)?`agent-template`:`other`}var BC={"null-attachmentId":`No file backing this artefact.`,"non-text-mime":`Content type cannot be displayed inline.`,"containment-rejected":`File path failed containment check; cannot display.`,"missing-on-disk":`File is missing on disk.`};function VC({reason:e}){return(0,A.jsxs)(`div`,{className:`art-skip-banner`,role:`status`,children:[(0,A.jsx)(_e,{size:14}),(0,A.jsx)(`span`,{children:BC[e]})]})}function HC({src:e,name:t,docId:n}){let[r,i]=(0,k.useState)(!1),a=(0,k.useRef)(null),o=(0,k.useRef)(!1),s=(0,k.useRef)(!1),c=(0,k.useCallback)(e=>{s.current||(s.current=!0,console.info(`[admin-ui] artefact-pdf-fallback id=${n.slice(0,8)} reason=${e}`),i(!0))},[n]);(0,k.useEffect)(()=>{let e=setTimeout(()=>{o.current||c(`onload-timeout`)},3e3);return()=>clearTimeout(e)},[c]);let l=()=>{o.current=!0;try{let e=a.current?.contentDocument?.body;e&&e.children.length===0&&!e.textContent?.trim()&&c(`empty-body`)}catch{}};return r?(0,A.jsxs)(`a`,{className:`art-pdf-fallback`,href:e,download:t,children:[(0,A.jsx)(p,{size:20}),(0,A.jsxs)(`div`,{className:`art-pdf-fallback-text`,children:[(0,A.jsx)(`div`,{className:`art-pdf-fallback-name`,children:t}),(0,A.jsx)(`div`,{className:`art-pdf-fallback-hint`,children:`Your browser can't display this PDF inline. Click to download.`})]}),(0,A.jsx)(re,{size:16})]}):(0,A.jsx)(`iframe`,{ref:a,className:`art-pdf`,src:e,title:t,"aria-label":`PDF preview of ${t}`,onLoad:l,onError:()=>c(`onerror`)})}var UC={browser:`Browser`,data:`Data`,graph:`Graph`};function WC({selection:e,trigger:t,cacheKey:n,onClose:r,onArtefactSaved:i,onSwapToGraph:a}){let o=e!==null,s=e?.surface??null,l=(0,k.useRef)(null),u=(0,k.useRef)(null),[d,f]=(0,k.useState)(null),p=e?.surface===`doc`?e.docId:null,h=[250,500,1e3,2e3],g=(0,k.useCallback)(e=>{if(!n||!p)return;let t={};try{t=JSON.parse(e)}catch{return}if(t.action!==`save`||typeof t.content!=`string`)return;f(null);let r=t.content,a=e=>{fetch(`/api/admin/sidebar-artefact-save?session_key=${encodeURIComponent(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({id:p,content:r})}).then(async t=>{if(t.status===503&&e<h.length){let t=h[e];console.info(`[admin-ui] artefact-save-retry docId=${p} attempt=${e+1} delayMs=${t} status=503`),setTimeout(()=>a(e+1),t);return}if(!t.ok){let n=(await t.json().catch(()=>({}))).error??`status ${t.status}`,r=t.status===503?`retries-exhausted`:`status-${t.status}`;f(`Save failed: ${n}`),console.error(`[admin-ui] artefact-save-failed docId=${p} status=${t.status} attempts=${e+1} source=${r} error="${n}"`);return}let n=await t.json();i?.(p,n.updatedAt,r)}).catch(t=>{let n=t instanceof Error?t.message:String(t);f(`Save failed: ${n}`),console.error(`[admin-ui] artefact-save-failed docId=${p} attempts=${e+1} error="${n}"`)})};a(0)},[n,p,i]);(0,k.useEffect)(()=>{f(null)},[p]),(0,k.useEffect)(()=>{let n=e?.surface===`doc`?e.docId:null,r=e?.surface===`graph`?e.focusNodeId??null:null,i=e?.surface??null,a=i===null?`closed`:`${i}:${n??`none`}:${r??`none`}`;if(a===l.current)return;let s=o?`open`:`closed`,c=o?t??`chat-link`:`toolbar-close`,u=i??l.current?.split(`:`)[0]??`doc`,d=n?` docIdShape=${zC(n)} docIdSample=${n.slice(0,8)}`:``;console.info(`[admin-ui] artefact-pane state=${s} docId=${n??`none`} trigger=${c} surface=${u}${d}`),l.current=a},[e,t,o]);let y=e?.surface===`doc`,b=y?(e.tag||e.name.split(`.`).pop()||`doc`).toUpperCase().slice(0,6):``,x=y?e.revision||`rev 1`:`live`,S=e&&e.surface!==`doc`?UC[e.surface]:``,ee=y?e.name:S;return(0,A.jsxs)(`aside`,{className:`artefact`,"data-open":o,"data-surface":s??`none`,children:[(0,A.jsxs)(`div`,{className:`art-head`,children:[(0,A.jsxs)(`div`,{className:`left`,children:[!y&&s===`browser`&&(0,A.jsx)(c,{size:14,className:`art-head-surface-icon`}),!y&&s===`data`&&(0,A.jsx)(m,{size:14,className:`art-head-surface-icon`}),!y&&s===`graph`&&(0,A.jsx)(C,{size:14,className:`art-head-surface-icon`}),(0,A.jsx)(`span`,{className:`file-name`,children:ee}),y&&(0,A.jsx)(`span`,{className:`file-tag`,children:b})]}),(0,A.jsxs)(`div`,{className:`right`,children:[y&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{className:`icon-btn`,title:`Copy`,type:`button`,"aria-label":`Copy`,onClick:()=>{T(e.content)},children:(0,A.jsx)(oe,{size:14})}),(0,A.jsx)(`button`,{className:`icon-btn`,title:`Refresh`,type:`button`,"aria-label":`Refresh`,children:(0,A.jsx)(te,{size:14})})]}),s===`browser`&&(0,A.jsx)(`button`,{className:`icon-btn`,title:`Pop out`,type:`button`,"aria-label":`Pop out`,onClick:()=>u.current?.popout(),children:(0,A.jsx)(_,{size:14})}),o&&(0,A.jsx)(`button`,{className:`icon-btn`,title:`Close`,type:`button`,"aria-label":`Close`,onClick:r,children:(0,A.jsx)(v,{size:14})})]})]}),(0,A.jsxs)(`div`,{className:`art-toolbar`,children:[(0,A.jsxs)(`span`,{className:`seg`,children:[(0,A.jsx)(`span`,{className:`bullet`}),(0,A.jsx)(`strong`,{children:y?`Artefact`:S})]}),(0,A.jsx)(`span`,{className:`right-meta`,children:x})]}),(0,A.jsxs)(`div`,{className:`art-body`,"data-surface":s??`none`,children:[y&&(()=>{let t=e.editable!==!1,r=e.skipReason??null,i=(e.mimeType??``).startsWith(`application/pdf`);if(r)return(0,A.jsx)(VC,{reason:r});if(i&&n){let t=`/api/admin/sidebar-artefact-content?id=${encodeURIComponent(e.docId)}&session_key=${encodeURIComponent(n)}`;return(0,A.jsx)(HC,{src:t,name:e.name,docId:e.docId},t)}return(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsx)(`div`,{className:`art-save-error`,role:`alert`,children:d}),(0,A.jsx)(AC,{data:{title:e.name,content:e.content,readOnly:!t},onSubmit:t?g:LC,submitted:!1})]})})(),s===`browser`&&(0,A.jsx)(FC,{ref:u,onClose:r}),s===`data`&&n&&(0,A.jsx)(ie,{cacheKey:n,onOpenInGraph:a?e=>{let t=ae(e.properties);a(e.nodeId,t??e.labels[0]??null)}:void 0}),e?.surface===`graph`&&n&&(0,A.jsx)(ne,{cacheKey:n,initialFocus:e.focusNodeId?{nodeId:e.focusNodeId,nodeLabel:e.focusNodeLabel??null}:null,initialLabels:e.initialLabels??null})]}),(0,A.jsxs)(`div`,{className:`art-foot`,children:[(0,A.jsx)(`span`,{className:`left`,children:x}),(0,A.jsx)(`span`,{className:`right in-sync`,children:`in sync`})]})]})}function GC(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n>0?`${t}m ${n}s`:`${t}m`}function KC(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function qC(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,conversationId:o,cacheKey:s}=e,[c,l]=(0,k.useState)(null);if(!t)return null;let u=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),d=u.at(-1),f=d?.peak_request_pct==null?d?.context_window?Math.round((d.input_tokens+d.cache_creation_tokens+d.cache_read_tokens)/d.context_window*100):0:Math.round(d.peak_request_pct*100),p=u.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),m=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),h=u.reduce((e,t)=>e+(t.total_cost_usd??0),0),g=r?.account?.subscriptionType,_=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,A.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,A.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,A.jsxs)(`div`,{className:`claude-info-header`,children:[(0,A.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,A.jsx)(`span`,{children:`Claude Code`}),(0,A.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,A.jsxs)(`div`,{className:`claude-info-section`,children:[(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(g||m||h>0)&&(0,A.jsxs)(`div`,{className:`claude-info-section`,children:[g&&(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,A.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:g})]}),m&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,A.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(m.utilization*100),`%`]})]}),(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:_(m.resetsAt)})]}),m.isUsingOverage&&(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),h>0&&(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,A.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,h<.01?h.toFixed(4):h.toFixed(2)]})]})]}),(0,A.jsxs)(`div`,{className:`claude-info-section`,children:[(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:f>0?`${f}%`:`—`})]}),(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:p>0?KC(p):`—`})]}),(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,A.jsx)(`span`,{className:`claude-info-value`,children:GC(a)})]}),(o||s)&&(()=>{let e=o??s??``;return(0,A.jsxs)(`div`,{className:`claude-info-row`,children:[(0,A.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,A.jsx)(`button`,{type:`button`,className:`claude-info-value claude-info-id-copy`,title:`${e} (${o?`flushed`:`pre-flush`}) — click to copy`,onClick:async()=>{l(await T(e)?`copied`:`failed`),setTimeout(()=>l(null),1200)},children:c===`copied`?`copied ✓`:c===`failed`?`copy failed ✕`:`${e.slice(0,8)}…`})]})})()]})]})})}var JC=1080;function YC(){let e=pe(),[t,n]=(0,k.useState)(()=>typeof window>`u`?null:new URLSearchParams(window.location.search).get(`sessionId`)),[r,i]=(0,k.useState)(null),[a,o]=(0,k.useState)(null),[s,c]=(0,k.useState)(!1),[l,u]=(0,k.useState)(!1),[d,f]=(0,k.useState)(!1),[p,m]=(0,k.useState)(()=>typeof window<`u`&&window.matchMedia(`(min-width: ${JC}px)`).matches);(0,k.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${JC}px)`),t=e=>m(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,k.useEffect)(()=>{if(!d)return;let e=e=>{e.key===`Escape`&&f(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[d]);let h=(0,k.useCallback)(async()=>{if(l)return;u(!0);let e=p?`artefact`:`overlay`;try{let t=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!t.ok)throw Error(t.error??`Failed to launch browser`);p?(i({surface:`browser`}),o(`header-menu`)):c(!0),console.info(`[admin-ui] header-menu-browser-launch outcome=ok viewport=${e}`)}catch(t){console.error(`[admin-ui] header-menu-browser-launch outcome=error viewport=${e} error="${t instanceof Error?t.message:String(t)}"`),window.alert(t instanceof Error?t.message:`Failed to launch browser`)}finally{u(!1)}},[l,p]),g=(0,k.useCallback)(async()=>{let t=e.claudeInfo!=null;if(f(!0),t){console.info(`[admin-ui] claude-info-open cached=true ms=0`);return}let n=Date.now();try{let t=await fetch(`/api/admin/claude-info`);if(t.ok){let n=await t.json();e.setClaudeInfo(n)}console.info(`[admin-ui] claude-info-open cached=false ms=${Date.now()-n}`)}catch(e){console.error(`[admin-ui] claude-info-fetch-failed ms=${Date.now()-n} error="${e instanceof Error?e.message:String(e)}"`)}},[e]),_=(0,k.useCallback)(()=>{i(null),o(null)},[]);if(e.appState===`loading`)return(0,A.jsx)(`div`,{className:`connect-page`});if(e.appState===`set-pin`)return(0,A.jsx)(De,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName});if(e.appState===`onboarding-choice`)return(0,A.jsx)(je,{setAppState:e.setAppState,setOnboardingComplete:e.setOnboardingComplete});if(e.appState===`connect-claude`)return(0,A.jsx)(Ae,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState});if(e.appState===`enter-pin`)return(0,A.jsx)(Oe,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,onChangePin:e.handleChangePin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:e.handleLogout});if(e.appState===`account-picker`)return(0,A.jsx)(ke,{accounts:e.accounts,loading:e.accountPickerLoading,error:e.pinError,onSelect:e.handleAccountSelect});let v=r!==null;return(0,A.jsx)(b,{cacheKey:e.cacheKey,businessName:e.businessName,conversationId:e.conversationId,onLaunchBrowser:h,onLogout:e.handleLogout,browserLaunching:l,onboardingComplete:e.onboardingComplete,userName:e.userName,userAvatar:e.userAvatar,role:e.role,selectedSessionId:t,onSelectSession:n,dataArtefact:v?`open`:`closed`,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Ke,{onOpen:g}),s&&(0,A.jsx)(IC,{onClose:()=>c(!1)}),(0,A.jsx)(qC,{show:d,onClose:()=>f(!1),claudeInfo:e.claudeInfo,messages:[],sessionElapsed:0,conversationId:e.conversationId,cacheKey:e.cacheKey})]}),children:({sessionsState:i})=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Ie,{}),t&&e.cacheKey?(0,A.jsx)(We,{sessionId:t,cacheKey:e.cacheKey,onRenamed:()=>i.refetch(),onClose:()=>n(null),recentsActions:{setSessions:i.setSessions,refetch:i.refetch}},t):(0,A.jsx)(`main`,{}),v&&(0,A.jsx)(Ve,{}),(0,A.jsx)(WC,{selection:r,trigger:a,cacheKey:e.cacheKey,onClose:_})]})})}(0,ce.createRoot)(document.getElementById(`root`)).render((0,A.jsx)(YC,{}));