pi-roundtable-web 0.24.1 → 0.25.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.
- package/CHANGELOG.md +37 -0
- package/README.md +51 -9
- package/dist/chunk-action-menu-qe839g4b.js +1 -0
- package/dist/chunk-agent-0pm9p3nn.js +1 -0
- package/dist/chunk-arranged-rooms-enpfswmg.js +1 -0
- package/dist/chunk-character-creator-6yf29xwx.js +1 -0
- package/dist/chunk-codeeditor-gdbdg7rp.js +2 -0
- package/dist/chunk-confirm-xrw7d732.js +1 -0
- package/dist/chunk-connectors-anhghy3k.js +1 -0
- package/dist/chunk-conversations-ry228aes.js +1 -0
- package/dist/chunk-drag-q4fx9b22.js +1 -0
- package/dist/chunk-entry-he1embgp.js +1 -0
- package/dist/chunk-folder-list-5cp8stna.js +1 -0
- package/dist/chunk-folds-hff104tk.js +1 -0
- package/dist/chunk-group-scene-h228jdat.js +1 -0
- package/dist/chunk-index-0p5h2kdz.js +2 -0
- package/dist/chunk-index-0pt08yd9.js +1 -0
- package/dist/chunk-index-12bw9yj8.js +2 -0
- package/dist/chunk-index-18gxy79n.js +47 -0
- package/dist/{chunk-index-mpm90318.js → chunk-index-27qca4mr.js} +2 -2
- package/dist/chunk-index-2ad17eh4.js +2 -0
- package/dist/chunk-index-31wh5twj.js +52 -0
- package/dist/chunk-index-4dy94pbz.js +2 -0
- package/dist/chunk-index-4ecjtdy8.js +13 -0
- package/dist/chunk-index-4v1b7ks9.js +2 -0
- package/dist/chunk-index-5d8yjj4m.js +2 -0
- package/dist/chunk-index-89ajmxh7.js +2 -0
- package/dist/chunk-index-9b1kt7qw.css +1 -0
- package/dist/chunk-index-9jqcskb4.js +14 -0
- package/dist/chunk-index-b9ny4623.js +2 -0
- package/dist/chunk-index-bvfqjh77.js +2 -0
- package/dist/chunk-index-d5abvq7v.js +2 -0
- package/dist/chunk-index-e1dr6g10.js +2 -0
- package/dist/chunk-index-gpkzhq1g.js +2 -0
- package/dist/chunk-index-hk3xyy20.js +2 -0
- package/dist/chunk-index-jm23vn03.js +4 -0
- package/dist/chunk-index-k7gh0jvz.js +2 -0
- package/dist/{chunk-index-6t68gbex.js → chunk-index-krtk6nn2.js} +2 -2
- package/dist/chunk-index-ky42ev0b.js +2 -0
- package/dist/chunk-index-pa2yyqh0.js +2 -0
- package/dist/chunk-index-pcvt668q.js +2 -0
- package/dist/chunk-index-pqw27eye.js +1 -0
- package/dist/chunk-index-s681nny9.js +2 -0
- package/dist/chunk-index-wmbmmrd4.js +302 -0
- package/dist/chunk-index-ymbjrsp6.js +2 -0
- package/dist/chunk-index-zfd00hwb.js +2 -0
- package/dist/chunk-lang-css-t85r8rz0.js +1 -0
- package/dist/{chunk-lang-dockerfile-ey0nvhhm.js → chunk-lang-dockerfile-d5mzxs60.js} +1 -1
- package/dist/{chunk-lang-go-403qsw9f.js → chunk-lang-go-830fmhba.js} +3 -3
- package/dist/chunk-lang-html-n6jparge.js +1 -0
- package/dist/chunk-lang-javascript-xj00cp97.js +1 -0
- package/dist/chunk-lang-json-5eaarz7j.js +1 -0
- package/dist/chunk-lang-markdown-zxx8eke8.js +6 -0
- package/dist/{chunk-lang-python-9jk5a49y.js → chunk-lang-python-fjw84w10.js} +2 -2
- package/dist/chunk-lang-rust-5rbp2zdk.js +1 -0
- package/dist/{chunk-lang-shell-cgq6q0kj.js → chunk-lang-shell-vzagpym3.js} +1 -1
- package/dist/chunk-lang-sql-0c2w9c2y.js +2 -0
- package/dist/{chunk-lang-toml-xh45nm68.js → chunk-lang-toml-yr9fv6eb.js} +1 -1
- package/dist/chunk-lang-typescript-8f6yywt3.js +1 -0
- package/dist/{chunk-lang-xml-1mh879j9.js → chunk-lang-xml-eze08p42.js} +1 -1
- package/dist/{chunk-lang-yaml-jac98srt.js → chunk-lang-yaml-c4b6ft3y.js} +1 -1
- package/dist/chunk-layout-actions-bv0chj41.js +1 -0
- package/dist/chunk-menu-items-jrwxycr1.js +2 -0
- package/dist/chunk-notes-9b7pgqfe.js +1 -0
- package/dist/chunk-overview-8yw71esz.js +1 -0
- package/dist/chunk-palette-frms7axe.js +1 -0
- package/dist/chunk-placement-items-fvfy9m0y.js +1 -0
- package/dist/chunk-prompt-history-yrqehads.js +1 -0
- package/dist/chunk-prompts-g6609tqx.js +1 -0
- package/dist/chunk-room-confirms-0a2y0925.js +1 -0
- package/dist/chunk-room-menu-g11q97br.js +1 -0
- package/dist/chunk-rooms-menu-button-h9qge48n.js +1 -0
- package/dist/chunk-schedules-ezmacrbj.js +1 -0
- package/dist/chunk-seat-menu-jv4s7hmj.js +1 -0
- package/dist/chunk-sheet-hosts-b0azyfhb.js +1 -0
- package/dist/chunk-skill-editor-h6k6whwg.js +8 -0
- package/dist/chunk-skills-gqcfhq56.js +1 -0
- package/dist/chunk-switcher-list-mcpamqnj.js +1 -0
- package/dist/chunk-table-s8cde1xz.js +1 -0
- package/dist/chunk-table-seats-wqkjn8bc.js +1 -0
- package/dist/chunk-table2d-4sje1fr0.js +1 -0
- package/dist/chunk-table3d-h64skazp.js +4220 -0
- package/dist/chunk-transcript-c59c6mpm.js +1 -0
- package/dist/chunk-workspace-0cyspkk4.js +1 -0
- package/dist/chunk-zh-tw-nc93jm10.js +1 -0
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +3 -3
- package/src/api-types.ts +214 -2
- package/src/app/api-http.ts +66 -0
- package/src/app/app.ts +18 -1
- package/src/app/card-log.ts +6 -0
- package/src/app/layout-routes.ts +239 -0
- package/src/app/layout.ts +133 -0
- package/src/app/prompt-routes.ts +167 -0
- package/src/app/room-log.ts +7 -0
- package/src/app/rooms.ts +23 -0
- package/src/app/routes.ts +155 -131
- package/src/app/skill-doc-routes.ts +122 -0
- package/src/app/team-routes.ts +457 -0
- package/src/app/threads.ts +14 -0
- package/src/i18n/zh-tw.ts +177 -10
- package/src/layout-order.ts +210 -0
- package/src/push/mutes.ts +17 -0
- package/src/web-plugin.ts +25 -0
- package/dist/chunk-action-menu-7v5fce2v.js +0 -1
- package/dist/chunk-agent-2rw4ydw2.js +0 -1
- package/dist/chunk-agent-sheet-2q24dkkf.js +0 -3
- package/dist/chunk-character-creator-8q6ympxj.js +0 -1
- package/dist/chunk-codeeditor-fgmq298t.js +0 -2
- package/dist/chunk-connectors-mr53r7fh.js +0 -1
- package/dist/chunk-conversations-4vy2z6w9.js +0 -1
- package/dist/chunk-entry-jg1eem82.js +0 -1
- package/dist/chunk-group-scene-na95b1te.js +0 -1
- package/dist/chunk-index-11rjg8a8.js +0 -1
- package/dist/chunk-index-1y50d6sj.js +0 -2
- package/dist/chunk-index-5y2r0eaj.js +0 -47
- package/dist/chunk-index-7fphxxzd.js +0 -14
- package/dist/chunk-index-80f1zkp6.css +0 -1
- package/dist/chunk-index-87h45frg.js +0 -2
- package/dist/chunk-index-bnwmssyn.js +0 -2
- package/dist/chunk-index-ckgbszwt.js +0 -51
- package/dist/chunk-index-fmjjekhd.js +0 -2
- package/dist/chunk-index-t1m65yn6.js +0 -13
- package/dist/chunk-index-t711t17m.js +0 -2
- package/dist/chunk-index-txv7qvyy.js +0 -2
- package/dist/chunk-index-wr3dg24d.js +0 -2
- package/dist/chunk-index-yx683d5n.js +0 -2
- package/dist/chunk-lang-css-fkdg3x8x.js +0 -1
- package/dist/chunk-lang-html-v8h9g977.js +0 -1
- package/dist/chunk-lang-javascript-ykb2vhaa.js +0 -1
- package/dist/chunk-lang-json-2rze3rpy.js +0 -1
- package/dist/chunk-lang-markdown-6w2htnfc.js +0 -6
- package/dist/chunk-lang-rust-24fggcqx.js +0 -1
- package/dist/chunk-lang-sql-gjywb9ke.js +0 -2
- package/dist/chunk-lang-typescript-qh6rebyb.js +0 -1
- package/dist/chunk-menu-items-zjpyj51b.js +0 -2
- package/dist/chunk-notes-sjba7kw3.js +0 -1
- package/dist/chunk-overview-26r77kb6.js +0 -1
- package/dist/chunk-room-confirms-851184ep.js +0 -1
- package/dist/chunk-room-menu-8y9c026y.js +0 -1
- package/dist/chunk-skills-56s4hdbn.js +0 -1
- package/dist/chunk-table-qykpvp32.js +0 -1
- package/dist/chunk-table2d-k60ressj.js +0 -1
- package/dist/chunk-table3d-bv2ajk39.js +0 -4220
- package/dist/chunk-transcript-vekz1mh6.js +0 -1
- package/dist/chunk-workspace-hevefd0d.js +0 -1
- package/dist/chunk-zh-tw-5r2wjre0.js +0 -1
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
var Ws=[],Er=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map((e)=>e?parseInt(e,36):1);for(let e=0,i=0;e<t.length;e++)(e%2?Er:Ws).push(i=i+t[e])})();function ta(t){if(t<768)return!1;for(let e=0,i=Ws.length;;){let s=e+i>>1;if(t<Ws[s])i=s;else if(t>=Er[s])e=s+1;else return!0;if(e==i)return!1}}function Rr(t){return t>=127462&&t<=127487}var Lr=8205;function Ir(t,e,i=!0,s=!0){return(i?Nr:ea)(t,e,s)}function Nr(t,e,i){if(e==t.length)return e;if(e&&Hr(t.charCodeAt(e))&&Fr(t.charCodeAt(e-1)))e--;let s=Fs(t,e);e+=Pr(s);while(e<t.length){let r=Fs(t,e);if(s==Lr||r==Lr||i&&ta(r))e+=Pr(r),s=r;else if(Rr(r)){let o=0,l=e-2;while(l>=0&&Rr(Fs(t,l)))o++,l-=2;if(o%2==0)break;else e+=2}else break}return e}function ea(t,e,i){while(e>1){let s=Nr(t,e-2,i);if(s<e)return s;e--}return 0}function Fs(t,e){let i=t.charCodeAt(e);if(!Fr(i)||e+1==t.length)return i;let s=t.charCodeAt(e+1);if(!Hr(s))return i;return(i-55296<<10)+(s-56320)+65536}function Hr(t){return t>=56320&&t<57344}function Fr(t){return t>=55296&&t<56320}function Pr(t){return t<65536?1:2}class M{lineAt(t){if(t<0||t>this.length)throw RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){[t,e]=ni(this,t,e);let s=[];if(this.decompose(0,t,s,2),i.length)i.decompose(0,i.length,s,3);return this.decompose(e,this.length,s,1),Gt.from(s,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){[t,e]=ni(this,t,e);let i=[];return this.decompose(t,e,i,0),Gt.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),s=new ii(this),r=new ii(t);for(let o=e,l=e;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(t=1){return new ii(this,t)}iterRange(t,e=this.length){return new Js(this,t,e)}iterLines(t,e){let i;if(t==null)i=this.iter();else{if(e==null)e=this.lines+1;let s=this.line(t).from;i=this.iterRange(s,Math.max(s,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new Gs(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw RangeError("A document must have at least one line");if(t.length==1&&!t[0])return M.empty;return t.length<=32?new dt(t):Gt.from(dt.split(t,[]))}}class dt extends M{constructor(t,e=ia(t)){super();this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(t,e,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((e?i:l)>=t)return new qr(s,l,i,o);s=l+1,i++}}decompose(t,e,i,s){let r=t<=0&&e>=this.length?this:new dt(Wr(this.text,t,e),Math.min(e,this.length)-Math.max(0,t));if(s&1){let o=i.pop(),l=Qi(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new dt(l,o.length+r.length));else{let f=l.length>>1;i.push(new dt(l.slice(0,f)),new dt(l.slice(f)))}}else i.push(r)}replace(t,e,i){if(!(i instanceof dt))return super.replace(t,e,i);[t,e]=ni(this,t,e);let s=Qi(this.text,Qi(i.text,Wr(this.text,0,t)),e),r=this.length+i.length-(e-t);if(s.length<=32)return new dt(s,r);return Gt.from(dt.split(s,[]),r)}sliceString(t,e=this.length,i=`
|
|
2
|
-
`){[t,e]=ni(this,t,e);let s="";for(let r=0,o=0;r<=e&&o<this.text.length;o++){let l=this.text[o],f=r+l.length;if(r>t&&o)s+=i;if(t<f&&e>r)s+=l.slice(Math.max(0,t-r),e-r);r=f+1}return s}flatten(t){for(let e of this.text)t.push(e)}scanIdentical(){return 0}static split(t,e){let i=[],s=-1;for(let r of t)if(i.push(r),s+=r.length+1,i.length==32)e.push(new dt(i,s)),i=[],s=-1;if(s>-1)e.push(new dt(i,s));return e}}class Gt extends M{constructor(t,e){super();this.children=t,this.length=e,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,e,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,f=i+o.lines-1;if((e?f:l)>=t)return o.lineInner(t,e,i,s);s=l+1,i=f+1}}decompose(t,e,i,s){for(let r=0,o=0;o<=e&&r<this.children.length;r++){let l=this.children[r],f=o+l.length;if(t<=f&&e>=o){let c=s&((o<=t?1:0)|(f>=e?2:0));if(o>=t&&f<=e&&!c)i.push(l);else l.decompose(t-o,e-o,i,c)}o=f+1}}replace(t,e,i){if([t,e]=ni(this,t,e),i.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let o=this.children[s],l=r+o.length;if(t>=r&&e<=l){let f=o.replace(t-r,e-r,i),c=this.lines-o.lines+f.lines;if(f.lines<c>>4&&f.lines>c>>6){let d=this.children.slice();return d[s]=f,new Gt(d,this.length-(e-t)+i.length)}return super.replace(r,l,f)}r=l+1}return super.replace(t,e,i)}sliceString(t,e=this.length,i=`
|
|
3
|
-
`){[t,e]=ni(this,t,e);let s="";for(let r=0,o=0;r<this.children.length&&o<=e;r++){let l=this.children[r],f=o+l.length;if(o>t&&r)s+=i;if(t<f&&e>o)s+=l.sliceString(t-o,e-o,i);o=f+1}return s}flatten(t){for(let e of this.children)e.flatten(t)}scanIdentical(t,e){if(!(t instanceof Gt))return 0;let i=0,[s,r,o,l]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;s+=e,r+=e){if(s==o||r==l)return i;let f=this.children[s],c=t.children[r];if(f!=c)return i+f.scanIdentical(c,e);i+=f.length+1}}static from(t,e=t.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let b of t)i+=b.lines;if(i<32){let b=[];for(let y of t)y.flatten(b);return new dt(b,e)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],f=0,c=-1,d=[];function g(b){let y;if(b.lines>r&&b instanceof Gt)for(let w of b.children)g(w);else if(b.lines>o&&(f>o||!f))m(),l.push(b);else if(b instanceof dt&&f&&(y=d[d.length-1])instanceof dt&&b.lines+y.lines<=32)f+=b.lines,c+=b.length+1,d[d.length-1]=new dt(y.text.concat(b.text),y.length+1+b.length);else{if(f+b.lines>s)m();f+=b.lines,c+=b.length+1,d.push(b)}}function m(){if(f==0)return;l.push(d.length==1?d[0]:Gt.from(d,c)),c=-1,f=d.length=0}for(let b of t)g(b);return m(),l.length==1?l[0]:new Gt(l,e)}}M.empty=new dt([""],0);function ia(t){let e=-1;for(let i of t)e+=i.length+1;return e}function Qi(t,e,i=0,s=1e9){for(let r=0,o=0,l=!0;o<t.length&&r<=s;o++){let f=t[o],c=r+f.length;if(c>=i){if(c>s)f=f.slice(0,s-r);if(r<i)f=f.slice(i-r);if(l)e[e.length-1]+=f,l=!1;else e.push(f)}r=c+1}return e}function Wr(t,e,i){return Qi(t,[""],e,i)}class ii{constructor(t,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[e>0?1:(t instanceof dt?t.text.length:t.children.length)<<1]}nextInner(t,e){this.done=this.lineBreak=!1;for(;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof dt?s.text.length:s.children.length;if(o==(e>0?l:0)){if(i==0)return this.done=!0,this.value="",this;if(e>0)this.offsets[i-1]++;this.nodes.pop(),this.offsets.pop()}else if((r&1)==(e>0?0:1)){if(this.offsets[i]+=e,t==0)return this.lineBreak=!0,this.value=`
|
|
4
|
-
`,this;t--}else if(s instanceof dt){let f=s.text[o+(e<0?-1:0)];if(this.offsets[i]+=e,f.length>Math.max(0,t))return this.value=t==0?f:e>0?f.slice(t):f.slice(0,f.length-t),this;t-=f.length}else{let f=s.children[o+(e<0?-1:0)];if(t>f.length)t-=f.length,this.offsets[i]+=e;else{if(e<0)this.offsets[i]--;this.nodes.push(f),this.offsets.push(e>0?1:(f instanceof dt?f.text.length:f.children.length)<<1)}}}}next(t=0){if(t<0)this.nextInner(-t,-this.dir),t=this.value.length;return this.nextInner(t,this.dir)}}class Js{constructor(t,e,i){this.value="",this.done=!1,this.cursor=new ii(t,e>i?-1:1),this.pos=e>i?t.length:0,this.from=Math.min(e,i),this.to=Math.max(e,i)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let i=e<0?this.pos-this.from:this.to-this.pos;if(t>i)t=i;i-=t;let{value:s}=this.cursor.next(t);return this.pos+=(s.length+t)*e,this.value=s.length<=i?s:e<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(t=0){if(t<0)t=Math.max(t,this.from-this.pos);else if(t>0)t=Math.min(t,this.to-this.pos);return this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Gs{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:i,value:s}=this.inner.next(t);if(e&&this.afterBreak)this.value="",this.afterBreak=!1;else if(e)this.done=!0,this.value="";else if(i)if(this.afterBreak)this.value="";else this.afterBreak=!0,this.next();else this.value=s,this.afterBreak=!1;return this}get lineBreak(){return!1}}if(typeof Symbol<"u")M.prototype[Symbol.iterator]=function(){return this.iter()},ii.prototype[Symbol.iterator]=Js.prototype[Symbol.iterator]=Gs.prototype[Symbol.iterator]=function(){return this};class qr{constructor(t,e,i,s){this.from=t,this.to=e,this.number=i,this.text=s}get length(){return this.to-this.from}}function ni(t,e,i){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,i))]}function J(t,e,i=!0,s=!0){return Ir(t,e,i,s)}function sa(t){return t>=56320&&t<57344}function na(t){return t>=55296&&t<56320}function It(t,e){let i=t.charCodeAt(e);if(!na(i)||e+1==t.length)return i;let s=t.charCodeAt(e+1);if(!sa(s))return i;return(i-55296<<10)+(s-56320)+65536}function gn(t){if(t<=65535)return String.fromCharCode(t);return t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320)}function Dt(t){return t<65536?1:2}var zs=/\r\n?|\n/,he=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(he||(he={}));class Xe{constructor(t){this.sections=t}get length(){let t=0;for(let e=0;e<this.sections.length;e+=2)t+=this.sections[e];return t}get newLength(){let t=0;for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e+1];t+=i<0?this.sections[e]:i}return t}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(t){for(let e=0,i=0,s=0;e<this.sections.length;){let r=this.sections[e++],o=this.sections[e++];if(o<0)t(i,s,r),s+=r;else s+=o;i+=r}}iterChangedRanges(t,e=!1){Vs(this,t,e)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let i=this.sections[e++],s=this.sections[e++];if(s<0)t.push(i,s);else t.push(s,i)}return new Xe(t)}composeDesc(t){return this.empty?t:t.empty?this:jr(this,t)}mapDesc(t,e=!1){return t.empty?this:Ks(this,t,e)}mapPos(t,e=-1,i=he.Simple){let s=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],f=this.sections[o++],c=s+l;if(f<0){if(c>t)return r+(t-s);r+=l}else{if(i!=he.Simple&&c>=t&&(i==he.TrackDel&&s<t&&c>t||i==he.TrackBefore&&s<t||i==he.TrackAfter&&c>t))return null;if(c>t||c==t&&e<0&&!l)return t==s||e<0?r:r+f;r+=f}s=c}if(t>s)throw RangeError(`Position ${t} is out of range for changeset of length ${s}`);return r}touchesRange(t,e=t){for(let i=0,s=0;i<this.sections.length&&s<=e;){let r=this.sections[i++],o=this.sections[i++],l=s+r;if(o>=0&&s<=e&&l>=t)return s<t&&l>e?"cover":!0;s=l}return!1}toString(){let t="";for(let e=0;e<this.sections.length;){let i=this.sections[e++],s=this.sections[e++];t+=(t?" ":"")+i+(s>=0?":"+s:"")}return t}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 Xe(t)}static create(t){return new Xe(t)}}class ee extends Xe{constructor(t,e){super(t);this.inserted=e}apply(t){if(this.length!=t.length)throw RangeError("Applying change set to a document with the wrong length");return Vs(this,(e,i,s,r,o)=>t=t.replace(s,s+(i-e),o),!1),t}mapDesc(t,e=!1){return Ks(this,t,e,!0)}invert(t){let e=this.sections.slice(),i=[];for(let s=0,r=0;s<e.length;s+=2){let o=e[s],l=e[s+1];if(l>=0){e[s]=l,e[s+1]=o;let f=s>>1;while(i.length<f)i.push(M.empty);i.push(o?t.slice(r,r+o):M.empty)}r+=o}return new ee(e,i)}compose(t){return this.empty?t:t.empty?this:jr(this,t,!0)}map(t,e=!1){return t.empty?this:Ks(this,t,e,!0)}iterChanges(t,e=!1){Vs(this,t,e)}get desc(){return Xe.create(this.sections)}filter(t){let e=[],i=[],s=[],r=new ri(this);t:for(let o=0,l=0;;){let f=o==t.length?1e9:t[o++];while(l<f||l==f&&r.len==0){if(r.done)break t;let d=Math.min(r.len,f-l);xt(s,d,-1);let g=r.ins==-1?-1:r.off==0?r.ins:0;if(xt(e,d,g),g>0)Ce(i,e,r.text);r.forward(d),l+=d}let c=t[o++];while(l<c){if(r.done)break t;let d=Math.min(r.len,c-l);xt(e,d,-1),xt(s,d,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(d),l+=d}}return{changes:new ee(e,i),filtered:Xe.create(s)}}toJSON(){let t=[];for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e],s=this.sections[e+1];if(s<0)t.push(i);else if(s==0)t.push([i]);else t.push([i].concat(this.inserted[e>>1].toJSON()))}return t}static of(t,e,i){let s=[],r=[],o=0,l=null;function f(d=!1){if(!d&&!s.length)return;if(o<e)xt(s,e-o,-1);let g=new ee(s,r);l=l?l.compose(g.map(l)):g,s=[],r=[],o=0}function c(d){if(Array.isArray(d))for(let g of d)c(g);else if(d instanceof ee){if(d.length!=e)throw RangeError(`Mismatched change set length (got ${d.length}, expected ${e})`);f(),l=l?l.compose(d.map(l)):d}else{let{from:g,to:m=g,insert:b}=d;if(g>m||g<0||m>e)throw RangeError(`Invalid change range ${g} to ${m} (in doc of length ${e})`);let y=!b?M.empty:typeof b=="string"?M.of(b.split(i||zs)):b,w=y.length;if(g==m&&w==0)return;if(g<o)f();if(g>o)xt(s,g-o,-1);xt(s,m-g,w),Ce(r,s,y),o=m}}return c(t),f(!l),l}static empty(t){return new ee(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError("Invalid JSON representation of ChangeSet");let e=[],i=[];for(let s=0;s<t.length;s++){let r=t[s];if(typeof r=="number")e.push(r,-1);else if(!Array.isArray(r)||typeof r[0]!="number"||r.some((o,l)=>l&&typeof o!="string"))throw RangeError("Invalid JSON representation of ChangeSet");else if(r.length==1)e.push(r[0],0);else{while(i.length<s)i.push(M.empty);i[s]=M.of(r.slice(1)),e.push(r[0],i[s].length)}}return new ee(e,i)}static createSet(t,e){return new ee(t,e)}}function xt(t,e,i,s=!1){if(e==0&&i<=0)return;let r=t.length-2;if(r>=0&&i<=0&&i==t[r+1])t[r]+=e;else if(r>=0&&e==0&&t[r]==0)t[r+1]+=i;else if(s)t[r]+=e,t[r+1]+=i;else t.push(e,i)}function Ce(t,e,i){if(i.length==0)return;let s=e.length-2>>1;if(s<t.length)t[t.length-1]=t[t.length-1].append(i);else{while(t.length<s)t.push(M.empty);t.push(i)}}function Vs(t,e,i){let s=t.inserted;for(let r=0,o=0,l=0;l<t.sections.length;){let f=t.sections[l++],c=t.sections[l++];if(c<0)r+=f,o+=f;else{let d=r,g=o,m=M.empty;for(;;){if(d+=f,g+=c,c&&s)m=m.append(s[l-2>>1]);if(i||l==t.sections.length||t.sections[l+1]<0)break;f=t.sections[l++],c=t.sections[l++]}e(r,d,o,g,m),r=d,o=g}}}function Ks(t,e,i,s=!1){let r=[],o=s?[]:null,l=new ri(t),f=new ri(e);for(let c=-1;;)if(l.done&&f.len||f.done&&l.len)throw Error("Mismatched change set lengths");else if(l.ins==-1&&f.ins==-1){let d=Math.min(l.len,f.len);xt(r,d,-1),l.forward(d),f.forward(d)}else if(f.ins>=0&&(l.ins<0||c==l.i||l.off==0&&(f.len<l.len||f.len==l.len&&!i))){let d=f.len;xt(r,f.ins,-1);while(d){let g=Math.min(l.len,d);if(l.ins>=0&&c<l.i&&l.len<=g){if(xt(r,0,l.ins),o)Ce(o,r,l.text);c=l.i}l.forward(g),d-=g}f.next()}else if(l.ins>=0){let d=0,g=l.len;while(g)if(f.ins==-1){let m=Math.min(g,f.len);d+=m,g-=m,f.forward(m)}else if(f.ins==0&&f.len<g)g-=f.len,f.next();else break;if(xt(r,d,c<l.i?l.ins:0),o&&c<l.i)Ce(o,r,l.text);c=l.i,l.forward(l.len-g)}else if(l.done&&f.done)return o?ee.createSet(r,o):Xe.create(r);else throw Error("Mismatched change set lengths")}function jr(t,e,i=!1){let s=[],r=i?[]:null,o=new ri(t),l=new ri(e);for(let f=!1;;)if(o.done&&l.done)return r?ee.createSet(s,r):Xe.create(s);else if(o.ins==0)xt(s,o.len,0,f),o.next();else if(l.len==0&&!l.done){if(xt(s,0,l.ins,f),r)Ce(r,s,l.text);l.next()}else if(o.done||l.done)throw Error("Mismatched change set lengths");else{let c=Math.min(o.len2,l.len),d=s.length;if(o.ins==-1){let g=l.ins==-1?-1:l.off?0:l.ins;if(xt(s,c,g,f),r&&g)Ce(r,s,l.text)}else if(l.ins==-1){if(xt(s,o.off?0:o.len,c,f),r)Ce(r,s,o.textBit(c))}else if(xt(s,o.off?0:o.len,l.off?0:l.ins,f),r&&!l.off)Ce(r,s,l.text);f=(o.ins>c||l.ins>=0&&l.len>c)&&(f||s.length>d),o.forward2(c),l.forward(c)}}class ri{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;if(this.i<t.length)this.len=t[this.i++],this.ins=t[this.i++];else 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:t}=this.set,e=this.i-2>>1;return e>=t.length?M.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?M.empty:e[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){if(t==this.len)this.next();else this.len-=t,this.off+=t}forward2(t){if(this.ins==-1)this.forward(t);else if(t==this.ins)this.next();else this.ins-=t,this.off+=t}}class ke{constructor(t,e,i,s){this.from=t,this.to=e,this.flags=i,this.goalColumn=s}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 undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,e=-1){let i,s;if(this.empty)i=s=t.mapPos(this.from,e);else i=t.mapPos(this.from,1),s=t.mapPos(this.to,-1);return i==this.from&&s==this.to?this:new ke(i,s,this.flags,this.goalColumn)}extend(t,e=t,i=0){if(t<=this.anchor&&e>=this.anchor)return a.range(t,e,void 0,void 0,i);let s=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return a.range(this.anchor,s,void 0,void 0,i)}eq(t,e=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!e||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw RangeError("Invalid JSON representation for SelectionRange");return a.range(t.anchor,t.head)}static create(t,e,i,s){return new ke(t,e,i,s)}}class a{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){if(t.empty)return this;return a.create(this.ranges.map((i)=>i.map(t,e)),this.mainIndex)}eq(t,e=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(t.ranges[i],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new a([this.main],0)}addRange(t,e=!0){return a.create([t].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(t,e=this.mainIndex){let i=this.ranges.slice();return i[e]=t,a.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((t)=>t.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 a(t.ranges.map((e)=>ke.fromJSON(e)),t.main)}static single(t,e=t){return new a([a.range(t,e)],0)}static create(t,e=0){if(t.length==0)throw RangeError("A selection needs at least one range");for(let i=0,s=0;s<t.length;s++){let r=t[s];if(r.empty?r.from<=i:r.from<i)return a.normalized(t.slice(),e);i=r.to}return new a(t,e)}static cursor(t,e=0,i,s){return ke.create(t,t,(e==0?0:e<0?8:16)|(i==null?7:Math.min(6,i)),s)}static range(t,e,i,s,r){let o=s==null?7:Math.min(6,s);if(!r&&t!=e)r=e<t?1:-1;if(r)o|=r<0?8:16;return e<t?ke.create(e,t,o|32,i):ke.create(t,e,o,i)}static undirectionalRange(t,e){return ke.create(t,e,64,void 0)}static normalized(t,e=0){let i=t[e];t.sort((s,r)=>s.from-r.from),e=t.indexOf(i);for(let s=1;s<t.length;s++){let r=t[s],o=t[s-1];if(r.empty?r.from<=o.to:r.from<o.to){let l=o.from,f=Math.max(r.to,o.to);if(s<=e)e--;t.splice(--s,2,r.anchor>r.head?a.range(f,l):a.range(l,f))}}return new a(t,e)}}function $r(t,e){for(let i of t.ranges)if(i.to>e)throw RangeError("Selection points outside of document")}var Qs=0;class h{constructor(t,e,i,s,r){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=s,this.id=Qs++,this.default=t([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(t={}){return new h(t.combine||((e)=>e),t.compareInput||((e,i)=>e===i),t.compare||(!t.combine?Zs:(e,i)=>e===i),!!t.static,t.enables)}of(t){return new ki([],this,0,t)}compute(t,e){if(this.isStatic)throw Error("Can't compute a static facet");return new ki(t,this,1,e)}computeN(t,e){if(this.isStatic)throw Error("Can't compute a static facet");return new ki(t,this,2,e)}from(t,e){if(!e)e=(i)=>i;return this.compute([t],(i)=>e(i.field(t)))}}function Zs(t,e){return t==e||t.length==e.length&&t.every((i,s)=>i===e[s])}class ki{constructor(t,e,i,s){this.dependencies=t,this.facet=e,this.type=i,this.value=s,this.id=Qs++}dynamicSlot(t){var e;let i=this.value,s=this.facet.compareInput,r=this.id,o=t[r]>>1,l=this.type==2,f=!1,c=!1,d=[];for(let g of this.dependencies)if(g=="doc")f=!0;else if(g=="selection")c=!0;else if((((e=t[g.id])!==null&&e!==void 0?e:1)&1)==0)d.push(t[g.id]);return{create(g){return g.values[o]=i(g),1},update(g,m){if(f&&m.docChanged||c&&(m.docChanged||m.selection)||qs(g,d)){let b=i(g);if(l?!_r(b,g.values[o],s):!s(b,g.values[o]))return g.values[o]=b,1}return 0},reconfigure:(g,m)=>{let b,y=m.config.address[r];if(y!=null){let w=es(m,y);if(this.dependencies.every((S)=>S instanceof h?m.facet(S)===g.facet(S):S instanceof de?m.field(S,!1)==g.field(S,!1):!0)||(l?_r(b=i(g),w,s):s(b=i(g),w)))return g.values[o]=w,0}else b=i(g);return g.values[o]=b,1}}}get extension(){return this}}function _r(t,e,i){if(t.length!=e.length)return!1;for(let s=0;s<t.length;s++)if(!i(t[s],e[s]))return!1;return!0}function qs(t,e){let i=!1;for(let s of e)if(Si(t,s)&1)i=!0;return i}function ra(t,e,i){let s=i.map((c)=>t[c.id]),r=i.map((c)=>c.type),o=s.filter((c)=>!(c&1)),l=t[e.id]>>1;function f(c){let d=[];for(let g=0;g<s.length;g++){let m=es(c,s[g]);if(r[g]==2)for(let b of m)d.push(b);else d.push(m)}return e.combine(d)}return{create(c){for(let d of s)Si(c,d);return c.values[l]=f(c),1},update(c,d){if(!qs(c,o))return 0;let g=f(c);if(e.compare(g,c.values[l]))return 0;return c.values[l]=g,1},reconfigure(c,d){let g=qs(c,s),m=d.config.facets[e.id],b=d.facet(e);if(m&&!g&&Zs(i,m))return c.values[l]=b,0;let y=f(c);if(e.compare(y,b))return c.values[l]=b,0;return c.values[l]=y,1}}}var Xi=h.define({static:!0});class de{constructor(t,e,i,s,r){this.id=t,this.createF=e,this.updateF=i,this.compareF=s,this.spec=r,this.provides=void 0}static define(t){let e=new de(Qs++,t.create,t.update,t.compare||((i,s)=>i===s),t);if(t.provide)e.provides=t.provide(e);return e}create(t){let e=t.facet(Xi).find((i)=>i.field==this);return((e===null||e===void 0?void 0:e.create)||this.createF)(t)}slot(t){let e=t[this.id]>>1;return{create:(i)=>(i.values[e]=this.create(i),1),update:(i,s)=>{let r=i.values[e],o=this.updateF(r,s);if(this.compareF(r,o))return 0;return i.values[e]=o,1},reconfigure:(i,s)=>{let r=i.facet(Xi),o=s.facet(Xi),l;if((l=r.find((f)=>f.field==this))&&l!=o.find((f)=>f.field==this))return i.values[e]=l.create(i),1;if(s.config.address[this.id]!=null)return i.values[e]=s.field(this),0;return i.values[e]=this.create(i),1}}}init(t){return[this,Xi.of({field:this,create:t})]}get extension(){return this}}var Ee={lowest:4,low:3,default:2,high:1,highest:0};function vi(t){return(e)=>new tn(e,t)}var ye={highest:vi(Ee.highest),high:vi(Ee.high),default:vi(Ee.default),low:vi(Ee.low),lowest:vi(Ee.lowest)};class tn{constructor(t,e){this.inner=t,this.prec=e}get extension(){return this}}class Je{of(t){return new Zi(this,t)}reconfigure(t){return Je.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class Zi{constructor(t,e){this.compartment=t,this.inner=e}get extension(){return this}}class ts{constructor(t,e,i,s,r,o){this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=s,this.staticValues=r,this.facets=o,this.statusTemplate=[];while(this.statusTemplate.length<i.length)this.statusTemplate.push(0)}staticFacet(t){let e=this.address[t.id];return e==null?t.default:this.staticValues[e>>1]}static resolve(t,e,i){let s=[],r=Object.create(null),o=new Map;for(let m of oa(t,e,o))if(m instanceof de)s.push(m);else(r[m.facet.id]||(r[m.facet.id]=[])).push(m);let l=Object.create(null),f=[],c=[];for(let m of s)l[m.id]=c.length<<1,c.push((b)=>m.slot(b));let d=i===null||i===void 0?void 0:i.config.facets;for(let m in r){let b=r[m],y=b[0].facet,w=d&&d[m]||[];if(b.every((S)=>S.type==0))if(l[y.id]=f.length<<1|1,Zs(w,b))f.push(i.facet(y));else{let S=y.combine(b.map((A)=>A.value));f.push(i&&y.compare(S,i.facet(y))?i.facet(y):S)}else{for(let S of b)if(S.type==0)l[S.id]=f.length<<1|1,f.push(S.value);else l[S.id]=c.length<<1,c.push((A)=>S.dynamicSlot(A));l[y.id]=c.length<<1,c.push((S)=>ra(S,y,b))}}let g=c.map((m)=>m(l));return new ts(t,o,g,l,f,r)}}function oa(t,e,i){let s=[[],[],[],[],[]],r=new Map;function o(l,f){let c=r.get(l);if(c!=null){if(c<=f)return;let d=s[c].indexOf(l);if(d>-1)s[c].splice(d,1);if(l instanceof Zi)i.delete(l.compartment)}if(r.set(l,f),Array.isArray(l))for(let d of l)o(d,f);else if(l instanceof Zi){if(i.has(l.compartment))throw RangeError("Duplicate use of compartment in extensions");let d=e.get(l.compartment)||l.inner;i.set(l.compartment,d),o(d,f)}else if(l instanceof tn)o(l.inner,l.prec);else if(l instanceof de){if(s[f].push(l),l.provides)o(l.provides,f)}else if(l instanceof ki){if(s[f].push(l),l.facet.extensions)o(l.facet.extensions,Ee.default)}else{let d=l.extension;if(!d)throw Error(`Unrecognized extension value in extension set (${l}).`);if(d==l)throw Error(`Unrecognized extension value in extension set (${l}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);o(d,f)}}return o(t,Ee.default),s.reduce((l,f)=>l.concat(f))}function Si(t,e){if(e&1)return 2;let i=e>>1,s=t.status[i];if(s==4)throw Error("Cyclic dependency between fields and/or facets");if(s&2)return s;t.status[i]=4;let r=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|r}function es(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var Ur=h.define(),js=h.define({combine:(t)=>t.some((e)=>e),static:!0}),Yr=h.define({combine:(t)=>t.length?t[0]:void 0,static:!0}),Xr=h.define(),Jr=h.define(),Gr=h.define(),Qr=h.define({combine:(t)=>t.length?t[0]:!1});class be{constructor(t,e){this.type=t,this.value=e}static define(){return new Zr}}class Zr{of(t){return new be(this,t)}}class to{constructor(t){this.map=t}of(t){return new C(this,t)}}class C{constructor(t,e){this.type=t,this.value=e}map(t){let e=this.type.map(this.value,t);return e===void 0?void 0:e==this.value?this:new C(this.type,e)}is(t){return this.type==t}static define(t={}){return new to(t.map||((e)=>e))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(let s of t){let r=s.map(e);if(r)i.push(r)}return i}}C.reconfigure=C.define();C.appendConfig=C.define();class Y{constructor(t,e,i,s,r,o){if(this.startState=t,this.changes=e,this.selection=i,this.effects=s,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i)$r(i,e.newLength);if(!r.some((l)=>l.type==Y.time))this.annotations=r.concat(Y.time.of(Date.now()))}static create(t,e,i,s,r,o){return new Y(t,e,i,s,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){if(!this._state)this.startState.applyTransaction(this);return this._state}annotation(t){for(let e of this.annotations)if(e.type==t)return e.value;return}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let e=this.annotation(Y.userEvent);return!!(e&&(e==t||e.length>t.length&&e.slice(0,t.length)==t&&e[t.length]=="."))}}Y.time=be.define();Y.userEvent=be.define();Y.addToHistory=be.define();Y.remote=be.define();function la(t,e){let i=[];for(let s=0,r=0;;){let o,l;if(s<t.length&&(r==e.length||e[r]>=t[s]))o=t[s++],l=t[s++];else if(r<e.length)o=e[r++],l=e[r++];else return i;if(!i.length||i[i.length-1]<o)i.push(o,l);else if(i[i.length-1]<l)i[i.length-1]=l}}function eo(t,e,i){var s;let r,o,l;if(i)r=e.changes,o=ee.empty(e.changes.length),l=t.changes.compose(e.changes);else r=e.changes.map(t.changes),o=t.changes.mapDesc(e.changes,!0),l=t.changes.compose(r);return{changes:l,selection:e.selection?e.selection.map(o):(s=t.selection)===null||s===void 0?void 0:s.map(r),effects:C.mapEffects(t.effects,r).concat(C.mapEffects(e.effects,o)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function $s(t,e,i){let s=e.selection,r=si(e.annotations);if(e.userEvent)r=r.concat(Y.userEvent.of(e.userEvent));return{changes:e.changes instanceof ee?e.changes:ee.of(e.changes||[],i,t.facet(Yr)),selection:s&&(s instanceof a?s:a.single(s.anchor,s.head)),effects:si(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function io(t,e,i){let s=$s(t,e.length?e[0]:{},t.doc.length);if(e.length&&e[0].filter===!1)i=!1;for(let o=1;o<e.length;o++){if(e[o].filter===!1)i=!1;let l=!!e[o].sequential;s=eo(s,$s(t,e[o],l?s.changes.newLength:t.doc.length),l)}let r=Y.create(t,s.changes,s.selection,s.effects,s.annotations,s.scrollIntoView);return aa(i?ha(r):r)}function ha(t){let e=t.startState,i=!0;for(let r of e.facet(Xr)){let o=r(t);if(o===!1){i=!1;break}if(Array.isArray(o))i=i===!0?o:la(i,o)}if(i!==!0){let r,o;if(i===!1)o=t.changes.invertedDesc,r=ee.empty(e.doc.length);else{let l=t.changes.filter(i);r=l.changes,o=l.filtered.mapDesc(l.changes).invertedDesc}t=Y.create(e,r,t.selection&&t.selection.map(o),C.mapEffects(t.effects,o),t.annotations,t.scrollIntoView)}let s=e.facet(Jr);for(let r=s.length-1;r>=0;r--){let o=s[r](t);if(o instanceof Y)t=o;else if(Array.isArray(o)&&o.length==1&&o[0]instanceof Y)t=o[0];else t=io(e,si(o),!1)}return t}function aa(t){let e=t.startState,i=e.facet(Gr),s=t;for(let r=i.length-1;r>=0;r--){let o=i[r](t);if(o&&Object.keys(o).length)s=eo(s,$s(e,o,t.changes.newLength),!0)}return s==t?t:Y.create(e,t.changes,t.selection,s.effects,s.annotations,s.scrollIntoView)}var fa=[];function si(t){return t==null?fa:Array.isArray(t)?t:[t]}var H=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(H||(H={})),ca=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Us;try{Us=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}function ua(t){if(Us)return Us.test(t);for(let e=0;e<t.length;e++){let i=t[e];if(/\w/.test(i)||i>""&&(i.toUpperCase()!=i.toLowerCase()||ca.test(i)))return!0}return!1}function da(t){return(e)=>{if(!/\S/.test(e))return H.Space;if(ua(e))return H.Word;for(let i=0;i<t.length;i++)if(e.indexOf(t[i])>-1)return H.Word;return H.Other}}class T{constructor(t,e,i,s,r,o){if(this.config=t,this.doc=e,this.selection=i,this.values=s,this.status=t.statusTemplate.slice(),this.computeSlot=r,o)o._state=this;for(let l=0;l<this.config.dynamicSlots.length;l++)Si(this,l<<1);this.computeSlot=null}field(t,e=!0){let i=this.config.address[t.id];if(i==null){if(e)throw RangeError("Field is not present in this state");return}return Si(this,i),es(this,i)}update(...t){return io(this,t,!0)}applyTransaction(t){let e=this.config,{base:i,compartments:s}=e;for(let l of t.effects)if(l.is(Je.reconfigure)){if(e)s=new Map,e.compartments.forEach((f,c)=>s.set(c,f)),e=null;s.set(l.value.compartment,l.value.extension)}else if(l.is(C.reconfigure))e=null,i=l.value;else if(l.is(C.appendConfig))e=null,i=si(i).concat(l.value);let r;if(!e)e=ts.resolve(i,s,this),r=new T(e,this.doc,this.selection,e.dynamicSlots.map(()=>null),(f,c)=>c.reconfigure(f,this),null).values;else r=t.startState.values.slice();let o=t.startState.facet(js)?t.newSelection:t.newSelection.asSingle();new T(e,t.newDoc,o,r,(l,f)=>f.update(l,t),t)}replaceSelection(t){if(typeof t=="string")t=this.toText(t);return this.changeByRange((e)=>({changes:{from:e.from,to:e.to,insert:t},range:a.cursor(e.from+t.length,-1)}))}changeByRange(t){let e=this.selection,i=t(e.ranges[0]),s=this.changes(i.changes),r=[i.range],o=si(i.effects);for(let l=1;l<e.ranges.length;l++){let f=t(e.ranges[l]),c=this.changes(f.changes),d=c.map(s);for(let m=0;m<l;m++)r[m]=r[m].map(d);let g=s.mapDesc(c,!0);r.push(f.range.map(g)),s=s.compose(d),o=C.mapEffects(o,d).concat(C.mapEffects(si(f.effects),g))}return{changes:s,selection:a.create(r,e.mainIndex),effects:o}}changes(t=[]){if(t instanceof ee)return t;return ee.of(t,this.doc.length,this.facet(T.lineSeparator))}toText(t){return M.of(t.split(this.facet(T.lineSeparator)||zs))}sliceDoc(t=0,e=this.doc.length){return this.doc.sliceString(t,e,this.lineBreak)}facet(t){let e=this.config.address[t.id];if(e==null)return t.default;return Si(this,e),es(this,e)}toJSON(t){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let i in t){let s=t[i];if(s instanceof de&&this.config.address[s.id]!=null)e[i]=s.spec.toJSON(this.field(t[i]),this)}return e}static fromJSON(t,e={},i){if(!t||typeof t.doc!="string")throw RangeError("Invalid JSON representation for EditorState");let s=[];if(i){for(let r in i)if(Object.prototype.hasOwnProperty.call(t,r)){let o=i[r],l=t[r];s.push(o.init((f)=>o.spec.fromJSON(l,f)))}}return T.create({doc:t.doc,selection:a.fromJSON(t.selection),extensions:e.extensions?s.concat([e.extensions]):s})}static create(t={}){let e=ts.resolve(t.extensions||[],new Map),i=t.doc instanceof M?t.doc:M.of((t.doc||"").split(e.staticFacet(T.lineSeparator)||zs)),s=!t.selection?a.single(0):t.selection instanceof a?t.selection:a.single(t.selection.anchor,t.selection.head);if($r(s,i.length),!e.staticFacet(js))s=s.asSingle();return new T(e,i,s,e.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(T.tabSize)}get lineBreak(){return this.facet(T.lineSeparator)||`
|
|
5
|
-
`}get readOnly(){return this.facet(Qr)}phrase(t,...e){for(let i of this.facet(T.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}if(e.length)t=t.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>e.length?i:e[r-1]});return t}languageDataAt(t,e,i=-1){let s=[];for(let r of this.facet(Ur))for(let o of r(this,e,i))if(Object.prototype.hasOwnProperty.call(o,t))s.push(o[t]);return s}charCategorizer(t){let e=this.languageDataAt("wordChars",t);return da(e.length?e[0]:"")}wordAt(t){let{text:e,from:i,length:s}=this.doc.lineAt(t),r=this.charCategorizer(t),o=t-i,l=t-i;while(o>0){let f=J(e,o,!1);if(r(e.slice(f,o))!=H.Word)break;o=f}while(l<s){let f=J(e,l);if(r(e.slice(l,f))!=H.Word)break;l=f}return o==l?null:a.range(o+i,l+i)}}T.allowMultipleSelections=js;T.tabSize=h.define({combine:(t)=>t.length?t[0]:4});T.lineSeparator=Yr;T.readOnly=Qr;T.phrases=h.define({compare(t,e){let i=Object.keys(t),s=Object.keys(e);return i.length==s.length&&i.every((r)=>t[r]==e[r])}});T.languageData=Ur;T.changeFilter=Xr;T.transactionFilter=Jr;T.transactionExtender=Gr;Je.reconfigure=C.define();function Ie(t,e,i={}){let s={};for(let r of t)for(let o of Object.keys(r)){let l=r[o],f=s[o];if(f===void 0)s[o]=l;else if(f===l||l===void 0);else if(Object.hasOwnProperty.call(i,o))s[o]=i[o](f,l);else throw Error("Config merge conflict for field "+o)}for(let r in e)if(s[r]===void 0)s[r]=e[r];return s}class Le{eq(t){return this==t}range(t,e=t){return Ci.create(t,e,this)}}Le.prototype.startSide=Le.prototype.endSide=0;Le.prototype.point=!1;Le.prototype.mapMode=he.TrackDel;function en(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}class Ci{constructor(t,e,i){this.from=t,this.to=e,this.value=i}static create(t,e,i){return new Ci(t,e,i)}}function Ys(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class sn{constructor(t,e,i,s){this.from=t,this.to=e,this.value=i,this.maxPoint=s}get length(){return ti(this.to)}findIndex(t,e,i,s=0){let r=i?this.to:this.from;for(let o=s,l=r.length;;){if(o==l)return o;let f=o+l>>1,c=r[f]-t||(i?this.value[f].endSide:this.value[f].startSide)-e;if(f==o)return c>=0?o:l;if(c>=0)l=f;else o=f+1}}between(t,e,i,s){for(let r=this.findIndex(e,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(s(this.from[r]+t,this.to[r]+t,this.value[r])===!1)return!1}map(t,e,i,s,r){let o=[],l=[],f=[],c=-1,d=-1;t:for(let g=0;g<this.value.length;g++){let m=this.value[g],b=this.from[g]+t,y=this.to[g]+t,w,S;if(b==y){let A=e.mapPos(b,m.startSide,m.mapMode);if(A==null)continue;if(w=S=A,m.startSide!=m.endSide){if(S=e.mapPos(b,m.endSide),S<w)continue}}else if(w=e.mapPos(b,m.startSide),S=e.mapPos(y,m.endSide),w>S||w==S&&m.startSide>0&&m.endSide<=0)continue;if((S-w||m.endSide-m.startSide)<0)continue;if(c<0)c=w;if(m.point)d=Math.max(d,S-w);if((w-i||m.startSide-s)>=0)o.push(m),l.push(w-c),f.push(S-c),i=S,s=m.endSide;else{if(w==S)for(let A=o.length;A>0;A--){if((w-(f[A-1]+c)||m.startSide-o[A-1].endSide)>=0){o.splice(A,0,m),l.splice(A,0,w-c),f.splice(A,0,S-c);continue t}if((w-(l[A-1]+c)||m.endSide-o[A-1].startSide)>0)break}r(w,S,m)}}return{mapped:o.length?new sn(l,f,o,d):null,pos:c}}}class Z{constructor(t,e,i,s){this.chunkPos=t,this.chunk=e,this.nextLayer=i,this.maxPoint=s}static create(t,e,i,s){return new Z(t,e,i,s)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let e of this.chunk)t+=e.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=t,o=t.filter;if(e.length==0&&!o)return this;if(i)e=e.slice().sort(Ys);if(this.isEmpty)return e.length?Z.of(e):this;let l=new rn(this,null,-1).goto(0),f=0,c=[],d=new De;while(l.value||f<e.length)if(f<e.length&&(l.from-e[f].from||l.startSide-e[f].value.startSide)>=0){let g=e[f++];if(!d.addInner(g.from,g.to,g.value,!1))c.push(g)}else if(l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(f==e.length||this.chunkEnd(l.chunkIndex)<e[f].from)&&(!o||s>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&d.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex]))l.nextChunk();else{if(!o||s>l.to||r<l.from||o(l.from,l.to,l.value)){if(!d.addInner(l.from,l.to,l.value,!1))c.push(Ci.create(l.from,l.to,l.value))}l.next()}return d.finishInner(this.nextLayer.isEmpty&&!c.length?Z.empty:this.nextLayer.update({add:c,filter:o,filterFrom:s,filterTo:r}))}map(t){if(t.empty||this.isEmpty)return this;let e=[],i=[],s=-1,r,o=(f,c,d)=>{if(!r)r=new De;r.addRange(f,c,d,!1)};for(let f=0;f<this.chunk.length;f++){let c=this.chunkPos[f],d=this.chunk[f],g=t.touchesRange(c,c+d.length);if(g===!1)s=Math.max(s,d.maxPoint),e.push(d),i.push(t.mapPos(c));else if(g===!0){let[m,b]=!e.length?[-1,-1]:[ti(i)+ti(e).length,ti(ti(e).value).endSide],{mapped:y,pos:w}=d.map(c,t,m,b,o);if(y)s=Math.max(s,y.maxPoint),e.push(y),i.push(w)}}let l=this.nextLayer.map(t);if(r)l=r.finishInner(l);return e.length==0?l:new Z(i,e,l||Z.empty,s)}between(t,e,i){if(this.isEmpty)return;for(let s=0;s<this.chunk.length;s++){let r=this.chunkPos[s],o=this.chunk[s];if(e>=r&&t<=r+o.length&&o.between(r,t-r,e-r,i)===!1)return}this.nextLayer.between(t,e,i)}iter(t=0){return Ai.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,e=0){return Ai.from(t).goto(e)}static compare(t,e,i,s,r=-1){let o=t.filter((g)=>g.maxPoint>0||!g.isEmpty&&g.maxPoint>=r),l=e.filter((g)=>g.maxPoint>0||!g.isEmpty&&g.maxPoint>=r),f=zr(o,l,i),c=new ei(o,f,r),d=new ei(l,f,r);if(i.iterGaps((g,m,b)=>Vr(c,g,d,m,b,s)),i.empty&&i.length==0)Vr(c,0,d,0,0,s)}static eq(t,e,i=0,s){if(s==null)s=999999999;let r=t.filter((d)=>!d.isEmpty&&e.indexOf(d)<0),o=e.filter((d)=>!d.isEmpty&&t.indexOf(d)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let l=zr(r,o),f=new ei(r,l,0).goto(i),c=new ei(o,l,0).goto(i);for(;;){if(f.to!=c.to||!Xs(f.active,c.active)||f.point&&(!c.point||!en(f.point,c.point)))return!1;if(f.to>s)return!0;f.next(),c.next()}}static spans(t,e,i,s,r=-1){let o=new ei(t,null,r).goto(e),l=e,f=o.openStart;for(;;){let c=Math.min(o.to,i);if(o.point){let d=o.activeForPoint(o.to),g=o.pointFrom<e?d.length+1:o.point.startSide<0?d.length:Math.min(d.length,f);s.point(l,c,o.point,d,g,o.pointRank),f=Math.min(o.openEnd(c),d.length)}else if(c>l)s.span(l,c,o.active,f),f=o.openEnd(c);if(o.to>i)return f+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(t,e=!1){let i=new De;for(let s of t instanceof Ci?[t]:e?pa(t):t)i.add(s.from,s.to,s.value);return i.finish()}static join(t){if(!t.length)return Z.empty;let e=ti(t);for(let i=t.length-2;i>=0;i--)for(let s=t[i];s!=Z.empty;s=s.nextLayer)e=new Z(s.chunkPos,s.chunk,e,Math.max(s.maxPoint,e.maxPoint));return e}}Z.empty=new Z([],[],null,-1);function ti(t){return t[t.length-1]}function pa(t){if(t.length>1)for(let e=t[0],i=1;i<t.length;i++){let s=t[i];if(Ys(e,s)>0)return t.slice().sort(Ys);e=s}return t}Z.empty.nextLayer=Z.empty;class De{finishChunk(t){if(this.chunks.push(new sn(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t)this.from=[],this.to=[],this.value=[]}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,e,i){this.addRange(t,e,i,!0)}addRange(t,e,i,s){if(!this.addInner(t,e,i,s))(this.nextLayer||(this.nextLayer=new De)).addRange(t,e,i,s)}addInner(t,e,i,s){let r=t-this.lastTo||i.startSide-this.last.endSide;if(s&&r<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw Error("Ranges must be added sorted by `from` position and `startSide`");if(r<0)return!1;if(this.from.length==250)this.finishChunk(!0);if(this.chunkStart<0)this.chunkStart=t;if(this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point)this.maxPoint=Math.max(this.maxPoint,e-t);return!0}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;if(this.from.length)this.finishChunk(!0);this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);let i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(Z.empty)}finishInner(t){if(this.from.length)this.finishChunk(!1);if(this.chunks.length==0)return t;let e=Z.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,e}}function zr(t,e,i){let s=new Map;for(let o of t)for(let l=0;l<o.chunk.length;l++)if(o.chunk[l].maxPoint<=0)s.set(o.chunk[l],o.chunkPos[l]);let r=new Set;for(let o of e)for(let l=0;l<o.chunk.length;l++){let f=s.get(o.chunk[l]);if(f!=null&&(i?i.mapPos(f):f)==o.chunkPos[l]&&!(i===null||i===void 0?void 0:i.touchesRange(f,f+o.chunk[l].length)))r.add(o.chunk[l])}return r}class rn{constructor(t,e,i,s=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=s}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){while(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(s)||this.layer.chunkEnd(this.chunkIndex)<t||s.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],e,!0);if(!i||this.rangeIndex<s)this.setRangeIndex(s)}this.next()}forward(t,e){if((this.to-t||this.endSide-e)<0)this.gotoInner(t,e,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],i=t+e.from[this.rangeIndex];if(this.from=i,this.to=t+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)while(this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]))this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}}class Ai{constructor(t){this.heap=t}static from(t,e=null,i=-1){let s=[];for(let r=0;r<t.length;r++)for(let o=t[r];!o.isEmpty;o=o.nextLayer)if(o.maxPoint>=i)s.push(new rn(o,e,i,r));return s.length==1?s[0]:new Ai(s)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(let i of this.heap)i.goto(t,e);for(let i=this.heap.length>>1;i>=0;i--)_s(this.heap,i);return this.next(),this}forward(t,e){for(let i of this.heap)i.forward(t,e);for(let i=this.heap.length>>1;i>=0;i--)_s(this.heap,i);if((this.to-t||this.value.endSide-e)<0)this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];if(this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value)t.next();_s(this.heap,0)}}}function _s(t,e){for(let i=t[e];;){let s=(e<<1)+1;if(s>=t.length)break;let r=t[s];if(s+1<t.length&&r.compare(t[s+1])>=0)r=t[s+1],s++;if(i.compare(r)<0)break;t[s]=i,t[e]=r,e=s}}class ei{constructor(t,e,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ai.from(t,e,i)}goto(t,e=-1e9){return this.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){while(this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){Ji(this.active,t),Ji(this.activeTo,t),Ji(this.activeRank,t),this.minActive=Kr(this.active,this.activeTo)}addActive(t){let e=0,{value:i,to:s,rank:r}=this.cursor;while(e<this.activeRank.length&&(r-this.activeRank[e]||s-this.activeTo[e])>0)e++;if(Gi(this.active,e,i),Gi(this.activeTo,e,s),Gi(this.activeRank,e,r),t)Gi(t,e,this.cursor.from);this.minActive=Kr(this.active,this.activeTo)}next(){let t=this.to,e=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>t){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}if(this.removeActive(s),i)Ji(i,s)}else if(!this.cursor.value){this.to=this.endSide=1e9;break}else if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}}if(i){this.openStart=0;for(let s=i.length-1;s>=0&&i[s]<t;s--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let e=[];for(let i=this.active.length-1;i>=0;i--){if(this.activeRank[i]<this.pointRank)break;if(this.activeTo[i]>t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)e.push(this.active[i])}return e.reverse()}openEnd(t){let e=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)e++;return e}}function Vr(t,e,i,s,r,o){t.goto(e),i.goto(s);let l=s+r,f=s,c=s-e,d=!!o.boundChange;for(let g=!1;;){let m=t.to+c-i.to,b=m||t.endSide-i.endSide,y=b<0?t.to+c:i.to,w=Math.min(y,l);if(t.point||i.point){if(!(t.point&&i.point&&en(t.point,i.point)&&Xs(t.activeForPoint(t.to),i.activeForPoint(i.to))))o.comparePoint(f,w,t.point,i.point);g=!1}else{if(g)o.boundChange(f),g=!1;if(w>f&&!Xs(t.active,i.active))o.compareRange(f,w,t.active,i.active);if(d&&w<l&&(m||t.openEnd(y)!=i.openEnd(y)))g=!0}if(y>l)break;if(f=y,b<=0)t.next();if(b>=0)i.next()}}function Xs(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!=e[i]&&!en(t[i],e[i]))return!1;return!0}function Ji(t,e){for(let i=e,s=t.length-1;i<s;i++)t[i]=t[i+1];t.pop()}function Gi(t,e,i){for(let s=t.length-1;s>=e;s--)t[s+1]=t[s];t[e]=i}function Kr(t,e){let i=-1,s=1e9;for(let r=0;r<e.length;r++)if((e[r]-s||t[r].endSide-t[i].endSide)<0)i=r,s=e[r];return i}function ve(t,e,i=t.length){let s=0;for(let r=0;r<i&&r<t.length;)if(t.charCodeAt(r)==9)s+=e-s%e,r++;else s++,r=J(t,r);return s}function so(t,e,i,s){for(let r=0,o=0;;){if(o>=e)return r;if(r==t.length)break;o+=t.charCodeAt(r)==9?i-o%i:1,r=J(t,r)}return s===!0?-1:t.length}var no=typeof Symbol>"u"?"__"+"ͼ":Symbol.for("ͼ"),on=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),ro=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class _t{constructor(t,e){this.rules=[];let{finish:i}=e||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,l,f,c){let d=[],g=/^@(\w+)\b/.exec(o[0]),m=g&&g[1]=="keyframes";if(g&&l==null)return f.push(o[0]+";");for(let b in l){let y=l[b];if(/&/.test(b))r(b.split(/,\s*/).map((w)=>o.map((S)=>w.replace(/&/,S))).reduce((w,S)=>w.concat(S)),y,f);else if(y&&typeof y=="object"){if(!g)throw RangeError("The value of a property ("+b+") should be a primitive value.");r(s(b),y,d,m)}else if(y!=null)d.push(b.replace(/_.*/,"").replace(/[A-Z]/g,(w)=>"-"+w.toLowerCase())+": "+y+";")}if(d.length||m)f.push((i&&!g&&!c?o.map(i):o).join(", ")+" {"+d.join(" ")+"}")}for(let o in t)r(s(o),t[o],this.rules)}getRules(){return this.rules.join(`
|
|
6
|
-
`)}static newName(){let t=ro[no]||1;return ro[no]=t+1,"ͼ"+t.toString(36)}static mount(t,e,i){let s=t[on],r=i&&i.nonce;if(!s)s=new lo(t,r);else if(r)s.setNonce(r);s.mount(Array.isArray(e)?e:[e],t)}}var oo=new Map;class lo{constructor(t,e){let i=t.ownerDocument||t,s=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&s.CSSStyleSheet){let r=oo.get(i);if(r)return t[on]=r;this.sheet=new s.CSSStyleSheet,oo.set(i,this)}else if(this.styleTag=i.createElement("style"),e)this.styleTag.setAttribute("nonce",e);this.modules=[],t[on]=this}mount(t,e){let i=this.sheet,s=0,r=0,o=!1;for(let l=0;l<t.length;l++){let f=t[l],c=this.modules.indexOf(f);if(c<r&&c>-1)this.modules.splice(c,1),o=!0,r--,c=-1;if(c==-1){if(this.modules.splice(r++,0,f),o=!0,i)for(let d=0;d<f.rules.length;d++)i.insertRule(f.rules[d],s++)}else{while(r<c)s+=this.modules[r++].rules.length;s+=f.rules.length,r++}}if(i){if(e.adoptedStyleSheets.indexOf(this.sheet)<0)e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets]}else{if(o){let f="";for(let c=0;c<this.modules.length;c++)f+=this.modules[c].getRules()+`
|
|
7
|
-
`;this.styleTag.textContent=f}let l=e.head||e;if(this.styleTag.parentNode!=l)l.insertBefore(this.styleTag,l.firstChild)}}setNonce(t){if(this.styleTag&&this.styleTag.getAttribute("nonce")!=t)this.styleTag.setAttribute("nonce",t)}}var ue={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},oi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},ga=typeof navigator<"u"&&/Mac/.test(navigator.platform),ma=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(ct=0;ct<10;ct++)ue[48+ct]=ue[96+ct]=String(ct);var ct;for(ct=1;ct<=24;ct++)ue[ct+111]="F"+ct;var ct;for(ct=65;ct<=90;ct++)ue[ct]=String.fromCharCode(ct+32),oi[ct]=String.fromCharCode(ct);var ct;for(Mi in ue)if(!oi.hasOwnProperty(Mi))oi[Mi]=ue[Mi];var Mi;function ho(t){var e=ga&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||ma&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?oi:ue)[t.keyCode]||t.key||"Unidentified";if(i=="Esc")i="Escape";if(i=="Del")i="Delete";if(i=="Left")i="ArrowLeft";if(i=="Up")i="ArrowUp";if(i=="Right")i="ArrowRight";if(i=="Down")i="ArrowDown";return i}function te(){var t=arguments[0];if(typeof t=="string")t=document.createElement(t);var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){var r=i[s];if(typeof r=="string")t.setAttribute(s,r);else if(r!=null)t[s]=r}e++}for(;e<arguments.length;e++)ao(t,arguments[e]);return t}function ao(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e==null);else if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var i=0;i<e.length;i++)ao(t,e[i]);else throw RangeError("Unsupported child node: "+e)}var St=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},dn=typeof document<"u"?document:{documentElement:{style:{}}},pn=/Edge\/(\d+)/.exec(St.userAgent),Ko=/MSIE \d/.test(St.userAgent),mn=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(St.userAgent),Os=!!(Ko||mn||pn),fo=!Os&&/gecko\/(\d+)/i.test(St.userAgent),ln=!Os&&/Chrome\/(\d+)/.exec(St.userAgent),co="webkitFontSmoothing"in dn.documentElement.style,Cn=!Os&&/Apple Computer/.test(St.vendor),uo=Cn&&(/Mobile\/\w+/.test(St.userAgent)||St.maxTouchPoints>2),I={mac:uo||/Mac/.test(St.platform),windows:/Win/.test(St.platform),linux:/Linux|X11/.test(St.platform),ie:Os,ie_version:Ko?dn.documentMode||6:mn?+mn[1]:pn?+pn[1]:0,gecko:fo,gecko_version:fo?+(/Firefox\/(\d+)/.exec(St.userAgent)||[0,0])[1]:0,chrome:!!ln,chrome_version:ln?+ln[1]:0,ios:uo,android:/Android\b/.test(St.userAgent),webkit:co,webkit_version:co?+(/\bAppleWebKit\/(\d+)/.exec(St.userAgent)||[0,0])[1]:0,safari:Cn,safari_version:Cn?+(/\bVersion\/(\d+(\.\d+)?)/.exec(St.userAgent)||[0,0])[1]:0,tabSize:dn.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Jn(t,e){for(let i in t)if(i=="class"&&e.class)e.class+=" "+t.class;else if(i=="style"&&e.style)e.style+=";"+t.style;else e[i]=t[i];return e}var ws=Object.create(null);function Gn(t,e,i){if(t==e)return!0;if(!t)t=ws;if(!e)e=ws;let s=Object.keys(t),r=Object.keys(e);if(s.length-0!=r.length-0)return!1;for(let o of s)if(o!=i&&(r.indexOf(o)==-1||t[o]!==e[o]))return!1;return!0}function ba(t,e){for(let i=t.attributes.length-1;i>=0;i--){let s=t.attributes[i].name;if(e[s]==null)t.removeAttribute(s)}for(let i in e){let s=e[i];if(i=="style")t.style.cssText=s;else if(t.getAttribute(i)!=s)t.setAttribute(i,s)}}function po(t,e,i){let s=!1;if(e){for(let r in e)if(!(i&&(r in i)))if(s=!0,r=="style")t.style.cssText="";else t.removeAttribute(r)}if(i){for(let r in i)if(!(e&&e[r]==i[r]))if(s=!0,r=="style")t.style.cssText=i[r];else t.setAttribute(r,i[r])}return s}function ya(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let s=t.attributes[i];e[s.name]=s.value}return e}class et{eq(t){return!1}updateDOM(t,e,i){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,e,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}}var wt=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(wt||(wt={}));class v extends Le{constructor(t,e,i,s){super();this.startSide=t,this.endSide=e,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(t){return new Fi(t)}static widget(t){let e=Math.max(-1e4,Math.min(1e4,t.side||0)),i=!!t.block;return e+=i&&!t.inlineOrder?e>0?300000000:-400000000:e>0?1e8:-1e8,new Ke(t,e,e,i,t.widget||null,!1)}static replace(t){let e=!!t.block,i,s;if(t.isBlockGap)i=-500000000,s=400000000;else{let{start:r,end:o}=qo(t,e);i=(r?e?-300000000:-1:500000000)-1,s=(o?e?200000000:1:-600000000)+1}return new Ke(t,i,s,e,t.widget||null,!0)}static line(t){return new Wi(t)}static set(t,e=!1){return Z.of(t,e)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}v.none=Z.empty;class Fi extends v{constructor(t){let{start:e,end:i}=qo(t);super(e?-1:500000000,i?1:-600000000,null,t);this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?Jn(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||ws}eq(t){return this==t||t instanceof Fi&&this.tagName==t.tagName&&Gn(this.attrs,t.attrs)}range(t,e=t){if(t>=e)throw RangeError("Mark decorations may not be empty");return super.range(t,e)}}Fi.prototype.point=!1;class Wi extends v{constructor(t){super(-200000000,-200000000,null,t)}eq(t){return t instanceof Wi&&this.spec.class==t.spec.class&&Gn(this.spec.attributes,t.spec.attributes)}range(t,e=t){if(e!=t)throw RangeError("Line decoration ranges must be zero-length");return super.range(t,e)}}Wi.prototype.mapMode=he.TrackBefore;Wi.prototype.point=!0;class Ke extends v{constructor(t,e,i,s,r,o){super(e,i,r,t);this.block=s,this.isReplace=o,this.mapMode=!s?he.TrackDel:e<=0?he.TrackBefore:he.TrackAfter}get type(){return this.startSide!=this.endSide?wt.WidgetRange:this.startSide<=0?wt.WidgetBefore:wt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof Ke&&wa(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,e=t){if(this.isReplace&&(t>e||t==e&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=t)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(t,e)}}Ke.prototype.point=!0;function qo(t,e=!1){let{inclusiveStart:i,inclusiveEnd:s}=t;if(i==null)i=t.inclusive;if(s==null)s=t.inclusive;return{start:i!==null&&i!==void 0?i:e,end:s!==null&&s!==void 0?s:e}}function wa(t,e){return t==e||!!(t&&e&&t.compare(e))}function fi(t,e,i,s=0){let r=i.length-1;if(r>=0&&i[r]+s>=t)i[r]=Math.max(i[r],e);else i.push(t,e)}class Ei extends Le{constructor(t,e,i){super();this.tagName=t,this.attributes=e,this.rank=i}eq(t){return t==this||t instanceof Ei&&this.tagName==t.tagName&&Gn(this.attributes,t.attributes)}static create(t){return new Ei(t.tagName,t.attributes||ws,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,e=!1){return Z.of(t,e)}}Ei.prototype.startSide=Ei.prototype.endSide=-1;var pt=(t)=>t.nodeType==1,di=(t)=>t.nodeType==3;function Ii(t){let e;if(t.nodeType==11)e=t.getSelection?t:t.ownerDocument;else e=t;return e.getSelection()}function An(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Ri(t,e){if(!e.anchorNode)return!1;try{return An(t,e.anchorNode)}catch(i){return!1}}function as(t){if(di(t))return Ni(t,0,t.nodeValue.length).getClientRects();else if(pt(t))return t.getClientRects();else return[]}function Li(t,e,i,s){return i?go(t,e,i,s,-1)||go(t,e,i,s,1):!1}function Me(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function xs(t){return pt(t)&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function go(t,e,i,s,r){for(;;){if(t==i&&e==s)return!0;if(e==(r<0?0:we(t))){if(t.nodeName=="DIV")return!1;let o=t.parentNode;if(!o||!pt(o))return!1;e=Me(t)+(r<0?0:1),t=o}else if(pt(t)){if(t=t.childNodes[e+(r<0?-1:0)],pt(t)&&(t.nodeName=="IMG"||t.nodeName=="BR"||t.contentEditable=="false"))return!1;e=r<0?we(t):0}else return!1}}function we(t){return di(t)?t.nodeValue.length:t.childNodes.length}function vs(t,e){let{left:i,right:s}=t;if(i==s)return t;let r=e?i:s;return{left:r,right:r,top:t.top,bottom:t.bottom}}function xa(t){let e=t.visualViewport;if(e)return{left:0,right:e.width,top:0,bottom:e.height};return{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function jo(t,e){let i=e.width/t.offsetWidth,s=e.height/t.offsetHeight;if(i>0.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)i=1;if(s>0.995&&s<1.005||!isFinite(s)||Math.abs(e.height-t.offsetHeight)<1)s=1;return{scaleX:i,scaleY:s}}function va(t,e,i,s,r,o,l,f){let c=t.ownerDocument,d=c.defaultView||window;for(let g=t,m=!1;g&&!m;)if(pt(g)){let b,y=g==c.body,w=1,S=1,A=!0,R=!0;if(y)b=xa(d);else{let q=getComputedStyle(g);if(/^(fixed|sticky)$/.test(q.position))m=!0;if(g.scrollHeight<=g.clientHeight||!/auto|scroll/.test(q.overflowY))R=!1;if(g.scrollWidth<=g.clientWidth||!/auto|scroll/.test(q.overflowX))A=!1;if(!A&&!R){g=g.assignedSlot||g.parentNode;continue}let B=g.getBoundingClientRect();({scaleX:w,scaleY:S}=jo(g,B)),b={left:B.left,right:B.left+g.clientWidth*w,top:B.top,bottom:B.top+g.clientHeight*S}}let L=0,_=0;if(!R);else if(r=="nearest"){if(e.top<b.top+l){if(_=e.top-(b.top+l),i>0&&e.bottom>b.bottom+_)_=e.bottom-b.bottom+l}else if(e.bottom>b.bottom-l){if(_=e.bottom-b.bottom+l,i<0&&e.top-_<b.top)_=e.top-(b.top+l)}}else{let q=e.bottom-e.top,B=b.bottom-b.top;_=(r=="center"&&q<=B?e.top+q/2-B/2:r=="start"||r=="center"&&i<0?e.top-l:e.bottom-B+l)-b.top}if(!A);else if(s=="nearest"){if(e.left<b.left+o){if(L=e.left-(b.left+o),i>0&&e.right>b.right+L)L=e.right-b.right+o}else if(e.right>b.right-o){if(L=e.right-b.right+o,i<0&&e.left<b.left+L)L=e.left-(b.left+o)}}else L=(s=="center"?e.left+(e.right-e.left)/2-(b.right-b.left)/2:s=="start"==f?e.left-o:e.right-(b.right-b.left)+o)-b.left;if(L||_)if(y)d.scrollBy(L,_);else{let q=0,B=0;if(_){let V=g.scrollTop;g.scrollTop+=_/S,B=(g.scrollTop-V)*S}if(L){let V=g.scrollLeft;g.scrollLeft+=L/w,q=(g.scrollLeft-V)*w}if(e={left:e.left-q,top:e.top-B,right:e.right-q,bottom:e.bottom-B},q&&Math.abs(q-L)<1)s="nearest";if(B&&Math.abs(B-_)<1)r="nearest"}if(y)break;if(e.top<b.top||e.bottom>b.bottom||e.left<b.left||e.right>b.right)e={left:Math.max(e.left,b.left),right:Math.min(e.right,b.right),top:Math.max(e.top,b.top),bottom:Math.min(e.bottom,b.bottom)};g=g.assignedSlot||g.parentNode}else if(g.nodeType==11)g=g.host;else break}function $o(t,e=!0){let i=t.ownerDocument,s=null,r=null;for(let o=t.parentNode;o;)if(o==i.body||(!e||s)&&r)break;else if(pt(o)){if(!r&&o.scrollHeight>o.clientHeight&&/scroll|auto/.test(getComputedStyle(o).overflowY))r=o;if(e&&!s&&o.scrollWidth>o.clientWidth&&/scroll|auto/.test(getComputedStyle(o).overflowX))s=o;o=o.assignedSlot||o.parentNode}else if(o.nodeType==11)o=o.host;else break;return{x:s,y:r}}class Uo{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:e,focusNode:i}=t;this.set(e,Math.min(t.anchorOffset,e?we(e):0),i,Math.min(t.focusOffset,i?we(i):0))}set(t,e,i,s){this.anchorNode=t,this.anchorOffset=e,this.focusNode=i,this.focusOffset=s}}function Yo(t){let e=[];for(let i=t;i;i=i.nodeType==11?i.host:i.parentNode)if(pt(i))e.push({node:i,left:i.scrollLeft,top:i.scrollTop});return e}function Xo(t,e=!0){for(let{node:i,left:s,top:r}of t){if(e&&i.scrollTop!=r)i.scrollTop=r;if(i.scrollLeft!=s)i.scrollLeft=s}}var He=null;if(I.safari&&I.safari_version>=26)He=!1;function Jo(t){if(t.setActive)return t.setActive();if(He)return t.focus(He);let e=Yo(t);if(t.focus(He==null?{get preventScroll(){return He={preventScroll:!0},!0}}:void 0),!He)He=!1,Xo(e)}var mo;function Ni(t,e,i=e){let s=mo||(mo=document.createRange());return s.setEnd(t,i),s.setStart(t,e),s}function ci(t,e,i,s){let r={key:e,code:e,keyCode:i,which:i,cancelable:!0};if(s)({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=s);let o=new KeyboardEvent("keydown",r);o.synthetic=!0,t.dispatchEvent(o);let l=new KeyboardEvent("keyup",r);return l.synthetic=!0,t.dispatchEvent(l),o.defaultPrevented||l.defaultPrevented}function ka(t){while(t){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function Sa(t,e){let{focusNode:i,focusOffset:s}=e;if(!i||e.anchorNode!=i||e.anchorOffset!=s)return!1;s=Math.min(s,we(i));for(;;)if(s){if(!pt(i))return!1;let r=i.childNodes[s-1];if(r.contentEditable=="false")s--;else i=r,s=we(i)}else if(i==t)return!0;else s=Me(i),i=i.parentNode}function Go(t){if(t instanceof Window)return t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4);return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function Qo(t,e){for(let i=t,s=e;;)if(di(i)&&s>0)return{node:i,offset:s};else if(pt(i)&&s>0){if(i.contentEditable=="false")return null;i=i.childNodes[s-1],s=we(i)}else if(i.parentNode&&!xs(i))s=Me(i),i=i.parentNode;else return null}function Zo(t,e){for(let i=t,s=e;;)if(di(i)&&s<i.nodeValue.length)return{node:i,offset:s};else if(pt(i)&&s<i.childNodes.length){if(i.contentEditable=="false")return null;i=i.childNodes[s],s=0}else if(i.parentNode&&!xs(i))s=Me(i)+1,i=i.parentNode;else return null}class qt{constructor(t,e,i=!0){this.node=t,this.offset=e,this.precise=i}static before(t,e){return new qt(t.parentNode,Me(t),e)}static after(t,e){return new qt(t.parentNode,Me(t)+1,e)}}var F=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(F||(F={})),pi=F.LTR,Zn=F.RTL;function tl(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}var Ca=tl("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Aa=tl("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Mn=Object.create(null),Zt=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);Mn[e]=i,Mn[i]=-e}function el(t){return t<=247?Ca[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?Aa[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var Ma=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class jt{get dir(){return this.level%2?Zn:pi}constructor(t,e,i){this.from=t,this.to=e,this.level=i}side(t,e){return this.dir==e==t?this.to:this.from}forward(t,e){return t==(this.dir==e)}static find(t,e,i,s){let r=-1;for(let o=0;o<t.length;o++){let l=t[o];if(l.from<=e&&l.to>=e){if(l.level==i)return o;if(r<0||(s!=0?s<0?l.from<e:l.to>e:t[r].level>l.level))r=o}}if(r<0)throw RangeError("Index out of range");return r}}function il(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let s=t[i],r=e[i];if(s.from!=r.from||s.to!=r.to||s.direction!=r.direction||!il(s.inner,r.inner))return!1}return!0}var ht=[];function Oa(t,e,i,s,r){for(let o=0;o<=s.length;o++){let l=o?s[o-1].to:e,f=o<s.length?s[o].from:i,c=o?256:r;for(let d=l,g=c,m=c;d<f;d++){let b=el(t.charCodeAt(d));if(b==512)b=g;else if(b==8&&m==4)b=16;if(ht[d]=b==4?2:b,b&7)m=b;g=b}for(let d=l,g=c,m=c;d<f;d++){let b=ht[d];if(b==128)if(d<f-1&&g==ht[d+1]&&g&24)b=ht[d]=g;else ht[d]=256;else if(b==64){let y=d+1;while(y<f&&ht[y]==64)y++;let w=d&&g==8||y<i&&ht[y]==8?m==1?1:8:256;for(let S=d;S<y;S++)ht[S]=w;d=y-1}else if(b==8&&m==1)ht[d]=1;if(g=b,b&7)m=b}}}function Da(t,e,i,s,r){let o=r==1?2:1;for(let l=0,f=0,c=0;l<=s.length;l++){let d=l?s[l-1].to:e,g=l<s.length?s[l].from:i;for(let m=d,b,y,w;m<g;m++)if(y=Mn[b=t.charCodeAt(m)])if(y<0){for(let S=f-3;S>=0;S-=3)if(Zt[S+1]==-y){let A=Zt[S+2],R=A&2?r:!(A&4)?0:A&1?o:r;if(R)ht[m]=ht[Zt[S]]=R;f=S;break}}else if(Zt.length==189)break;else Zt[f++]=m,Zt[f++]=b,Zt[f++]=c;else if((w=ht[m])==2||w==1){let S=w==r;c=S?0:1;for(let A=f-3;A>=0;A-=3){let R=Zt[A+2];if(R&2)break;if(S)Zt[A+2]|=2;else{if(R&4)break;Zt[A+2]|=4}}}}}function Ba(t,e,i,s){for(let r=0,o=s;r<=i.length;r++){let l=r?i[r-1].to:t,f=r<i.length?i[r].from:e;for(let c=l;c<f;){let d=ht[c];if(d==256){let g=c+1;for(;;)if(g==f){if(r==i.length)break;g=i[r++].to,f=r<i.length?i[r].from:e}else if(ht[g]==256)g++;else break;let m=o==1,b=(g<e?ht[g]:s)==1,y=m==b?m?1:2:s;for(let w=g,S=r,A=S?i[S-1].to:t;w>c;){if(w==A)w=i[--S].from,A=S?i[S-1].to:t;ht[--w]=y}c=g}else o=d,c++}}}function On(t,e,i,s,r,o,l){let f=s%2?2:1;if(s%2==r%2)for(let c=e,d=0;c<i;){let g=!0,m=!1;if(d==o.length||c<o[d].from){let S=ht[c];if(S!=f)g=!1,m=S==16}let b=!g&&f==1?[]:null,y=g?s:s+1,w=c;t:for(;;)if(d<o.length&&w==o[d].from){if(m)break t;let S=o[d];if(!g)for(let A=S.to,R=d+1;;){if(A==i)break t;if(R<o.length&&o[R].from==A)A=o[R++].to;else if(ht[A]==f)break t;else break}if(d++,b)b.push(S);else{if(S.from>c)l.push(new jt(c,S.from,y));let A=S.direction==pi!=!(y%2);Dn(t,A?s+1:s,r,S.inner,S.from,S.to,l),c=S.to}w=S.to}else if(w==i||(g?ht[w]!=f:ht[w]==f))break;else w++;if(b)On(t,c,w,s+1,r,b,l);else if(c<w)l.push(new jt(c,w,y));c=w}else for(let c=i,d=o.length;c>e;){let g=!0,m=!1;if(!d||c>o[d-1].to){let S=ht[c-1];if(S!=f)g=!1,m=S==16}let b=!g&&f==1?[]:null,y=g?s:s+1,w=c;t:for(;;)if(d&&w==o[d-1].to){if(m)break t;let S=o[--d];if(!g)for(let A=S.from,R=d;;){if(A==e)break t;if(R&&o[R-1].to==A)A=o[--R].from;else if(ht[A-1]==f)break t;else break}if(b)b.push(S);else{if(S.to<c)l.push(new jt(S.to,c,y));let A=S.direction==pi!=!(y%2);Dn(t,A?s+1:s,r,S.inner,S.from,S.to,l),c=S.from}w=S.from}else if(w==e||(g?ht[w-1]!=f:ht[w-1]==f))break;else w--;if(b)On(t,w,c,s+1,r,b,l);else if(w<c)l.push(new jt(w,c,y));c=w}}function Dn(t,e,i,s,r,o,l){let f=e%2?2:1;Oa(t,r,o,s,f),Da(t,r,o,s,f),Ba(r,o,s,f),On(t,r,o,e,i,s,l)}function Ta(t,e,i){if(!t)return[new jt(0,0,e==Zn?1:0)];if(e==pi&&!i.length&&!Ma.test(t))return sl(t.length);if(i.length)while(t.length>ht.length)ht[ht.length]=256;let s=[],r=e==pi?0:1;return Dn(t,r,r,i,0,t.length,s),s}function sl(t){return[new jt(0,t,0)]}var nl="";function Ra(t,e,i,s,r){var o;if(!t.length)return null;let l=s.head-t.from,f;if(s.head==t.from&&s.assoc<0){if(!r)return null;l=e[f=0].side(!1,i)}else if(s.head==t.to&&s.assoc>0){if(r)return null;l=e[f=e.length-1].side(!0,i)}else f=jt.find(e,l,(o=s.bidiLevel)!==null&&o!==void 0?o:-1,s.assoc);let c=e[f],d=c.side(r,i);if(l==d){let b=f+=r?1:-1;if(b<0||b>=e.length)return null;c=e[f=b],l=c.side(!r,i),d=c.side(r,i)}let g=J(t.text,l,c.forward(r,i));if(g<c.from||g>c.to)g=d;nl=t.text.slice(Math.min(l,g),Math.max(l,g));let m=f==(r?e.length-1:0)?null:e[f+(r?1:-1)];if(g==d){if(!m)return r?a.cursor(t.to,1):a.cursor(t.from,-1);if(m.level+(r?0:1)<c.level)return a.cursor(m.side(!r,i)+t.from,m.forward(r,i)?1:-1,m.level)}return a.cursor(g+t.from,c.forward(r,i)?-1:1,c.level)}function La(t,e,i){for(let s=e;s<i;s++){let r=el(t.charCodeAt(s));if(r==1)return pi;if(r==2||r==4)return Zn}}var rl=h.define(),ol=h.define(),ll=h.define(),hl=h.define(),Bn=h.define(),al=h.define(),fl=h.define(),tr=h.define(),er=h.define(),cl=h.define({combine:(t)=>t.some((e)=>e)}),ul=h.define({combine:(t)=>t.some((e)=>e)}),dl=h.define();class ui{constructor(t,e,i,s,r,o=!1){this.range=t,this.y=e,this.x=i,this.yMargin=s,this.xMargin=r,this.isSnapshot=o}map(t){return t.empty?this:new ui(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new ui(a.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}var is=C.define({map:(t,e)=>t.map(e)}),pl=C.define();function $t(t,e,i){let s=t.facet(hl);if(s.length)s[0](e);else if(window.onerror&&window.onerror(String(e),i,void 0,void 0,e));else if(i)console.error(i+":",e);else console.error(e)}var pe=h.define({combine:(t)=>t.length?t[0]:!0}),Pa=0,hi=h.define({combine(t){return t.filter((e,i)=>{for(let s=0;s<i;s++)if(t[s].plugin==e.plugin)return!1;return!0})}});class fe{constructor(t,e,i,s,r){this.id=t,this.create=e,this.domEventHandlers=i,this.domEventObservers=s,this.baseExtensions=r(this),this.extension=this.baseExtensions.concat(hi.of({plugin:this,arg:void 0}))}of(t){return this.baseExtensions.concat(hi.of({plugin:this,arg:t}))}static define(t,e){let{eventHandlers:i,eventObservers:s,provide:r,decorations:o}=e||{};return new fe(Pa++,t,i,s,(l)=>{let f=[];if(o)f.push(Ds.of((c)=>{let d=c.plugin(l);return d?o(d):v.none}));if(r)f.push(r(l));return f})}static fromClass(t,e){return fe.define((i,s)=>new t(i,s),e)}}class fs{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(!this.value){if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(e){$t(t.state,e,"CodeMirror plugin crashed"),this.deactivate()}}else if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(i){if($t(e.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(s){}this.deactivate()}}return this}destroy(t){var e;if((e=this.value)===null||e===void 0?void 0:e.destroy)try{this.value.destroy()}catch(i){$t(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}var gl=h.define(),ir=h.define(),Ds=h.define(),ml=h.define(),sr=h.define(),_i=h.define(),bl=h.define();function bo(t,e){let i=t.state.facet(bl);if(!i.length)return i;let s=i.map((o)=>o instanceof Function?o(t):o),r=[];return Z.spans(s,e.from,e.to,{point(){},span(o,l,f,c){let d=o-e.from,g=l-e.from,m=r;for(let b=f.length-1;b>=0;b--,c--){let y=f[b].spec.bidiIsolate,w;if(c>0&&m.length&&(w=m[m.length-1]).to==d&&w.direction==y)w.to=g,m=w.inner;else{let S={from:d,to:g,direction:y,inner:[]};m.push(S),m=S.inner}}}}),yl(e.text,r)}function yl(t,e){for(let i of e){if(i.direction==null){for(let s=i.from,r=0;s<i.to;r++){let o=r<i.inner.length?i.inner[r]:null,l=La(t,s,o?o.from:i.to);if(l){i.direction=l;break}if(!o)break;s=o.to}if(i.direction==null)i.direction=F.LTR}yl(t,i.inner)}return e}var wl=h.define();function xl(t){let e=0,i=0,s=0,r=0;for(let o of t.state.facet(wl)){let l=o(t);if(l){if(l.left!=null)e=Math.max(e,l.left);if(l.right!=null)i=Math.max(i,l.right);if(l.top!=null)s=Math.max(s,l.top);if(l.bottom!=null)r=Math.max(r,l.bottom)}}return{left:e,right:i,top:s,bottom:r}}var Oi=h.define();class Wt{constructor(t,e,i,s){this.fromA=t,this.toA=e,this.fromB=i,this.toB=s}join(t){return new Wt(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;e>0;e--){let s=t[e-1];if(s.fromA>i.toA)continue;if(s.toA<i.fromA)break;i=i.join(s),t.splice(e-1,1)}return t.splice(e,0,i),t}static extendWithRanges(t,e){if(e.length==0)return t;let i=[];for(let s=0,r=0,o=0;;){let l=s<t.length?t[s].fromB:1e9,f=r<e.length?e[r]:1e9,c=Math.min(l,f);if(c==1e9)break;let d=c+o,g=c,m=d;for(;;)if(r<e.length&&e[r]<=g){let b=e[r+1];r+=2,g=Math.max(g,b);for(let y=s;y<t.length&&t[y].fromB<=g;y++)o=t[y].toA-t[y].toB;m=Math.max(m,b+o)}else if(s<t.length&&t[s].fromB<=g){let b=t[s++];g=Math.max(g,b.toB),m=Math.max(m,b.toA),o=b.toA-b.toB}else break;i.push(new Wt(d,m,c,g))}return i}}class ks{constructor(t,e,i){this.view=t,this.state=e,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=ee.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let s=[];this.changes.iterChangedRanges((r,o,l,f)=>s.push(new Wt(r,o,l,f))),this.changedRanges=s}static create(t,e,i){return new ks(t,e,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((t)=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}var Ea=[];class ut{constructor(t,e,i=0){this.dom=t,this.length=e,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return Ea}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let e=this.domAttrs;if(e)ba(this.dom,e)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,e=this.posAtStart){let i=e;for(let s of this.children){if(s==t)return i;i+=s.length+s.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,e,i){return null}domPosFor(t,e){let i=Me(this.dom),s=this.length?t>0:e>0;return new qt(this.parent.dom,i+(s?1:0),t==0||t==this.length)}markDirty(t){if(this.flags&=-3,t)this.flags|=4;if(this.parent&&this.parent.flags&2)this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof Vi)return t;return null}static get(t){return t.cmTile}}class zi extends ut{constructor(t){super(t,0);this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let e=this.dom,i=null,s,r=(t===null||t===void 0?void 0:t.node)==e?t:null,o=0;for(let l of this.children){if(l.sync(t),o+=l.length+l.breakAfter,s=i?i.nextSibling:e.firstChild,r&&s!=l.dom)r.written=!0;if(l.dom.parentNode==e)while(s&&s!=l.dom)s=yo(s);else e.insertBefore(l.dom,s);i=l.dom}if(s=i?i.nextSibling:e.firstChild,r&&s)r.written=!0;while(s)s=yo(s);this.length=o}}function yo(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Vi extends zi{constructor(t,e){super(e);this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let e=ut.get(t);if(e&&this.owns(e))return e;t=t.parentNode}}blockTiles(t){for(let e=[],i=this,s=0,r=0;;)if(s==i.children.length){if(!e.length)return;if(i=i.parent,i.breakAfter)r++;s=e.pop()}else{let o=i.children[s++];if(o instanceof ge)e.push(s),i=o,s=0;else{let l=r+o.length,f=t(o,r);if(f!==void 0)return f;r=l+o.breakAfter}}}resolveBlock(t,e){let i,s=-1,r,o=-1;if(this.blockTiles((l,f)=>{let c=f+l.length;if(t>=f&&t<=c){if(l.isWidget()&&e>=-1&&e<=1){if(l.flags&32)return!0;if(l.flags&16)i=void 0}if((f<t||t==c&&(e<-1?l.length:l.covers(1)))&&(!i||!l.isWidget()&&i.isWidget()))i=l,s=t-f;if((c>t||t==f&&(e>1?l.length:l.covers(-1)))&&(!r||!l.isWidget()&&r.isWidget()))r=l,o=t-f}}),!i&&!r)throw Error("No tile at position "+t);return i&&e<0||!r?{tile:i,offset:s}:{tile:r,offset:o}}}class ge extends zi{constructor(t,e){super(t);this.wrapper=e}isBlock(){return!0}covers(t){if(!this.children.length)return!1;return t<0?this.children[0].covers(-1):this.lastChild.covers(1)}get domAttrs(){return this.wrapper.attributes}static of(t,e){let i=new ge(e||document.createElement(t.tagName),t);if(!e)i.flags|=4;return i}}class gi extends zi{constructor(t,e){super(t);this.attrs=e}isLine(){return!0}static start(t,e,i){let s=new gi(e||document.createElement("div"),t);if(!e||!i)s.flags|=4;return s}get domAttrs(){return this.attrs}resolveInline(t,e,i=!1){let s=null,r=-1,o=null,l=-1;function f(d,g){for(let m=0,b=0;m<d.children.length&&b<=g;m++){let y=d.children[m],w=b+y.length;if(w>=g){if(y.isComposite())f(y,g-b);else if((!o||i&&o.isHidden&&(e>0&&!(o.flags&32)||i&&Na(o,y)))&&(w>g||y.flags&32&&e<=1))o=y,l=g-b;else if(b<g||y.flags&16&&!(i&&y.isHidden)&&e>=-1)s=y,r=g-b}b=w}}f(this,t);let c=(e<0?s:o)||s||o;return c?{tile:c,offset:c==s?r:l}:null}coordsIn(t,e,i){let s=this.resolveInline(t,e,!0);if(!s)return Ia(this);return s.tile.coordsIn(Math.max(0,s.offset),e,i)}domIn(t,e){let i=this.resolveInline(t,e);if(i){let{tile:s,offset:r}=i;if(this.dom.contains(s.dom)){if(s.isText())return new qt(s.dom,Math.min(s.dom.nodeValue.length,r));return s.domPosFor(r,s.flags&16?1:s.flags&32?-1:e)}let o=i.tile.parent,l=!1;for(let f of o.children){if(l)return new qt(f.dom,0);if(f==i.tile)l=!0}}return new qt(this.dom,0)}}function Ia(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=as(e);return i[i.length-1]||null}function Na(t,e){let i=t.coordsIn(0,1),s=e.coordsIn(0,1);return i&&s&&s.top<i.bottom}class Bt extends zi{constructor(t,e){super(t);this.mark=e}get domAttrs(){return this.mark.attrs}static of(t,e){let i=new Bt(e||document.createElement(t.tagName),t);if(!e)i.flags|=4;return i}}class _e extends ut{constructor(t,e){super(t,e.length);this.text=e}sync(t){if(this.flags&2)return;if(super.sync(t),this.dom.nodeValue!=this.text){if(t&&t.node==this.dom)t.written=!0;this.dom.nodeValue=this.text}}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(t,e,i){let s=this.dom.nodeValue.length;if(t>s)t=s;let r=t,o=t,l=0;if(t==0&&e<0||t==s&&e>=0){if(!(I.chrome||I.gecko)){if(t)r--,l=1;else if(o<s)o++,l=-1}}else if(e<0)r--;else if(o<s)o++;let f=Ni(this.dom,r,o).getClientRects();if(!f.length)return null;let c=f[(l?l<0:e>=0)?0:f.length-1];if(I.safari&&!l&&c.width==0)c=Array.prototype.find.call(f,(d)=>d.width)||c;return i==null?c:vs(c,(l?l>0:e<0)==i)}static of(t,e){let i=new _e(e||document.createTextNode(t),t);if(!e)i.flags|=2;return i}}class qe extends ut{constructor(t,e,i,s){super(t,e,s);this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){if(this.flags&48)return!1;return(this.flags&(t<0?64:128))>0}coordsIn(t,e){return this.coordsInWidget(t,e,!1)}coordsInWidget(t,e,i){let s=this.widget.coordsAt(this.dom,t,e);if(s)return s;if(i)return vs(this.dom.getBoundingClientRect(),this.length?t==0:e<=0);else{let r=this.dom.getClientRects(),o=null;if(!r.length)return null;let l=this.flags&16?!0:this.flags&32?!1:t>0;for(let f=l?r.length-1:0;;f+=l?-1:1)if(o=r[f],t>0?f==0:f==r.length-1||o.top<o.bottom)break;return vs(o,!l)}}get overrideDOMText(){if(!this.length)return M.empty;let{root:t}=this;if(!t)return M.empty;let e=this.posAtStart;return t.view.state.doc.slice(e,e+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(t,e,i,s,r){if(!r){if(r=t.toDOM(e),!t.editable)r.contentEditable="false"}return new qe(r,i,t,s)}}class Hi extends ut{constructor(t){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true");super(e,0,t)}get isHidden(){return!0}get overrideDOMText(){return M.empty}coordsIn(t,e,i){let s=this.dom.getBoundingClientRect();return i==null?s:vs(s,e>0==i)}}class vl{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,e,i){let{tile:s,index:r,beforeBreak:o,parents:l}=this;while(t||e>0)if(!s.isComposite()){let f=s.length;if(r<f&&t){let c=Math.min(t,f-r);if(i)i.skip(s,r,r+c);t-=c,r+=c}if(r==f)o=!!s.breakAfter,{tile:s,index:r}=l.pop(),r++;else if(!t)break}else if(o){if(!t)break;if(i)i.break();t--,o=!1}else if(r==s.children.length){if(!t&&!l.length)break;if(i)i.leave(s);o=!!s.breakAfter,{tile:s,index:r}=l.pop(),r++}else{let f=s.children[r],c=f.breakAfter;if((e>0?f.length<=t:f.length<t)&&(!i||i.skip(f,0,f.length)!==!1||!f.isComposite))o=!!c,r++,t-=f.length;else if(l.push({tile:s,index:r}),s=f,r=0,i&&f.isComposite())i.enter(f)}return this.tile=s,this.index=r,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class kl{constructor(t,e,i,s){this.from=t,this.to=e,this.wrapper=i,this.rank=s}}class Sl{constructor(t,e,i){this.cache=t,this.root=e,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(t,e,i,s){var r;this.flushBuffer();let o=this.ensureMarks(e,i),l=o.lastChild;if(l&&l.isText()&&!(l.flags&8)&&l.length+t.length<512){this.cache.reused.set(l,2);let f=o.children[o.children.length-1]=new _e(l.dom,l.text+t);f.parent=o}else o.append(s||_e.of(t,(r=this.cache.find(_e))===null||r===void 0?void 0:r.dom));this.pos+=t.length,this.afterWidget=null}addComposition(t,e){let i=this.curLine;if(i.dom!=e.line.dom)i.setDOM(this.cache.reused.has(e.line)?hn(e.line.dom):e.line.dom),this.cache.reused.set(e.line,2);let s=i;for(let l=e.marks.length-1;l>=0;l--){let f=e.marks[l],c=s.lastChild;if(c instanceof Bt&&c.mark.eq(f.mark)){if(c.dom!=f.dom)c.setDOM(hn(f.dom));s=c}else{let{dom:d}=f;if(this.cache.reused.get(f)){if(ut.get(f.dom))d=hn(f.dom)}let g=Bt.of(f.mark,d);s.append(g),s=g}this.cache.reused.set(f,2)}let r=ut.get(t.text);if(r)this.cache.reused.set(r,2);let o=new _e(t.text,t.text.nodeValue);o.flags|=8,this.pos=t.range.toB,s.append(o)}addInlineWidget(t,e,i){let s=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);if(!s)this.flushBuffer();let r=this.ensureMarks(e,i);if(!s&&!(t.flags&16))r.append(this.getBuffer(1));r.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,e,i){this.flushBuffer(),this.ensureMarks(e,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let e=this.afterWidget||this.lastBlock;e.length+=t,this.pos+=t}addLineStart(t,e){var i;if(!t)t=Ol;let s=gi.start(t,e||((i=this.cache.find(gi))===null||i===void 0?void 0:i.dom),!!e);this.getBlockPos().append(this.lastBlock=this.curLine=s)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){if(!this.blockPosCovered())this.addLineStart(t)}ensureLine(t){if(!this.curLine)this.addLineStart(t)}ensureMarks(t,e){var i;let s=this.curLine;for(let r=t.length-1;r>=0;r--){let o=t[r],l;if(e>0&&(l=s.lastChild)&&l instanceof Bt&&l.mark.eq(o))s=l,e--;else{let f=Bt.of(o,(i=this.cache.find(Bt,(c)=>c.mark.eq(o)))===null||i===void 0?void 0:i.dom);s.append(f),s=f,e=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;if(!t||!wo(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(I.ios&&wo(this.curLine,!0)))this.curLine.append(this.cache.findWidget(an,0,32)||new qe(an.toDOM(),0,an,32));this.curLine=this.afterWidget=null}}updateBlockWrappers(){if(this.wrapperPos>this.pos+1e4)this.blockWrappers.goto(this.pos),this.wrappers.length=0;for(let t=this.wrappers.length-1;t>=0;t--)if(this.wrappers[t].to<this.pos)this.wrappers.splice(t,1);for(let t=this.blockWrappers;t.value&&t.from<=this.pos;t.next())if(t.to>=this.pos){let e=t.rank*102+t.value.rank,i=new kl(t.from,t.to,t.value,e),s=this.wrappers.length;while(s>0&&(this.wrappers[s-1].rank-i.rank||this.wrappers[s-1].to-i.to)<0)s--;this.wrappers.splice(s,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let e=this.root;for(let i of this.wrappers){let s=e.lastChild;if(i.from<this.pos&&s instanceof ge&&s.wrapper.eq(i.wrapper))e=s;else{let r=ge.of(i.wrapper,(t=this.cache.find(ge,(o)=>o.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);e.append(r),e=r}}return e}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let e=2|(t<0?16:32),i=this.cache.find(Hi,void 0,1);if(i)i.flags=e;return i||new Hi(e)}flushBuffer(){if(this.afterWidget&&!(this.afterWidget.flags&32))this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null}}class Cl{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){if(this.textOff+t<=this.text.length)this.textOff+=t;else this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0}next(t){if(this.textOff==this.text.length){let{value:s,lineBreak:r,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw Error("Ran out of text content when drawing inline views");this.text=s;let l=this.textOff=Math.min(t,s.length);return r?null:s.slice(0,l)}let e=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,e);return this.textOff=e,i}}var Ss=[qe,gi,_e,Bt,Hi,ge,Vi];for(let t=0;t<Ss.length;t++)Ss[t].bucket=t;class Al{constructor(t){this.view=t,this.buckets=Ss.map(()=>[]),this.index=Ss.map(()=>0),this.reused=new Map}add(t){let e=t.constructor.bucket,i=this.buckets[e];if(i.length<6)i.push(t);else i[this.index[e]=(this.index[e]+1)%6]=t}find(t,e,i=2){let s=t.bucket,r=this.buckets[s],o=this.index[s];for(let l=0;l<r.length;l++){let f=(l+o)%r.length,c=r[f];if((!e||e(c))&&!this.reused.has(c)){if(r.splice(f,1),f<o)this.index[s]--;return this.reused.set(c,i),c}}return null}findWidget(t,e,i){let s=this.buckets[0];if(s.length)for(let r=0,o=0;;r++){if(r==s.length){if(o)return null;o=1,r=0}let l=s[r];if(!this.reused.has(l)&&(o==0?l.widget.compare(t):l.widget.constructor==t.constructor&&t.updateDOM(l.dom,this.view,l.widget))){if(s.splice(r,1),r<this.index[0])this.index[0]--;if(l.widget==t&&l.length==e&&(l.flags&497)==i)return this.reused.set(l,1),l;else return this.reused.set(l,2),new qe(l.dom,e,t,l.flags&-498|i)}}}reuse(t){return this.reused.set(t,1),t}maybeReuse(t,e=2){if(this.reused.has(t))return;return this.reused.set(t,e),t.dom}clear(){for(let t=0;t<this.buckets.length;t++)this.buckets[t].length=this.index[t]=0}}class Ml{constructor(t,e,i,s,r){this.view=t,this.decorations=s,this.disallowBlockEffectsFor=r,this.openWidget=!1,this.openMarks=0,this.cache=new Al(t),this.text=new Cl(t.state.doc),this.builder=new Sl(this.cache,new Vi(t,t.contentDOM),Z.iter(i)),this.cache.reused.set(e,2),this.old=new vl(e),this.reuseWalker={skip:(o,l,f)=>{if(this.cache.add(o),o.isComposite())return!1},enter:(o)=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(t,e){let i=e&&this.getCompositionContext(e.text);for(let s=0,r=0,o=0;;){let l=o<t.length?t[o++]:null,f=l?l.fromA:this.old.root.length;if(f>s){let c=f-s;this.preserve(c,!o,!l),s=f,r+=c}if(!l)break;if(e&&l.fromA<=e.range.fromA&&l.toA>=e.range.toA)this.forward(l.fromA,e.range.fromA,e.range.fromA<e.range.toA?1:-1),this.emit(r,e.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(e,i),this.text.skip(e.range.toB-e.range.fromB),this.forward(e.range.fromA,l.toA),this.emit(e.range.toB,l.toB);else this.forward(l.fromA,l.toA),this.emit(r,l.toB);r=l.toB,s=l.toA}if(this.builder.curLine)this.builder.endLine();return this.builder.root}preserve(t,e,i){let s=Wa(this.old),r=this.openMarks;this.old.advance(t,i?1:-1,{skip:(o,l,f)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(f-l);else{let c=f>0||l<o.length?qe.of(o.widget,this.view,f-l,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);if(c.flags&256)c.flags&=-2,this.builder.addBlockWidget(c);else this.builder.ensureLine(null),this.builder.addInlineWidget(c,s,r),r=s.length}else if(o.isText()){if(this.builder.ensureLine(null),!l&&f==o.length&&!this.cache.reused.has(o))this.builder.addText(o.text,s,r,this.cache.reuse(o));else this.cache.add(o),this.builder.addText(o.text.slice(l,f),s,r);r=s.length}else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof Hi)this.cache.add(o);else if(o instanceof Bt)this.builder.ensureLine(null),this.builder.addMark(o,s,r),this.cache.reused.set(o,1),r=s.length;else return!1;this.openWidget=!1},enter:(o)=>{if(o.isLine())this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o));else if(this.cache.add(o),o instanceof Bt)s.unshift(o.mark);this.openWidget=!1},leave:(o)=>{if(o.isLine()){if(s.length)s.length=r=0}else if(o instanceof Bt)s.shift(),r=Math.min(r,s.length)},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,e){let i=null,s=this.builder,r=-1,o=Z.spans(this.decorations,t,e,{point:(l,f,c,d,g,m)=>{if(c instanceof Ke){if(this.disallowBlockEffectsFor[m]){if(c.block)throw RangeError("Block decorations may not be specified via plugins");if(f>this.view.state.doc.lineAt(l).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=d.length,g>d.length)s.continueWidget(f-l);else{let b=c.widget||(c.block?je.block:je.inline),y=Ha(c),w=this.cache.findWidget(b,f-l,y)||qe.of(b,this.view,f-l,y);if(c.block){if(c.startSide>0)s.addLineStartIfNotCovered(i);s.addBlockWidget(w)}else s.ensureLine(i),s.addInlineWidget(w,d,g)}i=null}else i=Fa(i,c);if(f>l)this.text.skip(f-l)},span:(l,f,c,d)=>{for(let g=l;g<f;){let m=this.text.next(Math.min(512,f-g));if(m==null)s.addLineStartIfNotCovered(i),s.addBreak(),g++;else s.ensureLine(i),s.addText(m,c,g==l?d:c.length),g+=m.length;i=null}r=c.length}});if(r>-1)this.openWidget=o>r;if(!this.openWidget)s.addLineStartIfNotCovered(i);this.openMarks=o}forward(t,e,i=1){if(e-t<=10)this.old.advance(e-t,i,this.reuseWalker);else this.old.advance(5,-1,this.reuseWalker),this.old.advance(e-t-10,-1),this.old.advance(5,i,this.reuseWalker)}getCompositionContext(t){let e=[],i=null;for(let s=t.parentNode;;s=s.parentNode){let r=ut.get(s);if(s==this.view.contentDOM)break;if(r instanceof Bt)e.push(r);else if(r===null||r===void 0?void 0:r.isLine())i=r;else if(r instanceof ge);else if(s.nodeName=="DIV"&&!i)i=new gi(s,Ol);else if(!i)e.push(Bt.of(new Fi({tagName:s.nodeName.toLowerCase(),attributes:ya(s)}),s))}if(!i)return null;return{line:i,marks:e}}}function wo(t,e){let i=(s)=>{for(let r of s.children)if((e?r.isText():r.length)||i(r))return!0;return!1};return i(t)}function Ha(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;if(t.block)e|=256;return e}var Ol={class:"cm-line"};function Fa(t,e){let i=e.spec.attributes,s=e.spec.class;if(!i&&!s)return t;if(!t)t={class:"cm-line"};if(i)Jn(i,t);if(s)t.class+=" "+s;return t}function Wa(t){let e=[];for(let i=t.parents.length;i>1;i--){let s=i==t.parents.length?t.tile:t.parents[i].tile;if(s instanceof Bt)e.push(s.mark)}return e}function hn(t){let e=ut.get(t);if(e)e.setDOM(t.cloneNode());return t}class je extends et{constructor(t){super();this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}je.inline=new je("span");je.block=new je("div");var an=new class extends et{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Rn{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=v.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Vi(t,t.contentDOM),this.updateInner([new Wt(0,0,0,t.state.doc.length)],null)}update(t){var e;let i=t.changedRanges;if(this.minWidth>0&&i.length)if(!i.every(({fromA:d,toA:g})=>g<this.minWidthFrom||d>this.minWidthTo))this.minWidth=this.minWidthFrom=this.minWidthTo=0;else this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1);this.updateEditContextFormatting(t);let s=-1;if(this.view.inputState.composing>=0&&!this.view.observer.editContext){if((e=this.domChanged)===null||e===void 0?void 0:e.newSel)s=this.domChanged.newSel.head;else if(!Ua(t.changes,this.hasComposition)&&!t.selectionSet)s=t.state.selection.main.head}let r=s>-1?za(this.view,t.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:g}=this.hasComposition;i=new Wt(d,g,t.changes.mapPos(d,-1),t.changes.mapPos(g,1)).addToSet(i.slice())}if(this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(I.ie||I.chrome)&&!r&&t&&t.state.doc.lines!=t.startState.doc.lines)this.forceSelection=!0;let o=this.decorations,l=this.blockWrappers;this.updateDeco();let f=qa(o,this.decorations,t.changes);if(f.length)i=Wt.extendWithRanges(i,f);let c=ja(l,this.blockWrappers,t.changes);if(c.length)i=Wt.extendWithRanges(i,c);if(r&&!i.some((d)=>d.fromA<=r.range.fromA&&d.toA>=r.range.toA))i=r.range.addToSet(i.slice());if(this.tile.flags&2&&i.length==0)return!1;else{if(this.updateInner(i,r),t.transactions.length)this.lastUpdate=Date.now();return!0}}updateInner(t,e){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(e||t.length){let o=this.tile,l=new Ml(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);if(e&&ut.get(e.text))l.cache.reused.set(ut.get(e.text),2);this.tile=l.run(t,e),Ln(o,l.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=I.chrome||I.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;if(this.tile.sync(r),r&&(r.written||i.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node)))this.forceSelection=!0;this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length){for(let r of this.tile.children)if(r.isWidget()&&r.widget instanceof cs)s.push(r.dom)}i.updateGaps(s)}updateEditContextFormatting(t){this.editContextFormatting=this.editContextFormatting.map(t.changes);for(let e of t.transactions)for(let i of e.effects)if(i.is(pl))this.editContextFormatting=i.value}updateSelection(t=!1,e=!1){if(t||!this.view.observer.selectionRange.focusNode)this.view.observer.readSelectionRange();let{dom:i}=this.tile,s=this.view.root.activeElement,r=s==i,o=!r&&!(this.view.state.facet(pe)||i.tabIndex>-1)&&Ri(i,this.view.observer.selectionRange)&&!(s&&i.contains(s));if(!(r||e||o))return;let l=this.forceSelection;this.forceSelection=!1;let f=this.view.state.selection.main,c,d;if(f.empty)d=c=this.inlineDOMNearPos(f.anchor,f.assoc||1);else d=this.inlineDOMNearPos(f.head,f.head==f.from?1:-1),c=this.inlineDOMNearPos(f.anchor,f.anchor==f.from?1:-1);if(I.gecko&&f.empty&&!this.hasComposition&&_a(c)){let m=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(m,c.node.childNodes[c.offset]||null)),c=d=new qt(m,0),l=!0}let g=this.view.observer.selectionRange;if(l||!g.focusNode||(!Li(c.node,c.offset,g.anchorNode,g.anchorOffset)||!Li(d.node,d.offset,g.focusNode,g.focusOffset))&&!this.suppressWidgetCursorChange(g,f))this.view.observer.ignore(()=>{if(I.android&&I.chrome&&i.contains(g.focusNode)&&$a(g.focusNode,i))i.blur(),i.focus({preventScroll:!0});let m=Ii(this.view.root);if(!m);else if(f.empty){if(I.gecko){let b=Va(c.node,c.offset);if(b&&b!=3){let y=(b==1?Qo:Zo)(c.node,c.offset);if(y)c=new qt(y.node,y.offset)}}if(m.collapse(c.node,c.offset),f.bidiLevel!=null&&m.caretBidiLevel!==void 0)m.caretBidiLevel=f.bidiLevel}else if(m.extend){m.collapse(c.node,c.offset);try{m.extend(d.node,d.offset)}catch(b){}}else{let b=document.createRange();if(f.anchor>f.head)[c,d]=[d,c];b.setEnd(d.node,d.offset),b.setStart(c.node,c.offset),m.removeAllRanges(),m.addRange(b)}if(o&&this.view.root.activeElement==i){if(i.blur(),s)s.focus()}}),this.view.observer.setSelectionRange(c,d);this.impreciseAnchor=c.precise?null:new qt(g.anchorNode,g.anchorOffset),this.impreciseHead=d.precise?null:new qt(g.focusNode,g.focusOffset)}suppressWidgetCursorChange(t,e){return this.hasComposition&&e.empty&&Li(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,e=t.state.selection.main,i=Ii(t.root),{anchorNode:s,anchorOffset:r}=t.observer.selectionRange;if(!i||!e.empty||!e.assoc||!i.modify)return;let o=this.lineAt(e.head,e.assoc);if(!o)return;let l=o.posAtStart;if(e.head==l||e.head==l+o.length)return;let f=this.coordsAt(e.head,-1),c=this.coordsAt(e.head,1);if(!f||!c||f.bottom>c.top)return;let d=this.domAtPos(e.head+e.assoc,e.assoc);i.collapse(d.node,d.offset),i.modify("move",e.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let g=t.observer.selectionRange;if(t.docView.posFromDOM(g.anchorNode,g.anchorOffset)!=e.from)i.collapse(s,r)}posFromDOM(t,e){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let s=i.posAtStart;if(i.isComposite()){let r;if(t==i.dom)r=i.dom.childNodes[e];else{let o=we(t)==0?0:e==0?-1:1;for(;;){let l=t.parentNode;if(l==i.dom)break;if(o==0&&l.firstChild!=l.lastChild)if(t==l.firstChild)o=-1;else o=1;t=l}if(o<0)r=t;else r=t.nextSibling}if(r==i.dom.firstChild)return s;while(r&&!ut.get(r))r=r.nextSibling;if(!r)return s+i.length;for(let o=0,l=s;;o++){let f=i.children[o];if(f.dom==r)return l;l+=f.length+f.breakAfter}}else if(i.isText())return t==i.dom?s+e:s+(e?i.length:0);else return s}domAtPos(t,e){let{tile:i,offset:s}=this.tile.resolveBlock(t,e);if(i.isWidget())return i.domPosFor(s,e);return i.domIn(s,e)}inlineDOMNearPos(t,e){let i,s=-1,r=!1,o,l=-1,f=!1;if(this.tile.blockTiles((c,d)=>{if(c.isWidget()){if(c.flags&32&&d>=t)return!0;if(c.flags&16)r=!0}else{let g=d+c.length;if(d<=t)i=c,s=t-d,r=g<t;if(g>=t&&!o)o=c,l=t-d,f=d>t;if(d>t&&o)return!0}}),!i&&!o)return this.domAtPos(t,e);if(r&&o)i=null;else if(f&&i)o=null;return i&&e<0||!o?i.domIn(s,e):o.domIn(l,e)}coordsAt(t,e,i){let{tile:s,offset:r}=this.tile.resolveBlock(t,e);if(s.isWidget()){if(s.widget instanceof cs)return null;return s.coordsInWidget(r,e,!0)}return s.coordsIn(r,e,i)}lineAt(t,e){let{tile:i}=this.tile.resolveBlock(t,e);return i.isLine()?i:null}coordsForChar(t){let{tile:e,offset:i}=this.tile.resolveBlock(t,1);if(!e.isLine())return null;function s(r,o){if(r.isComposite())for(let l of r.children){if(l.length>=o){let f=s(l,o);if(f)return f}if(o-=l.length,o<0)break}else if(r.isText()&&o<r.length){let l=J(r.text,o);if(l==o)return null;let f=Ni(r.dom,o,l).getClientRects();for(let c=0;c<f.length;c++){let d=f[c];if(c==f.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return s(e,i)}measureVisibleLineHeights(t){let e=[],{from:i,to:s}=t,r=this.view.contentDOM.clientWidth,o=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,f=this.view.textDirection==F.LTR,c=0,d=(g,m,b)=>{for(let y=0;y<g.children.length;y++){if(m>s)break;let w=g.children[y],S=m+w.length,A=w.dom.getBoundingClientRect(),{height:R}=A;if(b&&!y)c+=A.top-b.top;if(w instanceof ge){if(S>i)d(w,m,A)}else if(m>=i){if(c>0)e.push(-c);if(e.push(R+c),c=0,o){let L=w.dom.lastChild,_=L?as(L):[];if(_.length){let q=_[_.length-1],B=f?q.right-A.left:A.right-q.left;if(B>l)l=B,this.minWidth=r,this.minWidthFrom=m,this.minWidthTo=S}}}if(b&&y==g.children.length-1)c+=b.bottom-A.bottom;m=S+w.breakAfter}};return d(this.tile,0,null),e}textDirectionAt(t){let{tile:e}=this.tile.resolveBlock(t,1);return getComputedStyle(e.dom).direction=="rtl"?F.RTL:F.LTR}measureTextSize(){let t=this.tile.blockTiles((o)=>{if(o.isLine()&&o.children.length&&o.length<=20){let l=0,f;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let d=as(c.dom);if(d.length!=1)return;l+=d[0].width,f=d[0].height}if(l)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:l/o.length,textHeight:f}}});if(t)return t;let e=document.createElement("div"),i,s,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(e);let o=as(e.firstChild)[0];i=e.getBoundingClientRect().height,s=o&&o.width?o.width/27:7,r=o&&o.height?o.height:i,e.remove()}),{lineHeight:i,charWidth:s,textHeight:r}}computeBlockGapDeco(){let t=[],e=this.view.viewState;for(let i=0,s=0;;s++){let r=s==e.viewports.length?null:e.viewports[s],o=r?r.from-1:this.view.state.doc.length;if(o>i){let l=(e.lineBlockAt(o).bottom-e.lineBlockAt(i).top)/this.view.scaleY;t.push(v.replace({widget:new cs(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!r)break;i=r.to+1}return v.set(t)}updateDeco(){let t=1,e=this.view.state.facet(Ds).map((r)=>(this.dynamicDecorationMap[t++]=typeof r=="function")?r(this.view):r),i=!1,s=this.view.state.facet(sr).map((r,o)=>{let l=typeof r=="function";if(l)i=!0;return l?r(this.view):r});if(s.length)this.dynamicDecorationMap[t++]=i,e.push(Z.join(s));this.decorations=[this.editContextFormatting,...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];while(t<this.decorations.length)this.dynamicDecorationMap[t++]=!1;this.blockWrappers=this.view.state.facet(ml).map((r)=>typeof r=="function"?r(this.view):r)}scrollIntoView(t){if(t.isSnapshot){let c=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=c.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let c of this.view.state.facet(dl))try{if(c(this.view,t.range,t))return!0}catch(d){$t(this.view.state,d,"scroll handler")}let{range:e}=t,i=this.coordsAt(e.head,e.assoc||(e.head>e.anchor?-1:1)),s;if(!i)return;if(!e.empty&&(s=this.coordsAt(e.anchor,e.anchor>e.head?-1:1)))i={left:Math.min(i.left,s.left),top:Math.min(i.top,s.top),right:Math.max(i.right,s.right),bottom:Math.max(i.bottom,s.bottom)};let r=xl(this.view),o={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:l,offsetHeight:f}=this.view.scrollDOM;if(va(this.view.scrollDOM,o,e.head<e.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,l),-l),Math.max(Math.min(t.yMargin,f),-f),this.view.textDirection==F.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(e.head,1);if(c){let d=Yo(c.dom);c.dom.scrollIntoView({block:"nearest"}),Xo(d,!1)}}}lineHasWidget(t){let e=(i)=>i.isWidget()||i.children.some(e);return e(this.tile.resolveBlock(t,1).tile)}destroy(){Ln(this.tile)}}function Ln(t,e){let i=e===null||e===void 0?void 0:e.get(t);if(i!=1){if(i==null)t.destroy();for(let s of t.children)Ln(s,e)}}function _a(t){return pt(t.node)&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function Dl(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let s=Qo(i.focusNode,i.focusOffset),r=Zo(i.focusNode,i.focusOffset),o=s||r;if(r&&s&&r.node!=s.node){let f=ut.get(r.node);if(!f||f.isText()&&f.text!=r.node.nodeValue)o=r;else if(t.docView.lastCompositionAfterCursor){let c=ut.get(s.node);if(!(!c||c.isText()&&c.text!=s.node.nodeValue))o=r}}if(t.docView.lastCompositionAfterCursor=o!=s,!o)return null;let l=e-o.offset;return{from:l,to:l+o.node.nodeValue.length,node:o.node}}function za(t,e,i){let s=Dl(t,i);if(!s)return null;let{node:r,from:o,to:l}=s,f=r.nodeValue;if(/[\n\r]/.test(f))return null;if(t.state.doc.sliceString(s.from,s.to)!=f)return null;let c=e.invertedDesc;return{range:new Wt(c.mapPos(o),c.mapPos(l),o,l),text:r}}function Va(t,e){if(!pt(t))return 0;return(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var Ka=class{constructor(){this.changes=[]}compareRange(e,i){fi(e,i,this.changes)}comparePoint(e,i){fi(e,i,this.changes)}boundChange(e){fi(e,e,this.changes)}};function qa(t,e,i){let s=new Ka;return Z.compare(t,e,i,s),s.changes}class Bl{constructor(){this.changes=[]}compareRange(t,e){fi(t,e,this.changes)}comparePoint(){}boundChange(t){fi(t,t,this.changes)}}function ja(t,e,i){let s=new Bl;return Z.compare(t,e,i,s),s.changes}function $a(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(pt(i)&&i.contentEditable=="false")return!0;return!1}function Ua(t,e){let i=!1;if(e)t.iterChangedRanges((s,r)=>{if(s<e.to&&r>e.from)i=!0});return i}class cs extends et{constructor(t){super();this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function Ya(t,e,i=1){let s=t.charCategorizer(e),r=t.doc.lineAt(e),o=e-r.from;if(r.length==0)return a.cursor(e);if(o==0)i=1;else if(o==r.length)i=-1;let l=o,f=o;if(i<0)l=J(r.text,o,!1);else f=J(r.text,o);let c=s(r.text.slice(l,f));while(l>0){let d=J(r.text,l,!1);if(s(r.text.slice(d,l))!=c)break;l=d}while(f<r.length){let d=J(r.text,f);if(s(r.text.slice(f,d))!=c)break;f=d}return a.undirectionalRange(l+r.from,f+r.from)}function Xa(t,e,i,s,r){let o=Math.round((s-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>t.defaultLineHeight*1.5){let f=t.viewState.heightOracle.textHeight,c=Math.floor((r-i.top-(t.defaultLineHeight-f)*0.5)/f);o+=c*t.viewState.heightOracle.lineLength}let l=t.state.sliceDoc(i.from,i.to);return i.from+so(l,o,t.state.tabSize)}function En(t,e,i){let s=t.lineBlockAt(e);if(Array.isArray(s.type)){let r;for(let o of s.type){if(o.from>e)break;if(o.to<e)continue;if(o.from<e&&o.to>e)return o;if(!r||o.type==wt.Text&&(r.type!=o.type||(i<0?o.from<e:o.to>e)))r=o}return r||s}return s}function Ja(t,e,i,s){let r=En(t,e.head,e.assoc||-1),o=!s||r.type!=wt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(o){let l=t.dom.getBoundingClientRect(),f=t.textDirectionAt(r.from),c=t.posAndSideAtCoords({x:i==(f==F.LTR)?l.right-1:l.left+1,y:(o.top+o.bottom)/2});if(c)return a.cursor(c.pos,c.assoc)}return a.cursor(i?r.to:r.from,i?1:-1)}function xo(t,e,i,s){let r=t.state.doc.lineAt(e.head),o=t.bidiSpans(r),l=t.textDirectionAt(r.from);for(let f=e,c=null;;){let d=Ra(r,o,l,f,i),g=nl;if(!d){if(r.number==(i?t.state.doc.lines:1))return f;g=`
|
|
8
|
-
`,r=t.state.doc.line(r.number+(i?1:-1)),o=t.bidiSpans(r),d=i?a.cursor(r.from,-1):a.cursor(r.to,1)}if(!c){if(!s)return d;c=s(g)}else if(!c(g))return f;f=d}}function Ga(t,e,i){let s=t.state.charCategorizer(e),r=s(i);return(o)=>{let l=s(o);if(r==H.Space)r=l;return r==l}}function Qa(t,e,i,s){let r=e.head,o=i?1:-1;if(r==(i?t.state.doc.length:0))return a.cursor(r,e.assoc);let l=e.goalColumn,f,c=t.contentDOM.getBoundingClientRect(),d=t.coordsAtPos(r,e.assoc||((e.empty?i:e.head==e.from)?1:-1)),g=t.documentTop;if(d){if(l==null)l=d.left-c.left;f=o<0?d.top:d.bottom}else{let w=t.viewState.lineBlockAt(r);if(l==null)l=Math.min(c.right-c.left,t.defaultCharacterWidth*(r-w.from));f=(o<0?w.top:w.bottom)+g}let m=c.left+l,b=t.viewState.heightOracle.textHeight>>1,y=s!==null&&s!==void 0?s:b;for(let w=0;;w+=b){let S=f+(y+w)*o,A=In(t,{x:m,y:S},!1,o);if(i?S>c.bottom:S<c.top)return a.cursor(A.pos,A.assoc);let R=t.coordsAtPos(A.pos,A.assoc),L=R?(R.top+R.bottom)/2:0;if(!R||(i?L>f:L<f))return a.cursor(A.pos,A.assoc,void 0,l)}}function Pi(t,e,i){for(;;){let s=0;for(let r of t)r.between(e-1,e+1,(o,l,f)=>{if(e>o&&e<l){let c=s||i||(e-o<l-e?-1:1);e=c<0?o:l,s=c}});if(!s)return e}}function Tl(t,e){let i=null;for(let s=0;s<e.ranges.length;s++){let r=e.ranges[s],o=null;if(r.empty){let l=Pi(t,r.from,0);if(l!=r.from)o=a.cursor(l,-1)}else{let l=Pi(t,r.from,-1),f=Pi(t,r.to,1);if(l!=r.from||f!=r.to)if(r.undirectional)o=a.undirectionalRange(r.from,r.to);else o=a.range(r.from==r.anchor?l:f,r.from==r.head?l:f)}if(o){if(!i)i=e.ranges.slice();i[s]=o}}return i?a.create(i,e.mainIndex):e}function fn(t,e,i){let s=Pi(t.state.facet(_i).map((r)=>r(t)),i.from,e.head>i.from?-1:1);return s==i.from?i:a.cursor(s,s<i.from?1:-1)}class zt{constructor(t,e){this.pos=t,this.assoc=e}}function In(t,e,i,s){let r=t.contentDOM.getBoundingClientRect(),o=r.top+t.viewState.paddingTop,{x:l,y:f}=e,c=f-o,d;for(;;){if(c<0)return new zt(0,1);if(c>t.viewState.docHeight)return new zt(t.state.doc.length,-1);if(d=t.elementAtHeight(c),s==null)break;if(d.type==wt.Text){if(s<0?d.to<t.viewport.from:d.from>t.viewport.to)break;let b=t.docView.coordsAt(s<0?d.from:d.to,s>0?-1:1);if(b&&(s<0?b.top<=c+o:b.bottom>=c+o))break}let m=t.viewState.heightOracle.textHeight/2;c=s>0?d.bottom+m:d.top-m}if(t.viewport.from>=d.to||t.viewport.to<=d.from){if(i)return null;if(d.type==wt.Text){let m=Xa(t,r,d,l,f);return new zt(m,m==d.from?1:-1)}}if(d.type!=wt.Text)return c<(d.top+d.bottom)/2?new zt(d.from,1):new zt(d.to,-1);let g=t.docView.lineAt(d.from,2);if(!g||g.length!=d.length)g=t.docView.lineAt(d.from,-2);return new Rl(t,l,f,t.textDirectionAt(d.from)).scanTile(g,d.from)}class Rl{constructor(t,e,i,s){this.view=t,this.x=e,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(t){if(!this.line||this.line.from>t||this.line.to<t)this.line=this.view.state.doc.lineAt(t),this.spans=this.view.bidiSpans(this.line);return this}baseDirAt(t,e){let{line:i,spans:s}=this.bidiSpansAt(t);return s[jt.find(s,t-i.from,-1,e)].level==this.baseDir}dirAt(t,e){let{line:i,spans:s}=this.bidiSpansAt(t);return s[jt.find(s,t-i.from,-1,e)].dir}bidiIn(t,e){let{spans:i,line:s}=this.bidiSpansAt(t);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<e)}scan(t,e,i=!1){let s=0,r=t.length-1,o=new Set,l=this.bidiIn(t[0],t[r]),f,c,d=-1,g=1e9,m;t:while(s<r){let y=r-s,w=s+r>>1;e:if(o.has(w)){for(let R=1;R<y;R++){let L=w+R;if(L>=r)L-=y;if(!o.has(L)){w=L;break e}}break t}o.add(w);let S=e(w),A=0;if(S)for(let R=0;R<S.length;R++){let L=S[R];if(L.width==0&&S.length>1)continue;if(L.bottom<this.y){if(!f||f.bottom<L.bottom)f=L;A=1}else if(L.top>this.y){if(!c||c.top>L.top)c=L;A=-1}else{let _=L.left>this.x?this.x-L.left:L.right<this.x?this.x-L.right:0,q=Math.abs(_);if(q<g)d=w,g=q,m=L;if(_)A=_<0==(this.baseDir==F.LTR)?-1:1}}if(A==-1&&(!l||this.baseDirAt(t[w],1)))r=w;else if(A==1&&(!l||this.baseDirAt(t[w+1],-1)))s=w+1}if(!m){if(!c&&!f)return{i:0,after:!1};let y=f&&(!c||this.y-f.bottom<c.top-this.y)?f:c;return this.y=(y.top+y.bottom)/2,this.scan(t,e,!0)}if(g&&!i){let{top:y,bottom:w}=m;if(f&&f.bottom>(y+y+w)/3)return this.y=f.bottom-1,this.scan(t,e,!0);if(c&&c.top<(y+w+w)/3)return this.y=c.top+1,this.scan(t,e,!0)}let b=(l?this.dirAt(t[d],1):this.baseDir)==F.LTR;return{i:d,after:this.x>(m.left+m.right)/2==b}}scanText(t,e){let i=[];for(let r=0;r<t.length;r=J(t.text,r))i.push(e+r);i.push(e+t.length);let s=this.scan(i,(r)=>{let o=i[r]-e,l=i[r+1]-e;return Ni(t.dom,o,l).getClientRects()});return s.after?new zt(i[s.i+1],-1):new zt(i[s.i],1)}scanTile(t,e){if(!t.length)return new zt(e,1);if(t.children.length==1){let l=t.children[0];if(l.isText())return this.scanText(l,e);else if(l.isComposite())return this.scanTile(l,e)}let i=[e];for(let l=0,f=e;l<t.children.length;l++)i.push(f+=t.children[l].length);let s=this.scan(i,(l)=>{let f=t.children[l];if(f.flags&48)return null;return(pt(f.dom)?f.dom:Ni(f.dom,0,f.length)).getClientRects()}),r=t.children[s.i],o=i[s.i];if(r.isText())return this.scanText(r,o);if(r.isComposite())return this.scanTile(r,o);return s.after?new zt(i[s.i+1],-1):new zt(o,1)}}var li="";class Ll{constructor(t,e){this.points=t,this.view=e,this.text="",this.lineSeparator=e.state.facet(T.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=li}readRange(t,e){if(!t)return this;let i=t.parentNode;for(let s=t;;){this.findPointBefore(i,s);let r=this.text.length;this.readNode(s);let o=ut.get(s),l=s.nextSibling;if(l==e){if((o===null||o===void 0?void 0:o.breakAfter)&&!l&&i!=this.view.contentDOM)this.lineBreak();break}let f=ut.get(l);if((o&&f?o.breakAfter:(o?o.breakAfter:xs(s))||xs(l)&&(s.nodeName!="BR"||(o===null||o===void 0?void 0:o.isWidget()))&&this.text.length>r)&&!tf(l,e))this.lineBreak();s=l}return this.findPointBefore(i,e),this}readTextNode(t){let e=t.nodeValue;for(let i of this.points)if(i.node==t)i.pos=this.text.length+Math.min(i.offset,e.length);for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,l;if(this.lineSeparator)r=e.indexOf(this.lineSeparator,i),o=this.lineSeparator.length;else if(l=s.exec(e))r=l.index,o=l[0].length;if(this.append(e.slice(i,r<0?e.length:r)),r<0)break;if(this.lineBreak(),o>1){for(let f of this.points)if(f.node==t&&f.pos>this.text.length)f.pos-=o-1}i=r+o}}readNode(t){let e=ut.get(t),i=e&&e.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let s=i.iter();!s.next().done;)if(s.lineBreak)this.lineBreak();else this.append(s.value)}else if(di(t))this.readTextNode(t);else if(t.nodeName=="BR"){if(t.nextSibling)this.lineBreak()}else if(pt(t))this.readRange(t.firstChild,null)}findPointBefore(t,e){for(let i of this.points)if(i.node==t&&t.childNodes[i.offset]==e)i.pos=this.text.length}findPointInside(t,e){for(let i of this.points)if(di(t)?i.node==t:t.contains(i.node))i.pos=this.text.length+(Za(t,i.node,i.offset)?e:0)}}function Za(t,e,i){for(;;){if(!e||i<we(e))return!1;if(e==t)return!0;i=Me(e)+1,e=e.parentNode}}function tf(t,e){let i;for(;;t=t.nextSibling){if(t==e||!t)break;let s=ut.get(t);if(!(s===null||s===void 0?void 0:s.isWidget()))return!1;if(s)(i||(i=[])).push(s)}if(i)for(let s of i){let r=s.overrideDOMText;if(r===null||r===void 0?void 0:r.length)return!1}return!0}class Nn{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}}class Pl{constructor(t,e,i,s){this.typeOver=s,this.bounds=null,this.text="",this.domChanged=e>-1;let{impreciseHead:r,impreciseAnchor:o}=t.docView,l=t.state.selection;if(t.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=El(t.docView.tile,e,i,0))){let f=r||o?[]:sf(t),c=new Ll(f,t);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=nf(f,this.bounds.from)}else{let f=t.observer.selectionRange,c=r&&r.node==f.focusNode&&r.offset==f.focusOffset||!An(t.contentDOM,f.focusNode)?l.main.head:t.docView.posFromDOM(f.focusNode,f.focusOffset),d=o&&o.node==f.anchorNode&&o.offset==f.anchorOffset||!An(t.contentDOM,f.anchorNode)?l.main.anchor:t.docView.posFromDOM(f.anchorNode,f.anchorOffset),g=t.viewport;if((I.ios||I.chrome)&&c!=d&&Math.min(c,d)<=l.main.from&&Math.max(c,d)>=l.main.to&&(g.from>0||g.to<t.state.doc.length)){let m=Math.min(c,d),b=Math.max(c,d),y=g.from-m,w=g.to-b;if((y==0||y==1||m==0)&&(w==0||w==-1||b==t.state.doc.length))c=0,d=t.state.doc.length}if(t.inputState.composing>-1&&l.ranges.length>1)this.newSel=l.replaceRange(a.range(d,c));else if(t.lineWrapping&&d==c&&!(l.main.empty&&l.main.head==c)&&t.inputState.lastTouchTime>Date.now()-100){let m=t.coordsAtPos(c,-1),b=0;if(m)b=t.inputState.lastTouchY<=m.bottom?-1:1;this.newSel=a.create([a.cursor(c,b)])}else this.newSel=a.single(d,c)}}}function El(t,e,i,s){if(t.isComposite()){let r=-1,o=-1,l=-1,f=-1;for(let c=0,d=s,g=s;c<t.children.length;c++){let m=t.children[c],b=d+m.length;if(d<e&&b>i)return El(m,e,i,d);if(b>=e&&r==-1)r=c,o=d;if(d>i&&m.dom.parentNode==t.dom){l=c,f=g;break}g=b,d=b+m.breakAfter}return{from:o,to:f<0?s+t.length:f,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:l<t.children.length&&l>=0?t.children[l].dom:null}}else if(t.isText())return{from:s,to:s+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling};else return null}function Il(t,e){let i,{newSel:s}=e,{state:r}=t,o=r.selection.main,l=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:f,to:c}=e.bounds,d=o.from,g=null;if(l===8||I.android&&e.text.length<c-f)d=o.to,g="end";let m=r.doc.sliceString(f,c,li),b,y;if(!o.empty&&o.from>=f&&o.to<=c&&(e.typeOver||m!=e.text)&&m.slice(0,o.from-f)==e.text.slice(0,o.from-f)&&m.slice(o.to-f)==e.text.slice(b=e.text.length-(m.length-(o.to-f))))i={from:o.from,to:o.to,insert:M.of(e.text.slice(o.from-f,b).split(li))};else if(y=Nl(m,e.text,d-f,g)){if(I.chrome&&l==13&&y.toB==y.from+2&&e.text.slice(y.from,y.toB)==li+li)y.toB--;i={from:f+y.from,to:f+y.toA,insert:M.of(e.text.slice(y.from,y.toB).split(li))}}}else if(s&&(!t.hasFocus&&r.facet(pe)||Hn(s,o)))s=null;if(!i&&!s)return!1;if((I.mac||I.android)&&i&&i.from==i.to&&i.from==o.head-1&&/^\. ?$/.test(i.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"){if(s&&i.insert.length==2)s=a.single(s.main.anchor-1,s.main.head-1);i={from:i.from,to:i.to,insert:M.of([i.insert.toString().replace("."," ")])}}else if(r.doc.lineAt(o.from).to<o.to&&t.docView.lineHasWidget(o.to)&&t.inputState.insertingTextAt>Date.now()-50)i={from:o.from,to:o.to,insert:r.toText(t.inputState.insertingText)};else if(I.chrome&&i&&i.from==i.to&&i.from==o.head&&i.insert.toString()==`
|
|
9
|
-
`&&t.lineWrapping){if(s)s=a.single(s.main.anchor-1,s.main.head-1);i={from:o.from,to:o.to,insert:M.of([" "])}}if(i)return nr(t,i,s,l);else if(s&&!Hn(s,o)){let f=!1,c="select";if(t.inputState.lastSelectionTime>Date.now()-50){if(t.inputState.lastSelectionOrigin=="select")f=!0;if(c=t.inputState.lastSelectionOrigin,c=="select.pointer")s=Tl(r.facet(_i).map((d)=>d(t)),s)}return t.dispatch({selection:s,scrollIntoView:f,userEvent:c}),!0}else return!1}function nr(t,e,i,s=-1){if(I.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(I.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ci(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||s==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&ci(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&ci(t.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();if(t.inputState.composing>=0)t.inputState.composing++;let l,f=()=>l||(l=ef(t,e,i));if(!t.state.facet(al).some((c)=>c(t,e.from,e.to,o,f)))t.dispatch(f());return!0}function ef(t,e,i){let s,r=t.state,o=r.selection.main,l=-1;if(e.from==e.to&&e.from<o.from||e.from>o.to){let c=e.from<o.from?-1:1,d=c<0?o.from:o.to,g=Pi(r.facet(_i).map((m)=>m(t)),d,c);if(e.from==g)l=g}if(l>-1)s={changes:e,selection:a.cursor(e.from+e.insert.length,-1)};else if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let c=o.from<e.from?r.sliceDoc(o.from,e.from):"",d=o.to>e.to?r.sliceDoc(e.to,o.to):"";s=r.replaceSelection(t.state.toText(c+e.insert.sliceString(0,void 0,t.state.lineBreak)+d))}else{let c=r.changes(e),d=i&&i.main.to<=c.newLength?i.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=o.to+10&&e.to>=o.to-10){let g=t.state.sliceDoc(e.from,e.to),m,b=i&&Dl(t,i.main.head);if(b){let w=e.insert.length-(e.to-e.from);m={from:b.from,to:b.to-w}}else m=t.state.doc.lineAt(o.head);let y=o.to-e.to;s=r.changeByRange((w)=>{if(w.from==o.from&&w.to==o.to)return{changes:c,range:d||w.map(c)};let S=w.to-y,A=S-g.length;if(t.state.sliceDoc(A,S)!=g||S>=m.from&&A<=m.to)return{range:w};let R=r.changes({from:A,to:S,insert:e.insert}),L=w.to-o.to;return{changes:R,range:!d?w.map(R):a.range(Math.max(0,d.anchor+L),Math.max(0,d.head+L))}})}else s={changes:c,selection:d&&r.selection.replaceRange(d)}}let f="input.type";if(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50){if(t.inputState.compositionPendingChange=!1,f+=".compose",t.inputState.compositionFirstChange)f+=".start",t.inputState.compositionFirstChange=!1}return r.update(s,{userEvent:f,scrollIntoView:!0})}function Nl(t,e,i,s){let r=Math.min(t.length,e.length),o=0;while(o<r&&t.charCodeAt(o)==e.charCodeAt(o))o++;if(o==r&&t.length==e.length)return null;let l=t.length,f=e.length;while(l>0&&f>0&&t.charCodeAt(l-1)==e.charCodeAt(f-1))l--,f--;if(s=="end"){let c=Math.max(0,o-Math.min(l,f));i-=l+c-o}if(l<o&&t.length<e.length){let c=i<=o&&i>=l?o-i:0;o-=c,f=o+(f-l),l=o}else if(f<o){let c=i<=o&&i>=f?o-i:0;o-=c,l=o+(l-f),f=o}return{from:o,toA:l,toB:f}}function sf(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o}=t.observer.selectionRange;if(i){if(e.push(new Nn(i,s)),r!=i||o!=s)e.push(new Nn(r,o))}return e}function nf(t,e){if(t.length==0)return null;let i=t[0].pos,s=t.length==2?t[1].pos:i;return i<0||s<0?null:i==s?a.create([a.cursor(s+e,-1)]):a.single(i+e,s+e)}function Hn(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class Hl{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){if(this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,I.safari)t.contentDOM.addEventListener("input",()=>null);if(I.gecko)wf(t.contentDOM.ownerDocument)}handleEvent(t){if(!uf(this.view,t)||this.ignoreDuringComposition(t))return;if(t.type=="keydown"&&this.keydown(t))return;if(this.view.updateState!=0)Promise.resolve().then(()=>this.runHandlers(t.type,t));else this.runHandlers(t.type,t)}runHandlers(t,e){let i=this.handlers[t];if(i){for(let s of i.observers)s(this.view,e);for(let s of i.handlers){if(e.defaultPrevented)break;if(s(this.view,e)){e.preventDefault();break}}}}ensureHandlers(t){let e=of(t),i=this.handlers,s=this.view.contentDOM;for(let r in e)if(r!="scroll"){let o=!e[r].handlers.length,l=i[r];if(l&&o!=!l.handlers.length)s.removeEventListener(r,this.handleEvent),l=null;if(!l)s.addEventListener(r,this.handleEvent,{passive:o})}for(let r in i)if(r!="scroll"&&!e[r])s.removeEventListener(r,this.handleEvent);this.handlers=e}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&Wl.indexOf(t.keyCode)<0)this.tabFocusMode=-1;if(I.android&&I.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(I.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(Fl.some((e)=>e.keyCode==t.keyCode)&&!t.ctrlKey||lf.indexOf(t.key)>-1&&t.ctrlKey)){let e={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};if(e.shiftKey&&I.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&rf(this.view.win))e.shiftKey=!1;let i=this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:e};return setTimeout(()=>{if(this.pendingIOSKey==i)this.flushIOSKey()},50),!0}if(t.keyCode!=229)this.view.observer.forceFlush();return!1}flushIOSKey(t){let e=this.pendingIOSKey;if(!e||this.view.observer.pendingRecords().length)return!1;if(e.key=="Enter"&&t&&t.from<t.to&&/^\S+$/.test(t.insert.toString()))return!1;return this.pendingIOSKey=void 0,ci(this.view.contentDOM,e.key,e.keyCode,e.mods)}ignoreDuringComposition(t){if(!/^key/.test(t.type)||t.synthetic)return!1;if(this.composing>0)return!0;if(I.safari&&!I.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)return this.compositionPendingKey=!1,!0;return!1}startMouseSelection(t){if(this.mouseSelection)this.mouseSelection.destroy();this.mouseSelection=t}update(t){if(this.view.observer.update(t),this.mouseSelection)this.mouseSelection.update(t);if(this.draggedContent&&t.docChanged)this.draggedContent=this.draggedContent.map(t.changes);if(t.transactions.length)this.lastKeyCode=this.lastSelectionTime=0}destroy(){if(this.mouseSelection)this.mouseSelection.destroy()}}function rf(t){if(!t.visualViewport)return!1;return t.visualViewport.height*t.visualViewport.scale/t.document.documentElement.clientHeight<0.85}function vo(t,e){return(i,s)=>{try{return e.call(t,s,i)}catch(r){$t(i.state,r)}}}function of(t){let e=Object.create(null);function i(s){return e[s]||(e[s]={observers:[],handlers:[]})}for(let s of t){let r=s.spec,o=r&&r.plugin.domEventHandlers,l=r&&r.plugin.domEventObservers;if(o)for(let f in o){let c=o[f];if(c)i(f).handlers.push(vo(s.value,c))}if(l)for(let f in l){let c=l[f];if(c)i(f).observers.push(vo(s.value,c))}}for(let s in Yt)i(s).handlers.push(Yt[s]);for(let s in At)i(s).observers.push(At[s]);return e}var Fl=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],lf="dthko",Wl=[16,17,18,20,91,92,224,225],ss=6;function ns(t){return Math.max(0,t)*0.7+8}function hf(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class _l{constructor(t,e,i,s){this.view=t,this.startEvent=e,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParents=$o(t.contentDOM),this.atoms=t.state.facet(_i).map((o)=>o(t));let r=t.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(T.allowMultipleSelections)&&af(t,e),this.dragging=cf(t,e)&&Kl(e)==1?null:!1}start(t){if(this.dragging===!1)this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&hf(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let e=0,i=0,s=0,r=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;if(this.scrollParents.x)({left:s,right:o}=this.scrollParents.x.getBoundingClientRect());if(this.scrollParents.y)({top:r,bottom:l}=this.scrollParents.y.getBoundingClientRect());let f=xl(this.view);if(t.clientX-f.left<=s+ss)e=-ns(s-t.clientX);else if(t.clientX+f.right>=o-ss)e=ns(t.clientX-o);if(t.clientY-f.top<=r+ss)i=-ns(r-t.clientY);else if(t.clientY+f.bottom>=l-ss)i=ns(t.clientY-l);this.setScrollSpeed(e,i)}up(t){if(this.dragging==null)this.select(this.lastEvent);if(!this.dragging)t.preventDefault();this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,e){if(this.scrollSpeed={x:t,y:e},t||e){if(this.scrolling<0)this.scrolling=setInterval(()=>this.scroll(),50)}else if(this.scrolling>-1)clearInterval(this.scrolling),this.scrolling=-1}scroll(){let{x:t,y:e}=this.scrollSpeed;if(t&&this.scrollParents.x)this.scrollParents.x.scrollLeft+=t,t=0;if(e&&this.scrollParents.y)this.scrollParents.y.scrollTop+=e,e=0;if(t||e)this.view.win.scrollBy(t,e);if(this.dragging===!1)this.select(this.lastEvent)}select(t){let{view:e}=this,i=Tl(this.atoms,this.style.get(t,this.extend,this.multiple));if(this.mustSelect||!i.eq(e.state.selection,this.dragging===!1))this.view.dispatch({selection:i,userEvent:"select.pointer"});this.mustSelect=!1}update(t){if(t.transactions.some((e)=>e.isUserEvent("input.type")))this.destroy();else if(this.style.update(t))setTimeout(()=>this.select(this.lastEvent),20)}}function af(t,e){let i=t.state.facet(rl);return i.length?i[0](e):I.mac?e.metaKey:e.ctrlKey}function ff(t,e){let i=t.state.facet(ol);return i.length?i[0](e):I.mac?!e.altKey:!e.ctrlKey}function cf(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let s=Ii(t.root);if(!s||s.rangeCount==0)return!0;let r=s.getRangeAt(0).getClientRects();for(let o=0;o<r.length;o++){let l=r[o];if(l.left<=e.clientX&&l.right>=e.clientX&&l.top<=e.clientY&&l.bottom>=e.clientY)return!0}return!1}function uf(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,s;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(s=ut.get(i))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}var Yt=Object.create(null),At=Object.create(null),zl=I.ie&&I.ie_version<15||I.ios&&I.webkit_version<604;function df(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),Vl(t,i.value)},50)}function Bs(t,e,i){for(let s of t.facet(e))i=s(i,t);return i}function Vl(t,e){e=Bs(t.state,tr,e);let{state:i}=t,s,r=1,o=i.toText(e),l=o.lines==i.selection.ranges.length;if(Fn!=null&&i.selection.ranges.every((c)=>c.empty)&&Fn==o.toString()){let c=-1;s=i.changeByRange((d)=>{let g=i.doc.lineAt(d.from);if(g.from==c)return{range:d};c=g.from;let m=i.toText((l?o.line(r++).text:e)+i.lineBreak);return{changes:{from:g.from,insert:m},range:a.cursor(d.from+m.length,-1)}})}else if(l)s=i.changeByRange((c)=>{let d=o.line(r++);return{changes:{from:c.from,to:c.to,insert:d.text},range:a.cursor(c.from+d.length,-1)}});else s=i.replaceSelection(o);t.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}At.scroll=(t)=>{let e=t.inputState;if(e.lastScrollTop=t.scrollDOM.scrollTop,e.lastScrollLeft=t.scrollDOM.scrollLeft,I.ios&&!e.touchActive)e.lastIOSMomentumScroll=Date.now()};At.wheel=At.mousewheel=(t)=>{t.inputState.lastWheelEvent=Date.now()};Yt.keydown=(t,e)=>{if(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0)t.inputState.tabFocusMode=Date.now()+2000;return!1};At.touchstart=(t,e)=>{let i=t.inputState,s=e.targetTouches[0];if(i.touchActive=!0,i.lastTouchTime=Date.now(),s)i.lastTouchX=s.clientX,i.lastTouchY=s.clientY;i.setSelectionOrigin("select.pointer")};At.touchmove=(t)=>{t.inputState.setSelectionOrigin("select.pointer")};At.touchend=(t,e)=>{t.inputState.touchActive=!1};Yt.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2000)return!1;let i=null;for(let s of t.state.facet(ll))if(i=s(t,e),i)break;if(!i&&e.button==0)i=gf(t,e);if(i){let s=!t.hasFocus;if(t.inputState.startMouseSelection(new _l(t,e,i,s)),s)t.observer.ignore(()=>{Jo(t.contentDOM);let o=t.root.activeElement;if(o&&!o.contains(t.contentDOM))o.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function ko(t,e,i,s){if(s==1)return a.cursor(e,i);else if(s==2)return Ya(t.state,e,i);else{let r=t.docView.lineAt(e,i),o=t.state.doc.lineAt(r?r.posAtEnd:e),l=r?r.posAtStart:o.from,f=r?r.posAtEnd:o.to;if(f<t.state.doc.length&&f==o.to)f++;return a.undirectionalRange(l,f)}}var pf=I.ie&&I.ie_version<=11,So=null,Co=0,Ao=0;function Kl(t){if(!pf)return t.detail;let e=So,i=Ao;return So=t,Ao=Date.now(),Co=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(Co+1)%3:1}function gf(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=Kl(e),r=t.state.selection;return{update(o){if(o.docChanged)i.pos=o.changes.mapPos(i.pos),r=r.map(o.changes)},get(o,l,f){let c=t.posAndSideAtCoords({x:o.clientX,y:o.clientY},!1),d,g=ko(t,c.pos,c.assoc,s);if(i.pos!=c.pos&&!l){let m=ko(t,i.pos,i.assoc,s),b=Math.min(m.from,g.from),y=Math.max(m.to,g.to);g=b<g.from?a.range(b,y,g.assoc):a.range(y,b,g.assoc)}if(l)return r.replaceRange(r.main.extend(g.from,g.to,g.assoc));else if(f&&s==1&&r.ranges.length>1&&(d=mf(r,c.pos)))return d;else if(f)return r.addRange(g);else return a.create([g])}}}function mf(t,e){for(let i=0;i<t.ranges.length;i++){let{from:s,to:r}=t.ranges[i];if(s<=e&&r>=e)return a.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}Yt.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let o=r.posAtStart,l=o+r.length;if(o>=i.to||l<=i.from)i=a.undirectionalRange(o,l)}}let{inputState:s}=t;if(s.mouseSelection)s.mouseSelection.dragging=!0;if(s.draggedContent=i,e.dataTransfer)e.dataTransfer.setData("Text",Bs(t.state,er,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove";return!1};Yt.dragend=(t)=>(t.inputState.draggedContent=null,!1);function Mo(t,e,i,s){if(i=Bs(t.state,tr,i),!i)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=t.inputState,l=s&&o&&ff(t,e)?{from:o.from,to:o.to}:null,f={from:r,insert:i},c=t.state.changes(l?[l,f]:f);t.focus(),t.dispatch({changes:c,selection:{anchor:c.mapPos(r,-1),head:c.mapPos(r,1)},userEvent:l?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Yt.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let s=Array(i.length),r=0,o=()=>{if(++r==i.length)Mo(t,e,s.filter((l)=>l!=null).join(t.state.lineBreak),!1)};for(let l=0;l<i.length;l++){let f=new FileReader;f.onerror=o,f.onload=()=>{if(!/[\x00-\x08\x0e-\x1f]{2}/.test(f.result))s[l]=f.result;o()},f.readAsText(i[l])}return!0}else{let s=e.dataTransfer.getData("Text");if(s)return Mo(t,e,s,!0),!0}return!1};Yt.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=zl?null:e.clipboardData;if(i)return Vl(t,i.getData("text/plain")||i.getData("text/uri-list")),!0;else return df(t),!1};function bf(t,e){let i=t.dom.parentNode;if(!i)return;let s=i.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=e,s.focus(),s.selectionEnd=e.length,s.selectionStart=0,setTimeout(()=>{s.remove(),t.focus()},50)}function yf(t){let e=[],i=[],s=!1;for(let r of t.selection.ranges)if(!r.empty)e.push(t.sliceDoc(r.from,r.to)),i.push(r);if(!e.length){let r=-1;for(let{from:o}of t.selection.ranges){let l=t.doc.lineAt(o);if(l.number>r)e.push(l.text),i.push({from:l.from,to:Math.min(t.doc.length,l.to+1)});r=l.number}s=!0}return{text:Bs(t,er,e.join(t.lineBreak)),ranges:i,linewise:s}}var Fn=null;Yt.copy=Yt.cut=(t,e)=>{if(!Ri(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:s,linewise:r}=yf(t.state);if(!i&&!r)return!1;if(Fn=r?i:null,e.type=="cut"&&!t.state.readOnly)t.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let o=zl?null:e.clipboardData;if(o)return o.clearData(),o.setData("text/plain",i),!0;else return bf(t,i),!1};var ql=be.define();function jl(t,e){let i=[];for(let s of t.facet(fl)){let r=s(t,e);if(r)i.push(r)}return i.length?t.update({effects:i,annotations:ql.of(!0)}):null}function $l(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=jl(t.state,e);if(i)t.dispatch(i);else t.update([])}},10)}At.focus=(t)=>{if(t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft))t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft;$l(t)};At.blur=(t)=>{t.observer.clearSelectionRange(),$l(t)};At.compositionstart=At.compositionupdate=(t,e)=>{if(t.observer.editContext)return;if(t.inputState.compositionFirstChange==null)t.inputState.compositionFirstChange=!0;if(t.inputState.composing<0){let{main:i}=t.state.selection;if(!i.empty&&t.lineBlockAt(i.from).from!=t.lineBlockAt(i.to).from&&!t.state.readOnly)t.dispatch({changes:t.state.selection.ranges.filter((s)=>!s.empty).map((s)=>({from:s.from,to:s.to})),userEvent:"input"});t.inputState.composing=0}};At.compositionend=(t)=>{if(t.observer.editContext)return;if(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,I.chrome&&I.android)t.observer.flushSoon();else if(t.inputState.compositionPendingChange)Promise.resolve().then(()=>t.observer.flush());else setTimeout(()=>{if(t.inputState.composing<0&&t.docView.hasComposition)t.update([])},50)};At.contextmenu=(t)=>{t.inputState.lastContextMenu=Date.now()};Yt.beforeinput=(t,e)=>{var i,s;if(e.inputType=="insertText"||e.inputType=="insertCompositionText")t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now();if(e.inputType=="insertReplacementText"&&t.observer.editContext){let o=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),l=e.getTargetRanges();if(o&&l.length){let f=l[0],c=t.posAtDOM(f.startContainer,f.startOffset),d=t.posAtDOM(f.endContainer,f.endOffset);return nr(t,{from:c,to:d,insert:t.state.toText(o)},null),!0}}let r;if(I.chrome&&I.android&&(r=Fl.find((o)=>o.inputType==e.inputType))){if(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete"){let o=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var l;if((((l=window.visualViewport)===null||l===void 0?void 0:l.height)||0)>o+10&&t.hasFocus)t.contentDOM.blur(),t.focus()},100)}}if(I.ios&&e.inputType=="deleteContentForward")t.observer.flushSoon();if(I.safari&&e.inputType=="insertText"&&t.inputState.composing>=0)setTimeout(()=>At.compositionend(t,e),20);return!1};var Oo=new Set;function wf(t){if(!Oo.has(t))Oo.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{})}var Do=["pre-wrap","normal","pre-line","break-spaces"],mi=!1;function Bo(){mi=!1}class Ul{constructor(t){this.lineWrapping=t,this.doc=M.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;if(this.lineWrapping)i+=Math.max(0,Math.ceil((e-t-i*this.lineLength*0.5)/this.lineLength));return this.lineHeight*i}heightForLine(t){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return Do.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let e=!1;for(let i=0;i<t.length;i++){let s=t[i];if(s<0)i++;else if(!this.heightSamples[Math.floor(s*10)])e=!0,this.heightSamples[Math.floor(s*10)]=!0}return e}refresh(t,e,i,s,r,o){let l=Do.indexOf(t)>-1,f=Math.abs(e-this.lineHeight)>0.3||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=e,this.charWidth=i,this.textHeight=s,this.lineLength=r,f){this.heightSamples={};for(let c=0;c<o.length;c++){let d=o[c];if(d<0)c++;else this.heightSamples[Math.floor(d*10)]=!0}}return f}}class Yl{constructor(t,e){this.from=t,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}}class Kt{constructor(t,e,i,s,r){this.from=t,this.length=e,this.top=i,this.height=s,this._content=r}get type(){return typeof this._content=="number"?wt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Ke?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(t){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new Kt(this.from,this.length+t.length,this.top,this.height+t.height,e)}}var at=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(at||(at={})),us=0.001;class Ct{constructor(t,e,i=2){this.length=t,this.height=e,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){if(this.height!=t){if(Math.abs(this.height-t)>us)mi=!0;this.height=t}}replace(t,e,i){return Ct.of(i)}decomposeLeft(t,e){e.push(this)}decomposeRight(t,e){e.push(this)}applyChanges(t,e,i,s){let r=this,o=i.doc;for(let l=s.length-1;l>=0;l--){let{fromA:f,toA:c,fromB:d,toB:g}=s[l],m=r.lineAt(f,at.ByPosNoHeight,i.setDoc(e),0,0),b=m.to>=c?m:r.lineAt(c,at.ByPosNoHeight,i,0,0);g+=b.to-c,c=b.to;while(l>0&&m.from<=s[l-1].toA)if(f=s[l-1].fromA,d=s[l-1].fromB,l--,f<m.from)m=r.lineAt(f,at.ByPosNoHeight,i,0,0);d+=m.from-f,f=m.from;let y=or.build(i.setDoc(o),t,d,g);r=Cs(r,r.replace(f,c,y))}return r.updateHeight(i,0)}static empty(){return new Et(0,0,0)}static of(t){if(t.length==1)return t[0];let e=0,i=t.length,s=0,r=0;for(;;)if(e==i)if(s>r*2){let l=t[e-1];if(l.break)t.splice(--e,1,l.left,null,l.right);else t.splice(--e,1,l.left,l.right);i+=1+l.break,s-=l.size}else if(r>s*2){let l=t[i];if(l.break)t.splice(i,1,l.left,null,l.right);else t.splice(i,1,l.left,l.right);i+=2+l.break,r-=l.size}else break;else if(s<r){let l=t[e++];if(l)s+=l.size}else{let l=t[--i];if(l)r+=l.size}let o=!1;if(t[e-1]==null)o=!0,e--;else if(t[e]==null)o=!0,i++;return new Xl(Ct.of(t.slice(0,e)),o,Ct.of(t.slice(i)))}}function Cs(t,e){if(t==e)return t;if(t.constructor!=e.constructor)mi=!0;return e}Ct.prototype.size=1;var xf=v.replace({});class rr extends Ct{constructor(t,e,i){super(t,e);this.deco=i,this.spaceAbove=0}mainBlock(t,e){return new Kt(e,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(t,e,i,s){return this.spaceAbove&&t<i+this.spaceAbove?new Kt(s,0,i,this.spaceAbove,xf):this.mainBlock(i,s)}lineAt(t,e,i,s,r){let o=this.mainBlock(s,r);return this.spaceAbove?this.blockAt(0,i,s,r).join(o):o}forEachLine(t,e,i,s,r,o){if(t<=r+this.length&&e>=r)o(this.lineAt(0,at.ByPos,i,s,r))}setMeasuredHeight(t){let e=t.heights[t.index++];if(e<0)this.spaceAbove=-e,e=t.heights[t.index++];else this.spaceAbove=0;this.setHeight(e)}updateHeight(t,e=0,i=!1,s){if(s&&s.from<=e&&s.more)this.setMeasuredHeight(s);return this.outdated=!1,this}toString(){return`block(${this.length})`}}class Et extends rr{constructor(t,e,i){super(t,e,null);this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,e){return new Kt(e,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,e,i){let s=i[0];if(i.length==1&&(s instanceof Et||s instanceof yt&&s.flags&4)&&Math.abs(this.length-s.length)<10){if(s instanceof yt)s=new Et(s.length,this.height,this.spaceAbove);else s.height=this.height;if(!this.outdated)s.outdated=!1;return s}else return Ct.of(i)}updateHeight(t,e=0,i=!1,s){if(s&&s.from<=e&&s.more)this.setMeasuredHeight(s);else if(i||this.outdated)this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight);return this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class yt extends Ct{constructor(t){super(t,0)}heightMetrics(t,e){let i=t.doc.lineAt(e).number,s=t.doc.lineAt(e+this.length).number,r=s-i+1,o,l=0;if(t.lineWrapping){let f=Math.min(this.height,t.lineHeight*r);if(o=f/r,this.length>r+1)l=(this.height-f)/(this.length-r-1)}else o=this.height/r;return{firstLine:i,lastLine:s,perLine:o,perChar:l}}blockAt(t,e,i,s){let{firstLine:r,lastLine:o,perLine:l,perChar:f}=this.heightMetrics(e,s);if(e.lineWrapping){let c=s+(t<e.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length)),d=e.doc.lineAt(c),g=l+d.length*f,m=Math.max(i,t-g/2);return new Kt(d.from,d.length,m,g,0)}else{let c=Math.max(0,Math.min(o-r,Math.floor((t-i)/l))),{from:d,length:g}=e.doc.line(r+c);return new Kt(d,g,i+l*c,l,0)}}lineAt(t,e,i,s,r){if(e==at.ByHeight)return this.blockAt(t,i,s,r);if(e==at.ByPosNoHeight){let{from:b,to:y}=i.doc.lineAt(t);return new Kt(b,y-b,0,0,0)}let{firstLine:o,perLine:l,perChar:f}=this.heightMetrics(i,r),c=i.doc.lineAt(t),d=l+c.length*f,g=c.number-o,m=s+l*g+f*(c.from-r-g);return new Kt(c.from,c.length,Math.max(s,Math.min(m,s+this.height-d)),d,0)}forEachLine(t,e,i,s,r,o){t=Math.max(t,r),e=Math.min(e,r+this.length);let{firstLine:l,perLine:f,perChar:c}=this.heightMetrics(i,r);for(let d=t,g=s;d<=e;){let m=i.doc.lineAt(d);if(d==t){let y=m.number-l;g+=f*y+c*(t-r-y)}let b=f+c*m.length;o(new Kt(m.from,m.length,g,b,0)),g+=b,d=m.to+1}}replace(t,e,i){let s=this.length-e;if(s>0){let r=i[i.length-1];if(r instanceof yt)i[i.length-1]=new yt(r.length+s);else i.push(null,new yt(s-1))}if(t>0){let r=i[0];if(r instanceof yt)i[0]=new yt(t+r.length);else i.unshift(new yt(t-1),null)}return Ct.of(i)}decomposeLeft(t,e){e.push(new yt(t-1),null)}decomposeRight(t,e){e.push(null,new yt(this.length-t-1))}updateHeight(t,e=0,i=!1,s){let r=e+this.length;if(s&&s.from<=e+this.length&&s.more){let o=[],l=Math.max(e,s.from),f=-1;if(s.from>e)o.push(new yt(s.from-e-1).updateHeight(t,e));while(l<=r&&s.more){let d=t.doc.lineAt(l).length;if(o.length)o.push(null);let g=s.heights[s.index++],m=0;if(g<0)m=-g,g=s.heights[s.index++];if(f==-1)f=g;else if(Math.abs(g-f)>=us)f=-2;let b=new Et(d,g,m);b.outdated=!1,o.push(b),l+=d+1}if(l<=r)o.push(null,new yt(r-l).updateHeight(t,l));let c=Ct.of(o);if(f<0||Math.abs(c.height-this.height)>=us||Math.abs(f-this.heightMetrics(t,e).perLine)>=us)mi=!0;return Cs(this,c)}else if(i||this.outdated)this.setHeight(t.heightForGap(e,e+this.length)),this.outdated=!1;return this}toString(){return`gap(${this.length})`}}class Xl extends Ct{constructor(t,e,i){super(t.length+(e?1:0)+i.length,t.height+i.height,(e?1:0)|(t.outdated||i.outdated?2:0));this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,e,i,s){let r=i+this.left.height;return t<r?this.left.blockAt(t,e,i,s):this.right.blockAt(t,e,r,s+this.left.length+this.break)}lineAt(t,e,i,s,r){let o=s+this.left.height,l=r+this.left.length+this.break,f=e==at.ByHeight?t<o:t<l,c=f?this.left.lineAt(t,e,i,s,r):this.right.lineAt(t,e,i,o,l);if(this.break||(f?c.to<l:c.from>l))return c;let d=e==at.ByPosNoHeight?at.ByPosNoHeight:at.ByPos;if(f)return c.join(this.right.lineAt(l,d,i,o,l));else return this.left.lineAt(l,d,i,s,r).join(c)}forEachLine(t,e,i,s,r,o){let l=s+this.left.height,f=r+this.left.length+this.break;if(this.break){if(t<f)this.left.forEachLine(t,e,i,s,r,o);if(e>=f)this.right.forEachLine(t,e,i,l,f,o)}else{let c=this.lineAt(f,at.ByPos,i,s,r);if(t<c.from)this.left.forEachLine(t,Math.min(e,c.from-1),i,s,r,o);if(c.to>=t&&c.from<=e)o(c);if(e>c.to)this.right.forEachLine(Math.max(t,c.to+1),e,i,l,f,o)}}replace(t,e,i){let s=this.left.length+this.break;if(e<s)return this.balanced(this.left.replace(t,e,i),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-s,e-s,i));let r=[];if(t>0)this.decomposeLeft(t,r);let o=r.length;for(let l of i)r.push(l);if(t>0)To(r,o-1);if(e<this.length){let l=r.length;this.decomposeRight(e,r),To(r,l)}return Ct.of(r)}decomposeLeft(t,e){let i=this.left.length;if(t<=i)return this.left.decomposeLeft(t,e);if(e.push(this.left),this.break){if(i++,t>=i)e.push(null)}if(t>i)this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){let i=this.left.length,s=i+this.break;if(t>=s)return this.right.decomposeRight(t-s,e);if(t<i)this.left.decomposeRight(t,e);if(this.break&&t<s)e.push(null);e.push(this.right)}balanced(t,e){if(t.size>2*e.size||e.size>2*t.size)return Ct.of(this.break?[t,null,e]:[t,e]);return this.left=Cs(this.left,t),this.right=Cs(this.right,e),this.setHeight(t.height+e.height),this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this}updateHeight(t,e=0,i=!1,s){let{left:r,right:o}=this,l=e+r.length+this.break,f=null;if(s&&s.from<=e+r.length&&s.more)f=r=r.updateHeight(t,e,i,s);else r.updateHeight(t,e,i);if(s&&s.from<=l+o.length&&s.more)f=o=o.updateHeight(t,l,i,s);else o.updateHeight(t,l,i);if(f)return this.balanced(r,o);return this.height=this.left.height+this.right.height,this.outdated=!1,this}toString(){return this.left+(this.break?" ":"-")+this.right}}function To(t,e){let i,s;if(t[e]==null&&(i=t[e-1])instanceof yt&&(s=t[e+1])instanceof yt)t.splice(e-1,3,new yt(i.length+1+s.length))}var vf=5;class or{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,e){if(this.lineStart>-1){let i=Math.min(e,this.lineEnd),s=this.nodes[this.nodes.length-1];if(s instanceof Et)s.length+=i-this.pos;else if(i>this.pos||!this.isCovered)this.nodes.push(new Et(i-this.pos,-1,0));if(this.writtenTo=i,e>i)this.nodes.push(null),this.writtenTo++,this.lineStart=-1}this.pos=e}point(t,e,i){if(t<e||i.heightRelevant){let s=i.widget?i.widget.estimatedHeight:0,r=i.widget?i.widget.lineBreaks:0;if(s<0)s=this.oracle.lineHeight;let o=e-t;if(i.block)this.addBlock(new rr(o,s,i));else if(o||r||s>=vf)this.addLineDeco(s,r,o)}else if(e>t)this.span(t,e);if(this.lineEnd>-1&&this.lineEnd<this.pos)this.lineEnd=this.oracle.doc.lineAt(this.pos).to}enterLine(){if(this.lineStart>-1)return;let{from:t,to:e}=this.oracle.doc.lineAt(this.pos);if(this.lineStart=t,this.lineEnd=e,this.writtenTo<t){if(this.writtenTo<t-1||this.nodes[this.nodes.length-1]==null)this.nodes.push(this.blankContent(this.writtenTo,t-1));this.nodes.push(null)}if(this.pos>t)this.nodes.push(new Et(this.pos-t,-1,0));this.writtenTo=this.pos}blankContent(t,e){let i=new yt(e-t);if(this.oracle.doc.lineAt(t).to==e)i.flags|=4;return i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof Et)return t;let e=new Et(0,-1,0);return this.nodes.push(e),e}addBlock(t){this.enterLine();let e=t.deco;if(e&&e.startSide>0&&!this.isCovered)this.ensureLine();if(this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,e&&e.endSide>0)this.covering=t}addLineDeco(t,e,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,t),s.breaks+=e,this.writtenTo=this.pos=this.pos+i}finish(t){let e=this.nodes.length==0?null:this.nodes[this.nodes.length-1];if(this.lineStart>-1&&!(e instanceof Et)&&!this.isCovered)this.nodes.push(new Et(0,-1,0));else if(this.writtenTo<this.pos||e==null)this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=t;for(let s of this.nodes){if(s instanceof Et)s.updateHeight(this.oracle,i);i+=s?s.length:1}return this.nodes}static build(t,e,i,s){let r=new or(i,t);return Z.spans(e,i,s,r,0),r.finish(i)}}function kf(t,e,i){let s=new Jl;return Z.compare(t,e,i,s,0),s.changes}class Jl{constructor(){this.changes=[]}compareRange(){}comparePoint(t,e,i,s){if(t<e||i&&i.heightRelevant||s&&s.heightRelevant)fi(t,e,this.changes,5)}}function Sf(t,e){let i=t.getBoundingClientRect(),s=t.ownerDocument,r=s.defaultView||window,o=Math.max(0,i.left),l=Math.min(r.innerWidth,i.right),f=Math.max(0,i.top),c=Math.min(r.innerHeight,i.bottom);for(let d=t.parentNode;d&&d!=s.body;)if(pt(d)){let g=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&g.overflow!="visible"){let m=d.getBoundingClientRect();o=Math.max(o,m.left),l=Math.min(l,m.right),f=Math.max(f,m.top),c=Math.min(d==t.parentNode?r.innerHeight:c,m.bottom)}d=g.position=="absolute"||g.position=="fixed"?d.offsetParent:d.parentNode}else if(d.nodeType==11)d=d.host;else break;return{left:o-i.left,right:Math.max(o,l)-i.left,top:f-(i.top+e),bottom:Math.max(f,c)-(i.top+e)}}function Cf(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left<i.innerWidth&&e.right>0&&e.top<i.innerHeight&&e.bottom>0}function Af(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class ds{constructor(t,e,i,s){this.from=t,this.to=e,this.size=i,this.displaySize=s}static same(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let s=t[i],r=e[i];if(s.from!=r.from||s.to!=r.to||s.size!=r.size)return!1}return!0}draw(t,e){return v.replace({widget:new Gl(this.displaySize*(e?t.scaleY:t.scaleX),e)}).range(this.from,this.to)}}class Gl extends et{constructor(t,e){super();this.size=t,this.vertical=e}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");if(this.vertical)t.style.height=this.size+"px";else t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block";return t}get estimatedHeight(){return this.vertical?this.size:-1}}class Wn{constructor(t,e){this.view=t,this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=zn,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=F.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=e.facet(ir).some((s)=>typeof s!="function"&&s.class=="cm-lineWrapping");this.heightOracle=new Ul(i),this.stateDeco=Ro(e),this.heightMap=Ct.empty().applyChanges(this.stateDeco,M.empty,this.heightOracle.setDoc(e.doc),[new Wt(0,0,0,e.doc.length)]);for(let s=0;s<2;s++)if(this.viewport=this.getViewport(0,null),!this.updateForViewport())break;this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=v.set(this.lineGaps.map((s)=>s.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:e}=this.state.selection;for(let i=0;i<=1;i++){let s=i?e.head:e.anchor;if(!t.some(({from:r,to:o})=>s>=r&&s<=o)){let{from:r,to:o}=this.lineBlockAt(s);t.push(new Di(r,o))}}return this.viewports=t.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7000000?zn:As.get(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(t)=>{this.viewportLines.push(Bi(t,this.scaler))})}update(t,e=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=Ro(this.state);let s=t.changedRanges,r=Wt.extendWithRanges(s,kf(i,this.stateDeco,t?t.changes:ee.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);if(Bo(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=o||mi)t.flags|=2;if(l)this.scrollAnchorPos=t.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top;else this.scrollAnchorPos=-1,this.scrollAnchorHeight=o;let f=r.length?this.mapViewport(this.viewport,t.changes):this.viewport;if(e&&(e.range.head<f.from||e.range.head>f.to)||!this.viewportIsAppropriate(f))f=this.getViewport(0,e);let c=f.from!=this.viewport.from||f.to!=this.viewport.to;if(this.viewport=f,t.flags|=this.updateForViewport(),c||!t.changes.empty||t.flags&2)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>4000)this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes)));if(t.flags|=this.computeVisibleRanges(t.changes),e)this.scrollTarget=e;if(!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(ul))this.mustEnforceCursorAssoc=!0}measure(){let{view:t}=this,e=t.contentDOM,i=window.getComputedStyle(e),s=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?F.RTL:F.LTR;let o=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",l=e.getBoundingClientRect(),f=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,d=0;if(l.width&&l.height){let{scaleX:q,scaleY:B}=jo(e,l);if(q>0.005&&Math.abs(this.scaleX-q)>0.005||B>0.005&&Math.abs(this.scaleY-B)>0.005)this.scaleX=q,this.scaleY=B,c|=16,o=f=!0}let g=(parseInt(i.paddingTop)||0)*this.scaleY,m=(parseInt(i.paddingBottom)||0)*this.scaleY;if(this.paddingTop!=g||this.paddingBottom!=m)this.paddingTop=g,this.paddingBottom=m,c|=18;if(this.editorWidth!=t.scrollDOM.clientWidth){if(s.lineWrapping)f=!0;this.editorWidth=t.scrollDOM.clientWidth,c|=16}let b=$o(this.view.contentDOM,!1).y;if(b!=this.scrollParent)this.scrollParent=b,this.scrollAnchorHeight=-1,this.scrollOffset=0;let y=this.getScrollOffset();if(this.scrollOffset!=y)this.scrollAnchorHeight=-1,this.scrollOffset=y;this.scrolledToBottom=Go(this.scrollParent||t.win);let w=(this.printing?Af:Sf)(e,this.paddingTop),S=w.top-this.pixelViewport.top,A=w.bottom-this.pixelViewport.bottom;this.pixelViewport=w;let R=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(R!=this.inView){if(this.inView=R,R)f=!0}if(!this.inView&&!this.scrollTarget&&!Cf(t.dom))return 0;let L=l.width;if(this.contentDOMWidth!=L||this.editorHeight!=t.scrollDOM.clientHeight)this.contentDOMWidth=l.width,this.editorHeight=t.scrollDOM.clientHeight,c|=16;if(f){let q=t.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(q))o=!0;if(o||s.lineWrapping&&Math.abs(L-this.contentDOMWidth)>s.charWidth){let{lineHeight:B,charWidth:V,textHeight:W}=t.docView.measureTextSize();if(o=B>0&&s.refresh(r,B,V,W,Math.max(5,L/V),q),o)t.docView.minWidth=0,c|=16}if(S>0&&A>0)d=Math.max(S,A);else if(S<0&&A<0)d=Math.min(S,A);Bo();for(let B of this.viewports){let V=B.from==this.viewport.from?q:t.docView.measureVisibleLineHeights(B);this.heightMap=(o?Ct.empty().applyChanges(this.stateDeco,M.empty,this.heightOracle,[new Wt(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new Yl(B.from,V))}if(mi)c|=2}let _=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);if(_){if(c&2)c|=this.updateScaler();this.viewport=this.getViewport(d,this.scrollTarget),c|=this.updateForViewport()}if(c&2||_)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>4000)this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t));if(c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc)this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc();return c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,e){let i=0.5-Math.max(-0.5,Math.min(0.5,t/1000/2)),s=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,f=new Di(s.lineAt(o-i*1000,at.ByHeight,r,0,0).from,s.lineAt(l+(1-i)*1000,at.ByHeight,r,0,0).to);if(e){let{head:c}=e.range;if(c<f.from||c>f.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),g=s.lineAt(c,at.ByPos,r,0,0),m;if(e.y=="center")m=(g.top+g.bottom)/2-d/2;else if(e.y=="start"||e.y=="nearest"&&c<f.from)m=g.top;else m=g.bottom-d;f=new Di(s.lineAt(m-500,at.ByHeight,r,0,0).from,s.lineAt(m+d+500,at.ByHeight,r,0,0).to)}}return f}mapViewport(t,e){let i=e.mapPos(t.from,-1),s=e.mapPos(t.to,1);return new Di(this.heightMap.lineAt(i,at.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(s,at.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:e},i=0){if(!this.inView)return!0;let{top:s}=this.heightMap.lineAt(t,at.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(e,at.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(t==0||s<=o-Math.max(10,Math.min(-i,250)))&&(e==this.state.doc.length||r>=l+Math.max(10,Math.min(i,250)))&&(s>o-2000&&r<l+2000)}mapLineGaps(t,e){if(!t.length||e.empty)return t;let i=[];for(let s of t)if(!e.touchesRange(s.from,s.to))i.push(new ds(e.mapPos(s.from),e.mapPos(s.to),s.size,s.displaySize));return i}ensureLineGaps(t,e){let i=this.heightOracle.lineWrapping,s=i?1e4:2000,r=s>>1,o=s<<1;if(this.defaultTextDirection!=F.LTR&&!i)return[];let l=[],f=(d,g,m,b)=>{if(g-d<r)return;let y=this.state.selection.main,w=[y.from];if(!y.empty)w.push(y.to);for(let A of w)if(A>d&&A<g){f(d,A-10,m,b),f(A+10,g,m,b);return}let S=Of(t,(A)=>A.from>=m.from&&A.to<=m.to&&Math.abs(A.from-d)<r&&Math.abs(A.to-g)<r&&!w.some((R)=>A.from<R&&A.to>R));if(!S){if(g<m.to&&e&&i&&e.visibleRanges.some((L)=>L.from<=g&&L.to>=g)){let L=e.moveToLineBoundary(a.cursor(g),!1,!0).head;if(L>d)g=L}let A=this.gapSize(m,d,g,b),R=i||A<2000000?A:2000000;S=new ds(d,g,A,R)}l.push(S)},c=(d)=>{if(d.length<o||d.type!=wt.Text)return;let g=Mf(d.from,d.to,this.stateDeco);if(g.total<o)return;let m=this.scrollTarget?this.scrollTarget.range.head:null,b,y;if(i){let w=s/this.heightOracle.lineLength*this.heightOracle.lineHeight,S,A;if(m!=null){let R=os(g,m),L=((this.visibleBottom-this.visibleTop)/2+w)/d.height;S=R-L,A=R+L}else S=(this.visibleTop-d.top-w)/d.height,A=(this.visibleBottom-d.top+w)/d.height;b=rs(g,S),y=rs(g,A)}else{let w=g.total*this.heightOracle.charWidth,S=s*this.heightOracle.charWidth,A=0;if(w>2000000){for(let B of t)if(B.from>=d.from&&B.from<d.to&&B.size!=B.displaySize&&B.from*this.heightOracle.charWidth+A<this.pixelViewport.left)A=B.size-B.displaySize}let R=this.pixelViewport.left+A,L=this.pixelViewport.right+A,_,q;if(m!=null){let B=os(g,m),V=((L-R)/2+S)/w;_=B-V,q=B+V}else _=(R-S)/w,q=(L+S)/w;b=rs(g,_),y=rs(g,q)}if(b>d.from)f(d.from,b,d,g);if(y<d.to)f(y,d.to,d,g)};for(let d of this.viewportLines)if(Array.isArray(d.type))d.type.forEach(c);else c(d);return l}gapSize(t,e,i,s){let r=os(s,i)-os(s,e);if(this.heightOracle.lineWrapping)return t.height*r;else return s.total*this.heightOracle.charWidth*r}updateLineGaps(t){if(!ds.same(t,this.lineGaps))this.lineGaps=t,this.lineGapDeco=v.set(t.map((e)=>e.draw(this,this.heightOracle.lineWrapping)))}computeVisibleRanges(t){let e=this.stateDeco;if(this.lineGaps.length)e=e.concat(this.lineGapDeco);let i=[];Z.spans(e,this.viewport.from,this.viewport.to,{span(r,o){i.push({from:r,to:o})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let r=0;r<i.length&&!(s&8);r++){let o=this.visibleRanges[r],l=i[r];if(o.from!=l.from||o.to!=l.to){if(s|=4,!(t&&t.mapPos(o.from,-1)==l.from&&t.mapPos(o.to,1)==l.to))s|=8}}return this.visibleRanges=i,s}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find((e)=>e.from<=t&&e.to>=t)||Bi(this.heightMap.lineAt(t,at.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find((e)=>e.top<=t&&e.bottom>=t)||Bi(this.heightMap.lineAt(this.scaler.fromDOM(t),at.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(t){let e=this.lineBlockAtHeight(t+12-this.paddingTop);return e.from>=this.viewport.from||this.viewportLines[0].top-t>200?e:this.viewportLines[0]}elementAtHeight(t){return Bi(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Di{constructor(t,e){this.from=t,this.to=e}}function Mf(t,e,i){let s=[],r=t,o=0;if(Z.spans(i,t,e,{span(){},point(l,f){if(l>r)s.push({from:r,to:l}),o+=l-r;r=f}},20),r<e)s.push({from:r,to:e}),o+=e-r;return{total:o,ranges:s}}function rs({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let s=Math.floor(t*i);for(let r=0;;r++){let{from:o,to:l}=e[r],f=l-o;if(s<=f)return o+s;s-=f}}function os(t,e){let i=0;for(let{from:s,to:r}of t.ranges){if(e<=r){i+=e-s;break}i+=r-s}return i/t.total}function Of(t,e){for(let i of t)if(e(i))return i;return}var zn={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function Ro(t){let e=t.facet(Ds).filter((s)=>typeof s!="function"),i=t.facet(sr).filter((s)=>typeof s!="function");if(i.length)e.push(Z.join(i));return e}class As{constructor(t,e){this.scale=t,this.viewports=e}static get(t,e,i){let s=0,r=0,o=0,l=i.map(({from:c,to:d})=>{let g=e.lineAt(c,at.ByPos,t,0,0).top,m=e.lineAt(d,at.ByPos,t,0,0).bottom;return s+=m-g,{from:c,to:d,top:g,bottom:m,domTop:0,domBottom:0}});if(e.height-s<10)return zn;let f=(7000000-s)/(e.height-s);for(let c of l)c.domTop=o+(c.top-r)*f,o=c.domBottom=c.domTop+(c.bottom-c.top),r=c.bottom;return new As(f,l)}toDOM(t){for(let e=0,i=0,s=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.top)return s+(t-i)*this.scale;if(t<=r.bottom)return r.domTop+(t-r.top);i=r.bottom,s=r.domBottom}}fromDOM(t){for(let e=0,i=0,s=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.domTop)return i+(t-s)/this.scale;if(t<=r.domBottom)return r.top+(t-r.domTop);i=r.bottom,s=r.domBottom}}eq(t){if(!(t instanceof As))return!1;return this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((e,i)=>e.from==t.viewports[i].from&&e.to==t.viewports[i].to)}}function Bi(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),s=e.toDOM(t.bottom);return new Kt(t.from,t.length,i,s-i,Array.isArray(t._content)?t._content.map((r)=>Bi(r,e)):t._content)}var ls=h.define({combine:(t)=>t.join(" ")}),Vn=h.define({combine:(t)=>t.indexOf(!0)>-1}),Kn=_t.newName(),Ql=_t.newName(),Zl=_t.newName(),th={"&light":"."+Ql,"&dark":"."+Zl};function qn(t,e,i){return new _t(e,{finish(s){return/&/.test(s)?s.replace(/&\w*/,(r)=>{if(r=="&")return t;if(!i||!i[r])throw RangeError(`Unsupported selector: ${r}`);return i[r]}):t+" "+s}})}var Df=qn("."+Kn,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"baseline",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},th),Bf={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},cn=I.ie&&I.ie_version<=11;class eh{constructor(t){if(this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new Uo,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver((e)=>{for(let i of e)this.queue.push(i);if((I.ie&&I.ie_version<=11||I.ios&&t.composing)&&e.some((i)=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length))this.flushSoon();else this.flush()}),window.EditContext&&I.android&&t.constructor.EDIT_CONTEXT!==!1&&!(I.chrome&&I.chrome_version<126)){if(this.editContext=new ih(t),t.state.facet(pe))t.contentDOM.editContext=this.editContext.editContext}if(cn)this.onCharData=(e)=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()};if(this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia)this.printQuery=window.matchMedia("print");if(typeof ResizeObserver=="function")this.resizeScroll=new ResizeObserver(()=>{var e;if(((e=this.view.docView)===null||e===void 0?void 0:e.lastUpdate)<Date.now()-75)this.onResize()}),this.resizeScroll.observe(t.scrollDOM);if(this.addWindowListeners(this.win=t.win),this.start(),typeof IntersectionObserver=="function")this.intersection=new IntersectionObserver((e)=>{if(this.parentCheck<0)this.parentCheck=setTimeout(this.listenForScroll.bind(this),1000);if(e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting){if(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView)this.onScrollChanged(document.createEvent("Event"))}},{threshold:[0,0.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((e)=>{if(e.length>0&&e[e.length-1].intersectionRatio>0)this.onScrollChanged(document.createEvent("Event"))},{});this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){if(this.view.inputState.runHandlers("scroll",t),this.intersecting)this.view.measure()}onScroll(t){if(this.intersecting)this.flush(this.pendingRecords().length>0);if(this.editContext)this.view.requestMeasure(this.editContext.measureReq);this.onScrollChanged(t)}onResize(){if(this.resizeTimeout<0)this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50)}onPrint(t){if((t.type=="change"||!t.type)&&!t.matches)return;this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((e,i)=>e!=t[i]))){this.gapIntersection.disconnect();for(let e of t)this.gapIntersection.observe(e);this.gaps=t}}onSelectionChange(t){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(pe)?i.root.activeElement!=this.dom:!Ri(this.dom,s))return;let r=s.anchorNode&&i.docView.tile.nearest(s.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(t)){if(!e)this.selectionChanged=!1;return}if((I.ie&&I.ie_version<=11||I.android&&I.chrome)&&!i.state.selection.main.empty&&s.focusNode&&Li(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset))this.flushSoon();else this.flush(!1)}readSelectionRange(){let{view:t}=this,e=Ii(t.root);if(!e)return!1;let i=I.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&Tf(this.view,e)||e;if(!i||this.selectionRange.eq(i))return!1;let s=Ri(this.dom,i);if(s&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&Sa(this.dom,i))return this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1;if(this.selectionRange.setRange(i),s)this.selectionChanged=!0;return!0}setSelectionRange(t,e){this.selectionRange.set(t.node,t.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,e=null;for(let i=this.dom;i;)if(pt(i)){if(!e&&t<this.scrollTargets.length&&this.scrollTargets[t]==i)t++;else if(!e)e=this.scrollTargets.slice(0,t);if(e)e.push(i);i=i.assignedSlot||i.parentNode}else if(i.nodeType==11)i=i.host;else break;if(t<this.scrollTargets.length&&!e)e=this.scrollTargets.slice(0,t);if(e){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=e)i.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){if(this.active)return;if(this.observer.observe(this.dom,Bf),cn)this.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.active=!0}stop(){if(!this.active)return;if(this.active=!1,this.observer.disconnect(),cn)this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData)}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,e){var i;if(!this.delayedAndroidKey){let s=()=>{let r=this.delayedAndroidKey;if(r){if(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force)ci(this.dom,r.key,r.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}if(!this.delayedAndroidKey||t=="Enter")this.delayedAndroidKey={key:t,keyCode:e,force:this.lastChange<Date.now()-50||!!((i=this.delayedAndroidKey)===null||i===void 0?void 0:i.force)}}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){if(this.delayedFlush<0)this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()})}forceFlush(){if(this.delayedFlush>=0)this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1;this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();if(t.length)this.queue=[];let e=-1,i=-1,s=!1;for(let r of t){let o=this.readMutation(r);if(!o)continue;if(o.typeOver)s=!0;if(e==-1)({from:e,to:i}=o);else e=Math.min(o.from,e),i=Math.max(o.to,i)}return{from:e,to:i,typeOver:s}}readChange(){let{from:t,to:e,typeOver:i}=this.processRecords(),s=this.selectionChanged&&Ri(this.dom,this.selectionRange);if(t<0&&!s)return null;if(t>-1)this.lastChange=Date.now();this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new Pl(this.view,t,e,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;if(t)this.readSelectionRange();let e=this.selectionChanged,i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let s=this.view.state,r=Il(this.view,i);if(this.view.state==s&&(i.domChanged||e))this.view.update([]);return r}readMutation(t){let e=this.view.docView.tile.nearest(t.target);if(!e||e.isWidget())return null;if(e.markDirty(t.type=="attributes"),t.type=="childList"){let i=Lo(e,t.previousSibling||t.target.previousSibling,-1),s=Lo(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:s?e.posBefore(s):e.posAtEnd,typeOver:!1}}else if(t.type=="characterData")return{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue};else return null}setWindow(t){if(t!=this.win)this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win)}addWindowListeners(t){if(t.addEventListener("resize",this.onResize),this.printQuery)if(this.printQuery.addEventListener)this.printQuery.addEventListener("change",this.onPrint);else this.printQuery.addListener(this.onPrint);else t.addEventListener("beforeprint",this.onPrint);t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){if(t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery)if(this.printQuery.removeEventListener)this.printQuery.removeEventListener("change",this.onPrint);else this.printQuery.removeListener(this.onPrint);else t.removeEventListener("beforeprint",this.onPrint);t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){if(this.editContext){if(this.editContext.update(t),t.startState.facet(pe)!=t.state.facet(pe))t.view.contentDOM.editContext=t.state.facet(pe)?this.editContext.editContext:null}}destroy(){var t,e,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(e=this.gapIntersection)===null||e===void 0||e.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);if(this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext)this.view.contentDOM.editContext=null,this.editContext.destroy()}}function Lo(t,e,i){while(e){let s=ut.get(e);if(s&&s.parent==t)return s;let r=e.parentNode;e=r!=t.dom?r:i>0?e.nextSibling:e.previousSibling}return null}function Po(t,e){let{startContainer:i,startOffset:s,endContainer:r,endOffset:o}=e,l=t.docView.domAtPos(t.state.selection.main.anchor,1);if(Li(l.node,l.offset,r,o))[i,s,r,o]=[r,o,i,s];return{anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o}}function Tf(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return Po(t,r)}let i=null;function s(r){r.preventDefault(),r.stopImmediatePropagation(),i=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",s,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",s,!0),i?Po(t,i):null}class ih{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let e=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=(i)=>{let s=t.state.selection.main,{anchor:r,head:o}=s,l=this.toEditorPos(i.updateRangeStart),f=this.toEditorPos(i.updateRangeEnd);if(t.inputState.composing>=0&&!this.composing)this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1};let c=f-l>i.text.length;if(l==this.from&&r<this.from)l=r;else if(f==this.to&&r>this.to)f=r;let d=Nl(t.state.sliceDoc(l,f),i.text,(c?s.from:s.to)-l,c?"end":null);if(!d){let m=a.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));if(!Hn(m,s))t.dispatch({selection:m,userEvent:"select"});return}let g={from:d.from+l,to:d.toA+l,insert:M.of(i.text.slice(d.from,d.toB).split(`
|
|
10
|
-
`))};if((I.mac||I.android)&&g.from==o-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off")g={from:l,to:f,insert:M.of([i.text.replace("."," ")])};if(this.pendingContextChange=g,!t.state.readOnly){let m=this.to-this.from+(g.to-g.from+g.insert.length);nr(t,g,a.single(this.toEditorPos(i.selectionStart,m),this.toEditorPos(i.selectionEnd,m)))}if(this.pendingContextChange)this.revertPending(t.state),this.setSelection(t.state);if(g.from<g.to&&!g.insert.length&&t.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(e.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(e.text.length,i.updateRangeStart+1))))this.handlers.compositionend(i)},this.handlers.characterboundsupdate=(i)=>{let s=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let f=t.coordsForChar(o);r=f&&new DOMRect(f.left,f.top,f.right-f.left,f.bottom-f.top)||r||new DOMRect,s.push(r)}e.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=(i)=>{let s=[];for(let r of i.getTextFormats()){let{underlineStyle:o,underlineThickness:l}=r;if(!/none/i.test(o)&&!/none/i.test(l)){let f=this.toEditorPos(r.rangeStart),c=this.toEditorPos(r.rangeEnd);if(f<c){let d=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;s.push(v.mark({attributes:{style:d}}).range(f,c))}}}t.dispatch({effects:pl.of(v.set(s))})},this.handlers.compositionstart=()=>{if(t.inputState.composing<0)t.inputState.composing=0,t.inputState.compositionFirstChange=!0},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;if(this.composing=null,i)this.reset(t.state)}};for(let i in this.handlers)e.addEventListener(i,this.handlers[i]);this.measureReq={read:(i)=>{let s=Ii(i.root);if(s&&s.rangeCount)this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let e=0,i=!1,s=this.pendingContextChange;if(t.changes.iterChanges((r,o,l,f,c)=>{if(i)return;let d=c.length-(o-r);if(s&&o>=s.to)if(s.from==r&&s.to==o&&s.insert.eq(c)){s=this.pendingContextChange=null,e+=d,this.to+=d;return}else s=null,this.revertPending(t.state);if(r+=e,o+=e,o<=this.from)this.from+=d,this.to+=d;else if(r<this.to){if(r<this.from||o>this.to||this.to-this.from+c.length>30000){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),c.toString()),this.to+=d}e+=d}),s&&!i)this.revertPending(t.state);return!i}update(t){let e=this.pendingContextChange,i=t.startState.selection.main;if(this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some((s)=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to))))this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase);else if(!this.applyEdits(t)||!this.rangeIsValid(t.state))this.pendingContextChange=null,this.reset(t.state);else if(t.docChanged||t.selectionSet||e)this.setSelection(t.state);if(t.geometryChanged||t.docChanged||t.selectionSet)t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:e}=t.selection.main;this.from=Math.max(0,e-1e4),this.to=Math.min(t.doc.length,e+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let e=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(e.from),this.toContextPos(e.from+e.insert.length),t.doc.sliceString(e.from,e.to))}setSelection(t){let{main:e}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,e.anchor))),s=this.toContextPos(e.head);if(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)this.editContext.updateSelection(i,s)}rangeIsValid(t){let{head:e}=t.selection.main;return!(this.from>0&&e-this.from<500||this.to<t.doc.length&&this.to-e<500||this.to-this.from>30000)}toEditorPos(t,e=this.to-this.from){t=Math.min(t,e);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let e=this.composing;return e&&e.drifted?e.contextBase+(t-e.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class u{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var e;if(this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.clearAnnouncement=-1,this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent)t.parent.appendChild(this.dom);let{dispatch:i}=t;if(this.dispatchTransactions=t.dispatchTransactions||i&&((s)=>s.forEach((r)=>i(r,this)))||((s)=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=t.root||ka(t.parent)||document,this.viewState=new Wn(this,t.state||T.create(t)),t.scrollTo&&t.scrollTo.is(is))this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state);this.plugins=this.state.facet(hi).map((s)=>new fs(s));for(let s of this.plugins)s.update(this);if(this.observer=new eh(this),this.inputState=new Hl(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Rn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(e=document.fonts)===null||e===void 0?void 0:e.ready)document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let e=t.length==1&&t[0]instanceof Y?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(e,this)}update(t){if(this.updateState!=0)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let e=!1,i=!1,s,r=this.state;for(let m of t){if(m.startState!=r)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=m.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,l=0,f=null;if(t.some((m)=>m.annotation(ql)))this.inputState.notifiedFocused=o,l=1;else if(o!=this.inputState.notifiedFocused){if(this.inputState.notifiedFocused=o,f=jl(r,o),!f)l=1}let c=this.observer.delayedAndroidKey,d=null;if(c){if(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),d&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))d=null}else this.observer.clear();if(r.facet(T.phrases)!=this.state.facet(T.phrases))return this.setState(r);s=ks.create(this,r,t),s.flags|=l;let g=this.viewState.scrollTarget;try{this.updateState=2;for(let m of t){if(g)g=g.map(m.changes);if(m.scrollIntoView){let{main:b}=m.state.selection,{x:y,y:w}=this.state.facet(u.cursorScrollMargin);g=new ui(b.empty?b:a.cursor(b.head,b.head>b.anchor?-1:1),"nearest","nearest",w,y)}for(let b of m.effects)if(b.is(is))g=b.value.clip(this.state)}if(this.viewState.update(s,g),this.bidiCache=Ms.update(this.bidiCache,s.changes),!s.empty)this.updatePlugins(s),this.inputState.update(s);if(e=this.docView.update(s),this.state.facet(Oi)!=this.styleModules)this.mountStyles();i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(e,t.some((m)=>m.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(ls)!=s.state.facet(ls))this.viewState.mustMeasureContent=!0;if(e||i||g||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)this.requestMeasure();if(e)this.docViewUpdate();if(!s.empty)for(let m of this.state.facet(Bn))try{m(s)}catch(b){$t(this.state,b,"update listener")}if(f||d)Promise.resolve().then(()=>{if(f&&this.state==f.startState)this.dispatch(f);if(d){if(!Il(this,d)&&c.force)ci(this.contentDOM,c.key,c.keyCode)}})}setState(t){if(this.updateState!=0)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let e=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Wn(this,t),this.plugins=t.facet(hi).map((i)=>new fs(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Rn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}if(e)this.focus();this.requestMeasure()}updatePlugins(t){let e=t.startState.facet(hi),i=t.state.facet(hi);if(e!=i){let s=[];for(let r of i){let o=e.indexOf(r);if(o<0)s.push(new fs(r));else{let l=this.plugins[o];l.mustUpdate=t,s.push(l)}}for(let r of this.plugins)if(r.mustUpdate!=t)r.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=t;for(let s=0;s<this.plugins.length;s++)this.plugins[s].update(this);if(e!=i)this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let e=t.value;if(e&&e.docViewUpdate)try{e.docViewUpdate(this)}catch(i){$t(this.state,i,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1)this.win.cancelAnimationFrame(this.measureScheduled);if(this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}if(this.measureScheduled=0,t)this.observer.forceFlush();let e=null,i=this.viewState.scrollParent,s=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:o,scaleY:l}=this.viewState;if(Math.abs(s-this.viewState.scrollOffset)>1)o=-1;this.viewState.scrollAnchorHeight=-1;try{for(let f=0;;f++){if(o<0){if(Go(i||this.win))r=-1,o=this.viewState.heightMap.height/this.viewState.scaleY;else{let y=this.viewState.scrollAnchorAt(s);r=y.from,o=y.top}l=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(f>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let d=[];if(!(c&4))[this.measureRequests,d]=[d,this.measureRequests];let g=d.map((y)=>{try{return y.read(this)}catch(w){return $t(this.state,w),Eo}}),m=ks.create(this,this.state,[]),b=!1;if(m.flags|=c,!e)e=m;else e.flags|=c;if(this.updateState=2,!m.empty){if(this.updatePlugins(m),this.inputState.update(m),this.updateAttrs(),b=this.docView.update(m),b)this.docViewUpdate()}for(let y=0;y<d.length;y++)if(g[y]!=Eo)try{let w=d[y];if(w.write)w.write(g[y],this)}catch(w){$t(this.state,w)}if(b)this.docView.updateSelection(!0);if(!m.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let w=(r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)/this.viewState.scaleY-o/l;if((w>1||w<-1)&&!(I.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){if(s=s+w,!i)this.win.scrollBy(0,w);else if(r<0)i.scrollTop=i.scrollHeight;else i.scrollTop+=w;o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let f of this.state.facet(Bn))f(e)}get themeClasses(){return Kn+" "+(this.state.facet(Vn)?Zl:Ql)+" "+this.state.facet(ls)}updateAttrs(){let t=Io(this,gl,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:!this.state.facet(pe)?"false":"true",class:"cm-content",style:`${I.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};if(this.state.readOnly)e["aria-readonly"]="true";Io(this,ir,e);let i=this.observer.ignore(()=>{let s=po(this.contentDOM,this.contentAttrs,e),r=po(this.dom,this.editorAttrs,t);return s||r});return this.editorAttrs=t,this.contentAttrs=e,i}showAnnouncements(t){let e=!0;for(let i of t)for(let s of i.effects)if(s.is(u.announce)){if(e)this.announceDOM.textContent="",this.win.clearTimeout(this.clearAnnouncement),this.clearAnnouncement=this.win.setTimeout(()=>{this.announceDOM.textContent=" "},200),e=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(Oi);let t=this.state.facet(u.cspNonce);_t.mount(this.root,this.styleModules.concat(Df).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw Error("Reading the editor layout isn't allowed during an update");if(this.updateState==0&&this.measureScheduled>-1)this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0)this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure());if(t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===t.key){this.measureRequests[e]=t;return}}this.measureRequests.push(t)}}plugin(t){let e=this.pluginMap.get(t);if(e===void 0||e&&e.plugin!=t)this.pluginMap.set(t,e=this.plugins.find((i)=>i.plugin==t)||null);return e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,e,i){return fn(this,t,xo(this,t,e,i))}moveByGroup(t,e){return fn(this,t,xo(this,t,e,(i)=>Ga(this,t.head,i)))}visualLineSide(t,e){return e?a.cursor(t.to,1):a.cursor(t.from,-1)}moveToLineBoundary(t,e,i=!0){return Ja(this,t,e,i)}moveVertically(t,e,i){return fn(this,t,Qa(this,t,e,i))}domAtPos(t,e=1){return this.docView.domAtPos(t,e)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t,e=!0){this.readMeasured();let i=In(this,t,e);return i&&i.pos}posAndSideAtCoords(t,e=!0){return this.readMeasured(),In(this,t,e)}coordsAtPos(t,e=1){this.readMeasured();let i=this.state.doc.lineAt(t),s=this.bidiSpans(i),r=s[jt.find(s,t-i.from,-1,e)];if(i.length&&(t==i.from&&e<0||t==i.to&&e>0)&&r.dir!=this.textDirectionAt(i.from))if(t==i.to)t=i.from+r.from,e=1;else t=i.from+r.to,e=-1;return this.docView.coordsAt(t,e,r.dir==F.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){if(!this.state.facet(cl)||t<this.viewport.from||t>this.viewport.to)return this.textDirection;return this.readMeasured(),this.docView.textDirectionAt(t)}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>Rf)return sl(t.length);let e=this.textDirectionAt(t.from),i;for(let r of this.bidiCache)if(r.from==t.from&&r.dir==e&&(r.fresh||il(r.isolates,i=bo(this,t))))return r.order;if(!i)i=bo(this,t);let s=Ta(t.text,e,i);return this.bidiCache.push(new Ms(t.from,t.to,e,i,!0,s)),s}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||I.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-30000)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Jo(this.contentDOM),this.docView.updateSelection()})}setRoot(t){if(this._root!=t)this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles()}destroy(){if(this.root.activeElement==this.contentDOM)this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);if(this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.win.clearTimeout(this.clearAnnouncement),this.measureScheduled>-1)this.win.cancelAnimationFrame(this.measureScheduled);this.destroyed=!0}static scrollIntoView(t,e={}){var i,s,r,o;return is.of(new ui(typeof t=="number"?a.cursor(t):t,(i=e.y)!==null&&i!==void 0?i:"nearest",(s=e.x)!==null&&s!==void 0?s:"nearest",(r=e.yMargin)!==null&&r!==void 0?r:5,(o=e.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:e}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return is.of(new ui(a.cursor(i.from),"start","start",i.top-t,e,!0))}setTabFocusMode(t){if(t==null)this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1;else if(typeof t=="boolean")this.inputState.tabFocusMode=t?0:-1;else if(this.inputState.tabFocusMode!=0)this.inputState.tabFocusMode=Date.now()+t}static domEventHandlers(t){return fe.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return fe.define(()=>({}),{eventObservers:t})}static theme(t,e){let i=_t.newName(),s=[ls.of(i),Oi.of(qn(`.${i}`,t))];if(e&&e.dark)s.push(Vn.of(!0));return s}static baseTheme(t){return ye.lowest(Oi.of(qn("."+Kn,t,th)))}static findFromDOM(t){var e;let i=t.querySelector(".cm-content"),s=i&&ut.get(i)||ut.get(t);return((e=s===null||s===void 0?void 0:s.root)===null||e===void 0?void 0:e.view)||null}}u.styleModule=Oi;u.inputHandler=al;u.clipboardInputFilter=tr;u.clipboardOutputFilter=er;u.scrollHandler=dl;u.focusChangeEffect=fl;u.perLineTextDirection=cl;u.exceptionSink=hl;u.updateListener=Bn;u.editable=pe;u.mouseSelectionStyle=ll;u.dragMovesSelection=ol;u.clickAddsSelectionRange=rl;u.decorations=Ds;u.blockWrappers=ml;u.outerDecorations=sr;u.atomicRanges=_i;u.bidiIsolatedRanges=bl;u.cursorScrollMargin=h.define({combine:(t)=>{let e=5,i=5;for(let s of t)if(typeof s=="number")e=i=s;else({x:e,y:i}=s);return{x:e,y:i}}});u.scrollMargins=wl;u.darkTheme=Vn;u.cspNonce=h.define({combine:(t)=>t.length?t[0]:""});u.contentAttributes=ir;u.editorAttributes=gl;u.lineWrapping=u.contentAttributes.of({class:"cm-lineWrapping"});u.announce=C.define();var Rf=4096,Eo={};class Ms{constructor(t,e,i,s,r,o){this.from=t,this.to=e,this.dir=i,this.isolates=s,this.fresh=r,this.order=o}static update(t,e){if(e.empty&&!t.some((r)=>r.fresh))return t;let i=[],s=t.length?t[t.length-1].dir:F.LTR;for(let r=Math.max(0,t.length-10);r<t.length;r++){let o=t[r];if(o.dir==s&&!e.touchesRange(o.from,o.to))i.push(new Ms(e.mapPos(o.from,1),e.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}}function Io(t,e,i){for(let s=t.state.facet(e),r=s.length-1;r>=0;r--){let o=s[r],l=typeof o=="function"?o(t):o;if(l)Jn(l,i)}return i}var Lf=I.mac?"mac":I.windows?"win":I.linux?"linux":"key";function Pf(t,e){let i=t.split(/-(?!$)/),s=i[i.length-1];if(s=="Space")s=" ";let r,o,l,f;for(let c=0;c<i.length-1;++c){let d=i[c];if(/^(cmd|meta|m)$/i.test(d))f=!0;else if(/^a(lt)?$/i.test(d))r=!0;else if(/^(c|ctrl|control)$/i.test(d))o=!0;else if(/^s(hift)?$/i.test(d))l=!0;else if(/^mod$/i.test(d))if(e=="mac")f=!0;else o=!0;else throw Error("Unrecognized modifier name: "+d)}if(r)s="Alt-"+s;if(o)s="Ctrl-"+s;if(f)s="Meta-"+s;if(l)s="Shift-"+s;return s}function hs(t,e,i){if(e.altKey)t="Alt-"+t;if(e.ctrlKey)t="Ctrl-"+t;if(e.metaKey)t="Meta-"+t;if(i!==!1&&e.shiftKey)t="Shift-"+t;return t}var Ef=ye.default(u.domEventHandlers({keydown(t,e){return nh(sh(e.state),t,e,"editor")}})),Fe=h.define({enables:Ef}),No=new WeakMap;function sh(t){let e=t.facet(Fe),i=No.get(e);if(!i)No.set(e,i=Nf(e.reduce((s,r)=>s.concat(r),[])));return i}function yn(t,e,i){return nh(sh(t.state),e,t,i)}var Ae=null,If=4000;function Nf(t,e=Lf){let i=Object.create(null),s=Object.create(null),r=(l,f)=>{let c=s[l];if(c==null)s[l]=f;else if(c!=f)throw Error("Key binding "+l+" is used both as a regular binding and as a multi-stroke prefix")},o=(l,f,c,d,g)=>{var m,b;let y=i[l]||(i[l]=Object.create(null)),w=f.split(/ (?!$)/).map((R)=>Pf(R,e));for(let R=1;R<w.length;R++){let L=w.slice(0,R).join(" ");if(r(L,!0),!y[L])y[L]={preventDefault:!0,stopPropagation:!1,run:[(_)=>{let q=Ae={view:_,prefix:L,scope:l};return setTimeout(()=>{if(Ae==q)Ae=null},If),!0}]}}let S=w.join(" ");r(S,!1);let A=y[S]||(y[S]={preventDefault:!1,stopPropagation:!1,run:((b=(m=y._any)===null||m===void 0?void 0:m.run)===null||b===void 0?void 0:b.slice())||[]});if(c)A.run.push(c);if(d)A.preventDefault=!0;if(g)A.stopPropagation=!0};for(let l of t){let f=l.scope?l.scope.split(" "):["editor"];if(l.any)for(let d of f){let g=i[d]||(i[d]=Object.create(null));if(!g._any)g._any={preventDefault:!1,stopPropagation:!1,run:[]};let{any:m}=l;for(let b in g)g[b].run.push((y)=>m(y,jn))}let c=l[e]||l.key;if(!c)continue;for(let d of f)if(o(d,c,l.run,l.preventDefault,l.stopPropagation),l.shift)o(d,"Shift-"+c,l.shift,l.preventDefault,l.stopPropagation)}return i}var jn=null;function nh(t,e,i,s){jn=e;let r=ho(e),o=It(r,0),l=Dt(o)==r.length&&r!=" ",f="",c=!1,d=!1,g=!1;if(Ae&&Ae.view==i&&Ae.scope==s){if(f=Ae.prefix+" ",Wl.indexOf(e.keyCode)<0)d=!0,Ae=null}let m=new Set,b=(A)=>{if(A){for(let R of A.run)if(!m.has(R)){if(m.add(R),R(i)){if(A.stopPropagation)g=!0;return!0}}if(A.preventDefault){if(A.stopPropagation)g=!0;d=!0}}return!1},y=t[s],w,S;if(y){if(b(y[f+hs(r,e,!l)]))c=!0;else if(l&&(e.altKey||e.metaKey||e.ctrlKey)&&!(I.windows&&e.ctrlKey&&e.altKey)&&!(I.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(w=ue[e.keyCode])&&w!=r){if(b(y[f+hs(w,e,!0)]))c=!0;else if(e.shiftKey&&(S=oi[e.keyCode])!=r&&S!=w&&b(y[f+hs(S,e,!1)]))c=!0}else if(l&&e.shiftKey&&b(y[f+hs(r,e,!0)]))c=!0;if(!c&&b(y._any))c=!0}if(d)c=!0;if(c&&g)e.stopPropagation();return jn=null,c}class ze{constructor(t,e,i,s,r){this.className=t,this.left=e,this.top=i,this.width=s,this.height=r}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,e){if(e.className!=this.className)return!1;return this.adjust(t),!0}adjust(t){if(t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null)t.style.width=this.width+"px";t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,e,i){if(i.empty){let s=t.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let r=rh(t);return[new ze(e,s.left-r.left,s.top-r.top,null,s.bottom-s.top)]}else return Hf(t,e,i)}}function rh(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==F.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function Ho(t,e,i,s){let r=t.coordsAtPos(e,i*2);if(!r)return s;let o=t.dom.getBoundingClientRect(),l=(r.top+r.bottom)/2,f=t.posAtCoords({x:o.left+1,y:l}),c=t.posAtCoords({x:o.right-1,y:l});if(f==null||c==null)return s;return{from:Math.max(s.from,Math.min(f,c)),to:Math.min(s.to,Math.max(f,c))}}function Hf(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let s=Math.max(i.from,t.viewport.from),r=Math.min(i.to,t.viewport.to),o=t.textDirection==F.LTR,l=t.contentDOM,f=l.getBoundingClientRect(),c=rh(t),d=l.querySelector(".cm-line"),g=d&&window.getComputedStyle(d),m=f.left+(g?parseInt(g.paddingLeft)+Math.min(0,parseInt(g.textIndent)):0),b=f.right-(g?parseInt(g.paddingRight):0),y=En(t,s,1),w=En(t,r,-1),S=y.type==wt.Text?y:null,A=w.type==wt.Text?w:null;if(S&&(t.lineWrapping||y.widgetLineBreaks))S=Ho(t,s,1,S);if(A&&(t.lineWrapping||w.widgetLineBreaks))A=Ho(t,r,-1,A);if(S&&A&&S.from==A.from&&S.to==A.to)return L(_(i.from,i.to,S));else{let B=S?_(i.from,null,S):q(y,!1),V=A?_(null,i.to,A):q(w,!0),W=[];if((S||y).to<(A||w).from-(S&&A?1:0)||y.widgetLineBreaks>1&&B.bottom+t.defaultLineHeight/2<V.top)W.push(R(m,B.bottom,b,V.top));else if(B.bottom<V.top&&t.elementAtHeight((B.bottom+V.top)/2).type==wt.Text)B.bottom=V.top=(B.bottom+V.top)/2;return L(B).concat(W).concat(L(V))}function R(B,V,W,it){return new ze(e,B-c.left,V-c.top,Math.max(0,W-B),it-V)}function L({top:B,bottom:V,horizontal:W}){let it=[];for(let Q=0;Q<W.length;Q+=2)it.push(R(W[Q],B,W[Q+1],V));return it}function _(B,V,W){let it=1e9,Q=-1e9,lt=[];function G(st,ft,kt,Lt,Xt){let bt=t.coordsAtPos(st,st==W.to?-2:2),Ht=t.coordsAtPos(kt,kt==W.from?2:-2);if(!bt||!Ht)return;if(it=Math.min(bt.top,Ht.top,it),Q=Math.max(bt.bottom,Ht.bottom,Q),Xt==F.LTR)lt.push(o&&ft?m:bt.left,o&&Lt?b:Ht.right);else lt.push(!o&&Lt?m:Ht.left,!o&&ft?b:bt.right)}let X=B!==null&&B!==void 0?B:W.from,rt=V!==null&&V!==void 0?V:W.to;for(let st of t.visibleRanges)if(st.to>X&&st.from<rt)for(let ft=Math.max(st.from,X),kt=Math.min(st.to,rt);;){let Lt=t.state.doc.lineAt(ft);for(let Xt of t.bidiSpans(Lt)){let bt=Xt.from+Lt.from,Ht=Xt.to+Lt.from;if(bt>=kt)break;if(Ht>ft)G(Math.max(bt,ft),B==null&&bt<=X,Math.min(Ht,kt),V==null&&Ht>=rt,Xt.dir)}if(ft=Lt.to+1,ft>=kt)break}if(lt.length==0)G(X,B==null,rt,V==null,t.textDirection);return{top:it,bottom:Q,horizontal:lt}}function q(B,V){let W=f.top+(V?B.top:B.bottom);return{top:W,bottom:W,horizontal:[]}}}function Ff(t,e){return t.constructor==e.constructor&&t.eq(e)}class oh{constructor(t,e){if(this.view=t,this.layer=e,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),e.above)this.dom.classList.add("cm-layer-above");if(e.class)this.dom.classList.add(e.class);if(this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),e.mount)e.mount(this.dom,t)}update(t){if(t.startState.facet(ps)!=t.state.facet(ps))this.setOrder(t.state);if(this.layer.update(t,this.dom)||t.geometryChanged)this.scale(),t.view.requestMeasure(this.measureReq)}docViewUpdate(t){if(this.layer.updateOnDocViewUpdate!==!1)t.requestMeasure(this.measureReq)}setOrder(t){let e=0,i=t.facet(ps);while(e<i.length&&i[e]!=this.layer)e++;this.dom.style.zIndex=String((this.layer.above?150:-1)-e)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:t,scaleY:e}=this.view;if(t!=this.scaleX||e!=this.scaleY)this.scaleX=t,this.scaleY=e,this.dom.style.transform=`scale(${1/t}, ${1/e})`}draw(t){if(t.length!=this.drawn.length||t.some((e,i)=>!Ff(e,this.drawn[i]))){let e=this.dom.firstChild,i=0;for(let s of t)if(s.update&&e&&s.constructor&&this.drawn[i].constructor&&s.update(e,this.drawn[i]))e=e.nextSibling,i++;else this.dom.insertBefore(s.draw(),e);while(e){let s=e.nextSibling;e.remove(),e=s}if(this.drawn=t,I.webkit)this.dom.style.display=this.dom.firstChild?"":"none"}}destroy(){if(this.layer.destroy)this.layer.destroy(this.dom,this.view);this.dom.remove()}}var ps=h.define();function lh(t){return[fe.define((e)=>new oh(e,t)),ps.of(t)]}var $n=!I.ios,bi=h.define({combine(t){return Ie(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,i)=>Math.min(e,i),drawRangeCursor:(e,i)=>e||i})}});function bn(t={}){return[bi.of(t),Wf,_f,Vf,ul.of(!0)]}function hh(t){return t.startState.facet(bi)!=t.state.facet(bi)}var Wf=lh({above:!0,markers(t){let{state:e}=t,i=e.facet(bi),s=[];for(let r of e.selection.ranges){let o=r==e.selection.main;if(r.empty||i.drawRangeCursor&&!(o&&I.ios&&i.iosSelectionHandles)){let l=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",f=r.empty?r:a.cursor(r.head,r.assoc);for(let c of ze.forRange(t,l,f))s.push(c)}}return s},update(t,e){if(t.transactions.some((s)=>s.selection))e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink";let i=hh(t);if(i)Fo(t.state,e);return t.docChanged||t.selectionSet||i},mount(t,e){Fo(e.state,t)},class:"cm-cursorLayer"});function Fo(t,e){e.style.animationDuration=t.facet(bi).cursorBlinkRate+"ms"}var _f=lh({above:!1,markers(t){let e=[],{main:i,ranges:s}=t.state.selection;for(let r of s)if(!r.empty&&($n||r!=i))for(let o of ze.forRange(t,"cm-selectionBackground",r))e.push(o);if(I.ios&&!i.empty&&t.state.facet(bi).iosSelectionHandles){for(let r of ze.forRange(t,"cm-selectionHandle cm-selectionHandle-start",a.cursor(i.from,1)))e.push(r);for(let r of ze.forRange(t,"cm-selectionHandle cm-selectionHandle-end",a.cursor(i.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||hh(t)},class:"cm-selectionLayer"}),zf=I.gecko&&I.gecko_version==153?"#ffffff01":"transparent",Vf=ye.highest(u.theme({".cm-line":{...$n?{"& ::selection, &::selection":{backgroundColor:`${zf} !important`}}:{},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important",...$n?{"&::selection, & ::selection":{backgroundColor:"Highlight !important"}}:{}}}}));var Uc=/x/.unicode!=null?"gu":"g";function vn(){return qf}var Kf=v.line({class:"cm-activeLine"}),qf=fe.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){if(t.docChanged||t.selectionSet)this.decorations=this.getDeco(t.view)}getDeco(t){let e=-1,i=[];for(let s of t.state.selection.ranges){let r=t.lineBlockAt(s.head);if(r.from>e)i.push(Kf.range(r.from)),e=r.from}return v.set(i)}},{decorations:(t)=>t.decorations});var Wo=h.define({combine(t){let e,i;for(let s of t)e=e||s.topContainer,i=i||s.bottomContainer;return{topContainer:e,bottomContainer:i}}});function Ut(t,e){let i=t.plugin(ah),s=i?i.specs.indexOf(e):-1;return s>-1?i.panels[s]:null}var ah=fe.fromClass(class{constructor(t){this.input=t.state.facet(Tt),this.specs=this.input.filter((i)=>i),this.panels=this.specs.map((i)=>i(t));let e=t.state.facet(Wo);this.top=new Ti(t,!0,e.topContainer),this.bottom=new Ti(t,!1,e.bottomContainer),this.top.sync(this.panels.filter((i)=>i.top)),this.bottom.sync(this.panels.filter((i)=>!i.top));for(let i of this.panels)if(i.dom.classList.add("cm-panel"),i.mount)i.mount()}update(t){let e=t.state.facet(Wo);if(this.top.container!=e.topContainer)this.top.sync([]),this.top=new Ti(t.view,!0,e.topContainer);if(this.bottom.container!=e.bottomContainer)this.bottom.sync([]),this.bottom=new Ti(t.view,!1,e.bottomContainer);this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(Tt);if(i!=this.input){let s=i.filter((c)=>c),r=[],o=[],l=[],f=[];for(let c of s){let d=this.specs.indexOf(c),g;if(d<0)g=c(t.view),f.push(g);else if(g=this.panels[d],g.update)g.update(t);r.push(g),(g.top?o:l).push(g)}this.specs=s,this.panels=r,this.top.sync(o),this.bottom.sync(l);for(let c of f)if(c.dom.classList.add("cm-panel"),c.mount)c.mount()}else for(let s of this.panels)if(s.update)s.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:(t)=>u.scrollMargins.of((e)=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class Ti{constructor(t,e,i){this.view=t,this.top=e,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let e of this.panels)if(e.destroy&&t.indexOf(e)<0)e.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){if(this.dom)this.dom.remove(),this.dom=void 0;return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let t=this.dom.firstChild;for(let e of this.panels)if(e.dom.parentNode==this.dom){while(t!=e.dom)t=_o(t);t=t.nextSibling}else this.dom.insertBefore(e.dom,t);while(t)t=_o(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!this.container||this.classes==this.view.themeClasses)return;for(let t of this.classes.split(" "))if(t)this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))if(t)this.container.classList.add(t)}}function _o(t){let e=t.nextSibling;return t.remove(),e}var Tt=h.define({enables:ah});function xn(t,e){let i,s=new Promise((l)=>i=l),r=(l)=>jf(l,e,i);if(t.state.field(gs,!1))t.dispatch({effects:fh.of(r)});else t.dispatch({effects:C.appendConfig.of(gs.init(()=>[r]))});let o=ch.of(r);return{close:o,result:s.then((l)=>((t.win.queueMicrotask||((c)=>t.win.setTimeout(c,10)))(()=>{if(t.state.field(gs).indexOf(r)>-1)t.dispatch({effects:o})}),l))}}function Sn(t,e){let i=t.state.field(gs,!1)||[];for(let s of i){let r=Ut(t,s);if(r&&r.dom.classList.contains(e))return r}return null}var gs=de.define({create(){return[]},update(t,e){for(let i of e.effects)if(i.is(fh))t=[i.value].concat(t);else if(i.is(ch))t=t.filter((s)=>s!=i.value);return t},provide:(t)=>Tt.computeN([t],(e)=>e.field(t))}),fh=C.define(),ch=C.define();function jf(t,e,i){let s=e.content?e.content(t,()=>f(null)):null;if(!s){if(s=te("form"),e.input){let c=te("input",e.input);if(/^(text|password|number|email|tel|url)$/.test(c.type))c.classList.add("cm-textfield");if(!c.name)c.name="input";s.appendChild(te("label",(e.label||"")+": ",c))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(te("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=s.nodeName=="FORM"?[s]:s.querySelectorAll("form");for(let c=0;c<r.length;c++){let d=r[c];d.addEventListener("keydown",(g)=>{if(g.keyCode==27)g.preventDefault(),f(null);else if(g.keyCode==13)g.preventDefault(),f(d)}),d.addEventListener("submit",(g)=>{g.preventDefault(),f(d)})}let o=te("div",s,te("button",{onclick:()=>f(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));if(e.class)o.className=e.class;o.classList.add("cm-dialog");let l=typeof e.focus=="string"?s.querySelector(e.focus):e.focus?s.querySelector("input")||s.querySelector("button"):null;function f(c){if(o.contains(o.ownerDocument.activeElement))t.focus();i(c)}return{dom:o,top:e.top,mount:()=>{if(l){if("select"in l)l.select();else if("focus"in l)l.focus()}},destroy:()=>i(null)}}class ie extends Le{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}ie.prototype.elementClass="";ie.prototype.toDOM=void 0;ie.prototype.mapMode=he.TrackBefore;ie.prototype.startSide=ie.prototype.endSide=-1;ie.prototype.point=!0;var ms=h.define(),$f=h.define();var bs=h.define();var Un=h.define({combine:(t)=>t.some((e)=>e)});function Uf(t){let e=[Yf];if(t&&t.fixed===!1)e.push(Un.of(!0));return e}var Yf=fe.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(bs).map((e)=>new Xn(t,e)),this.fixed=!t.state.facet(Un);for(let e of this.gutters)if(e.config.side=="after")this.getDOMAfter().appendChild(e.dom);else this.dom.appendChild(e.dom);if(this.fixed)this.dom.style.position="sticky";this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){if(!this.domAfter)this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter);return this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,s=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(s<(i.to-i.from)*0.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";if(this.dom.style.minHeight=e,this.domAfter)this.domAfter.style.minHeight=e}if(this.view.state.facet(Un)!=!this.fixed){if(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter)this.domAfter.style.position=this.fixed?"sticky":""}this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;if(t){if(this.dom.remove(),this.domAfter)this.domAfter.remove()}let i=Z.iter(this.view.state.facet(ms),this.view.viewport.from),s=[],r=this.gutters.map((o)=>new uh(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks){if(s.length)s=[];if(Array.isArray(o.type)){let l=!0;for(let f of o.type)if(f.type==wt.Text&&l){Yn(i,s,f.from);for(let c of r)c.line(this.view,f,s);l=!1}else if(f.widget)for(let c of r)c.widget(this.view,f)}else if(o.type==wt.Text){Yn(i,s,o.from);for(let l of r)l.line(this.view,o,s)}else if(o.widget)for(let l of r)l.widget(this.view,o)}for(let o of r)o.finish();if(t){if(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter)this.view.scrollDOM.appendChild(this.domAfter)}}updateGutters(t){let e=t.startState.facet(bs),i=t.state.facet(bs),s=t.docChanged||t.heightChanged||t.viewportChanged||!Z.eq(t.startState.facet(ms),t.state.facet(ms),t.view.viewport.from,t.view.viewport.to);if(e==i){for(let r of this.gutters)if(r.update(t))s=!0}else{s=!0;let r=[];for(let o of i){let l=e.indexOf(o);if(l<0)r.push(new Xn(this.view,o));else this.gutters[l].update(t),r.push(this.gutters[l])}for(let o of this.gutters)if(o.dom.remove(),r.indexOf(o)<0)o.destroy();for(let o of r)if(o.config.side=="after")this.getDOMAfter().appendChild(o.dom);else this.dom.appendChild(o.dom);this.gutters=r}return s}destroy(){for(let t of this.gutters)t.destroy();if(this.dom.remove(),this.domAfter)this.domAfter.remove()}},{provide:(t)=>u.scrollMargins.of((e)=>{let i=e.plugin(t);if(!i||i.gutters.length==0||!i.fixed)return null;let s=i.dom.offsetWidth*e.scaleX,r=i.domAfter?i.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==F.LTR?{left:s,right:r}:{right:s,left:r}})});function zo(t){return Array.isArray(t)?t:[t]}function Yn(t,e,i){while(t.value&&t.from<=i){if(t.from==i)e.push(t.value);t.next()}}class uh{constructor(t,e,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Z.iter(t.markers,e.from)}addElement(t,e,i){let{gutter:s}=this,r=(e.top-this.height)/t.scaleY,o=e.height/t.scaleY;if(this.i==s.elements.length){let l=new lr(t,o,r,i);s.elements.push(l),s.dom.appendChild(l.dom)}else s.elements[this.i].update(t,o,r,i);this.height=e.bottom,this.i++}line(t,e,i){let s=[];if(Yn(this.cursor,s,e.from),i.length)s=s.concat(i);let r=this.gutter.config.lineMarker(t,e,s);if(r)s.unshift(r);let o=this.gutter;if(s.length==0&&!o.config.renderEmptyElements)return;this.addElement(t,e,s)}widget(t,e){let i=this.gutter.config.widgetMarker(t,e.widget,e),s=i?[i]:null;for(let r of t.state.facet($f)){let o=r(t,e.widget,e);if(o)(s||(s=[])).push(o)}if(s)this.addElement(t,e,s)}finish(){let t=this.gutter;while(t.elements.length>this.i){let e=t.elements.pop();t.dom.removeChild(e.dom),e.destroy()}}}class Xn{constructor(t,e){this.view=t,this.config=e,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in e.domEventHandlers)this.dom.addEventListener(i,(s)=>{let r=s.target,o;if(r!=this.dom&&this.dom.contains(r)){while(r.parentNode!=this.dom)r=r.parentNode;let f=r.getBoundingClientRect();o=(f.top+f.bottom)/2}else o=s.clientY;let l=t.lineBlockAtHeight(o-t.documentTop);if(e.domEventHandlers[i](t,l,s))s.preventDefault()});if(this.markers=zo(e.markers(t)),e.initialSpacer)this.spacer=new lr(t,0,0,[e.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none"}update(t){let e=this.markers;if(this.markers=zo(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],t);if(s!=this.spacer.markers[0])this.spacer.update(t.view,0,0,[s])}let i=t.view.viewport;return!Z.eq(this.markers,e,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class lr{constructor(t,e,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,e,i,s)}update(t,e,i,s){if(this.height!=e)this.height=e,this.dom.style.height=e+"px";if(this.above!=i)this.dom.style.marginTop=(this.above=i)?i+"px":"";if(!Xf(this.markers,s))this.setMarkers(t,s)}setMarkers(t,e){let i="cm-gutterElement",s=this.dom.firstChild;for(let r=0,o=0;;){let l=o,f=r<e.length?e[r++]:null,c=!1;if(f){let d=f.elementClass;if(d)i+=" "+d;for(let g=o;g<this.markers.length;g++)if(this.markers[g].compare(f)){l=g,c=!0;break}}else l=this.markers.length;while(o<l){let d=this.markers[o++];if(d.toDOM){d.destroy(s);let g=s.nextSibling;s.remove(),s=g}}if(!f)break;if(f.toDOM)if(c)s=s.nextSibling;else this.dom.insertBefore(f.toDOM(t),s);if(c)o++}this.dom.className=i,this.markers=e}destroy(){this.setMarkers(null,[])}}function Xf(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}var Jf=h.define(),Gf=h.define(),ai=h.define({combine(t){return Ie(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,i){let s=Object.assign({},e);for(let r in i){let o=s[r],l=i[r];s[r]=o?(f,c,d)=>o(f,c,d)||l(f,c,d):l}return s}})}});class ys extends ie{constructor(t){super();this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function un(t,e){return t.state.facet(ai).formatNumber(e,t.state)}var Qf=bs.compute([ai],(t)=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Jf)},lineMarker(e,i,s){if(s.some((r)=>r.toDOM))return null;return new ys(un(e,e.state.doc.lineAt(i.from).number))},widgetMarker:(e,i,s)=>{for(let r of e.state.facet(Gf)){let o=r(e,i,s);if(o)return o}return null},lineMarkerChange:(e)=>e.startState.facet(ai)!=e.state.facet(ai),initialSpacer(e){return new ys(un(e,Vo(e.state.doc.lines)))},updateSpacer(e,i){let s=un(i.view,Vo(i.view.state.doc.lines));return s==e.number?e:new ys(s)},domEventHandlers:t.facet(ai).domEventHandlers,side:"before"}));function wn(t={}){return[ai.of(t),Uf(),Qf]}function Vo(t){let e=9;while(e<t)e=e*10+9;return e}var Zf=new class extends ie{constructor(){super(...arguments);this.elementClass="cm-activeLineGutter"}},tc=ms.compute(["selection"],(t)=>{let e=[],i=-1;for(let s of t.selection.ranges){let r=t.doc.lineAt(s.head).from;if(r>i)i=r,e.push(Zf.range(r))}return Z.of(e)});function _n(){return tc}var kn=1024,ec=0;class Nt{constructor(t,e){this.from=t,this.to=e}}class p{constructor(t={}){this.id=ec++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw RangeError("Can't add per-node props to node types");if(typeof t!="function")t=j.match(t);return(e)=>{let i=t(e);return i===void 0?null:[this,i]}}}p.closedBy=new p({deserialize:(t)=>t.split(" ")});p.openedBy=new p({deserialize:(t)=>t.split(" ")});p.group=new p({deserialize:(t)=>t.split(" ")});p.isolate=new p({deserialize:(t)=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw RangeError("Invalid value for isolate: "+t);return t||"auto"}});p.contextHash=new p({perNode:!0});p.lookAhead=new p({perNode:!0});p.mounted=new p({perNode:!0});class $e{constructor(t,e,i,s=!1){this.tree=t,this.overlay=e,this.parser=i,this.bracketed=s}static get(t){return t&&t.props&&t.props[p.mounted.id]}}var ic=Object.create(null);class j{constructor(t,e,i,s=0){this.name=t,this.props=e,this.id=i,this.flags=s}static define(t){let e=t.props&&t.props.length?Object.create(null):ic,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),s=new j(t.name||"",e,t.id,i);if(t.props)for(let r of t.props){if(!Array.isArray(r))r=r(s);if(r){if(r[0].perNode)throw RangeError("Can't store a per-node prop on a node type");e[r[0].id]=r[1]}}return s}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let e=this.prop(p.group);return e?e.indexOf(t)>-1:!1}return this.id==t}static match(t){let e=Object.create(null);for(let i in t)for(let s of i.split(" "))e[s]=t[i];return(i)=>{for(let s=i.prop(p.group),r=-1;r<(s?s.length:0);r++){let o=e[r<0?i.name:s[r]];if(o)return o}}}}j.none=new j("",Object.create(null),0,8);class Ue{constructor(t){this.types=t;for(let e=0;e<t.length;e++)if(t[e].id!=e)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let e=[];for(let i of this.types){let s=null;for(let r of t){let o=r(i);if(o){if(!s)s=Object.assign({},i.props);let l=o[1],f=o[0];if(f.combine&&f.id in s)l=f.combine(s[f.id],l);s[f.id]=l}}e.push(s?new j(i.name,s,i.id,i.flags):i)}return new Ue(e)}}var Ts=new WeakMap,dh=new WeakMap,O;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(O||(O={}));class k{constructor(t,e,i,s,r){if(this.type=t,this.children=e,this.positions=i,this.length=s,this.props=null,r&&r.length){this.props=Object.create(null);for(let[o,l]of r)this.props[typeof o=="number"?o:o.id]=l}}toString(){let t=$e.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let i of this.children){let s=i.toString();if(s){if(e)e+=",";e+=s}}return!this.type.name?e:(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":"")}cursor(t=0){return new qi(this.topNode,t)}cursorAt(t,e=0,i=0){let s=Ts.get(this)||this.topNode,r=new qi(s);return r.moveTo(t,e),Ts.set(this,r._tree),r}get topNode(){return new vt(this,0,0,null)}resolve(t,e=0){let i=Ki(Ts.get(this)||this.topNode,t,e,!1);return Ts.set(this,i),i}resolveInner(t,e=0){let i=Ki(dh.get(this)||this.topNode,t,e,!0);return dh.set(this,i),i}resolveStack(t,e=0){return sc(this,t,e)}iterate(t){let{enter:e,leave:i,from:s=0,to:r=this.length}=t,o=t.mode||0,l=(o&O.IncludeAnonymous)>0;for(let f=this.cursor(o|O.IncludeAnonymous);;){let c=!1;if(f.from<=r&&f.to>=s&&(!l&&f.type.isAnonymous||e(f)!==!1)){if(f.firstChild())continue;c=!0}for(;;){if(c&&i&&(l||!f.type.isAnonymous))i(f);if(f.nextSibling())break;if(!f.parent())return;c=!0}}}prop(t){return!t.perNode?this.type.prop(t):this.props?this.props[t.id]:void 0}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:gr(j.none,this.children,this.positions,0,this.children.length,0,this.length,(e,i,s)=>new k(this.type,e,i,s,this.propValues),t.makeTree||((e,i,s)=>new k(j.none,e,i,s)))}static build(t){return nc(t)}}k.empty=new k(j.none,[],[],0);class ur{constructor(t,e){this.buffer=t,this.index=e}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new ur(this.buffer,this.index)}}class Oe{constructor(t,e,i){this.buffer=t,this.length=e,this.set=i}get type(){return j.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],i=this.buffer[t+3],s=this.set.types[e],r=s.name;if(/\W/.test(r)&&!s.isError)r=JSON.stringify(r);if(t+=4,i==t)return r;let o=[];while(t<i)o.push(this.childString(t)),t=this.buffer[t+3];return r+"("+o.join(",")+")"}findChild(t,e,i,s,r){let{buffer:o}=this,l=-1;for(let f=t;f!=e;f=o[f+3])if(xh(r,s,o[f+1],o[f+2])){if(l=f,i>0)break}return l}slice(t,e,i){let s=this.buffer,r=new Uint16Array(e-t),o=0;for(let l=t,f=0;l<e;){r[f++]=s[l++],r[f++]=s[l++]-i;let c=r[f++]=s[l++]-i;r[f++]=s[l++]-t,o=Math.max(o,c)}return new Oe(r,o,this.set)}}function xh(t,e,i,s){switch(t){case-2:return i<e;case-1:return s>=e&&i<e;case 0:return i<e&&s>e;case 1:return i<=e&&s>e;case 2:return s>e;case 4:return!0}}function Ki(t,e,i,s){var r;while(t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e)){let l=!s&&t instanceof vt&&t.index<0?null:t.parent;if(!l)return t;t=l}let o=s?0:O.IgnoreOverlays;if(s){for(let l=t,f=l.parent;f;l=f,f=l.parent)if(l instanceof vt&&l.index<0&&((r=f.enter(e,i,o))===null||r===void 0?void 0:r.from)!=l.from)t=f}for(;;){let l=t.enter(e,i,o);if(!l)return t;t=l}}class dr{cursor(t=0){return new qi(this,t)}getChild(t,e=null,i=null){let s=ph(this,t,e,i);return s.length?s[0]:null}getChildren(t,e=null,i=null){return ph(this,t,e,i)}resolve(t,e=0){return Ki(this,t,e,!1)}resolveInner(t,e=0){return Ki(this,t,e,!0)}matchContext(t){return hr(this.parent,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),i=this;while(e){let s=e.lastChild;if(!s||s.to!=e.to)break;if(s.type.isError&&s.from==s.to)i=e,e=s.prevSibling;else e=s}return i}get node(){return this}get next(){return this.parent}}class vt extends dr{constructor(t,e,i,s){super();this._tree=t,this.from=e,this.index=i,this._parent=s}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,i,s,r=0){for(let o=this;;){for(let{children:l,positions:f}=o._tree,c=e>0?l.length:-1;t!=c;t+=e){let d=l[t],g=f[t]+o.from,m;if(!(r&O.EnterBracketed&&d instanceof k&&(m=$e.get(d))&&!m.overlay&&m.bracketed&&i>=g&&i<=g+d.length)&&!xh(s,i,g,g+d.length))continue;if(d instanceof Oe){if(r&O.ExcludeBuffers)continue;let b=d.findChild(0,d.buffer.length,e,i-g,s);if(b>-1)return new se(new vh(o,d,t,g),null,b)}else if(r&O.IncludeAnonymous||(!d.type.isAnonymous||pr(d))){let b;if(!(r&O.IgnoreMounts)&&(b=$e.get(d))&&!b.overlay)return new vt(b.tree,g,t,o);let y=new vt(d,g,t,o);return r&O.IncludeAnonymous||!y.type.isAnonymous?y:y.nextChild(e<0?d.children.length-1:0,e,i,s,r)}}if(r&O.IncludeAnonymous||!o.type.isAnonymous)return null;if(o.index>=0)t=o.index+e;else t=e<0?-1:o._parent._tree.children.length;if(o=o._parent,!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,e,i=0){let s;if(!(i&O.IgnoreOverlays)&&(s=$e.get(this._tree))&&s.overlay){let r=t-this.from,o=i&O.EnterBracketed&&s.bracketed;for(let{from:l,to:f}of s.overlay)if((e>0||o?l<=r:l<r)&&(e<0||o?f>=r:f>r))return new vt(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,i)}nextSignificantParent(){let t=this;while(t.type.isAnonymous&&t._parent)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function ph(t,e,i,s){let r=t.cursor(),o=[];if(!r.firstChild())return o;if(i!=null){for(let l=!1;!l;)if(l=r.type.is(i),!r.nextSibling())return o}for(;;){if(s!=null&&r.type.is(s))return o;if(r.type.is(e))o.push(r.node);if(!r.nextSibling())return s==null?o:[]}}function hr(t,e,i=e.length-1){for(let s=t;i>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}class vh{constructor(t,e,i,s){this.parent=t,this.buffer=e,this.index=i,this.start=s}}class se extends dr{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,e,i){super();this.context=t,this._parent=e,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,e,i){let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],t,e-this.context.start,i);return r<0?null:new se(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,e,i=0){if(i&O.ExcludeBuffers)return null;let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return r<0?null:new se(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];if(e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length))return new se(this.context,this._parent,e);return this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;if(this.index==e)return this.externalSibling(-1);return new se(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:i}=this.context,s=this.index+4,r=i.buffer[this.index+3];if(r>s){let o=i.buffer[this.index+1];t.push(i.slice(s,r,o)),e.push(0)}return new k(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function kh(t){if(!t.length)return null;let e=0,i=t[0];for(let o=1;o<t.length;o++){let l=t[o];if(l.from>i.from||l.to<i.to)i=l,e=o}let s=i instanceof vt&&i.index<0?null:i.parent,r=t.slice();if(s)r[e]=s;else r.splice(e,1);return new Sh(r,i)}class Sh{constructor(t,e){this.heads=t,this.node=e}get next(){return kh(this.heads)}}function sc(t,e,i){let s=t.resolveInner(e,i),r=null;for(let o=s instanceof vt?s:s.context.parent;o;o=o.parent)if(o.index<0){let l=o.parent;(r||(r=[s])).push(l.resolve(e,i)),o=l}else{let l=$e.get(o.tree);if(l&&l.overlay&&l.overlay[0].from<=e&&l.overlay[l.overlay.length-1].to>=e){let f=new vt(l.tree,l.overlay[0].from+o.from,-1,o);(r||(r=[s])).push(Ki(f,e,i,!1))}}return r?kh(r):s}class qi{get name(){return this.type.name}constructor(t,e=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=e&~O.EnterBracketed,t instanceof vt)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){if(!t)return!1;return this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0}yieldBuf(t,e){this.index=t;let{start:i,buffer:s}=this.buffer;return this.type=e||s.set.types[s.buffer[t]],this.from=i+s.buffer[t+1],this.to=i+s.buffer[t+2],!0}yield(t){if(!t)return!1;if(t instanceof vt)return this.buffer=null,this.yieldNode(t);return this.buffer=t.context,this.yieldBuf(t.index,t.type)}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,i,this.mode));let{buffer:s}=this.buffer,r=s.findChild(this.index+4,s.buffer[this.index+3],t,e-this.buffer.start,i);if(r<0)return!1;return this.stack.push(this.index),this.yieldBuf(r)}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,i=this.mode){if(!this.buffer)return this.yield(this._tree.enter(t,e,i));return i&O.ExcludeBuffers?!1:this.enterChild(1,t,e)}parent(){if(!this.buffer)return this.yieldNode(this.mode&O.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&O.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return!this._tree._parent?!1:this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode));let{buffer:e}=this.buffer,i=this.stack.length-1;if(t<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(e.findChild(s,this.index,-1,0,4))}else{let s=e.buffer[this.index+3];if(s<(i<0?e.buffer.length:e.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,i,{buffer:s}=this;if(s){if(t>0){if(this.index<s.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(s.buffer.buffer[r+3]<this.index)return!1;({index:e,parent:i}=s)}else({index:e,_parent:i}=this._tree);for(;i;{index:e,_parent:i}=i)if(e>-1)for(let r=e+t,o=t<0?-1:i._tree.children.length;r!=o;r+=t){let l=i._tree.children[r];if(this.mode&O.IncludeAnonymous||l instanceof Oe||!l.type.isAnonymous||pr(l))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){while(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))if(!this.parent())break;while(this.enterChild(1,t,e));return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,i=0;if(t&&t.context==this.buffer)t:for(let s=this.index,r=this.stack.length;r>=0;){for(let o=t;o;o=o._parent)if(o.index==s){if(s==this.index)return o;e=o,i=r+1;break t}s=this.stack[--r]}for(let s=i;s<this.stack.length;s++)e=new se(this.buffer,e,this.stack[s]);return this.bufferNode=new se(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let i=0;;){let s=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){i++;continue}if(!this.type.isAnonymous)s=!0}for(;;){if(s&&e)e(this);if(s=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,s=!0}}}matchContext(t){if(!this.buffer)return hr(this.node.parent,t);let{buffer:e}=this.buffer,{types:i}=e.set;for(let s=t.length-1,r=this.stack.length-1;s>=0;r--){if(r<0)return hr(this._tree,t,s);let o=i[e.buffer[this.stack[r]]];if(!o.isAnonymous){if(t[s]&&t[s]!=o.name)return!1;s--}}return!0}}function pr(t){return t.children.some((e)=>e instanceof Oe||!e.type.isAnonymous||pr(e))}function nc(t){var e;let{buffer:i,nodeSet:s,maxBufferLength:r=1024,reused:o=[],minRepeatType:l=s.types.length}=t,f=Array.isArray(i)?new ur(i,i.length):i,c=s.types,d=0,g=0;function m(B,V,W,it,Q,lt){let{id:G,start:X,end:rt,size:st}=f,ft=g,kt=d;if(st<0)if(f.next(),st==-1){let ce=o[G];W.push(ce),it.push(X-B);return}else if(st==-3){d=G;return}else if(st==-4){g=G;return}else throw RangeError(`Unrecognized record size: ${st}`);let Lt=c[G],Xt,bt,Ht=X-B;if(rt-X<=r&&(bt=A(f.pos-V,Q))){let ce=new Uint16Array(bt.size-bt.skip),Ft=f.pos-bt.size,Jt=ce.length;while(f.pos>Ft)Jt=R(bt.start,ce,Jt);Xt=new Oe(ce,rt-bt.start,s),Ht=bt.start-B}else{let ce=f.pos-st;f.next();let Ft=[],Jt=[],Pe=G>=l?G:-1,Ge=0,Yi=rt,Hs=ft;while(f.pos>ce)if(Pe>=0&&f.id==Pe&&f.size>=0){if(f.end<=Yi-r)w(Ft,Jt,X,Ge,f.end,Yi,Pe,Hs,kt),Ge=Ft.length,Yi=f.end,Hs=g;f.next()}else if(lt>2500)b(X,ce,Ft,Jt);else m(X,ce,Ft,Jt,Pe,lt+1);if(Pe>=0&&Ge>0&&Ge<Ft.length)w(Ft,Jt,X,Ge,X,Yi,Pe,Hs,kt);if(Ft.reverse(),Jt.reverse(),Pe>-1&&Ge>0){let Tr=y(Lt,kt);Xt=gr(Lt,Ft,Jt,0,Ft.length,0,rt-X,Tr,Tr)}else Xt=S(Lt,Ft,Jt,rt-X,ft-rt,kt)}W.push(Xt),it.push(Ht)}function b(B,V,W,it){let Q=[],lt=0,G=-1;while(f.pos>V){let{id:X,start:rt,end:st,size:ft}=f;if(ft>4)f.next();else if(G>-1&&rt<G)break;else{if(G<0)G=st-r;Q.push(X,rt,st),lt++,f.next()}}if(lt){let X=new Uint16Array(lt*4),rt=Q[Q.length-2];for(let st=Q.length-3,ft=0;st>=0;st-=3)X[ft++]=Q[st],X[ft++]=Q[st+1]-rt,X[ft++]=Q[st+2]-rt,X[ft++]=ft;W.push(new Oe(X,Q[2]-rt,s)),it.push(rt-B)}}function y(B,V){return(W,it,Q)=>{let lt=0,G=W.length-1,X,rt;if(G>=0&&(X=W[G])instanceof k){if(!G&&X.type==B&&X.length==Q)return X;if(rt=X.prop(p.lookAhead))lt=it[G]+X.length+rt-Q}return S(B,W,it,Q,lt,V)}}function w(B,V,W,it,Q,lt,G,X,rt){let st=[],ft=[];while(B.length>it)st.push(B.pop()),ft.push(V.pop()+W-Q);B.push(S(s.types[G],st,ft,lt-Q,X-lt,rt)),V.push(Q-W)}function S(B,V,W,it,Q,lt,G){if(lt){let X=[p.contextHash,lt];G=G?[X].concat(G):[X]}if(Q>25){let X=[p.lookAhead,Q];G=G?[X].concat(G):[X]}return new k(B,V,W,it,G)}function A(B,V){let W=f.fork(),it=0,Q=0,lt=0,G=W.end-r,X={size:0,start:0,skip:0};t:for(let rt=W.pos-B;W.pos>rt;){let st=W.size;if(W.id==V&&st>=0){X.size=it,X.start=Q,X.skip=lt,lt+=4,it+=4,W.next();continue}let ft=W.pos-st;if(st<0||ft<rt||W.start<G)break;let kt=W.id>=l?4:0,Lt=W.start;W.next();while(W.pos>ft){if(W.size<0)if(W.size==-3||W.size==-4)kt+=4;else break t;else if(W.id>=l)kt+=4;W.next()}Q=Lt,it+=st,lt+=kt}if(V<0||it==B)X.size=it,X.start=Q,X.skip=lt;return X.size>4?X:void 0}function R(B,V,W){let{id:it,start:Q,end:lt,size:G}=f;if(f.next(),G>=0&&it<l){let X=W;if(G>4){let rt=f.pos-(G-4);while(f.pos>rt)W=R(B,V,W)}V[--W]=X,V[--W]=lt-B,V[--W]=Q-B,V[--W]=it}else if(G==-3)d=it;else if(G==-4)g=it;return W}let L=[],_=[];while(f.pos>0)m(t.start||0,t.bufferStart||0,L,_,-1,0);let q=(e=t.length)!==null&&e!==void 0?e:L.length?_[0]+L[0].length:0;return new k(c[t.topID],L.reverse(),_.reverse(),q)}var gh=new WeakMap;function Rs(t,e){if(!t.isAnonymous||e instanceof Oe||e.type!=t)return 1;let i=gh.get(e);if(i==null){i=1;for(let s of e.children){if(s.type!=t||!(s instanceof k)){i=1;break}i+=Rs(t,s)}gh.set(e,i)}return i}function gr(t,e,i,s,r,o,l,f,c){let d=0;for(let w=s;w<r;w++)d+=Rs(t,e[w]);let g=Math.ceil(d*1.5/8),m=[],b=[];function y(w,S,A,R,L){for(let _=A;_<R;){let q=_,B=S[_],V=Rs(t,w[_]);_++;for(;_<R;_++){let W=Rs(t,w[_]);if(V+W>=g)break;V+=W}if(_==q+1){if(V>g){let W=w[q];y(W.children,W.positions,0,W.children.length,S[q]+L);continue}m.push(w[q])}else{let W=S[_-1]+w[_-1].length-B;m.push(gr(t,w,S,q,_,B,W,null,c))}b.push(B+L-o)}}return y(e,i,s,r,0),(f||c)(m,b,l)}class Te{constructor(){this.map=new WeakMap}setBuffer(t,e,i){let s=this.map.get(t);if(!s)this.map.set(t,s=new Map);s.set(e,i)}getBuffer(t,e){let i=this.map.get(t);return i&&i.get(e)}set(t,e){if(t instanceof se)this.setBuffer(t.context.buffer,t.index,e);else if(t instanceof vt)this.map.set(t.tree,e)}get(t){return t instanceof se?this.getBuffer(t.context.buffer,t.index):t instanceof vt?this.map.get(t.tree):void 0}cursorSet(t,e){if(t.buffer)this.setBuffer(t.buffer.buffer,t.index,e);else this.map.set(t.tree,e)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class re{constructor(t,e,i,s,r=!1,o=!1){this.from=t,this.to=e,this.tree=i,this.offset=s,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,e=[],i=!1){let s=[new re(0,t.length,t,0,!1,i)];for(let r of e)if(r.to>t.length)s.push(r);return s}static applyChanges(t,e,i=128){if(!e.length)return t;let s=[],r=1,o=t.length?t[0]:null;for(let l=0,f=0,c=0;;l++){let d=l<e.length?e[l]:null,g=d?d.fromA:1e9;if(g-f>=i)while(o&&o.from<g){let m=o;if(f>=m.from||g<=m.to||c){let b=Math.max(m.from,f)-c,y=Math.min(m.to,g)-c;m=b>=y?null:new re(b,y,m.tree,m.offset+c,l>0,!!d)}if(m)s.push(m);if(o.to>g)break;o=r<t.length?t[r++]:null}if(!d)break;f=d.toA,c=d.toA-d.toB}return s}}class Ze{startParse(t,e,i){if(typeof t=="string")t=new Ch(t);return i=!i?[new Nt(0,t.length)]:i.length?i.map((s)=>new Nt(s.from,s.to)):[new Nt(0,0)],this.createParse(t,e||[],i)}parse(t,e,i){let s=this.startParse(t,e,i);for(;;){let r=s.advance();if(r)return r}}}class Ch{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}}function Qt(t){return(e,i,s,r)=>new Mh(e,t,i,s,r)}class ar{constructor(t,e,i,s,r,o){this.parser=t,this.parse=e,this.overlay=i,this.bracketed=s,this.target=r,this.from=o}}function mh(t){if(!t.length||t.some((e)=>e.from>=e.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class Ah{constructor(t,e,i,s,r,o,l,f){this.parser=t,this.predicate=e,this.mounts=i,this.index=s,this.start=r,this.bracketed=o,this.target=l,this.prev=f,this.depth=0,this.ranges=[]}}var fr=new p({perNode:!0});class Mh{constructor(t,e,i,s,r){this.nest=e,this.input=i,this.fragments=s,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let s of this.inner)s.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;if(this.stoppedAt!=null)i=new k(i.type,i.children,i.positions,i.length,i.propValues.concat([[fr,this.stoppedAt]]));return i}let t=this.inner[this.innerDone],e=t.parse.advance();if(e){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[p.mounted.id]=new $e(e,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let e=this.innerDone;e<this.inner.length;e++)if(this.inner[e].from<t)t=Math.min(t,this.inner[e].parse.parsedPos);return t}stopAt(t){if(this.stoppedAt=t,this.baseParse)this.baseParse.stopAt(t);else for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].parse.stopAt(t)}startInner(){let t=new Oh(this.fragments),e=null,i=null,s=new qi(new vt(this.baseTree,this.ranges[0].from,0,null),O.IncludeAnonymous|O.IgnoreMounts);t:for(let r,o;;){let l=!0,f;if(this.stoppedAt!=null&&s.from>=this.stoppedAt)l=!1;else if(t.hasNode(s)){if(e){let c=e.mounts.find((d)=>d.frag.from<=s.from&&d.frag.to>=s.to&&d.mount.overlay);if(c)for(let d of c.mount.overlay){let g=d.from+c.pos,m=d.to+c.pos;if(g>=s.from&&m<=s.to&&!e.ranges.some((b)=>b.from<m&&b.to>g))e.ranges.push({from:g,to:m})}}l=!1}else if(i&&(o=rc(i.ranges,s.from,s.to)))l=o!=2;else if(!s.type.isAnonymous&&(r=this.nest(s,this.input))&&(s.from<s.to||!r.overlay)){if(!s.tree){if(oc(s),e)e.depth++;if(i)i.depth++}let c=t.findMounts(s.from,r.parser);if(typeof r.overlay=="function")e=new Ah(r.parser,r.overlay,c,this.inner.length,s.from,!!r.bracketed,s.tree,e);else{let d=yh(this.ranges,r.overlay||(s.from<s.to?[new Nt(s.from,s.to)]:[]));if(d.length)mh(d);if(d.length||!r.overlay)this.inner.push(new ar(r.parser,d.length?r.parser.startParse(this.input,wh(c,d),d):r.parser.startParse(""),r.overlay?r.overlay.map((g)=>new Nt(g.from-s.from,g.to-s.from)):null,!!r.bracketed,s.tree,d.length?d[0].from:s.from));if(!r.overlay)l=!1;else if(d.length)i={ranges:d,depth:0,prev:i}}}else if(e&&(f=e.predicate(s))){if(f===!0)f=new Nt(s.from,s.to);if(f.from<f.to){let c=e.ranges.length-1;if(c>=0&&e.ranges[c].to==f.from)e.ranges[c]={from:e.ranges[c].from,to:f.to};else e.ranges.push(f)}}if(l&&s.firstChild()){if(e)e.depth++;if(i)i.depth++}else for(;;){if(s.nextSibling())break;if(!s.parent())break t;if(e&&!--e.depth){let c=yh(this.ranges,e.ranges);if(c.length)mh(c),this.inner.splice(e.index,0,new ar(e.parser,e.parser.startParse(this.input,wh(e.mounts,c),c),e.ranges.map((d)=>new Nt(d.from-e.start,d.to-e.start)),e.bracketed,e.target,c[0].from));e=e.prev}if(i&&!--i.depth)i=i.prev}}}}function rc(t,e,i){for(let s of t){if(s.from>=i)break;if(s.to>e)return s.from<=e&&s.to>=i?2:1}return 0}function bh(t,e,i,s,r,o){if(e<i){let l=t.buffer[e+1];s.push(t.slice(e,i,l)),r.push(l-o)}}function oc(t){let{node:e}=t,i=[],s=e.context.buffer;do i.push(t.index),t.parent();while(!t.tree);let r=t.tree,o=r.children.indexOf(s),l=r.children[o],f=l.buffer,c=[o];function d(g,m,b,y,w,S){let A=i[S],R=[],L=[];bh(l,g,A,R,L,y);let _=f[A+1],q=f[A+2];c.push(R.length);let B=S?d(A+4,f[A+3],l.set.types[f[A]],_,q-_,S-1):e.toTree();return R.push(B),L.push(_-y),bh(l,f[A+3],m,R,L,y),new k(b,R,L,w)}r.children[o]=d(0,f.length,j.none,0,l.length,i.length-1);for(let g of c){let m=t.tree.children[g],b=t.tree.positions[g];t.yield(new vt(m,b+t.from,g,t._tree))}}class cr{constructor(t,e){this.offset=e,this.done=!1,this.cursor=t.cursor(O.IncludeAnonymous|O.IgnoreMounts|O.ExcludeBuffers)}moveTo(t){let{cursor:e}=this,i=t-this.offset;while(!this.done&&e.from<i)if(e.to>=i&&e.enter(i,1,O.IncludeAnonymous|O.IgnoreOverlays|O.ExcludeBuffers));else if(e.to<=i){if(!e.next(!1))this.done=!0}else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==t.tree)return!0;if(e.children.length&&e.positions[0]==0&&e.children[0]instanceof k)e=e.children[0];else break}return!1}}class Oh{constructor(t){var e;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(e=i.tree.prop(fr))!==null&&e!==void 0?e:i.to,this.inner=new cr(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){while(this.curFrag&&t.from>=this.curTo)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=(t=e.tree.prop(fr))!==null&&t!==void 0?t:e.to,this.inner=new cr(e.tree,-e.offset)}}findMounts(t,e){var i;let s=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let r=this.inner.cursor.node;r;r=r.parent){let o=(i=r.tree)===null||i===void 0?void 0:i.prop(p.mounted);if(o&&o.parser==e)for(let l=this.fragI;l<this.fragments.length;l++){let f=this.fragments[l];if(f.from>=r.to)break;if(f.tree==this.curFrag.tree)s.push({frag:f,pos:r.from-f.offset,mount:o})}}}return s}}function yh(t,e){let i=null,s=e;for(let r=1,o=0;r<t.length;r++){let l=t[r-1].to,f=t[r].from;for(;o<s.length;o++){let c=s[o];if(c.from>=f)break;if(c.to<=l)continue;if(!i)s=i=e.slice();if(c.from<l){if(i[o]=new Nt(c.from,l),c.to>f)i.splice(o+1,0,new Nt(f,c.to))}else if(c.to>f)i[o--]=new Nt(f,c.to);else i.splice(o--,1)}}return s}function lc(t,e,i,s){let r=0,o=0,l=!1,f=!1,c=-1e9,d=[];for(;;){let g=r==t.length?1e9:l?t[r].to:t[r].from,m=o==e.length?1e9:f?e[o].to:e[o].from;if(l!=f){let b=Math.max(c,i),y=Math.min(g,m,s);if(b<y)d.push(new Nt(b,y))}if(c=Math.min(g,m),c==1e9)break;if(g==c)if(!l)l=!0;else l=!1,r++;if(m==c)if(!f)f=!0;else f=!1,o++}return d}function wh(t,e){let i=[];for(let{pos:s,mount:r,frag:o}of t){let l=s+(r.overlay?r.overlay[0].from:0),f=l+r.tree.length,c=Math.max(o.from,l),d=Math.min(o.to,f);if(r.overlay){let g=r.overlay.map((b)=>new Nt(b.from+s,b.to+s)),m=lc(e,g,c,d);for(let b=0,y=c;;b++){let w=b==m.length,S=w?d:m[b].from;if(S>y)i.push(new re(y,S,r.tree,-l,o.from>=y||o.openStart,o.to<=S||o.openEnd));if(w)break;y=m[b].to}}else i.push(new re(c,d,r.tree,-l,o.from>=l||o.openStart,o.to<=f||o.openEnd))}return i}var hc=0;class xe{constructor(t,e,i,s){this.name=t,this.set=e,this.base=i,this.modified=s,this.id=hc++}toString(){let{name:t}=this;for(let e of this.modified)if(e.name)t=`${e.name}(${t})`;return t}static define(t,e){let i=typeof t=="string"?t:"?";if(t instanceof xe)e=t;if(e===null||e===void 0?void 0:e.base)throw Error("Can not derive from a modified tag");let s=new xe(i,[],null,[]);if(s.set.push(s),e)for(let r of e.set)s.set.push(r);return s}static defineModifier(t){let e=new Is(t);return(i)=>{if(i.modified.indexOf(e)>-1)return i;return Is.get(i.base||i,i.modified.concat(e).sort((s,r)=>s.id-r.id))}}}var ac=0;class Is{constructor(t){this.name=t,this.instances=[],this.id=ac++}static get(t,e){if(!e.length)return t;let i=e[0].instances.find((l)=>l.base==t&&fc(e,l.modified));if(i)return i;let s=[],r=new xe(t.name,s,t,e);for(let l of e)l.instances.push(r);let o=cc(e);for(let l of t.set)if(!l.modified.length)for(let f of o)s.push(Is.get(l,f));return r}}function fc(t,e){return t.length==e.length&&t.every((i,s)=>i==e[s])}function cc(t){let e=[[]];for(let i=0;i<t.length;i++)for(let s=0,r=e.length;s<r;s++)e.push(e[s].concat(t[i]));return e.sort((i,s)=>s.length-i.length)}function E(t){let e=Object.create(null);for(let i in t){let s=t[i];if(!Array.isArray(s))s=[s];for(let r of i.split(" "))if(r){let o=[],l=2,f=r;for(let m=0;;){if(f=="..."&&m>0&&m+3==r.length){l=1;break}let b=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(f);if(!b)throw RangeError("Invalid path: "+r);if(o.push(b[0]=="*"?"":b[0][0]=='"'?JSON.parse(b[0]):b[0]),m+=b[0].length,m==r.length)break;let y=r[m++];if(m==r.length&&y=="!"){l=0;break}if(y!="/")throw RangeError("Invalid path: "+r);f=r.slice(m)}let c=o.length-1,d=o[c];if(!d)throw RangeError("Invalid path: "+r);let g=new yi(s,l,c>0?o.slice(0,c):null);e[d]=g.sort(e[d])}}return Th.add(e)}var Th=new p({combine(t,e){let i,s,r;while(t||e){if(!t||e&&t.depth<=e.depth)r=e,e=e.next;else r=t,t=t.next;if(i&&i.mode==r.mode&&!r.context&&!i.context)continue;let o=new yi(r.tags,r.mode,r.context);if(i)i.next=o;else s=o;i=o}return s}});class yi{constructor(t,e,i,s){this.tags=t,this.mode=e,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){if(!t||t.depth<this.depth)return this.next=t,this;return t.next=this.sort(t.next),t}get depth(){return this.context?this.context.length:0}}yi.empty=new yi([],2,null);function yr(t,e){let i=Object.create(null);for(let o of t)if(!Array.isArray(o.tag))i[o.tag.id]=o.class;else for(let l of o.tag)i[l.id]=o.class;let{scope:s,all:r=null}=e||{};return{style:(o)=>{let l=r;for(let f of o)for(let c of f.set){let d=i[c.id];if(d){l=l?l+" "+d:d;break}}return l},scope:s}}function uc(t,e){let i=null;for(let s of t){let r=s.style(e);if(r)i=i?i+" "+r:r}return i}function Rh(t,e,i,s=0,r=t.length){let o=new Lh(s,Array.isArray(e)?e:[e],i);o.highlightRange(t.cursor(),s,r,"",o.highlighters),o.flush(r)}class Lh{constructor(t,e,i){this.at=t,this.highlighters=e,this.span=i,this.class=""}startSpan(t,e){if(e!=this.class){if(this.flush(t),t>this.at)this.at=t;this.class=e}}flush(t){if(t>this.at&&this.class)this.span(this.at,t,this.class)}highlightRange(t,e,i,s,r){let{type:o,from:l,to:f}=t;if(l>=i||f<=e)return;if(o.isTop)r=this.highlighters.filter((b)=>!b.scope||b.scope(o));let c=s,d=dc(t)||yi.empty,g=uc(r,d.tags);if(g){if(c)c+=" ";if(c+=g,d.mode==1)s+=(s?" ":"")+g}if(this.startSpan(Math.max(e,l),c),d.opaque)return;let m=t.tree&&t.tree.prop(p.mounted);if(m&&m.overlay){let b=t.node.enter(m.overlay[0].from+l,1),y=this.highlighters.filter((S)=>!S.scope||S.scope(m.tree.type)),w=t.firstChild();for(let S=0,A=l;;S++){let R=S<m.overlay.length?m.overlay[S]:null,L=R?R.from+l:f,_=Math.max(e,A),q=Math.min(i,L);if(_<q&&w){while(t.from<q)if(this.highlightRange(t,_,q,s,r),this.startSpan(Math.min(q,t.to),c),t.to>=L||!t.nextSibling())break}if(!R||L>i)break;if(A=R.to+l,A>e)this.highlightRange(b.cursor(),Math.max(e,R.from+l),Math.min(i,A),"",y),this.startSpan(Math.min(i,A),c)}if(w)t.parent()}else if(t.firstChild()){if(m)s="";do{if(t.to<=e)continue;if(t.from>=i)break;this.highlightRange(t,e,i,s,r),this.startSpan(Math.min(i,t.to),c)}while(t.nextSibling());t.parent()}}}function dc(t){let e=t.type.prop(Th);while(e&&e.context&&!t.matchContext(e.context))e=e.next;return e||null}var P=xe.define,Ls=P(),Be=P(),Dh=P(Be),Bh=P(Be),Re=P(),Ps=P(Re),mr=P(Re),ae=P(),Ye=P(ae),oe=P(),le=P(),br=P(),ji=P(br),Es=P(),n={comment:Ls,lineComment:P(Ls),blockComment:P(Ls),docComment:P(Ls),name:Be,variableName:P(Be),typeName:Dh,tagName:P(Dh),propertyName:Bh,attributeName:P(Bh),className:P(Be),labelName:P(Be),namespace:P(Be),macroName:P(Be),literal:Re,string:Ps,docString:P(Ps),character:P(Ps),attributeValue:P(Ps),number:mr,integer:P(mr),float:P(mr),bool:P(Re),regexp:P(Re),escape:P(Re),color:P(Re),url:P(Re),keyword:oe,self:P(oe),null:P(oe),atom:P(oe),unit:P(oe),modifier:P(oe),operatorKeyword:P(oe),controlKeyword:P(oe),definitionKeyword:P(oe),moduleKeyword:P(oe),operator:le,derefOperator:P(le),arithmeticOperator:P(le),logicOperator:P(le),bitwiseOperator:P(le),compareOperator:P(le),updateOperator:P(le),definitionOperator:P(le),typeOperator:P(le),controlOperator:P(le),punctuation:br,separator:P(br),bracket:ji,angleBracket:P(ji),squareBracket:P(ji),paren:P(ji),brace:P(ji),content:ae,heading:Ye,heading1:P(Ye),heading2:P(Ye),heading3:P(Ye),heading4:P(Ye),heading5:P(Ye),heading6:P(Ye),contentSeparator:P(ae),list:P(ae),quote:P(ae),emphasis:P(ae),strong:P(ae),link:P(ae),monospace:P(ae),strikethrough:P(ae),inserted:P(),deleted:P(),changed:P(),invalid:P(),meta:Es,documentMeta:P(Es),annotation:P(Es),processingInstruction:P(Es),definition:xe.defineModifier("definition"),constant:xe.defineModifier("constant"),function:xe.defineModifier("function"),standard:xe.defineModifier("standard"),local:xe.defineModifier("local"),special:xe.defineModifier("special")};for(let t in n){let e=n[t];if(e instanceof xe)e.name=t}var iu=yr([{tag:n.link,class:"tok-link"},{tag:n.heading,class:"tok-heading"},{tag:n.emphasis,class:"tok-emphasis"},{tag:n.strong,class:"tok-strong"},{tag:n.keyword,class:"tok-keyword"},{tag:n.atom,class:"tok-atom"},{tag:n.bool,class:"tok-bool"},{tag:n.url,class:"tok-url"},{tag:n.labelName,class:"tok-labelName"},{tag:n.inserted,class:"tok-inserted"},{tag:n.deleted,class:"tok-deleted"},{tag:n.literal,class:"tok-literal"},{tag:n.string,class:"tok-string"},{tag:n.number,class:"tok-number"},{tag:[n.regexp,n.escape,n.special(n.string)],class:"tok-string2"},{tag:n.variableName,class:"tok-variableName"},{tag:n.local(n.variableName),class:"tok-variableName tok-local"},{tag:n.definition(n.variableName),class:"tok-variableName tok-definition"},{tag:n.special(n.variableName),class:"tok-variableName2"},{tag:n.definition(n.propertyName),class:"tok-propertyName tok-definition"},{tag:n.typeName,class:"tok-typeName"},{tag:n.namespace,class:"tok-namespace"},{tag:n.className,class:"tok-className"},{tag:n.macroName,class:"tok-macroName"},{tag:n.propertyName,class:"tok-propertyName"},{tag:n.operator,class:"tok-operator"},{tag:n.comment,class:"tok-comment"},{tag:n.meta,class:"tok-meta"},{tag:n.invalid,class:"tok-invalid"},{tag:n.punctuation,class:"tok-punctuation"}]);function Ph(t,e,i,s=0,r=0){if(e==null){if(e=t.search(/[^\s\u00a0]/),e==-1)e=t.length}let o=r;for(let l=s;l<e;l++)if(t.charCodeAt(l)==9)o+=i-o%i;else o++;return o}class Ns{constructor(t,e,i,s){this.string=t,this.tabSize=e,this.indentUnit=i,this.overrideIndent=s,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(t){let e=this.string.charAt(this.pos),i;if(typeof t=="string")i=e==t;else i=e&&(t instanceof RegExp?t.test(e):t(e));if(i)return++this.pos,e}eatWhile(t){let e=this.pos;while(this.eat(t));return this.pos>e}eatSpace(){let t=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){let e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0}backUp(t){this.pos-=t}column(){if(this.lastColumnPos<this.start)this.lastColumnValue=Ph(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start;return this.lastColumnValue}indentation(){var t;return(t=this.overrideIndent)!==null&&t!==void 0?t:Ph(this.string,null,this.tabSize)}match(t,e,i){if(typeof t=="string"){let s=(o)=>i?o.toLowerCase():o,r=this.string.substr(this.pos,t.length);if(s(r)==s(t)){if(e!==!1)this.pos+=t.length;return!0}else return null}else{let s=this.string.slice(this.pos).match(t);if(s&&s.index>0)return null;if(s&&e!==!1)this.pos+=s[0].length;return s}}current(){return this.string.slice(this.start,this.pos)}}var wr,We=new p;function ot(t){return h.define({combine:t?(e)=>e.concat(t):void 0})}var Vt=new p;class me{constructor(t,e,i=[],s=""){if(this.data=t,this.name=s,!T.prototype.hasOwnProperty("tree"))Object.defineProperty(T.prototype,"tree",{get(){return x(this)}});this.parser=e,this.extension=[xi.of(this),T.languageData.of((r,o,l)=>{let f=Eh(r,o,l),c=f.type.prop(We);if(!c)return[];let d=r.facet(c),g=f.type.prop(Vt);if(g){let m=f.resolve(o-f.from,l);for(let b of g)if(b.test(m,r)){let y=r.facet(b.facet);return b.type=="replace"?y:y.concat(d)}}return d})].concat(i)}isActiveAt(t,e,i=-1){return Eh(t,e,i).type.prop(We)==this.data}findRegions(t){let e=t.facet(xi);if((e===null||e===void 0?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let i=[],s=(r,o)=>{if(r.prop(We)==this.data){i.push({from:o,to:o+r.length});return}let l=r.prop(p.mounted);if(l){if(l.tree.prop(We)==this.data){if(l.overlay)for(let f of l.overlay)i.push({from:f.from+o,to:f.to+o});else i.push({from:o,to:o+r.length});return}else if(l.overlay){let f=i.length;if(s(l.tree,l.overlay[0].from+o),i.length>f)return}}for(let f=0;f<r.children.length;f++){let c=r.children[f];if(c instanceof k)s(c,r.positions[f]+o)}};return s(x(t),0),i}get allowsNesting(){return!0}}me.setState=C.define();function Eh(t,e,i){let s=t.facet(xi),r=x(t).topNode;if(!s||s.allowsNesting){for(let o=r;o;o=o.enter(e,i,O.ExcludeBuffers|O.EnterBracketed))if(o.type.isTop)r=o}return r}class D extends me{constructor(t,e,i){super(t,e,[],i);this.parser=e}static define(t){let e=ot(t.languageData);return new D(e,t.parser.configure({props:[We.add((i)=>i.isTop?e:void 0)]}),t.name)}configure(t,e){return new D(this.data,this.parser.configure(t),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function x(t){let e=t.field(me.state,!1);return e?e.tree:k.empty}class _h{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,e){let i=this.cursorPos-this.string.length;if(t<i||e>=this.cursorPos)return this.doc.sliceString(t,e);else return this.string.slice(t-i,e-i)}}var $i=null;class tt{constructor(t,e,i=[],s,r,o,l,f){this.parser=t,this.state=e,this.fragments=i,this.tree=s,this.treeLen=r,this.viewport=o,this.skipped=l,this.scheduleOn=f,this.parse=null,this.tempSkipped=[]}static create(t,e,i){return new tt(t,e,[],k.empty,0,i,[],null)}startParse(){return this.parser.startParse(new _h(this.state.doc),this.fragments)}work(t,e){if(e!=null&&e>=this.state.doc.length)e=void 0;if(this.tree!=k.empty&&this.isDone(e!==null&&e!==void 0?e:this.state.doc.length))return this.takeTree(),!0;return this.withContext(()=>{var i;if(typeof t=="number"){let s=Date.now()+t;t=()=>Date.now()>s}if(!this.parse)this.parse=this.startParse();if(e!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&e<this.state.doc.length)this.parse.stopAt(e);for(;;){let s=this.parse.advance();if(s)if(this.fragments=this.withoutTempSkipped(re.addTree(s,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=s,this.parse=null,this.treeLen<(e!==null&&e!==void 0?e:this.state.doc.length))this.parse=this.startParse();else return!0;if(t())return!1}})}takeTree(){let t,e;if(this.parse&&(t=this.parse.parsedPos)>=this.treeLen){if(this.parse.stoppedAt==null||this.parse.stoppedAt>t)this.parse.stopAt(t);this.withContext(()=>{while(!(e=this.parse.advance()));}),this.treeLen=t,this.tree=e,this.fragments=this.withoutTempSkipped(re.addTree(this.tree,this.fragments,!0)),this.parse=null}}withContext(t){let e=$i;$i=this;try{return t()}finally{$i=e}}withoutTempSkipped(t){for(let e;e=this.tempSkipped.pop();)t=Ih(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:s,treeLen:r,viewport:o,skipped:l}=this;if(this.takeTree(),!t.empty){let f=[];if(t.iterChangedRanges((c,d,g,m)=>f.push({fromA:c,toA:d,fromB:g,toB:m})),i=re.applyChanges(i,f),s=k.empty,r=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let d=t.mapPos(c.from,1),g=t.mapPos(c.to,-1);if(d<g)l.push({from:d,to:g})}}}return new tt(this.parser,e,i,s,r,o,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let e=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:s,to:r}=this.skipped[i];if(s<t.to&&r>t.from)this.fragments=Ih(this.fragments,s,r),this.skipped.splice(i--,1)}if(this.skipped.length>=e)return!1;return this.reset(),!0}reset(){if(this.parse)this.takeTree(),this.parse=null}skipUntilInView(t,e){this.skipped.push({from:t,to:e})}static getSkippingParser(t){return new class extends Ze{createParse(e,i,s){let r=s[0].from,o=s[s.length-1].to;return{parsedPos:r,advance(){let f=$i;if(f){for(let c of s)f.tempSkipped.push(c);if(t)f.scheduleOn=f.scheduleOn?Promise.all([f.scheduleOn,t]):t}return this.parsedPos=o,new k(j.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let e=this.fragments;return this.treeLen>=t&&e.length&&e[0].from==0&&e[0].to>=t}static get(){return $i}}function Ih(t,e,i){return re.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class wi{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),e.viewport.to);if(!e.work(20,i))e.takeTree();return new wi(e)}static init(t){let e=Math.min(3000,t.doc.length),i=tt.create(t.facet(xi).parser,t,{from:0,to:e});if(!i.work(20,e))i.takeTree();return new wi(i)}}me.state=de.define({create:wi.init,update(t,e){for(let i of e.effects)if(i.is(me.setState))return i.value;if(e.startState.facet(xi)!=e.state.facet(xi))return wi.init(e.state);return t.apply(e)}});var zh=(t)=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};if(typeof requestIdleCallback<"u")zh=(t)=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)};var xr=typeof navigator<"u"&&((wr=navigator.scheduling)===null||wr===void 0?void 0:wr.isInputPending)?()=>navigator.scheduling.isInputPending():null,pc=fe.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let i=this.view.state.field(me.state).context;if(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)this.scheduleWork();if(e.docChanged||e.selectionSet){if(this.view.hasFocus)this.chunkBudget+=50;this.scheduleWork()}this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(me.state);if(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))this.working=zh(this.work)}work(e){this.working=null;let i=Date.now();if(this.chunkEnd<i&&(this.chunkEnd<0||this.view.hasFocus))this.chunkEnd=i+30000,this.chunkBudget=3000;if(this.chunkBudget<=0)return;let{state:s,viewport:{to:r}}=this.view,o=s.field(me.state);if(o.tree==o.context.tree&&o.context.isDone(r+1e5))return;let l=Date.now()+Math.min(this.chunkBudget,100,e&&!xr?Math.max(25,e.timeRemaining()-5):1e9),f=o.context.treeLen<r&&s.doc.length>r+1000,c=o.context.work(()=>xr&&xr()||Date.now()>l,r+(f?0:1e5));if(this.chunkBudget-=Date.now()-i,c||this.chunkBudget<=0)o.context.takeTree(),this.view.dispatch({effects:me.setState.of(new wi(o.context))});if(this.chunkBudget>0&&!(c&&!f))this.scheduleWork();this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){if(e.scheduleOn)this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch((i)=>$t(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null}destroy(){if(this.working)this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),xi=h.define({combine(t){return t.length?t[0]:null},enables:(t)=>[me.state,pc,u.contentAttributes.compute([t],(e)=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class N{constructor(t,e=[]){this.language=t,this.support=e,this.extension=[t,e]}}class Pt{constructor(t,e,i,s,r,o=void 0){this.name=t,this.alias=e,this.extensions=i,this.filename=s,this.loadFunc=r,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((t)=>this.support=t,(t)=>{throw this.loading=null,t}))}static of(t){let{load:e,support:i}=t;if(!e){if(!i)throw RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");e=()=>Promise.resolve(i)}return new Pt(t.name,(t.alias||[]).concat(t.name).map((s)=>s.toLowerCase()),t.extensions||[],t.filename,e,i)}static matchFilename(t,e){for(let s of t)if(s.filename&&s.filename.test(e))return s;let i=/\.([^.]+)$/.exec(e);if(i){for(let s of t)if(s.extensions.indexOf(i[1])>-1)return s}return null}static matchLanguageName(t,e,i=!0){e=e.toLowerCase();for(let s of t)if(s.alias.some((r)=>r==e))return s;if(i)for(let s of t)for(let r of s.alias){let o=e.indexOf(r);if(o>-1&&(r.length>2||!/\w/.test(e[o-1])&&!/\w/.test(e[o+r.length])))return s}return null}}var gc=h.define(),Qe=h.define({combine:(t)=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some((i)=>i!=e[0]))throw Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function nt(t){let e=t.facet(Qe);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Mt(t,e){let i="",s=t.tabSize,r=t.facet(Qe)[0];if(r=="\t"){while(e>=s)i+="\t",e-=s;r=" "}for(let o=0;o<e;o++)i+=r;return i}function nn(t,e){if(t instanceof T)t=new mt(t);for(let s of t.state.facet(gc)){let r=s(t,e);if(r!==void 0)return r}let i=x(t.state);return i.length>=e?mc(t,i,e):null}class mt{constructor(t,e={}){this.state=t,this.options=e,this.unit=nt(t)}lineAt(t,e=1){let i=this.state.doc.lineAt(t),{simulateBreak:s,simulateDoubleBreak:r}=this.options;if(s!=null&&s>=i.from&&s<=i.to)if(r&&s==t)return{text:"",from:t};else if(e<0?s<t:s<=t)return{text:i.text.slice(s-i.from),from:s};else return{text:i.text.slice(0,s-i.from),from:i.from};return i}textAfterPos(t,e=1){if(this.options.simulateDoubleBreak&&t==this.options.simulateBreak)return"";let{text:i,from:s}=this.lineAt(t,e);return i.slice(t-s,Math.min(i.length,t+100-s))}column(t,e=1){let{text:i,from:s}=this.lineAt(t,e),r=this.countColumn(i,t-s),o=this.options.overrideIndentation?this.options.overrideIndentation(s):-1;if(o>-1)r+=o-this.countColumn(i,i.search(/\S|$/));return r}countColumn(t,e=t.length){return ve(t,this.state.tabSize,e)}lineIndent(t,e=1){let{text:i,from:s}=this.lineAt(t,e),r=this.options.overrideIndentation;if(r){let o=r(s);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}var z=new p;function mc(t,e,i){let s=e.resolveStack(i),r=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(r!=s.node){let o=[];for(let l=r;l&&!(l.from<s.node.from||l.to>s.node.to||l.from==s.node.from&&l.type==s.node.type);l=l.parent)o.push(l);for(let l=o.length-1;l>=0;l--)s={node:o[l],next:s}}return Vh(s,t,i)}function Vh(t,e,i){for(let s=t;s;s=s.next){let r=yc(s.node);if(r)return r(Mr.create(e,i,s))}return 0}function bc(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function yc(t){let e=t.type.prop(z);if(e)return e;let i=t.firstChild,s;if(i&&(s=i.type.prop(p.closedBy))){let r=t.lastChild,o=r&&s.indexOf(r.name)>-1;return(l)=>Kh(l,!0,1,void 0,o&&!bc(l)?r.from:void 0)}return t.parent==null?wc:null}function wc(){return 0}class Mr extends mt{constructor(t,e,i){super(t.state,t.options);this.base=t,this.pos=e,this.context=i}get node(){return this.context.node}static create(t,e,i){return new Mr(t,e,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let e=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(e.from);while(i.parent&&i.parent.from==i.from)i=i.parent;if(xc(i,t))break;e=this.state.doc.lineAt(i.from)}return this.lineIndent(e.from)}continue(){return Vh(this.context.next,this.base,this.pos)}}function xc(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function vc(t){let e=t.node,i=e.childAfter(e.from),s=e.lastChild;if(!i)return null;let r=t.options.simulateBreak,o=t.state.doc.lineAt(i.from),l=r==null||r<=o.from?o.to:Math.min(o.to,r);for(let f=i.to;;){let c=e.childAfter(f);if(!c||c==s)return null;if(!c.type.isSkipped){if(c.from>=l)return null;let d=/^ */.exec(o.text.slice(i.to-o.from))[0].length;return{from:i.from,to:i.to+d}}f=c.to}}function Se({closing:t,align:e=!0,units:i=1}){return(s)=>Kh(s,e,i,t)}function Kh(t,e,i,s,r){let o=t.textAfter,l=o.match(/^\s*/)[0].length,f=s&&o.slice(l,l+s.length)==s||r==t.pos+l,c=e?vc(t):null;if(c)return f?t.column(c.from):t.column(c.to);return t.baseIndent+(f?0:t.unit*i)}var Rt=(t)=>t.baseIndent;function K({except:t,units:e=1}={}){return(i)=>{let s=t&&t.test(i.textAfter);return i.baseIndent+(s?0:e*i.unit)}}var Tn=h.define(),U=new p;function ne(t){let{firstChild:e,lastChild:i}=t;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}class Ot{constructor(t,e){this.specs=t;let i;function s(l){let f=_t.newName();return(i||(i=Object.create(null)))["."+f]=l,f}let r=typeof e.all=="string"?e.all:e.all?s(e.all):void 0,o=e.scope;this.scope=o instanceof me?(l)=>l.prop(We)==o.data:o?(l)=>l==o:void 0,this.style=yr(t.map((l)=>({tag:l.tag,class:l.class||s(Object.assign({},l,{tag:null}))})),{all:r}).style,this.module=i?new _t(i):null,this.themeType=e.themeType}static define(t,e){return new Ot(t,e||{})}}var Sr=h.define(),qh=h.define({combine(t){return t.length?[t[0]]:null}});function vr(t){let e=t.facet(Sr);return e.length?e:t.facet(qh)}function Qn(t,e){let i=[kc],s;if(t instanceof Ot){if(t.module)i.push(u.styleModule.of(t.module));s=t.themeType}if(e===null||e===void 0?void 0:e.fallback)i.push(qh.of(t));else if(s)i.push(Sr.computeN([u.darkTheme],(r)=>r.facet(u.darkTheme)==(s=="dark")?[t]:[]));else i.push(Sr.of(t));return i}class jh{constructor(t){this.markCache=Object.create(null),this.tree=x(t.state),this.decorations=this.buildDeco(t,vr(t.state)),this.decoratedTo=t.viewport.to}update(t){let e=x(t.state),i=vr(t.state),s=i!=vr(t.startState),{viewport:r}=t.view,o=t.changes.mapPos(this.decoratedTo,1);if(e.length<r.to&&!s&&e.type==this.tree.type&&o>=r.to)this.decorations=this.decorations.map(t.changes),this.decoratedTo=o;else if(e!=this.tree||t.viewportChanged||s)this.tree=e,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=r.to}buildDeco(t,e){if(!e||!this.tree.length)return v.none;let i=new De;for(let{from:s,to:r}of t.visibleRanges)Rh(this.tree,e,(o,l,f)=>{i.add(o,l,this.markCache[f]||(this.markCache[f]=v.mark({class:f})))},s,r);return i.finish()}}var kc=ye.high(fe.fromClass(jh,{decorations:(t)=>t.decorations})),uu=Ot.define([{tag:n.meta,color:"#404740"},{tag:n.link,textDecoration:"underline"},{tag:n.heading,textDecoration:"underline",fontWeight:"bold"},{tag:n.emphasis,fontStyle:"italic"},{tag:n.strong,fontWeight:"bold"},{tag:n.strikethrough,textDecoration:"line-through"},{tag:n.keyword,color:"#708"},{tag:[n.atom,n.bool,n.url,n.contentSeparator,n.labelName],color:"#219"},{tag:[n.literal,n.inserted],color:"#164"},{tag:[n.string,n.deleted],color:"#a11"},{tag:[n.regexp,n.escape,n.special(n.string)],color:"#e40"},{tag:n.definition(n.variableName),color:"#00f"},{tag:n.local(n.variableName),color:"#30a"},{tag:[n.typeName,n.namespace],color:"#085"},{tag:n.className,color:"#167"},{tag:[n.special(n.variableName),n.macroName],color:"#256"},{tag:n.definition(n.propertyName),color:"#00c"},{tag:n.comment,color:"#940"},{tag:n.invalid,color:"#f00"}]),Sc=u.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),$h=1e4,Uh="()[]{}",Yh=h.define({combine(t){return Ie(t,{afterCursor:!0,brackets:Uh,maxScanDistance:$h,renderMatch:Mc})}}),Cc=v.mark({class:"cm-matchingBracket"}),Ac=v.mark({class:"cm-nonmatchingBracket"});function Mc(t){let e=[],i=t.matched?Cc:Ac;if(e.push(i.range(t.start.from,t.start.to)),t.end)e.push(i.range(t.end.from,t.end.to));return e}function Nh(t){let e=[],i=t.facet(Yh);for(let s of t.selection.ranges){if(!s.empty)continue;let r=Ne(t,s.head,-1,i)||s.head>0&&Ne(t,s.head-1,1,i)||i.afterCursor&&(Ne(t,s.head,1,i)||s.head<t.doc.length&&Ne(t,s.head+1,-1,i));if(r)e=e.concat(i.renderMatch(r,t))}return v.set(e,!0)}var Oc=fe.fromClass(class{constructor(t){this.paused=!1,this.decorations=Nh(t.state)}update(t){if(t.docChanged||t.selectionSet||this.paused)if(t.view.composing)this.decorations=this.decorations.map(t.changes),this.paused=!0;else this.decorations=Nh(t.state),this.paused=!1}},{decorations:(t)=>t.decorations}),Dc=[Oc,Sc];function Pn(t={}){return[Yh.of(t),Dc]}var gt=new p;function Cr(t,e,i){let s=t.prop(e<0?p.openedBy:p.closedBy);if(s)return s;if(t.name.length==1){let r=i.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[i[r+e]]}return null}function Ar(t){let e=t.type.prop(gt);return e?e(t.node):t}function Ne(t,e,i,s={}){let r=s.maxScanDistance||$h,o=s.brackets||Uh,l=x(t),f=l.resolveInner(e,i);for(let c=f;c;c=c.parent){let d=Cr(c.type,i,o);if(d&&c.from<c.to){let g=Ar(c);if(g&&(i>0?e>=g.from&&e<g.to:e>g.from&&e<=g.to))return Bc(t,e,i,c,g,d,o)}}return Tc(t,e,i,l,f.type,r,o)}function Bc(t,e,i,s,r,o,l){let f=s.parent,c={from:r.from,to:r.to},d=0,g=f===null||f===void 0?void 0:f.cursor();if(g&&(i<0?g.childBefore(s.from):g.childAfter(s.to)))do if(i<0?g.to<=s.from:g.from>=s.to){if(d==0&&o.indexOf(g.type.name)>-1&&g.from<g.to){let m=Ar(g);return{start:c,end:m?{from:m.from,to:m.to}:void 0,matched:!0}}else if(Cr(g.type,i,l))d++;else if(Cr(g.type,-i,l)){if(d==0){let m=Ar(g);return{start:c,end:m&&m.from<m.to?{from:m.from,to:m.to}:void 0,matched:!1}}d--}}while(i<0?g.prevSibling():g.nextSibling());return{start:c,matched:!1}}function Tc(t,e,i,s,r,o,l){if(i<0?!e:e==t.doc.length)return null;let f=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),c=l.indexOf(f);if(c<0||c%2==0!=i>0)return null;let d={from:i<0?e-1:e,to:i>0?e+1:e},g=t.doc.iterRange(e,i>0?t.doc.length:0),m=0;for(let b=0;!g.next().done&&b<=o;){let y=g.value;if(i<0)b+=y.length;let w=e+b*i;for(let S=i>0?0:y.length-1,A=i>0?y.length:-1;S!=A;S+=i){let R=l.indexOf(y[S]);if(R<0||s.resolveInner(w+S,1).type!=r)continue;if(R%2==0==i>0)m++;else if(m==1)return{start:d,end:{from:w+S,to:w+S+1},matched:R>>1==c>>1};else m--}if(i>0)b+=y.length}return g.done?{start:d,matched:!1}:null}function Rc(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||Lc,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||Dr,mergeTokens:t.mergeTokens!==!1}}function Lc(t){if(typeof t!="object")return t;let e={};for(let i in t){let s=t[i];e[i]=s instanceof Array?s.slice():s}return e}var Hh=new WeakMap;class Ve extends me{constructor(t){let e=ot(t.languageData),i=Rc(t),s,r=new class extends Ze{createParse(o,l,f){return new Jh(s,o,l,f)}};super(e,r,[],t.name);this.topNode=Nc(e,this),s=this,this.streamParser=i,this.stateAfter=new p({perNode:!0}),this.tokenTable=t.tokenTable?new Br(i.tokenTable):Ic}static define(t){return new Ve(t)}getIndent(t){let e=void 0,{overrideIndentation:i}=t.options;if(i){if(e=Hh.get(t.state),e!=null&&e<t.pos-1e4)e=void 0}let s=Or(this,t.node.tree,t.node.from,t.node.from,e!==null&&e!==void 0?e:t.pos),r,o;if(s)o=s.state,r=s.pos+1;else o=this.streamParser.startState(t.unit),r=t.node.from;if(t.pos-r>1e4)return null;while(r<t.pos){let f=t.state.doc.lineAt(r),c=Math.min(t.pos,f.to);if(f.length){let d=i?i(f.from):-1,g=new Ns(f.text,t.state.tabSize,t.unit,d<0?void 0:d);while(g.pos<c-f.from)Gh(this.streamParser.token,g,o)}else this.streamParser.blankLine(o,t.unit);if(c==t.pos)break;r=f.to+1}let l=t.lineAt(t.pos);if(i&&e==null)Hh.set(t.state,l.from);return this.streamParser.indent(o,/^\s*(.*)/.exec(l.text)[1],t)}get allowsNesting(){return!1}}function Or(t,e,i,s,r){let o=i>=s&&i+e.length<=r&&e.prop(t.stateAfter);if(o)return{state:t.streamParser.copyState(o),pos:i+e.length};for(let l=e.children.length-1;l>=0;l--){let f=e.children[l],c=i+e.positions[l],d=f instanceof k&&c<r&&Or(t,f,c,s,r);if(d)return d}return null}function Xh(t,e,i,s,r){if(r&&i<=0&&s>=e.length)return e;if(!r&&i==0&&e.type==t.topNode)r=!0;for(let o=e.children.length-1;o>=0;o--){let l=e.positions[o],f=e.children[o],c;if(l<s&&f instanceof k){if(!(c=Xh(t,f,i-l,s-l,r)))break;return!r?c:new k(e.type,e.children.slice(0,o).concat(c),e.positions.slice(0,o+1),l+c.length)}}return null}function Pc(t,e,i,s,r){for(let o of e){let l=o.from+(o.openStart?25:0),f=o.to-(o.openEnd?25:0),c=l<=i&&f>i&&Or(t,o.tree,0-o.offset,i,f),d;if(c&&c.pos<=s&&(d=Xh(t,o.tree,i+o.offset,c.pos+o.offset,!1)))return{state:c.state,tree:d}}return{state:t.streamParser.startState(r?nt(r):4),tree:k.empty}}class Jh{constructor(t,e,i,s){this.lang=t,this.input=e,this.fragments=i,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let r=tt.get(),o=s[0].from,{state:l,tree:f}=Pc(t,i,o,this.to,r===null||r===void 0?void 0:r.state);this.state=l,this.parsedPos=this.chunkStart=o+f.length;for(let c=0;c<f.children.length;c++)this.chunks.push(f.children[c]),this.chunkPos.push(f.positions[c]);if(r&&this.parsedPos<r.viewport.from-1e5&&s.some((c)=>c.from<=r.viewport.from&&c.to>=r.viewport.from))this.state=this.lang.streamParser.startState(nt(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from;this.moveRangeIndex()}advance(){let t=tt.get(),e=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(e,this.chunkStart+512);if(t)i=Math.min(i,t.viewport.to);while(this.parsedPos<i)this.parseLine(t);if(this.chunkStart<this.parsedPos)this.finishChunk();if(this.parsedPos>=e)return this.finish();if(t&&this.parsedPos>=t.viewport.to)return t.skipUntilInView(this.parsedPos,e),this.finish();return null}stopAt(t){this.stoppedAt=t}lineAfter(t){let e=this.input.chunk(t);if(!this.input.lineChunks){let i=e.indexOf(`
|
|
11
|
-
`);if(i>-1)e=e.slice(0,i)}else if(e==`
|
|
12
|
-
`)e="";return t+e.length<=this.to?e:e.slice(0,this.to-t)}nextLine(){let t=this.parsedPos,e=this.lineAfter(t),i=t+e.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i)break;if(e=e.slice(0,r-(i-e.length)),s++,s==this.ranges.length)break;let o=this.ranges[s].from,l=this.lineAfter(o);e+=l,i=o+l.length}return{line:e,end:i}}skipGapsTo(t,e,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=t+e;if(i>0?s>r:s>=r)break;let o=this.ranges[++this.rangeIndex].from;e+=o-s}return e}moveRangeIndex(){while(this.ranges[this.rangeIndex].to<this.parsedPos)this.rangeIndex++}emitToken(t,e,i,s){let r=4;if(this.ranges.length>1){s=this.skipGapsTo(e,s,1),e+=s;let l=this.chunk.length;s=this.skipGapsTo(i,s,-1),i+=s,r+=this.chunk.length-l}let o=this.chunk.length-4;if(this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==t&&this.chunk[o+2]==e)this.chunk[o+2]=i;else this.chunk.push(t,e,i,r);return s}parseLine(t){let{line:e,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,o=new Ns(e,t?t.state.tabSize:4,t?nt(t.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else while(!o.eol()){let l=Gh(r.token,o,this.state);if(l)s=this.emitToken(this.lang.tokenTable.resolve(l),this.parsedPos+o.start,this.parsedPos+o.pos,s);if(o.start>1e4)break}if(this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to)this.parsedPos++}finishChunk(){let t=k.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Ec,topID:0,maxBufferLength:512,reused:this.chunkReused});t=new k(t.type,t.children,t.positions,t.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(t),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new k(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function Gh(t,e,i){e.start=e.pos;for(let s=0;s<10;s++){let r=t(e,i);if(e.pos>e.start)return r}throw Error("Stream parser failed to advance stream.")}var Dr=Object.create(null),Ui=[j.none],Ec=new Ue(Ui),Fh=[],Wh=Object.create(null),Qh=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Qh[t]=Zh(Dr,e);class Br{constructor(t){this.extra=t,this.table=Object.assign(Object.create(null),Qh)}resolve(t){return!t?0:this.table[t]||(this.table[t]=Zh(this.extra,t))}}var Ic=new Br(Dr);function kr(t,e){if(Fh.indexOf(t)>-1)return;Fh.push(t),console.warn(e)}function Zh(t,e){let i=[];for(let f of e.split(" ")){let c=[];for(let d of f.split(".")){let g=t[d]||n[d];if(!g)kr(d,`Unknown highlighting tag ${d}`);else if(typeof g=="function")if(!c.length)kr(d,`Modifier ${d} used at start of tag`);else c=c.map(g);else if(c.length)kr(d,`Tag ${d} used as modifier`);else c=Array.isArray(g)?g:[g]}for(let d of c)i.push(d)}if(!i.length)return 0;let s=e.replace(/ /g,"_"),r=s+" "+i.map((f)=>f.id),o=Wh[r];if(o)return o.id;let l=Wh[r]=j.define({id:Ui.length,name:s,props:[E({[s]:i})]});return Ui.push(l),l.id}function Nc(t,e){let i=j.define({id:Ui.length,name:"Document",props:[We.add(()=>t),z.add(()=>(s)=>e.getIndent(s))],top:!0});return Ui.push(i),i}var du={rtl:v.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:F.RTL}),ltr:v.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:F.LTR}),auto:v.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};
|
|
13
|
-
export{M,J,It,gn,Dt,he,Xe,ee,a,h,de,ye,Je,be,C,Y,H,T,Ie,Le,De,ve,te,et,v,F,fe,u,Fe,yn,bn,vn,Ut,Tt,xn,Sn,wn,_n,kn,p,j,Ue,O,k,Te,Ze,Qt,xe,E,n,We,ot,Vt,me,D,x,tt,N,Pt,Qe,nt,Mt,nn,mt,z,Se,Rt,K,Tn,U,ne,Ot,Qn,Pn,gt,Ne,Ve};
|