mulmoclaude 0.7.0 → 0.9.0

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 (199) hide show
  1. package/bin/mulmoclaude.js +1 -1
  2. package/client/assets/{JsonEditor-C_RDoefj.js → JsonEditor-o5--tPQH.js} +1 -1
  3. package/client/assets/{index-BG_JJcKI.js → index-9lmYSaus.js} +246 -215
  4. package/client/assets/index-tOu5ArRZ.css +2 -0
  5. package/client/assets/{lib-Dpph7PBN.js → lib-D6Xy0IFc.js} +1 -1
  6. package/client/assets/{marp-cCGismx0.js → marp-D6GXA-EB.js} +67 -67
  7. package/client/assets/purify.es-B27wDFIb-51iYcXuK.js +3 -0
  8. package/client/assets/runtime-protocol-vue-pU0Mw7Zm.js +1 -0
  9. package/client/index.html +6 -6
  10. package/package.json +28 -15
  11. package/server/agent/activeTools.ts +5 -1
  12. package/server/agent/backend/claude-code.ts +22 -3
  13. package/server/agent/backend/fake-echo.ts +2 -1
  14. package/server/agent/backgroundSessions.ts +45 -0
  15. package/server/agent/config.ts +105 -12
  16. package/server/agent/mcp-server.ts +137 -84
  17. package/server/agent/mcp-tools/index.ts +10 -2
  18. package/server/agent/mcp-tools/manageCollection.ts +476 -0
  19. package/server/agent/mcp-tools/spawnBackgroundChat.ts +135 -0
  20. package/server/agent/stdioHttpShim.ts +2 -1
  21. package/server/api/auth/viewToken.ts +146 -0
  22. package/server/api/routes/agent.ts +88 -55
  23. package/server/api/routes/chart.ts +21 -92
  24. package/server/api/routes/collections.ts +269 -7
  25. package/server/api/routes/pdf.ts +38 -68
  26. package/server/api/routes/plugins.ts +36 -5
  27. package/server/api/routes/presentHtml.ts +52 -72
  28. package/server/api/routes/runtime-plugin.ts +18 -1
  29. package/server/api/routes/sessions.ts +7 -1
  30. package/server/api/routes/transcribe.ts +100 -0
  31. package/server/build/dispatcher.mjs +14963 -54
  32. package/server/events/collection-change.ts +70 -0
  33. package/server/events/file-change.ts +41 -70
  34. package/server/events/scheduler-adapter.ts +23 -298
  35. package/server/events/task-manager/index.ts +17 -176
  36. package/server/index.ts +51 -6
  37. package/server/notifier/engine.ts +42 -503
  38. package/server/notifier/types.ts +16 -134
  39. package/server/plugins/builtin-dispatch.ts +28 -0
  40. package/server/plugins/html-builtin.ts +28 -0
  41. package/server/plugins/markdown-builtin.ts +70 -0
  42. package/server/plugins/runtime.ts +12 -1
  43. package/server/services/translation/llm.ts +2 -1
  44. package/server/system/config.ts +32 -0
  45. package/server/system/logs/aaa +737 -0
  46. package/server/system/logs/bb +446 -0
  47. package/server/system/optionalDeps.ts +4 -0
  48. package/server/system/whisper/index.ts +97 -0
  49. package/server/utils/claudeBin.ts +248 -0
  50. package/server/utils/files/attachment-store.ts +33 -57
  51. package/server/utils/files/html-store.ts +11 -10
  52. package/server/utils/files/image-store.ts +8 -41
  53. package/server/utils/files/markdown-image-fill.ts +28 -57
  54. package/server/utils/files/markdown-store.ts +11 -10
  55. package/server/utils/files/path-validator.ts +49 -0
  56. package/server/utils/files/safe.ts +89 -0
  57. package/server/utils/files/spreadsheet-store.ts +6 -35
  58. package/server/utils/files/store-resolvers.ts +58 -0
  59. package/server/utils/files/svg-store.ts +4 -10
  60. package/server/utils/httpError.ts +12 -0
  61. package/server/workspace/chat-index/summarizer.ts +2 -1
  62. package/server/workspace/collections/configure.ts +25 -0
  63. package/server/workspace/collections/index.ts +19 -3
  64. package/server/workspace/collections/notifications.ts +60 -386
  65. package/server/workspace/collections/types.ts +6 -334
  66. package/server/workspace/collections/watcher.ts +18 -397
  67. package/server/workspace/feeds/engine.ts +14 -6
  68. package/server/workspace/feeds/ingestTypes.ts +12 -16
  69. package/server/workspace/feeds/registry.ts +1 -1
  70. package/server/workspace/hooks/handlers/skillBridge.ts +45 -229
  71. package/server/workspace/journal/archivist-cli.ts +9 -8
  72. package/server/workspace/paths.ts +8 -1
  73. package/server/workspace/skills-preset.ts +15 -582
  74. package/server/workspace/workspace.ts +8 -14
  75. package/src/App.vue +122 -38
  76. package/src/components/ChatAttachmentPreview.vue +8 -1
  77. package/src/components/ChatInput.vue +211 -43
  78. package/src/components/ConfirmModal.vue +39 -31
  79. package/src/components/FileContentRenderer.vue +38 -40
  80. package/src/components/NotificationBell.vue +64 -16
  81. package/src/components/SettingsModal.vue +7 -2
  82. package/src/components/SettingsVoiceTab.vue +183 -0
  83. package/src/components/collectionTypes.ts +33 -177
  84. package/src/composables/collections/uiHost.ts +154 -0
  85. package/src/composables/useDynamicFavicon.ts +3 -2
  86. package/src/composables/useFileDropZone.ts +3 -6
  87. package/src/composables/usePluginErrorBoundary.ts +2 -1
  88. package/src/composables/useVoiceInput.ts +108 -0
  89. package/src/config/apiRoutes.ts +27 -0
  90. package/src/config/pubsubChannels.ts +27 -0
  91. package/src/config/roles.ts +9 -10
  92. package/src/config/toolNames.ts +4 -0
  93. package/src/lang/de.ts +27 -96
  94. package/src/lang/en.ts +26 -96
  95. package/src/lang/es.ts +26 -96
  96. package/src/lang/fr.ts +26 -97
  97. package/src/lang/ja.ts +26 -96
  98. package/src/lang/ko.ts +24 -96
  99. package/src/lang/pt-BR.ts +25 -96
  100. package/src/lang/zh.ts +24 -96
  101. package/src/main.ts +3 -0
  102. package/src/plugins/chart/definition.ts +10 -61
  103. package/src/plugins/chart/index.ts +21 -26
  104. package/src/plugins/markdown/definition.ts +11 -78
  105. package/src/plugins/markdown/index.ts +24 -6
  106. package/src/plugins/presentCollection/definition.ts +10 -23
  107. package/src/plugins/presentCollection/index.ts +6 -4
  108. package/src/plugins/presentCollection/plugin.ts +6 -39
  109. package/src/plugins/presentCollection/types.ts +4 -13
  110. package/src/plugins/presentForm/definition.ts +7 -121
  111. package/src/plugins/presentForm/index.ts +20 -11
  112. package/src/plugins/presentForm/plugin.ts +4 -92
  113. package/src/plugins/presentForm/types.ts +18 -85
  114. package/src/plugins/presentHtml/definition.ts +12 -24
  115. package/src/plugins/presentHtml/index.ts +21 -9
  116. package/src/plugins/spreadsheet/View.vue +9 -3
  117. package/src/plugins/spreadsheet/definition.ts +2 -1
  118. package/src/plugins/spreadsheet/engine/calculator.ts +2 -1
  119. package/src/types/session.ts +7 -0
  120. package/src/utils/agent/eventDispatch.ts +4 -0
  121. package/src/utils/collections/notifiedItems.ts +65 -0
  122. package/src/utils/collections/presentSeed.ts +98 -0
  123. package/src/utils/errors.ts +14 -0
  124. package/src/utils/html/customViewSrcdoc.ts +88 -0
  125. package/src/utils/html/previewCsp.ts +63 -8
  126. package/src/utils/id.ts +3 -4
  127. package/src/utils/image/rewriteMarkdownImageRefs.ts +3 -1
  128. package/client/assets/index-DCoo3kpR.css +0 -2
  129. package/client/assets/purify.es-Fx1Nqyry-BufT4RJl.js +0 -2
  130. package/client/assets/runtime-protocol-vue-D6kcV0wa.js +0 -1
  131. package/server/agent/mcp-tools/x.ts +0 -210
  132. package/server/notifier/store.ts +0 -70
  133. package/server/workspace/collections/delete.ts +0 -186
  134. package/server/workspace/collections/discovery.ts +0 -730
  135. package/server/workspace/collections/io.ts +0 -287
  136. package/server/workspace/collections/paths.ts +0 -125
  137. package/server/workspace/collections/spawn.ts +0 -213
  138. package/server/workspace/collections/templatePath.ts +0 -36
  139. package/server/workspace/helps/billing-clients-worklog.md +0 -215
  140. package/server/workspace/helps/billing-invoice.md +0 -457
  141. package/server/workspace/helps/business.md +0 -104
  142. package/server/workspace/helps/collection-skills.md +0 -664
  143. package/server/workspace/helps/feeds.md +0 -110
  144. package/server/workspace/helps/gemini.md +0 -57
  145. package/server/workspace/helps/github.md +0 -23
  146. package/server/workspace/helps/guide.md +0 -61
  147. package/server/workspace/helps/index.md +0 -73
  148. package/server/workspace/helps/mulmoscript.md +0 -249
  149. package/server/workspace/helps/portfolio-tracker.md +0 -211
  150. package/server/workspace/helps/presentation-deck.md +0 -828
  151. package/server/workspace/helps/presenthtml.md +0 -80
  152. package/server/workspace/helps/sandbox.md +0 -97
  153. package/server/workspace/helps/spreadsheet.md +0 -43
  154. package/server/workspace/helps/storyteller.md +0 -101
  155. package/server/workspace/helps/telegram.md +0 -136
  156. package/server/workspace/helps/todo-collection.md +0 -140
  157. package/server/workspace/helps/vocabulary.md +0 -106
  158. package/server/workspace/helps/wiki.md +0 -168
  159. package/server/workspace/skills-preset/mc-cooking-coach/SKILL.md +0 -217
  160. package/server/workspace/skills-preset/mc-library/SKILL.md +0 -188
  161. package/server/workspace/skills-preset/mc-manage-automations/SKILL.md +0 -119
  162. package/server/workspace/skills-preset/mc-manage-skills/SKILL.md +0 -141
  163. package/server/workspace/skills-preset/mc-wiki-deep-lint/SKILL.md +0 -108
  164. package/server/workspace/skills-preset/mc-wiki-health-check/SKILL.md +0 -61
  165. package/server/workspace/skills-preset/mc-wiki-ingest/SKILL.md +0 -182
  166. package/server/workspace/skills-preset/mc-wiki-promote/SKILL.md +0 -175
  167. package/src/components/CollectionCalendarView.vue +0 -243
  168. package/src/components/CollectionDashboardView.vue +0 -181
  169. package/src/components/CollectionDayView.vue +0 -308
  170. package/src/components/CollectionEmbedView.vue +0 -69
  171. package/src/components/CollectionKanbanView.vue +0 -196
  172. package/src/components/CollectionRecordModal.vue +0 -93
  173. package/src/components/CollectionRecordPanel.vue +0 -567
  174. package/src/components/CollectionView.vue +0 -1748
  175. package/src/components/CollectionsIndexView.vue +0 -152
  176. package/src/components/FeedsView.vue +0 -225
  177. package/src/components/collectionEmbed.ts +0 -29
  178. package/src/composables/collections/useCollectionRendering.ts +0 -350
  179. package/src/plugins/chart/Preview.vue +0 -49
  180. package/src/plugins/chart/View.vue +0 -148
  181. package/src/plugins/markdown/MarpView.vue +0 -301
  182. package/src/plugins/markdown/Preview.vue +0 -102
  183. package/src/plugins/markdown/View.vue +0 -869
  184. package/src/plugins/presentCollection/Preview.vue +0 -30
  185. package/src/plugins/presentCollection/View.vue +0 -78
  186. package/src/plugins/presentForm/Preview.vue +0 -88
  187. package/src/plugins/presentForm/View.vue +0 -682
  188. package/src/plugins/presentHtml/Preview.vue +0 -18
  189. package/src/plugins/presentHtml/View.vue +0 -431
  190. package/src/utils/collections/actionVisible.ts +0 -55
  191. package/src/utils/collections/calendarGrid.ts +0 -328
  192. package/src/utils/collections/collectionViewMode.ts +0 -42
  193. package/src/utils/collections/derivedFormula.ts +0 -364
  194. package/src/utils/collections/draft.ts +0 -160
  195. package/src/utils/collections/enumColors.ts +0 -130
  196. package/src/utils/collections/itemLabel.ts +0 -42
  197. /package/client/assets/{_plugin-vue_export-helper-BOai-rQB.js → _plugin-vue_export-helper-B67ILkmu.js} +0 -0
  198. /package/client/assets/{schemas-DuYzyHQc.js → schemas-D_RbFtuQ.js} +0 -0
  199. /package/client/assets/{vue-D4w8THF_.js → vue-UDIWDtr8.js} +0 -0
