pi-roundtable-web 0.28.0 → 0.29.1

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 (236) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/chunk-account-66e6ezdq.js +1 -0
  4. package/dist/{chunk-action-menu-qpp9bdxh.js → chunk-action-menu-ap5xn7bf.js} +1 -1
  5. package/dist/chunk-agent-sapt5qhn.js +1 -0
  6. package/dist/chunk-arranged-rooms-n6bk696f.js +1 -0
  7. package/dist/chunk-attachments-p5v9gqyt.js +102 -0
  8. package/dist/chunk-bulk-actions-aze4ewc4.js +1 -0
  9. package/dist/chunk-character-creator-m7tw20ef.js +225 -0
  10. package/dist/{chunk-codeeditor-jgj32247.js → chunk-codeeditor-yy6pq8mv.js} +2 -2
  11. package/dist/chunk-confirm-0cajsfhk.js +1 -0
  12. package/dist/chunk-connectors-tw0tbm21.js +37 -0
  13. package/dist/chunk-conversations-wkm23m5r.js +1 -0
  14. package/dist/chunk-council-sheet-mz7s23nq.js +2 -0
  15. package/dist/chunk-council-view-zgvzxtgn.js +1 -0
  16. package/dist/{chunk-drag-04qfef58.js → chunk-drag-d1bpy8w6.js} +1 -1
  17. package/dist/{chunk-entry-mws704mc.js → chunk-entry-7zr5b1fp.js} +1 -1
  18. package/dist/chunk-folder-list-bs4eh3g9.js +1 -0
  19. package/dist/chunk-folds-eez1q41c.js +1 -0
  20. package/dist/{chunk-gate-vxetvn8t.js → chunk-gate-dt91egcd.js} +1 -1
  21. package/dist/chunk-host-icons-nfe2t8tk.js +1 -0
  22. package/dist/chunk-host-picture-4rtswxwa.js +1 -0
  23. package/dist/chunk-host-state-1vxzmmq6.js +1 -0
  24. package/dist/chunk-host-ui-x38bf0et.js +1 -0
  25. package/dist/{chunk-index-zj0gjcvr.js → chunk-index-0h99xcs3.js} +2 -2
  26. package/dist/{chunk-index-e2gy763y.js → chunk-index-1kb8tv4v.js} +2 -2
  27. package/dist/chunk-index-24cggw6k.js +50 -0
  28. package/dist/chunk-index-2g8xtwqg.js +2 -0
  29. package/dist/chunk-index-3n38xe7m.js +2 -0
  30. package/dist/{chunk-index-n0cmnwd2.js → chunk-index-3tksdmx7.js} +2 -2
  31. package/dist/{chunk-index-2822z600.js → chunk-index-4a1tdadd.js} +3 -3
  32. package/dist/{chunk-index-2syyyjnq.js → chunk-index-53fwc7sc.js} +2 -2
  33. package/dist/chunk-index-55ps4x5n.js +2 -0
  34. package/dist/{chunk-index-q5fyrtx4.js → chunk-index-5j1v2q7w.js} +1 -1
  35. package/dist/chunk-index-5w6tb7p0.js +2 -0
  36. package/dist/chunk-index-6btdp13p.js +2 -0
  37. package/dist/chunk-index-6m7dwsmv.js +1 -0
  38. package/dist/{chunk-index-20xgx0k2.js → chunk-index-6rdywten.js} +2 -2
  39. package/dist/{chunk-index-3gfbhmpb.js → chunk-index-6s2pqwna.js} +2 -2
  40. package/dist/{chunk-index-fepsbhr6.js → chunk-index-7mrkq793.js} +2 -2
  41. package/dist/chunk-index-7xcbpeqz.js +2 -0
  42. package/dist/chunk-index-88wh5eyj.js +2 -0
  43. package/dist/{chunk-index-6cg8xp1c.js → chunk-index-8pbwr3rs.js} +1 -1
  44. package/dist/{chunk-index-jc3r4qam.js → chunk-index-8wpvj7k5.js} +2 -2
  45. package/dist/chunk-index-97dcp1vh.js +1 -0
  46. package/dist/chunk-index-a7e6rhxy.js +2 -0
  47. package/dist/{chunk-index-2tr41qht.js → chunk-index-bxf8eq1s.js} +2 -2
  48. package/dist/chunk-index-c8gm1crh.js +120 -0
  49. package/dist/{chunk-index-2y8r4s4f.js → chunk-index-ce7hsda9.js} +2 -2
  50. package/dist/chunk-index-cfesmk1f.js +2 -0
  51. package/dist/{chunk-index-m81362sc.js → chunk-index-cmzvq3nf.js} +1 -1
  52. package/dist/{chunk-index-7qd604rq.js → chunk-index-d4mx2vvf.js} +1 -1
  53. package/dist/chunk-index-d74tpnkd.js +2 -0
  54. package/dist/chunk-index-d941ae7c.js +2 -0
  55. package/dist/{chunk-index-e35v554x.js → chunk-index-dr0jr7d3.js} +3 -3
  56. package/dist/chunk-index-en728705.js +2 -0
  57. package/dist/chunk-index-fb3kzyyp.js +2 -0
  58. package/dist/{chunk-index-3yy10a5h.js → chunk-index-ffnd0jcj.js} +2 -2
  59. package/dist/chunk-index-fn6305vn.js +3 -0
  60. package/dist/{chunk-index-zcfr8jdv.js → chunk-index-gdh7wsd5.js} +12 -12
  61. package/dist/{chunk-index-2hvn2kte.js → chunk-index-m76gdwnk.js} +2 -2
  62. package/dist/chunk-index-mr391t49.js +2 -0
  63. package/dist/chunk-index-n3khm9fq.js +2 -0
  64. package/dist/{chunk-index-sm7kfb07.js → chunk-index-nn4w6a04.js} +2 -2
  65. package/dist/{chunk-index-gwkhs8s3.js → chunk-index-nr275sa7.js} +2 -2
  66. package/dist/{chunk-index-x60n1me6.js → chunk-index-pgxgq61x.js} +2 -2
  67. package/dist/chunk-index-prq011b6.js +2 -0
  68. package/dist/{chunk-index-v9gbt5tz.js → chunk-index-q4k9vk04.js} +19 -3
  69. package/dist/chunk-index-rgdaec7y.js +2 -0
  70. package/dist/chunk-index-rjs1can6.js +2 -0
  71. package/dist/chunk-index-s4a8e4qm.js +2 -0
  72. package/dist/{chunk-index-s9p27f9b.js → chunk-index-sz381vda.js} +3 -3
  73. package/dist/{chunk-index-5hbq6g2e.css → chunk-index-t7csmbpy.css} +1 -1
  74. package/dist/{chunk-index-rgf4rvns.js → chunk-index-v9jqyr1f.js} +3 -3
  75. package/dist/{chunk-index-rsd8rftk.js → chunk-index-vpq2cj14.js} +2 -2
  76. package/dist/chunk-index-vsaggfns.js +2 -0
  77. package/dist/{chunk-index-p7jkr7gv.js → chunk-index-w17wgjby.js} +5 -5
  78. package/dist/{chunk-index-c7dbvkrq.js → chunk-index-wgrx2ybn.js} +2 -2
  79. package/dist/chunk-index-wsv46y9p.js +2 -0
  80. package/dist/{chunk-index-4t6vnwap.js → chunk-index-xbj816p0.js} +2 -2
  81. package/dist/{chunk-index-s53bxwkk.js → chunk-index-yr758n6t.js} +2 -2
  82. package/dist/{chunk-index-5t2jkecy.js → chunk-index-ysv36nbk.js} +2 -2
  83. package/dist/{chunk-index-zt19fdmc.js → chunk-index-ze9p4npm.js} +2 -2
  84. package/dist/chunk-index-zfdvyrjt.js +2 -0
  85. package/dist/chunk-lang-css-3h22se37.js +1 -0
  86. package/dist/{chunk-lang-dockerfile-n4bt8jbt.js → chunk-lang-dockerfile-y24eejnh.js} +1 -1
  87. package/dist/{chunk-lang-go-9k4y107e.js → chunk-lang-go-qzgv1161.js} +3 -3
  88. package/dist/chunk-lang-html-9rvrmmpg.js +1 -0
  89. package/dist/chunk-lang-javascript-4kv8s3tk.js +1 -0
  90. package/dist/{chunk-lang-json-hr12bzs1.js → chunk-lang-json-99v80v88.js} +1 -1
  91. package/dist/{chunk-lang-markdown-ttzcpgkg.js → chunk-lang-markdown-gn8he877.js} +4 -4
  92. package/dist/{chunk-lang-python-ntj8maem.js → chunk-lang-python-prsw4p4k.js} +2 -2
  93. package/dist/{chunk-lang-rust-gv8y859d.js → chunk-lang-rust-g6xqta16.js} +1 -1
  94. package/dist/{chunk-lang-shell-5zzs09b7.js → chunk-lang-shell-dmpnzc6w.js} +1 -1
  95. package/dist/{chunk-lang-sql-6vmze4pg.js → chunk-lang-sql-wz7ca27b.js} +2 -2
  96. package/dist/{chunk-lang-toml-tt0d4rw9.js → chunk-lang-toml-160prtq4.js} +1 -1
  97. package/dist/chunk-lang-typescript-mp0yw903.js +1 -0
  98. package/dist/{chunk-lang-xml-r2sbqnjv.js → chunk-lang-xml-9htkz2dd.js} +1 -1
  99. package/dist/{chunk-lang-yaml-ex31qbph.js → chunk-lang-yaml-08749wd5.js} +1 -1
  100. package/dist/chunk-layout-actions-tdx896xf.js +1 -0
  101. package/dist/chunk-menu-items-trhybv1g.js +1 -0
  102. package/dist/chunk-mode-toggle-4dtfphq4.js +1 -0
  103. package/dist/{chunk-note-row-40ypghn9.js → chunk-note-row-28e5x7n8.js} +33 -4
  104. package/dist/chunk-notes-5nkayhw8.js +1 -0
  105. package/dist/chunk-notice-bell-xz8a04am.js +1 -0
  106. package/dist/{chunk-notices-tefx93s6.js → chunk-notices-d0cwvk27.js} +1 -1
  107. package/dist/chunk-onboarding-zs4rtea9.js +1 -0
  108. package/dist/{chunk-overview-zrx3bpwf.js → chunk-overview-9sb3ywa8.js} +1 -1
  109. package/dist/chunk-palette-5sfhrv4x.js +1 -0
  110. package/dist/chunk-placement-items-e2neja55.js +1 -0
  111. package/dist/{chunk-profile-tyb48b79.js → chunk-profile-jffhtpqf.js} +1 -1
  112. package/dist/chunk-prompt-history-1jz2gk3v.js +1 -0
  113. package/dist/chunk-prompts-0t30ttd0.js +1 -0
  114. package/dist/chunk-room-confirms-6595921h.js +1 -0
  115. package/dist/{chunk-room-menu-ha1evv71.js → chunk-room-menu-hwkjyxwe.js} +1 -1
  116. package/dist/chunk-rooms-menu-button-k0eq1tcr.js +1 -0
  117. package/dist/{chunk-schedules-a5pewkhd.js → chunk-schedules-e12y8fw2.js} +1 -1
  118. package/dist/{chunk-seat-menu-eh3ymmks.js → chunk-seat-menu-n2bcw0mf.js} +1 -1
  119. package/dist/chunk-sheet-hosts-myvm2vhd.js +29 -0
  120. package/dist/chunk-shortcut-help-434sqnxc.js +26 -0
  121. package/dist/chunk-shortcuts-mjxph0g7.js +1 -0
  122. package/dist/chunk-skill-editor-98492yrt.js +8 -0
  123. package/dist/chunk-skills-mfv8ppfh.js +1 -0
  124. package/dist/chunk-start-over-line-m526193z.js +16 -0
  125. package/dist/{chunk-switcher-list-dtfh87zy.js → chunk-switcher-list-5ngjar24.js} +1 -1
  126. package/dist/{chunk-tab-dot-qd640mjr.js → chunk-tab-dot-tzjkahj5.js} +1 -1
  127. package/dist/chunk-table-xbtbex2z.js +1 -0
  128. package/dist/{chunk-table2d-5nrhfwft.js → chunk-table2d-61bvrykm.js} +1 -1
  129. package/dist/{chunk-table3d-5cb66d99.js → chunk-table3d-5a7vbgyj.js} +172 -172
  130. package/dist/chunk-thread-actions-bf6vf2mt.js +1 -0
  131. package/dist/{chunk-thread-cards-kgt22sbp.js → chunk-thread-cards-n0n603vf.js} +1 -1
  132. package/dist/chunk-thread-list-7bkdn51x.js +227 -0
  133. package/dist/{chunk-transcript-a0p3vwh6.js → chunk-transcript-8ztrkt6g.js} +1 -1
  134. package/dist/chunk-waiting-chip-y83c90v3.js +32 -0
  135. package/dist/chunk-waiting-s273kcgz.js +1 -0
  136. package/dist/chunk-where-jr791gzj.js +1 -0
  137. package/dist/chunk-workspace-dw71mshw.js +586 -0
  138. package/dist/chunk-zh-tw-vm5d0w6j.js +1 -0
  139. package/dist/index.html +1 -1
  140. package/dist/sw.js +1 -1
  141. package/package.json +3 -3
  142. package/src/api-types.ts +51 -0
  143. package/src/app/app.ts +7 -0
  144. package/src/app/card-log.ts +10 -2
  145. package/src/app/protocol.ts +18 -0
  146. package/src/app/queued-delivery.ts +107 -0
  147. package/src/app/queued-frames.ts +115 -0
  148. package/src/app/room-log.ts +39 -7
  149. package/src/app/rooms.ts +30 -2
  150. package/src/app/routes.ts +123 -7
  151. package/src/app/skill-group-routes.ts +126 -0
  152. package/src/app/socket.ts +12 -2
  153. package/src/app/surface.ts +37 -6
  154. package/src/app/zip.ts +124 -0
  155. package/src/auth/sessions.ts +9 -1
  156. package/src/authz.ts +1 -0
  157. package/src/host/cards.ts +10 -3
  158. package/src/host/stored-json.ts +23 -0
  159. package/src/i18n/zh-tw.ts +45 -2
  160. package/src/notices/mount.ts +1 -0
  161. package/src/notices/store.ts +9 -1
  162. package/src/push/channel.ts +1 -0
  163. package/src/web-plugin.ts +5 -1
  164. package/dist/chunk-account-678dgbww.js +0 -1
  165. package/dist/chunk-agent-x0yvvdq2.js +0 -1
  166. package/dist/chunk-arranged-rooms-6rdkk8t1.js +0 -1
  167. package/dist/chunk-bulk-actions-zbwdaxtc.js +0 -1
  168. package/dist/chunk-character-creator-215psy17.js +0 -1
  169. package/dist/chunk-confirm-2pzrt272.js +0 -1
  170. package/dist/chunk-connectors-zha2d834.js +0 -37
  171. package/dist/chunk-conversations-fb071rez.js +0 -1
  172. package/dist/chunk-council-sheet-k5fycefd.js +0 -2
  173. package/dist/chunk-folder-list-qxhmczwv.js +0 -1
  174. package/dist/chunk-folds-b7asegfs.js +0 -1
  175. package/dist/chunk-group-scene-63yhh1mh.js +0 -1
  176. package/dist/chunk-group-table-zy4hmgk3.js +0 -1
  177. package/dist/chunk-host-icons-tyktazzz.js +0 -1
  178. package/dist/chunk-host-picture-ebhejn2k.js +0 -1
  179. package/dist/chunk-host-state-wajep0yr.js +0 -1
  180. package/dist/chunk-host-ui-pc9r24e3.js +0 -1
  181. package/dist/chunk-index-1af8vsyb.js +0 -2
  182. package/dist/chunk-index-254701sm.js +0 -3
  183. package/dist/chunk-index-31m1b2f5.js +0 -2
  184. package/dist/chunk-index-5vatmakn.js +0 -2
  185. package/dist/chunk-index-6yra9kdq.js +0 -2
  186. package/dist/chunk-index-9bdstf8t.js +0 -2
  187. package/dist/chunk-index-acj4xxgq.js +0 -100
  188. package/dist/chunk-index-aexy023z.js +0 -2
  189. package/dist/chunk-index-amxa2bn3.js +0 -2
  190. package/dist/chunk-index-bef0fc2m.js +0 -2
  191. package/dist/chunk-index-c6tphrjr.js +0 -1
  192. package/dist/chunk-index-cn49mawx.js +0 -50
  193. package/dist/chunk-index-gcmmwh8t.js +0 -2
  194. package/dist/chunk-index-h2vhv4kh.js +0 -2
  195. package/dist/chunk-index-h9ccz1r3.js +0 -2
  196. package/dist/chunk-index-n0ejy0wd.js +0 -2
  197. package/dist/chunk-index-nkdg1dfz.js +0 -7
  198. package/dist/chunk-index-qxynr1hf.js +0 -2
  199. package/dist/chunk-index-r7fdgzy1.js +0 -2
  200. package/dist/chunk-index-sdcpf5dp.js +0 -2
  201. package/dist/chunk-index-sw9r4aa4.js +0 -2
  202. package/dist/chunk-index-t5bmsqqd.js +0 -1
  203. package/dist/chunk-index-v8mma5np.js +0 -2
  204. package/dist/chunk-index-vsfsv8hd.js +0 -2
  205. package/dist/chunk-index-wxft0aqb.js +0 -2
  206. package/dist/chunk-index-zvvwxkev.js +0 -2
  207. package/dist/chunk-lang-css-7q1dtpgm.js +0 -1
  208. package/dist/chunk-lang-html-xgvba8rn.js +0 -1
  209. package/dist/chunk-lang-javascript-vgxmgd0a.js +0 -1
  210. package/dist/chunk-lang-typescript-2v652sh5.js +0 -1
  211. package/dist/chunk-layout-actions-bfqtg71d.js +0 -1
  212. package/dist/chunk-menu-items-rztgekfj.js +0 -1
  213. package/dist/chunk-mode-toggle-m5kgb7c7.js +0 -1
  214. package/dist/chunk-notes-a8nqffbf.js +0 -1
  215. package/dist/chunk-notice-bell-rdnfmtf2.js +0 -1
  216. package/dist/chunk-onboarding-wvh0s3vg.js +0 -1
  217. package/dist/chunk-palette-5xtdvy9a.js +0 -1
  218. package/dist/chunk-placement-items-rgyrktvy.js +0 -1
  219. package/dist/chunk-prompt-history-wv0vdsjv.js +0 -1
  220. package/dist/chunk-prompts-75hgb0t0.js +0 -1
  221. package/dist/chunk-room-confirms-bcvhpcry.js +0 -1
  222. package/dist/chunk-rooms-menu-button-ej3a2hyc.js +0 -1
  223. package/dist/chunk-sheet-hosts-d5zbwbbr.js +0 -29
  224. package/dist/chunk-shortcut-help-bh9ntk9s.js +0 -26
  225. package/dist/chunk-shortcuts-6em0atk9.js +0 -1
  226. package/dist/chunk-skill-editor-e43mwz01.js +0 -8
  227. package/dist/chunk-skills-vp107wrp.js +0 -1
  228. package/dist/chunk-start-over-line-xd1v2p0g.js +0 -16
  229. package/dist/chunk-table-svb2xhfd.js +0 -1
  230. package/dist/chunk-thread-actions-926eab0w.js +0 -1
  231. package/dist/chunk-thread-list-j2v1pqkz.js +0 -217
  232. package/dist/chunk-waiting-cdyz7r1g.js +0 -1
  233. package/dist/chunk-waiting-chip-58ttx9av.js +0 -28
  234. package/dist/chunk-where-9jp6g029.js +0 -1
  235. package/dist/chunk-workspace-d34njy4p.js +0 -578
  236. package/dist/chunk-zh-tw-y3jb20wc.js +0 -1
@@ -1,2 +1,2 @@
1
- import{Co,P,ue,xt,E,U,Pt}from"./chunk-index-zcfr8jdv.js";class S{constructor(t,e,s,i,h,r,n,o,l,f=0,a){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=h,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=l,this.lookAhead=f,this.parent=a}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new S(t,[],e,s,s,0,[],0,i?new y(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=t&65535,{parser:h}=this.p,r=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=h.dynamicPrecedence(i);if(n)this.score+=n;if(s==0){if(i<h.minRepeatTerm&&this.reducePos<this.pos)this.reducePos=this.pos;if(this.pushState(h.getGoto(this.state,i,!0),this.reducePos),i<h.minRepeatTerm)this.storeNode(i,this.reducePos,this.reducePos,r?8:4,!0);this.reduceContext(i,this.reducePos);return}let o=this.stack.length-(s-1)*3-(t&262144?6:0),l=o?this.stack[o-2]:this.p.ranges[0].from;if(i<h.minRepeatTerm&&l==this.reducePos&&this.reducePos<this.pos)this.reducePos=this.pos;let f=this.reducePos-l;if(f>=2000&&!((e=this.p.parser.nodeSet.types[i])===null||e===void 0?void 0:e.isAnonymous)){if(l==this.p.lastBigReductionStart)this.p.bigReductionCount++,this.p.lastBigReductionSize=f;else if(this.p.lastBigReductionSize<f)this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=f}let a=o?this.stack[o-1]:0,d=this.bufferBase+this.buffer.length-a;if(i<h.minRepeatTerm||t&131072){let u=h.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,l,u,d+4,!0)}if(t&262144)this.state=this.stack[o];else{let u=this.stack[o-3];this.state=h.getGoto(u,i,!0)}while(this.stack.length>o)this.stack.pop();this.reduceContext(i,l)}storeNode(t,e,s,i=4,h=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this.buffer.length;if(r>0&&this.buffer[r-4]==0&&this.buffer[r-1]>-1){if(e==s)return;if(this.buffer[r-2]>=e){this.buffer[r-2]=s;return}}}if(!h||this.pos==s)this.buffer.push(t,e,s,i);else{let r=this.buffer.length;if(r>0&&(this.buffer[r-4]!=0||this.buffer[r-1]<0)){let n=!1;for(let o=r;o>0&&this.buffer[o-2]>s;o-=4)if(this.buffer[o-1]>=0){n=!0;break}if(n){while(r>0&&this.buffer[r-2]>s)if(this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4)i-=4}}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let h=t,{parser:r}=this.p;this.pos=i;let n=r.stateFlag(h,1);if(!n&&(i>s||e<=r.maxNode))this.reducePos=i;if(this.pushState(h,n?s:Math.min(s,this.reducePos)),this.shiftContext(e,s),e<=r.maxNode)this.buffer.push(e,s,i,4)}else if(this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode)this.buffer.push(e,s,i,4)}apply(t,e,s,i){if(t&65536)this.reduce(t);else this.shift(t,e,s,i)}useNode(t,e,s){let i=this.p.reused.length-1;if(i<0||this.p.reused[i]!=t)this.p.reused.push(t),i++;let h=this.reducePos=this.pos=s+t.length;if(this.pushState(e,s),this.buffer.push(i,s,h,-1),this.curContext)this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;if(e&&t.buffer[e-4]==0)e-=4;while(e>0&&t.buffer[e-2]>t.reducePos)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;while(t&&i==t.bufferBase)t=t.parent;return new S(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;if(s)this.storeNode(t,this.pos,e,4);this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new D(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return!1;if((s&65536)==0)return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let h=0,r;h<e.length;h+=2)if((r=e[h+1])!=this.state&&this.p.parser.hasAction(r,t))i.push(e[h],r);if(this.stack.length<120)for(let h=0;i.length<8&&h<e.length;h+=2){let r=e[h+1];if(!i.some((n,o)=>o&1&&n==r))i.push(e[h],r)}e=i}let s=[];for(let i=0;i<e.length&&s.length<4;i+=2){let h=e[i+1];if(h==this.state)continue;let r=this.split();r.pushState(h,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[i],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535,h=this.stack.length-s*3;if(h<0||t.getGoto(this.stack[h],i,!1)<0){let r=this.findForcedReduction();if(r==null)return!1;e=r}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,h)=>{if(e.includes(i))return;return e.push(i),t.allActions(i,(r)=>{if(r&393216);else if(r&65536){let n=(r>>19)-h;if(n>1){let o=r&65535,l=this.stack.length-n*3;if(l>=0&&t.getGoto(this.stack[l],o,!1)>=0)return n<<19|65536|o}}else{let n=s(r,h+1);if(n!=null)return n}})};return s(this.state,0)}forceAll(){while(!this.p.parser.stateFlag(this.state,2))if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-3)this.storeNode(this.curContext.hash,this.reducePos,this.reducePos,-3,!0)}emitLookAhead(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-4)this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new y(this.curContext.tracker,t);if(e.hash!=this.curContext.hash)this.emitContext();this.curContext=e}}setLookAhead(t){if(t<=this.lookAhead)return!1;return this.emitLookAhead(),this.lookAhead=t,!0}close(){if(this.curContext&&this.curContext.tracker.strict)this.emitContext();if(this.lookAhead>0)this.emitLookAhead()}}class y{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class D{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;if(s==0){if(this.stack==this.start.stack)this.stack=this.stack.slice();this.stack.push(this.state,0,0),this.base+=3}else this.base-=(s-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class v{constructor(t,e,s){if(this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,this.index==0)this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new v(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;if(t!=null)this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){if(this.index-=4,this.pos-=4,this.index==0)this.maybeNext()}fork(){return new v(this.stack,this.pos,this.index)}}function x(t,e=Uint16Array){if(typeof t!="string")return t;let s=null;for(let i=0,h=0;i<t.length;){let r=0;for(;;){let n=t.charCodeAt(i++),o=!1;if(n==126){r=65535;break}if(n>=92)n--;if(n>=34)n--;let l=n-32;if(l>=46)l-=46,o=!0;if(r+=l,o)break;r*=46}if(s)s[h++]=r;else s=new e(r)}return s}class b{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}var R=new b;class B{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=R,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,h=this.pos+t;while(h<s.from){if(!i)return null;let r=this.ranges[--i];h-=s.from-r.to,s=r}while(e<0?h>s.to:h>=s.to){if(i==this.ranges.length-1)return null;let r=this.ranges[++i];h+=r.from-s.to,s=r}return h}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,s,i;if(e>=0&&e<this.chunk.length)s=this.pos+t,i=this.chunk.charCodeAt(e);else{let h=this.resolveOffset(t,1);if(h==null)return-1;if(s=h,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let r=this.rangeIndex,n=this.range;while(n.to<=s)n=this.ranges[++r];if(this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>n.to)this.chunk2=this.chunk2.slice(0,n.to-s);i=this.chunk2.charCodeAt(0)}}if(s>=this.token.lookAhead)this.token.lookAhead=s+1;return i}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){if(this.getChunk(),this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){this.chunkOff+=t;while(this.pos+t>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}if(this.pos+=t,this.pos>=this.token.lookAhead)this.token.lookAhead=this.pos+1;return this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e)this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1;else this.token=R;if(this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;while(t<this.range.from)this.range=this.ranges[--this.rangeIndex];while(t>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(t>=this.chunkPos&&t<this.chunkPos+this.chunk.length)this.chunkOff=t-this.chunkPos;else this.chunk="",this.chunkOff=0;this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;if(i.to>t)s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e))}return s}}class m{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;O(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}m.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class ht{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data=typeof t=="string"?x(t):t}token(t,e){let s=t.pos,i=0;for(;;){let h=t.next<0,r=t.resolveOffset(1,1);if(O(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(!h)i++;if(r==null)break;t.reset(r,t.token)}if(i)t.reset(s,t.token),t.acceptToken(this.elseToken,i)}}ht.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class N{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function O(t,e,s,i,h,r){let n=0,o=1<<i,{dialect:l}=s.p.parser;t:for(;;){if((o&t[n])==0)break;let f=t[n+1];for(let c=n+3;c<f;c+=2)if((t[c+1]&o)>0){let g=t[c];if(l.allows(g)&&(e.token.value==-1||e.token.value==g||H(g,e.token.value,h,r))){e.acceptToken(g);break}}let a=e.next,d=0,u=t[n+2];if(e.next<0&&u>d&&t[f+u*3-3]==65535){n=t[f+u*3-1];continue t}for(;d<u;){let c=d+u>>1,g=f+c+(c<<1),_=t[g],G=t[g+1]||65536;if(a<_)u=c;else if(a>=G)d=c+1;else{n=t[g+2],e.advance();continue t}}break}}function T(t,e,s){for(let i=e,h;(h=t[i])!=65535;i++)if(h==s)return i-e;return-1}function H(t,e,s,i){let h=T(s,i,e);return h<0||T(s,i,t)<h}var p=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),A=null;function C(t,e,s){let i=t.cursor(E.IncludeAnonymous);i.moveTo(e);for(;;)if(!(s<0?i.childBefore(e):i.childAfter(e)))for(;;){if((s<0?i.to<e:i.from>e)&&!i.type.isError)return s<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(s<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return s<0?0:t.length}}class F{constructor(t,e){this.fragments=t,this.minRepeat=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.lastRepeat=null,this.lastRepeatPos=-1,this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){this.safeFrom=t.openStart?C(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?C(t.tree,t.to+t.offset,-1)-t.offset:t.to;while(this.trees.length)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;while(this.fragment&&this.safeTo<=t)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let h=s.children[i],r=this.start[e]+s.positions[i];if(r>t)return this.nextStart=r,null;if(h instanceof U){let n=r>this.lastRepeatPos&&h.type.id>=this.minRepeat;if(r==t||n){let o=r+h.length,l;if(r>=this.safeFrom&&o<=this.safeTo&&(!(l=h.prop(P.lookAhead))||o+l<this.fragment.to)){if(n)this.lastRepeat=h,this.lastRepeatPos=r;if(r==t)return h}else if(r==t)return null}if(this.index[e]++,r+h.length>=Math.max(this.safeFrom,t))this.trees.push(h),this.start.push(r),this.index.push(0)}else this.index[e]++,this.nextStart=r+h.length}}}class M{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((s)=>new b)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:h}=i,r=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let l=0;l<h.length;l++){if((1<<l&r)==0)continue;let f=h[l],a=this.tokens[l];if(s&&!f.fallback)continue;if(f.contextual||a.start!=t.pos||a.mask!=r||a.context!=n)this.updateCachedToken(a,f,t),a.mask=r,a.context=n;if(a.lookAhead>a.end+25)o=Math.max(a.lookAhead,o);if(a.value!=0){let d=e;if(a.extended>-1)e=this.addActions(t,a.extended,a.end,e);if(e=this.addActions(t,a.value,a.end,e),!f.extend){if(s=a,e>d)break}}}while(this.actions.length>e)this.actions.pop();if(o)t.setLookAhead(o);if(!s&&t.pos==this.stream.end)s=new b,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e);return this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new b,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:h}=s.p;for(let r=0;r<h.specialized.length;r++)if(h.specialized[r]==t.value){let n=h.specializers[r](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){if((n&1)==0)t.value=n>>1;else t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let h=0;h<i;h+=3)if(this.actions[h]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:h}=t,{parser:r}=t.p,{data:n}=r;for(let o=0;o<2;o++)for(let l=r.stateSlot(h,o?2:1);;l+=3){if(n[l]==65535)if(n[l+1]==1)l=k(n,l+2);else{if(i==0&&n[l+1]==2)i=this.putAction(k(n,l+2),e,s,i);break}if(n[l]==e)i=this.putAction(k(n,l+1),e,s,i)}return i}}class L{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new B(e,i),this.tokens=new M(t,this.stream),this.topTerm=t.top[1];let{from:h}=i[0];this.stacks=[S.start(this,t.top[0],h)],this.fragments=s.length&&this.stream.end-h>t.bufferLength*4?new F(s,t.minRepeatTerm):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,s=this.stacks=[],i,h;if(this.bigReductionCount>300&&t.length==1){let[r]=t;while(r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<t.length;r++){let n=t[r];for(;;){if(this.tokens.mainToken=null,n.pos>e)s.push(n);else if(this.advanceStack(n,s,t))continue;else{if(!i)i=[],h=[];i.push(n);let o=this.tokens.getMainToken(n);h.push(o.value,o.end)}break}}if(!s.length){let r=i&&q(i);if(r){if(p)console.log("Finish with "+this.stackID(r));return this.stackToTree(r)}if(this.parser.strict){if(p&&i)console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw SyntaxError("No parse at "+e)}if(!this.recovering)this.recovering=5}if(this.recovering&&i){let r=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,h,s);if(r){if(p)console.log("Force-finish "+this.stackID(r));return this.stackToTree(r.forceAll())}}if(this.recovering){let r=this.recovering==1?1:this.recovering*3;if(s.length>r){s.sort((n,o)=>o.score-n.score);while(s.length>r)s.pop()}if(s.some((n)=>n.reducePos>e))this.recovering--}else if(s.length>1){t:for(let r=0;r<s.length-1;r++){let n=s[r];for(let o=r+1;o<s.length;o++){let l=s[o];if(n.sameState(l)||n.buffer.length>500&&l.buffer.length>500)if((n.score-l.score||n.buffer.length-l.buffer.length)>0)s.splice(o--,1);else{s.splice(r--,1);continue t}}}if(s.length>12)s.sort((r,n)=>n.score-r.score),s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let r=1;r<s.length;r++)if(s[r].pos<this.minStackPos)this.minStackPos=s[r].pos;return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}tryReuse(t,e,s,i){if(!s)return null;let h=t.curContext&&t.curContext.tracker.strict,r=h?t.curContext.hash:0;for(;s;){let n=this.parser.nodeSet.types[s.type.id]!=s.type?-1:this.parser.getGoto(t.state,s.type.id);if(n>-1&&s.length&&(!h||(s.prop(P.contextHash)||0)==r))return t.useNode(s,n,e),s;if(s.children.length==0||s.positions[0]>0)break;let o=s.children[0];if(o instanceof U&&(!i||o.type.id>=this.parser.minRepeatTerm))s=o;else break}return null}advanceStack(t,e,s){let i=t.pos,{parser:h}=this,r=p?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let l=t.reducePos<i&&t.buffer.length&&t.buffer[t.buffer.length-2]<=t.reducePos&&this.fragments.lastRepeatPos==t.reducePos&&this.tryReuse(t,t.reducePos,this.fragments.lastRepeat,!0)||this.tryReuse(t,i,this.fragments.nodeAt(i),!1);if(l){if(p)console.log(r+this.stackID(t)+` (via reuse of ${h.getName(l.type.id)})`);return!0}}let n=h.stateSlot(t.state,4);if(n>0){if(t.reduce(n),p)console.log(r+this.stackID(t)+` (via always-reduce ${h.getName(n&65535)})`);return!0}if(t.stack.length>=8400)while(t.stack.length>6000&&t.forceReduce());let o=this.tokens.getActions(t);for(let l=0;l<o.length;){let f=o[l++],a=o[l++],d=o[l++],u=l==o.length||!s,c=u?t:t.split(),g=this.tokens.mainToken;if(c.apply(f,a,g?g.start:c.pos,d),p)console.log(r+this.stackID(c)+` (via ${(f&65536)==0?"shift":`reduce of ${h.getName(f&65535)}`} for ${h.getName(a)} @ ${i}${c==t?"":", split"})`);if(u)return!0;else if(c.pos>i)e.push(c);else s.push(c)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return z(t,e),!0}}runRecovery(t,e,s){let i=null,h=!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r<<1],l=e[(r<<1)+1],f=p?this.stackID(n)+" -> ":"";if(n.deadEnd){if(h)continue;if(h=!0,n.restart(),p)console.log(f+this.stackID(n)+" (restarted)");if(this.advanceFully(n,s))continue}let a=n.split(),d=f;for(let u=0;u<10&&a.forceReduce();u++){if(p)console.log(d+this.stackID(a)+" (via force-reduce)");if(this.advanceFully(a,s))break;if(p)d=this.stackID(a)+" -> "}for(let u of n.recoverByInsert(o)){if(p)console.log(f+this.stackID(u)+" (via recover-insert)");this.advanceFully(u,s)}if(this.stream.end>n.pos){if(l==n.pos)l++,o=0;if(n.recoverByDelete(o,l),p)console.log(f+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`);z(n,s)}else if(!i||i.score<a.score)i=a}return i}stackToTree(t){return t.close(),U.build({buffer:v.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(A||(A=new WeakMap)).get(t);if(!e)A.set(t,e=String.fromCodePoint(this.nextStackID++));return e+t}}function z(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t)){if(e[s].score<t.score)e[s]=t;return}}e.push(t)}class j{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}var w=(t)=>t;class ke{constructor(t){this.start=t.start,this.shift=t.shift||w,this.reduce=t.reduce||w,this.reuse=t.reuse||w,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class W extends Pt{constructor(t){super();if(this.wrappers=[],t.version!=14)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let n=0;n<t.repeatNodeCount;n++)e.push("");let s=Object.keys(t.topRules).map((n)=>t.topRules[n][1]),i=[];for(let n=0;n<e.length;n++)i.push([]);function h(n,o,l){i[n].push([o,o.deserialize(String(l))])}if(t.nodeProps)for(let n of t.nodeProps){let o=n[0];if(typeof o=="string")o=P[o];for(let l=1;l<n.length;){let f=n[l++];if(f>=0)h(f,o,n[l++]);else{let a=n[l+-f];for(let d=-f;d>0;d--)h(n[l++],o,a);l++}}}if(this.nodeSet=new xt(e.map((n,o)=>ue.define({name:o>=this.minRepeatTerm?void 0:n,id:o,props:i[o],top:s.indexOf(o)>-1,error:o==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(o)>-1}))),t.propSources)this.nodeSet=this.nodeSet.extend(...t.propSources);this.strict=!1,this.bufferLength=Co;let r=x(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let n=0;n<this.specializerSpecs.length;n++)this.specialized[n]=this.specializerSpecs[n].term;this.specializers=this.specializerSpecs.map(I),this.states=x(t.states,Uint32Array),this.data=x(t.stateData),this.goto=x(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((n)=>typeof n=="number"?new m(r,n):n),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new L(this,t,e,s);for(let h of this.wrappers)i=h(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let h=i[e+1];;){let r=i[h++],n=r&1,o=i[h++];if(n&&s)return o;for(let l=h+(r>>1);h<l;h++)if(i[h]==t)return o;if(n)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let h=this.stateSlot(t,i?2:1),r;;h+=3){if((r=s[h])==65535)if(s[h+1]==1)r=s[h=k(s,h+2)];else if(s[h+1]==2)return k(s,h+2);else break;if(r==e||r==0)return k(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(s)=>s==e?!0:null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let h=this.stateSlot(t,1);i==null;h+=3){if(this.data[h]==65535)if(this.data[h+1]==1)h=k(this.data,h+2);else break;i=e(k(this.data,h+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=k(this.data,s+2);else break;if((this.data[s+2]&1)==0){let i=this.data[s+1];if(!e.some((h,r)=>r&1&&h==i))e.push(this.data[s],i)}}return e}configure(t){let e=Object.assign(Object.create(W.prototype),this);if(t.props)e.nodeSet=this.nodeSet.extend(...t.props);if(t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);e.top=s}if(t.tokenizers)e.tokenizers=this.tokenizers.map((s)=>{let i=t.tokenizers.find((h)=>h.from==s);return i?i.to:s});if(t.specializers)e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let h=t.specializers.find((n)=>n.from==s.external);if(!h)return s;let r=Object.assign(Object.assign({},s),{external:h.to});return e.specializers[i]=I(r),r});if(t.contextTracker)e.context=t.contextTracker;if(t.dialect)e.dialect=this.parseDialect(t.dialect);if(t.strict!=null)e.strict=t.strict;if(t.wrap)e.wrappers=e.wrappers.concat(t.wrap);if(t.bufferLength!=null)e.bufferLength=t.bufferLength;return e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let h of t.split(" ")){let r=e.indexOf(h);if(r>=0)s[r]=!0}let i=null;for(let h=0;h<e.length;h++)if(!s[h])for(let r=this.dialects[e[h]],n;(n=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new j(t,s,i)}static deserialize(t){return new W(t)}}function k(t,e){return t[e]|t[e+1]<<16}function q(t){let e=null;for(let s of t){let i=s.p.stoppedAt;if((s.pos==s.p.stream.end||i!=null&&s.pos>i)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score))e=s}return e}function I(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}
2
- export{ht,N,ke,W};
1
+ import{Vo,M,ue,xt,A,V,Tt}from"./chunk-index-gdh7wsd5.js";class P{constructor(t,e,s,i,h,r,n,o,l,f=0,a){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=h,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=l,this.lookAhead=f,this.parent=a}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new P(t,[],e,s,s,0,[],0,i?new y(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=t&65535,{parser:h}=this.p,r=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=h.dynamicPrecedence(i);if(n)this.score+=n;if(s==0){if(i<h.minRepeatTerm&&this.reducePos<this.pos)this.reducePos=this.pos;if(this.pushState(h.getGoto(this.state,i,!0),this.reducePos),i<h.minRepeatTerm)this.storeNode(i,this.reducePos,this.reducePos,r?8:4,!0);this.reduceContext(i,this.reducePos);return}let o=this.stack.length-(s-1)*3-(t&262144?6:0),l=o?this.stack[o-2]:this.p.ranges[0].from;if(i<h.minRepeatTerm&&l==this.reducePos&&this.reducePos<this.pos)this.reducePos=this.pos;let f=this.reducePos-l;if(f>=2000&&!((e=this.p.parser.nodeSet.types[i])===null||e===void 0?void 0:e.isAnonymous)){if(l==this.p.lastBigReductionStart)this.p.bigReductionCount++,this.p.lastBigReductionSize=f;else if(this.p.lastBigReductionSize<f)this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=f}let a=o?this.stack[o-1]:0,d=this.bufferBase+this.buffer.length-a;if(i<h.minRepeatTerm||t&131072){let u=h.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,l,u,d+4,!0)}if(t&262144)this.state=this.stack[o];else{let u=this.stack[o-3];this.state=h.getGoto(u,i,!0)}while(this.stack.length>o)this.stack.pop();this.reduceContext(i,l)}storeNode(t,e,s,i=4,h=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this.buffer.length;if(r>0&&this.buffer[r-4]==0&&this.buffer[r-1]>-1){if(e==s)return;if(this.buffer[r-2]>=e){this.buffer[r-2]=s;return}}}if(!h||this.pos==s)this.buffer.push(t,e,s,i);else{let r=this.buffer.length;if(r>0&&(this.buffer[r-4]!=0||this.buffer[r-1]<0)){let n=!1;for(let o=r;o>0&&this.buffer[o-2]>s;o-=4)if(this.buffer[o-1]>=0){n=!0;break}if(n){while(r>0&&this.buffer[r-2]>s)if(this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4)i-=4}}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}}shift(t,e,s,i){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let h=t,{parser:r}=this.p;this.pos=i;let n=r.stateFlag(h,1);if(!n&&(i>s||e<=r.maxNode))this.reducePos=i;if(this.pushState(h,n?s:Math.min(s,this.reducePos)),this.shiftContext(e,s),e<=r.maxNode)this.buffer.push(e,s,i,4)}else if(this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode)this.buffer.push(e,s,i,4)}apply(t,e,s,i){if(t&65536)this.reduce(t);else this.shift(t,e,s,i)}useNode(t,e,s){let i=this.p.reused.length-1;if(i<0||this.p.reused[i]!=t)this.p.reused.push(t),i++;let h=this.reducePos=this.pos=s+t.length;if(this.pushState(e,s),this.buffer.push(i,s,h,-1),this.curContext)this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;if(e&&t.buffer[e-4]==0)e-=4;while(e>0&&t.buffer[e-2]>t.reducePos)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;while(t&&i==t.bufferBase)t=t.parent;return new P(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;if(s)this.storeNode(t,this.pos,e,4);this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new D(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(s==0)return!1;if((s&65536)==0)return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let h=0,r;h<e.length;h+=2)if((r=e[h+1])!=this.state&&this.p.parser.hasAction(r,t))i.push(e[h],r);if(this.stack.length<120)for(let h=0;i.length<8&&h<e.length;h+=2){let r=e[h+1];if(!i.some((n,o)=>o&1&&n==r))i.push(e[h],r)}e=i}let s=[];for(let i=0;i<e.length&&s.length<4;i+=2){let h=e[i+1];if(h==this.state)continue;let r=this.split();r.pushState(h,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[i],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=e&65535,h=this.stack.length-s*3;if(h<0||t.getGoto(this.stack[h],i,!1)<0){let r=this.findForcedReduction();if(r==null)return!1;e=r}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,h)=>{if(e.includes(i))return;return e.push(i),t.allActions(i,(r)=>{if(r&393216);else if(r&65536){let n=(r>>19)-h;if(n>1){let o=r&65535,l=this.stack.length-n*3;if(l>=0&&t.getGoto(this.stack[l],o,!1)>=0)return n<<19|65536|o}}else{let n=s(r,h+1);if(n!=null)return n}})};return s(this.state,0)}forceAll(){while(!this.p.parser.stateFlag(this.state,2))if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){if(this.curContext)this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-3)this.storeNode(this.curContext.hash,this.reducePos,this.reducePos,-3,!0)}emitLookAhead(){let t=this.buffer.length-1;if(t<0||this.buffer[t]!=-4)this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new y(this.curContext.tracker,t);if(e.hash!=this.curContext.hash)this.emitContext();this.curContext=e}}setLookAhead(t){if(t<=this.lookAhead)return!1;return this.emitLookAhead(),this.lookAhead=t,!0}close(){if(this.curContext&&this.curContext.tracker.strict)this.emitContext();if(this.lookAhead>0)this.emitLookAhead()}}class y{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class D{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,s=t>>19;if(s==0){if(this.stack==this.start.stack)this.stack=this.stack.slice();this.stack.push(this.state,0,0),this.base+=3}else this.base-=(s-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class S{constructor(t,e,s){if(this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,this.index==0)this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new S(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;if(t!=null)this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){if(this.index-=4,this.pos-=4,this.index==0)this.maybeNext()}fork(){return new S(this.stack,this.pos,this.index)}}function x(t,e=Uint16Array){if(typeof t!="string")return t;let s=null;for(let i=0,h=0;i<t.length;){let r=0;for(;;){let n=t.charCodeAt(i++),o=!1;if(n==126){r=65535;break}if(n>=92)n--;if(n>=34)n--;let l=n-32;if(l>=46)l-=46,o=!0;if(r+=l,o)break;r*=46}if(s)s[h++]=r;else s=new e(r)}return s}class b{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}var R=new b;class B{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=R,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,h=this.pos+t;while(h<s.from){if(!i)return null;let r=this.ranges[--i];h-=s.from-r.to,s=r}while(e<0?h>s.to:h>=s.to){if(i==this.ranges.length-1)return null;let r=this.ranges[++i];h+=r.from-s.to,s=r}return h}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,s,i;if(e>=0&&e<this.chunk.length)s=this.pos+t,i=this.chunk.charCodeAt(e);else{let h=this.resolveOffset(t,1);if(h==null)return-1;if(s=h,s>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let r=this.rangeIndex,n=this.range;while(n.to<=s)n=this.ranges[++r];if(this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>n.to)this.chunk2=this.chunk2.slice(0,n.to-s);i=this.chunk2.charCodeAt(0)}}if(s>=this.token.lookAhead)this.token.lookAhead=s+1;return i}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(s==null||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){if(this.chunkOff>=this.chunk.length){if(this.getChunk(),this.chunkOff==this.chunk.length)return this.next=-1}return this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){this.chunkOff+=t;while(this.pos+t>=this.range.to){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}if(this.pos+=t,this.pos>=this.token.lookAhead)this.token.lookAhead=this.pos+1;return this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e)this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1;else this.token=R;if(this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;while(t<this.range.from)this.range=this.ranges[--this.rangeIndex];while(t>=this.range.to)this.range=this.ranges[++this.rangeIndex];if(t>=this.chunkPos&&t<this.chunkPos+this.chunk.length)this.chunkOff=t-this.chunkPos;else this.chunk="",this.chunkOff=0;this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;if(i.to>t)s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e))}return s}}class m{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;O(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}m.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class ft{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data=typeof t=="string"?x(t):t}token(t,e){let s=t.pos,i=0;for(;;){let h=t.next<0,r=t.resolveOffset(1,1);if(O(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(!h)i++;if(r==null)break;t.reset(r,t.token)}if(i)t.reset(s,t.token),t.acceptToken(this.elseToken,i)}}ft.prototype.contextual=m.prototype.fallback=m.prototype.extend=!1;class N{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function O(t,e,s,i,h,r){let n=0,o=1<<i,{dialect:l}=s.p.parser;t:for(;;){if((o&t[n])==0)break;let f=t[n+1];for(let c=n+3;c<f;c+=2)if((t[c+1]&o)>0){let g=t[c];if(l.allows(g)&&(e.token.value==-1||e.token.value==g||H(g,e.token.value,h,r))){e.acceptToken(g);break}}let a=e.next,d=0,u=t[n+2];if(e.next<0&&u>d&&t[f+u*3-3]==65535){n=t[f+u*3-1];continue t}for(;d<u;){let c=d+u>>1,g=f+c+(c<<1),_=t[g],G=t[g+1]||65536;if(a<_)u=c;else if(a>=G)d=c+1;else{n=t[g+2],e.advance();continue t}}break}}function T(t,e,s){for(let i=e,h;(h=t[i])!=65535;i++)if(h==s)return i-e;return-1}function H(t,e,s,i){let h=T(s,i,e);return h<0||T(s,i,t)<h}var p=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),v=null;function C(t,e,s){let i=t.cursor(A.IncludeAnonymous);i.moveTo(e);for(;;)if(!(s<0?i.childBefore(e):i.childAfter(e)))for(;;){if((s<0?i.to<e:i.from>e)&&!i.type.isError)return s<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(s<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return s<0?0:t.length}}class F{constructor(t,e){this.fragments=t,this.minRepeat=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.lastRepeat=null,this.lastRepeatPos=-1,this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){this.safeFrom=t.openStart?C(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?C(t.tree,t.to+t.offset,-1)-t.offset:t.to;while(this.trees.length)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;while(this.fragment&&this.safeTo<=t)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let h=s.children[i],r=this.start[e]+s.positions[i];if(r>t)return this.nextStart=r,null;if(h instanceof V){let n=r>this.lastRepeatPos&&h.type.id>=this.minRepeat;if(r==t||n){let o=r+h.length,l;if(r>=this.safeFrom&&o<=this.safeTo&&(!(l=h.prop(M.lookAhead))||o+l<this.fragment.to)){if(n)this.lastRepeat=h,this.lastRepeatPos=r;if(r==t)return h}else if(r==t)return null}if(this.index[e]++,r+h.length>=Math.max(this.safeFrom,t))this.trees.push(h),this.start.push(r),this.index.push(0)}else this.index[e]++,this.nextStart=r+h.length}}}class L{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((s)=>new b)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:h}=i,r=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let l=0;l<h.length;l++){if((1<<l&r)==0)continue;let f=h[l],a=this.tokens[l];if(s&&!f.fallback)continue;if(f.contextual||a.start!=t.pos||a.mask!=r||a.context!=n)this.updateCachedToken(a,f,t),a.mask=r,a.context=n;if(a.lookAhead>a.end+25)o=Math.max(a.lookAhead,o);if(a.value!=0){let d=e;if(a.extended>-1)e=this.addActions(t,a.extended,a.end,e);if(e=this.addActions(t,a.value,a.end,e),!f.extend){if(s=a,e>d)break}}}while(this.actions.length>e)this.actions.pop();if(o)t.setLookAhead(o);if(!s&&t.pos==this.stream.end)s=new b,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e);return this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new b,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:h}=s.p;for(let r=0;r<h.specialized.length;r++)if(h.specialized[r]==t.value){let n=h.specializers[r](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){if((n&1)==0)t.value=n>>1;else t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let h=0;h<i;h+=3)if(this.actions[h]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:h}=t,{parser:r}=t.p,{data:n}=r;for(let o=0;o<2;o++)for(let l=r.stateSlot(h,o?2:1);;l+=3){if(n[l]==65535)if(n[l+1]==1)l=k(n,l+2);else{if(i==0&&n[l+1]==2)i=this.putAction(k(n,l+2),e,s,i);break}if(n[l]==e)i=this.putAction(k(n,l+1),e,s,i)}return i}}class E{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new B(e,i),this.tokens=new L(t,this.stream),this.topTerm=t.top[1];let{from:h}=i[0];this.stacks=[P.start(this,t.top[0],h)],this.fragments=s.length&&this.stream.end-h>t.bufferLength*4?new F(s,t.minRepeatTerm):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,s=this.stacks=[],i,h;if(this.bigReductionCount>300&&t.length==1){let[r]=t;while(r.forceReduce()&&r.stack.length&&r.stack[r.stack.length-2]>=this.lastBigReductionStart);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<t.length;r++){let n=t[r];for(;;){if(this.tokens.mainToken=null,n.pos>e)s.push(n);else if(this.advanceStack(n,s,t))continue;else{if(!i)i=[],h=[];i.push(n);let o=this.tokens.getMainToken(n);h.push(o.value,o.end)}break}}if(!s.length){let r=i&&W(i);if(r){if(p)console.log("Finish with "+this.stackID(r));return this.stackToTree(r)}if(this.parser.strict){if(p&&i)console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none"));throw SyntaxError("No parse at "+e)}if(!this.recovering)this.recovering=5}if(this.recovering&&i){let r=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,h,s);if(r){if(p)console.log("Force-finish "+this.stackID(r));return this.stackToTree(r.forceAll())}}if(this.recovering){let r=this.recovering==1?1:this.recovering*3;if(s.length>r){s.sort((n,o)=>o.score-n.score);while(s.length>r)s.pop()}if(s.some((n)=>n.reducePos>e))this.recovering--}else if(s.length>1){t:for(let r=0;r<s.length-1;r++){let n=s[r];for(let o=r+1;o<s.length;o++){let l=s[o];if(n.sameState(l)||n.buffer.length>500&&l.buffer.length>500)if((n.score-l.score||n.buffer.length-l.buffer.length)>0)s.splice(o--,1);else{s.splice(r--,1);continue t}}}if(s.length>12)s.sort((r,n)=>n.score-r.score),s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let r=1;r<s.length;r++)if(s[r].pos<this.minStackPos)this.minStackPos=s[r].pos;return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}tryReuse(t,e,s,i){if(!s)return null;let h=t.curContext&&t.curContext.tracker.strict,r=h?t.curContext.hash:0;for(;s;){let n=this.parser.nodeSet.types[s.type.id]!=s.type?-1:this.parser.getGoto(t.state,s.type.id);if(n>-1&&s.length&&(!h||(s.prop(M.contextHash)||0)==r))return t.useNode(s,n,e),s;if(s.children.length==0||s.positions[0]>0)break;let o=s.children[0];if(o instanceof V&&(!i||o.type.id>=this.parser.minRepeatTerm))s=o;else break}return null}advanceStack(t,e,s){let i=t.pos,{parser:h}=this,r=p?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let l=t.reducePos<i&&t.buffer.length&&t.buffer[t.buffer.length-2]<=t.reducePos&&this.fragments.lastRepeatPos==t.reducePos&&this.tryReuse(t,t.reducePos,this.fragments.lastRepeat,!0)||this.tryReuse(t,i,this.fragments.nodeAt(i),!1);if(l){if(p)console.log(r+this.stackID(t)+` (via reuse of ${h.getName(l.type.id)})`);return!0}}let n=h.stateSlot(t.state,4);if(n>0){if(t.reduce(n),p)console.log(r+this.stackID(t)+` (via always-reduce ${h.getName(n&65535)})`);return!0}if(t.stack.length>=8400)while(t.stack.length>6000&&t.forceReduce());let o=this.tokens.getActions(t);for(let l=0;l<o.length;){let f=o[l++],a=o[l++],d=o[l++],u=l==o.length||!s,c=u?t:t.split(),g=this.tokens.mainToken;if(c.apply(f,a,g?g.start:c.pos,d),p)console.log(r+this.stackID(c)+` (via ${(f&65536)==0?"shift":`reduce of ${h.getName(f&65535)}`} for ${h.getName(a)} @ ${i}${c==t?"":", split"})`);if(u)return!0;else if(c.pos>i)e.push(c);else s.push(c)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return z(t,e),!0}}runRecovery(t,e,s){let i=null,h=!1;for(let r=0;r<t.length;r++){let n=t[r],o=e[r<<1],l=e[(r<<1)+1],f=p?this.stackID(n)+" -> ":"";if(n.deadEnd){if(h)continue;if(h=!0,n.restart(),p)console.log(f+this.stackID(n)+" (restarted)");if(this.advanceFully(n,s))continue}let a=n.split(),d=f;for(let u=0;u<10&&a.forceReduce();u++){if(p)console.log(d+this.stackID(a)+" (via force-reduce)");if(this.advanceFully(a,s))break;if(p)d=this.stackID(a)+" -> "}for(let u of n.recoverByInsert(o)){if(p)console.log(f+this.stackID(u)+" (via recover-insert)");this.advanceFully(u,s)}if(this.stream.end>n.pos){if(l==n.pos)l++,o=0;if(n.recoverByDelete(o,l),p)console.log(f+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`);z(n,s)}else if(!i||i.score<a.score)i=a}return i}stackToTree(t){return t.close(),V.build({buffer:S.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(v||(v=new WeakMap)).get(t);if(!e)v.set(t,e=String.fromCodePoint(this.nextStackID++));return e+t}}function z(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t)){if(e[s].score<t.score)e[s]=t;return}}e.push(t)}class U{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||this.disabled[t]==0}}var w=(t)=>t;class Me{constructor(t){this.start=t.start,this.shift=t.shift||w,this.reduce=t.reduce||w,this.reuse=t.reuse||w,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class j extends Tt{constructor(t){super();if(this.wrappers=[],t.version!=14)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let n=0;n<t.repeatNodeCount;n++)e.push("");let s=Object.keys(t.topRules).map((n)=>t.topRules[n][1]),i=[];for(let n=0;n<e.length;n++)i.push([]);function h(n,o,l){i[n].push([o,o.deserialize(String(l))])}if(t.nodeProps)for(let n of t.nodeProps){let o=n[0];if(typeof o=="string")o=M[o];for(let l=1;l<n.length;){let f=n[l++];if(f>=0)h(f,o,n[l++]);else{let a=n[l+-f];for(let d=-f;d>0;d--)h(n[l++],o,a);l++}}}if(this.nodeSet=new xt(e.map((n,o)=>ue.define({name:o>=this.minRepeatTerm?void 0:n,id:o,props:i[o],top:s.indexOf(o)>-1,error:o==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(o)>-1}))),t.propSources)this.nodeSet=this.nodeSet.extend(...t.propSources);this.strict=!1,this.bufferLength=Vo;let r=x(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let n=0;n<this.specializerSpecs.length;n++)this.specialized[n]=this.specializerSpecs[n].term;this.specializers=this.specializerSpecs.map(I),this.states=x(t.states,Uint32Array),this.data=x(t.stateData),this.goto=x(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((n)=>typeof n=="number"?new m(r,n):n),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new E(this,t,e,s);for(let h of this.wrappers)i=h(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let h=i[e+1];;){let r=i[h++],n=r&1,o=i[h++];if(n&&s)return o;for(let l=h+(r>>1);h<l;h++)if(i[h]==t)return o;if(n)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let h=this.stateSlot(t,i?2:1),r;;h+=3){if((r=s[h])==65535)if(s[h+1]==1)r=s[h=k(s,h+2)];else if(s[h+1]==2)return k(s,h+2);else break;if(r==e||r==0)return k(s,h+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(s)=>s==e?!0:null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let h=this.stateSlot(t,1);i==null;h+=3){if(this.data[h]==65535)if(this.data[h+1]==1)h=k(this.data,h+2);else break;i=e(k(this.data,h+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=k(this.data,s+2);else break;if((this.data[s+2]&1)==0){let i=this.data[s+1];if(!e.some((h,r)=>r&1&&h==i))e.push(this.data[s],i)}}return e}configure(t){let e=Object.assign(Object.create(j.prototype),this);if(t.props)e.nodeSet=this.nodeSet.extend(...t.props);if(t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);e.top=s}if(t.tokenizers)e.tokenizers=this.tokenizers.map((s)=>{let i=t.tokenizers.find((h)=>h.from==s);return i?i.to:s});if(t.specializers)e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let h=t.specializers.find((n)=>n.from==s.external);if(!h)return s;let r=Object.assign(Object.assign({},s),{external:h.to});return e.specializers[i]=I(r),r});if(t.contextTracker)e.context=t.contextTracker;if(t.dialect)e.dialect=this.parseDialect(t.dialect);if(t.strict!=null)e.strict=t.strict;if(t.wrap)e.wrappers=e.wrappers.concat(t.wrap);if(t.bufferLength!=null)e.bufferLength=t.bufferLength;return e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let h of t.split(" ")){let r=e.indexOf(h);if(r>=0)s[r]=!0}let i=null;for(let h=0;h<e.length;h++)if(!s[h])for(let r=this.dialects[e[h]],n;(n=this.data[r++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new U(t,s,i)}static deserialize(t){return new j(t)}}function k(t,e){return t[e]|t[e+1]<<16}function W(t){let e=null;for(let s of t){let i=s.p.stoppedAt;if((s.pos==s.p.stream.end||i!=null&&s.pos>i)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score))e=s}return e}function I(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}
2
+ export{ft,N,Me,j};