@@ -115,7 +115,7 @@ ${cliFlagHelpLines()}
115
115
  }
116
116
 
117
117
  if (args.includes("--version")) {
118
- console.log("mulmoclaude 0.7.0");
118
+ console.log("mulmoclaude 0.9.0");
119
119
  process.exit(0);
120
120
  }
121
121
 
@@ -1,4 +1,4 @@
1
- import{Pt as e,Rt as t,Wt as n,X as r,Yn as i,ar as a,at as o,q as s,yn as c}from"./vue.runtime.esm-bundler-BTyIdNAI.js";import{n as l}from"./vue-i18n-CQbxVmNs.js";import{t as u}from"./_plugin-vue_export-helper-BOai-rQB.js";var d=[],f=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?f:d).push(n+=e[t])})();function p(e){if(e<768)return!1;for(let t=0,n=d.length;;){let r=t+n>>1;if(e<d[r])n=r;else if(e>=f[r])t=r+1;else return!0;if(t==n)return!1}}function m(e){return e>=127462&&e<=127487}var h=8205;function g(e,t,n=!0,r=!0){return(n?_:v)(e,t,r)}function _(e,t,n){if(t==e.length)return t;t&&ee(e.charCodeAt(t))&&b(e.charCodeAt(t-1))&&t--;let r=y(e,t);for(t+=x(r);t<e.length;){let i=y(e,t);if(r==h||i==h||n&&p(i))t+=x(i),r=i;else if(m(i)){let n=0,r=t-2;for(;r>=0&&m(y(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function v(e,t,n){for(;t>0;){let r=_(e,t-2,n);if(r<t)return r;t--}return 0}function y(e,t){let n=e.charCodeAt(t);if(!b(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return ee(r)?(n-55296<<10)+(r-56320)+65536:n}function ee(e){return e>=56320&&e<57344}function b(e){return e>=55296&&e<56320}function x(e){return e<65536?1:2}var S=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=ce(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),te.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ce(this,e,t);let n=[];return this.decompose(e,t,n,0),te.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new w(this),i=new w(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new w(this,e)}iterRange(e,t=this.length){return new ae(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new oe(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new C(t):te.from(C.split(t,[]))}},C=class e extends S{constructor(e,t=ne(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new se(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(ie(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=re(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=ce(this,t,n);let i=re(this.text,re(r.text,ie(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):te.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
1
+ import{Pt as e,Rt as t,Wt as n,X as r,Yn as i,ar as a,at as o,q as s,yn as c}from"./vue.runtime.esm-bundler-BTyIdNAI.js";import{n as l}from"./vue-i18n-CQbxVmNs.js";import{t as u}from"./_plugin-vue_export-helper-B67ILkmu.js";var d=[],f=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?f:d).push(n+=e[t])})();function p(e){if(e<768)return!1;for(let t=0,n=d.length;;){let r=t+n>>1;if(e<d[r])n=r;else if(e>=f[r])t=r+1;else return!0;if(t==n)return!1}}function m(e){return e>=127462&&e<=127487}var h=8205;function g(e,t,n=!0,r=!0){return(n?_:v)(e,t,r)}function _(e,t,n){if(t==e.length)return t;t&&ee(e.charCodeAt(t))&&b(e.charCodeAt(t-1))&&t--;let r=y(e,t);for(t+=x(r);t<e.length;){let i=y(e,t);if(r==h||i==h||n&&p(i))t+=x(i),r=i;else if(m(i)){let n=0,r=t-2;for(;r>=0&&m(y(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function v(e,t,n){for(;t>0;){let r=_(e,t-2,n);if(r<t)return r;t--}return 0}function y(e,t){let n=e.charCodeAt(t);if(!b(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return ee(r)?(n-55296<<10)+(r-56320)+65536:n}function ee(e){return e>=56320&&e<57344}function b(e){return e>=55296&&e<56320}function x(e){return e<65536?1:2}var S=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=ce(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),te.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ce(this,e,t);let n=[];return this.decompose(e,t,n,0),te.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new w(this),i=new w(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new w(this,e)}iterRange(e,t=this.length){return new ae(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new oe(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new C(t):te.from(C.split(t,[]))}},C=class e extends S{constructor(e,t=ne(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new se(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(ie(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=re(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=ce(this,t,n);let i=re(this.text,re(r.text,ie(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):te.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
2
2
  `){[e,t]=ce(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},te=class e extends S{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=ce(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
3
3
  `){[e,t]=ce(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new C(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof C&&c&&(n=u[u.length-1])instanceof C&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new C(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};S.empty=new C([``],0);function ne(e){let t=-1;for(let n of e)t+=n.length+1;return t}function re(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function ie(e,t,n){return re(e,[``],t,n)}var w=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof C?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof C?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
4
4
  `,this;e--}else if(r instanceof C){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof C?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},ae=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new w(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},oe=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(S.prototype[Symbol.iterator]=function(){return this.iter()},w.prototype[Symbol.iterator]=ae.prototype[Symbol.iterator]=oe.prototype[Symbol.iterator]=function(){return this});var se=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function ce(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function T(e,t,n=!0,r=!0){return g(e,t,n,r)}function le(e){return e>=56320&&e<57344}function ue(e){return e>=55296&&e<56320}function de(e,t){let n=e.charCodeAt(t);if(!ue(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return le(r)?(n-55296<<10)+(r-56320)+65536:n}function fe(e){return e<65536?1:2}var pe=/\r\n?|\n/,E=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(E||={}),me=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){_e(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:ye(this,e)}mapDesc(e,t=!1){return e.empty?this:ve(this,e,t)}mapPos(e,t=-1,n=E.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=E.Simple&&c>=e&&(n==E.TrackDel&&r<e&&c>e||n==E.TrackBefore&&r<e||n==E.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},he=class e extends me{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return _e(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return ve(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(S.empty);r.push(a?t.slice(i,i+a):S.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:ye(this,e,!0)}map(e,t=!1){return e.empty?this:ve(this,e,t,!0)}iterChanges(e,t=!1){_e(this,e,t)}get desc(){return me.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new be(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);D(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;D(n,e,t),t>0&&ge(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);D(n,e,-1),D(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:me.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&D(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?S.of(l.split(r||pe)):l:S.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&D(i,e-o,-1),D(i,s-e,d),ge(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(S.empty);r[e]=S.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function D(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function ge(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(S.empty);e.push(n)}}function _e(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=S.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function ve(e,t,n,r=!1){let i=[],a=r?[]:null,o=new be(e),s=new be(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);D(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(D(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(D(i,0,o.ins),a&&ge(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;D(i,t,e<o.i?o.ins:0),a&&e<o.i&&ge(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?he.createSet(i,a):me.create(i);else throw Error(`Mismatched change set lengths`)}function ye(e,t,n=!1){let r=[],i=n?[]:null,a=new be(e),o=new be(t);for(let e=!1;;)if(a.done&&o.done)return i?he.createSet(r,i):me.create(r);else if(a.ins==0)D(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)D(r,0,o.ins,e),i&&ge(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;D(r,t,n,e),i&&n&&ge(i,r,o.text)}else o.ins==-1?(D(r,a.off?0:a.len,t,e),i&&ge(i,r,a.textBit(t))):(D(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&ge(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var be=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?S.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?S.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},xe=class e{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return O.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return O.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return O.range(e.anchor,e.head)}static create(t,n,r){return new e(t,n,r)}},O=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>xe.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return xe.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r,i){let a=(n??16777215)<<6|(r==null?7:Math.min(6,r));return!i&&e!=t&&(i=t<e?1:-1),t<e?xe.create(t,e,48|a):xe.create(e,t,(i?i<0?8:16:0)|a)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function Se(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var Ce=0,k=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ce++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:we),!!t.static,t.enables)}of(e){return new Te([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Te(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Te(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function we(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var Te=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ce++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||De(e,c)){let r=t(e);if(a?!Ee(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=Be(o,c);if(this.dependencies.every(t=>t instanceof k?o.facet(t)===e.facet(t):t instanceof Ae?o.field(t,!1)==e.field(t,!1):!0)||(a?Ee(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}};function Ee(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function De(e,t){let n=!1;for(let r of t)ze(e,r)&1&&(n=!0);return n}function Oe(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=Be(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)ze(e,t);return e.values[o]=s(e),1},update(e,n){if(!De(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=De(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&we(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var ke=k.define({static:!0}),Ae=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(Ce++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(ke).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(ke),i=n.facet(ke),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,ke.of({field:this,create:e})]}get extension(){return this}},je={lowest:4,low:3,default:2,high:1,highest:0};function Me(e){return t=>new Pe(t,e)}var Ne={highest:Me(je.highest),high:Me(je.high),default:Me(je.default),low:Me(je.low),lowest:Me(je.lowest)},Pe=class{constructor(e,t){this.inner=e,this.prec=t}},Fe=class e{of(e){return new Ie(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},Ie=class{constructor(e,t){this.compartment=e,this.inner=t}},Le=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of Re(t,n,o))e instanceof Ae?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,we(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>Oe(e,n,t))}}return new e(t,o,l.map(e=>e(s)),s,c,a)}};function Re(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof Ie&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof Ie){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof Pe)a(e.inner,e.prec);else if(e instanceof Ae)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof Te)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,je.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,je.default),r.reduce((e,t)=>e.concat(t))}function ze(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function Be(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var Ve=k.define(),He=k.define({combine:e=>e.some(e=>e),static:!0}),Ue=k.define({combine:e=>e.length?e[0]:void 0,static:!0}),We=k.define(),Ge=k.define(),Ke=k.define(),qe=k.define({combine:e=>e.length?e[0]:!1}),Je=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Ye}},Ye=class{of(e){return new Je(this,e)}},Xe=class{constructor(e){this.map=e}of(e){return new A(this,e)}},A=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new Xe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};A.reconfigure=A.define(),A.appendConfig=A.define();var j=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Se(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};j.time=Je.define(),j.userEvent=Je.define(),j.addToHistory=Je.define(),j.remote=Je.define();function Ze(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function Qe(e,t,n){let r,i,a;return n?(r=t.changes,i=he.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:A.mapEffects(e.effects,r).concat(A.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function $e(e,t,n){let r=t.selection,i=it(t.annotations);return t.userEvent&&(i=i.concat(j.userEvent.of(t.userEvent))),{changes:t.changes instanceof he?t.changes:he.of(t.changes||[],n,e.facet(Ue)),selection:r&&(r instanceof O?r:O.single(r.anchor,r.head)),effects:it(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function et(e,t,n){let r=$e(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=Qe(r,$e(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=j.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return nt(n?tt(i):i)}function tt(e){let t=e.startState,n=!0;for(let r of t.facet(We)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:Ze(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=he.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=j.create(t,r,e.selection&&e.selection.map(i),A.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(Ge);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof j?i:Array.isArray(i)&&i.length==1&&i[0]instanceof j?i[0]:et(t,it(i),!1)}return e}function nt(e){let t=e.startState,n=t.facet(Ke),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=Qe(r,$e(t,a,e.changes.newLength),!0))}return r==e?e:j.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var rt=[];function it(e){return e==null?rt:Array.isArray(e)?e:[e]}var at=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(at||={}),ot=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,st;try{st=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function ct(e){if(st)return st.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>`€`&&(n.toUpperCase()!=n.toLowerCase()||ot.test(n)))return!0}return!1}function lt(e){return t=>{if(!/\S/.test(t))return at.Space;if(ct(t))return at.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return at.Word;return at.Other}}var M=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)ze(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return ze(this,n),Be(this,n)}update(...e){return et(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(Fe.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(A.reconfigure)?(n=null,r=e.value):e.is(A.appendConfig)&&(n=null,r=it(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=Le.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(He)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:O.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=it(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=A.mapEffects(a,c).concat(A.mapEffects(it(o.effects),l))}return{changes:r,selection:O.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof he?t:he.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return S.of(t.split(this.facet(e.lineSeparator)||pe))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ze(this,t),Be(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof Ae&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:O.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=Le.resolve(t.extensions||[],new Map),r=t.doc instanceof S?t.doc:S.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||pe)),i=t.selection?t.selection instanceof O?t.selection:O.single(t.selection.anchor,t.selection.head):O.single(0);return Se(i,r.length),n.staticFacet(He)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`