@nbt-dev/devtools 0.0.5 → 0.0.6
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/dist/index.js +20 -20
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,26 +6,26 @@ const require = (m) => {
|
|
|
6
6
|
if (m === "react-dom") return __DEVTOOLS_REACT_DOM.default || __DEVTOOLS_REACT_DOM;
|
|
7
7
|
throw new Error("Dynamic require of \"" + m + "\" is not supported");
|
|
8
8
|
};
|
|
9
|
-
var
|
|
9
|
+
var AM=Object.create;var Vf=Object.defineProperty;var MM=Object.getOwnPropertyDescriptor;var PM=Object.getOwnPropertyNames;var DM=Object.getPrototypeOf,RM=Object.prototype.hasOwnProperty;var ux=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var al=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),dx=(t,e)=>{for(var a in e)Vf(t,a,{get:e[a],enumerable:!0})},TM=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of PM(e))!RM.call(t,r)&&r!==a&&Vf(t,r,{get:()=>e[r],enumerable:!(o=MM(e,r))||o.enumerable});return t};var EM=(t,e,a)=>(a=t!=null?AM(DM(t)):{},TM(e||!t||!t.__esModule?Vf(a,"default",{value:t,enumerable:!0}):a,t));var xI=al(gI=>{"use strict";var $n=ux("react");function nF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var sF=typeof Object.is=="function"?Object.is:nF,iF=$n.useState,lF=$n.useEffect,uF=$n.useLayoutEffect,dF=$n.useDebugValue;function fF(t,e){var a=e(),o=iF({inst:{value:a,getSnapshot:e}}),r=o[0].inst,n=o[1];return uF(function(){r.value=a,r.getSnapshot=e,Bm(r)&&n({inst:r})},[t,a,e]),lF(function(){return Bm(r)&&n({inst:r}),t(function(){Bm(r)&&n({inst:r})})},[t]),dF(a),a}function Bm(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!sF(t,a)}catch{return!0}}function cF(t,e){return e()}var hF=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?cF:fF;gI.useSyncExternalStore=$n.useSyncExternalStore!==void 0?$n.useSyncExternalStore:hF});var CI=al((bK,LI)=>{"use strict";LI.exports=xI()});var wI=al(yI=>{"use strict";var Jd=ux("react"),pF=CI();function mF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var gF=typeof Object.is=="function"?Object.is:mF,xF=pF.useSyncExternalStore,LF=Jd.useRef,CF=Jd.useEffect,yF=Jd.useMemo,wF=Jd.useDebugValue;yI.useSyncExternalStoreWithSelector=function(t,e,a,o,r){var n=LF(null);if(n.current===null){var s={hasValue:!1,value:null};n.current=s}else s=n.current;n=yF(function(){function l(h){if(!u){if(u=!0,d=h,h=o(h),r!==void 0&&s.hasValue){var p=s.value;if(r(p,h))return f=p}return f=h}if(p=f,gF(d,h))return p;var m=o(h);return r!==void 0&&r(p,m)?(d=h,p):(d=h,f=m)}var u=!1,d,f,c=a===void 0?null:a;return[function(){return l(e())},c===null?void 0:function(){return l(c())}]},[e,a,o,r]);var i=xF(t,n[0],n[1]);return CF(function(){s.hasValue=!0,s.value=i},[i]),wF(i),i}});var II=al((SK,bI)=>{"use strict";bI.exports=wI()});import Dn from"react";var Gf=[],px=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,a=0;e<t.length;e++)(e%2?px:Gf).push(a=a+t[e])})();function BM(t){if(t<768)return!1;for(let e=0,a=Gf.length;;){let o=e+a>>1;if(t<Gf[o])a=o;else if(t>=px[o])e=o+1;else return!0;if(e==a)return!1}}function fx(t){return t>=127462&&t<=127487}var cx=8205;function mx(t,e,a=!0,o=!0){return(a?gx:OM)(t,e,o)}function gx(t,e,a){if(e==t.length)return e;e&&xx(t.charCodeAt(e))&&Lx(t.charCodeAt(e-1))&&e--;let o=Wf(t,e);for(e+=hx(o);e<t.length;){let r=Wf(t,e);if(o==cx||r==cx||a&&BM(r))e+=hx(r),o=r;else if(fx(r)){let n=0,s=e-2;for(;s>=0&&fx(Wf(t,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function OM(t,e,a){for(;e>0;){let o=gx(t,e-2,a);if(o<e)return o;e--}return 0}function Wf(t,e){let a=t.charCodeAt(e);if(!Lx(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return xx(o)?(a-55296<<10)+(o-56320)+65536:a}function xx(t){return t>=56320&&t<57344}function Lx(t){return t>=55296&&t<56320}function hx(t){return t<65536?1:2}var me=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,a,o){[e,a]=sn(this,e,a);let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(a,this.length,r,1),on.from(r,this.length-(a-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,a=this.length){[e,a]=sn(this,e,a);let o=[];return this.decompose(e,a,o,0),on.from(o,a-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let a=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new rr(this),n=new rr(e);for(let s=a,i=a;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(i+=r.value.length,r.done||i>=o)return!0}}iter(e=1){return new rr(this,e)}iterRange(e,a=this.length){return new il(this,e,a)}iterLines(e,a){let o;if(e==null)o=this.iter();else{a==null&&(a=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,a==this.lines+1?this.length:a<=1?0:this.line(a-1).to))}return new ll(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new Ot(e):on.from(Ot.split(e,[]))}},Ot=class t extends me{constructor(e,a=FM(e)){super(),this.text=e,this.length=a}get lines(){return this.text.length}get children(){return null}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.text[n],i=r+s.length;if((a?o:i)>=e)return new Xf(r,i,o,s);r=i+1,o++}}decompose(e,a,o,r){let n=e<=0&&a>=this.length?this:new t(Cx(this.text,e,a),Math.min(a,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),i=sl(n.text,s.text.slice(),0,n.length);if(i.length<=32)o.push(new t(i,s.length+n.length));else{let l=i.length>>1;o.push(new t(i.slice(0,l)),new t(i.slice(l)))}}else o.push(n)}replace(e,a,o){if(!(o instanceof t))return super.replace(e,a,o);[e,a]=sn(this,e,a);let r=sl(this.text,sl(o.text,Cx(this.text,0,e)),a),n=this.length+o.length-(a-e);return r.length<=32?new t(r,n):on.from(t.split(r,[]),n)}sliceString(e,a=this.length,o=`
|
|
10
10
|
`){[e,a]=sn(this,e,a);let r="";for(let n=0,s=0;n<=a&&s<this.text.length;s++){let i=this.text[s],l=n+i.length;n>e&&s&&(r+=o),e<l&&a>n&&(r+=i.slice(Math.max(0,e-n),a-n)),n=l+1}return r}flatten(e){for(let a of this.text)e.push(a)}scanIdentical(){return 0}static split(e,a){let o=[],r=-1;for(let n of e)o.push(n),r+=n.length+1,o.length==32&&(a.push(new t(o,r)),o=[],r=-1);return r>-1&&a.push(new t(o,r)),a}},on=class t extends me{constructor(e,a){super(),this.children=e,this.length=a,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.children[n],i=r+s.length,l=o+s.lines-1;if((a?l:i)>=e)return s.lineInner(e,a,o,r);r=i+1,o=l+1}}decompose(e,a,o,r){for(let n=0,s=0;s<=a&&n<this.children.length;n++){let i=this.children[n],l=s+i.length;if(e<=l&&a>=s){let u=r&((s<=e?1:0)|(l>=a?2:0));s>=e&&l<=a&&!u?o.push(i):i.decompose(e-s,a-s,o,u)}s=l+1}}replace(e,a,o){if([e,a]=sn(this,e,a),o.lines<this.lines)for(let r=0,n=0;r<this.children.length;r++){let s=this.children[r],i=n+s.length;if(e>=n&&a<=i){let l=s.replace(e-n,a-n,o),u=this.lines-s.lines+l.lines;if(l.lines<u>>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new t(d,this.length-(a-e)+o.length)}return super.replace(n,i,l)}n=i+1}return super.replace(e,a,o)}sliceString(e,a=this.length,o=`
|
|
11
|
-
`){[e,a]=sn(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new Ot(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function f(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)f(m);else h.lines>s&&(l>s||!l)?(c(),i.push(h)):h instanceof Ot&&l&&(p=d[d.length-1])instanceof Ot&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new Ot(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&c(),l+=h.lines,u+=h.length+1,d.push(h))}function c(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)f(h);return c(),i.length==1?i[0]:new t(i,a)}};me.empty=new Ot([""],0);function
|
|
12
|
-
`,this;e--}else if(r instanceof Ot){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof Ot?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},il=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new rr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},ll=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(me.prototype[Symbol.iterator]=function(){return this.iter()},rr.prototype[Symbol.iterator]=il.prototype[Symbol.iterator]=ll.prototype[Symbol.iterator]=function(){return this});var Xf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function sn(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function Ve(t,e,a=!0,o=!0){return hx(t,e,a,o)}function FM(t){return t>=56320&&t<57344}function NM(t){return t>=55296&&t<56320}function vt(t,e){let a=t.charCodeAt(e);if(!NM(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return FM(o)?(a-55296<<10)+(o-56320)+65536:a}function hs(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Ut(t){return t<65536?1:2}var Kf=/\r\n?|\n/,ot=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ot||(ot={})),Za=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){jf(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:bx(this,e)}mapDesc(e,a=!1){return e.empty?this:Zf(this,e,a)}mapPos(e,a=-1,o=ot.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=ot.Simple&&u>=e&&(o==ot.TrackDel&&r<e&&u>e||o==ot.TrackBefore&&r<e||o==ot.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},mt=class t extends Za{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jf(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return Zf(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(me.empty);o.push(s?e.slice(n,n+s):me.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:bx(this,e,!0)}map(e,a=!1){return e.empty?this:Zf(this,e,a,!0)}iterChanges(e,a=!1){jf(this,e,a)}get desc(){return Za.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new nr(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);dt(r,d,-1);let f=n.ins==-1?-1:n.off==0?n.ins:0;dt(a,d,f),f>0&&Lo(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);dt(a,d,-1),dt(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:Za.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&dt(r,a-s,-1);let f=new t(r,n);i=i?i.compose(f.map(i)):f,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let f of d)u(f);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:f,to:c=f,insert:h}=d;if(f>c||f<0||c>a)throw new RangeError(`Invalid change range ${f} to ${c} (in doc of length ${a})`);let p=h?typeof h=="string"?me.of(h.split(o||Kf)):h:me.empty,m=p.length;if(f==c&&m==0)return;f<s&&l(),f>s&&dt(r,f-s,-1),dt(r,c-f,m),Lo(n,r,p),s=c}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(me.empty);o[r]=me.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function dt(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Lo(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(me.empty);t.push(a)}}function jf(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,f=me.empty;for(;u+=i,d+=l,l&&o&&(f=f.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,f),r=u,n=d}}}function Zf(t,e,a,o=!1){let r=[],n=o?[]:null,s=new nr(t),i=new nr(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);dt(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(dt(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(dt(r,0,s.ins),n&&Lo(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let f=Math.min(d,i.len);u+=f,d-=f,i.forward(f)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;dt(r,u,l<s.i?s.ins:0),n&&l<s.i&&Lo(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?mt.createSet(r,n):Za.create(r);throw new Error("Mismatched change set lengths")}}}function bx(t,e,a=!1){let o=[],r=a?[]:null,n=new nr(t),s=new nr(e);for(let i=!1;;){if(n.done&&s.done)return r?mt.createSet(o,r):Za.create(o);if(n.ins==0)dt(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)dt(o,0,s.ins,i),r&&Lo(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;dt(o,l,d,i),r&&d&&Lo(r,o,s.text)}else s.ins==-1?(dt(o,n.off?0:n.len,l,i),r&&Lo(r,o,n.textBit(l))):(dt(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Lo(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var nr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?me.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?me.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},an=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return V.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return V.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return V.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},V=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>an.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return an.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?an.create(a,e,48|s):an.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function Ix(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var sc=0,j=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=sc++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:ic),!!e.static,e.enables)}of(e){return new rn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function ic(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var rn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=sc++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:(((a=e[f.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[f.id]);return{create(f){return f.values[s]=o(f),1},update(f,c){if(l&&c.docChanged||u&&(c.docChanged||c.selection)||Yf(f,d)){let h=o(f);if(i?!Lx(h,f.values[s],r):!r(h,f.values[s]))return f.values[s]=h,1}return 0},reconfigure:(f,c)=>{let h,p=c.config.address[n];if(p!=null){let m=cl(c,p);if(this.dependencies.every(g=>g instanceof j?c.facet(g)===f.facet(g):g instanceof Ne?c.field(g,!1)==f.field(g,!1):!0)||(i?Lx(h=o(f),m,r):r(h=o(f),m)))return f.values[s]=m,0}else h=o(f);return f.values[s]=h,1}}}};function Lx(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function Yf(t,e){let a=!1;for(let o of e)us(t,o)&1&&(a=!0);return a}function HM(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let f=cl(l,o[d]);if(r[d]==2)for(let c of f)u.push(c);else u.push(f)}return e.combine(u)}return{create(l){for(let u of o)us(l,u);return l.values[s]=i(l),1},update(l,u){if(!Yf(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=Yf(l,o),f=u.config.facets[e.id],c=u.facet(e);if(f&&!d&&ic(a,f))return l.values[s]=c,0;let h=i(l);return e.compare(h,c)?(l.values[s]=c,0):(l.values[s]=h,1)}}}var ol=j.define({static:!0}),Ne=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(sc++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(ol).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(ol),s=r.facet(ol),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,ol.of({field:this,create:e})]}get extension(){return this}},ar={lowest:4,low:3,default:2,high:1,highest:0};function ls(t){return e=>new ul(e,t)}var na={highest:ls(ar.highest),high:ls(ar.high),default:ls(ar.default),low:ls(ar.low),lowest:ls(ar.lowest)},ul=class{constructor(e,a){this.inner=e,this.prec=a}},dl=class t{of(e){return new ds(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},ds=class{constructor(e,a){this.compartment=e,this.inner=a}},fl=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let c of _M(e,a,s))c instanceof Ne?r.push(c):(n[c.facet.id]||(n[c.facet.id]=[])).push(c);let i=Object.create(null),l=[],u=[];for(let c of r)i[c.id]=u.length<<1,u.push(h=>c.slot(h));let d=o?.config.facets;for(let c in n){let h=n[c],p=h[0].facet,m=d&&d[c]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,ic(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>HM(g,p,h))}}let f=u.map(c=>c(i));return new t(e,s,f,i,l,n)}};function _M(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof ds&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof ds){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof ul)n(s.inner,s.prec);else if(s instanceof Ne)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof rn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,ar.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,ar.default),o.reduce((s,i)=>s.concat(i))}function us(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function cl(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var Sx=j.define(),Jf=j.define({combine:t=>t.some(e=>e),static:!0}),vx=j.define({combine:t=>t.length?t[0]:void 0,static:!0}),kx=j.define(),Ax=j.define(),Mx=j.define(),Px=j.define({combine:t=>t.length?t[0]:!1}),St=class{constructor(e,a){this.type=e,this.value=a}static define(){return new Qf}},Qf=class{of(e){return new St(this,e)}},ec=class{constructor(e){this.map=e}of(e){return new le(this,e)}},le=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new ec(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};le.reconfigure=le.define();le.appendConfig=le.define();var Ze=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&Ix(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};Ze.time=St.define();Ze.userEvent=St.define();Ze.addToHistory=St.define();Ze.remote=St.define();function qM(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function Dx(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=mt.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:le.mapEffects(t.effects,r).concat(le.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function tc(t,e,a){let o=e.selection,r=nn(e.annotations);return e.userEvent&&(r=r.concat(Ze.userEvent.of(e.userEvent))),{changes:e.changes instanceof mt?e.changes:mt.of(e.changes||[],a,t.facet(vx)),selection:o&&(o instanceof V?o:V.single(o.anchor,o.head)),effects:nn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Rx(t,e,a){let o=tc(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=Dx(o,tc(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=Ze.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return UM(a?zM(r):r)}function zM(t){let e=t.startState,a=!0;for(let r of e.facet(kx)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:qM(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=mt.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=Ze.create(e,r,t.selection&&t.selection.map(n),le.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(Ax);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof Ze?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof Ze?t=n[0]:t=Rx(e,nn(n),!1)}return t}function UM(t){let e=t.startState,a=e.facet(Mx),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=Dx(o,tc(e,n,t.changes.newLength),!0))}return o==t?t:Ze.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var VM=[];function nn(t){return t==null?VM:Array.isArray(t)?t:[t]}var Te=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Te||(Te={})),WM=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ac;try{ac=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function GM(t){if(ac)return ac.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||WM.test(a)))return!0}return!1}function $M(t){return e=>{if(!/\S/.test(e))return Te.Space;if(GM(e))return Te.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return Te.Word;return Te.Other}}var Se=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)us(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return us(this,o),cl(this,o)}update(...e){return Rx(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(dl.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(le.reconfigure)?(a=null,o=i.value):i.is(le.appendConfig)&&(a=null,o=nn(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=fl.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(Jf)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:V.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=nn(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let c=0;c<i;c++)n[c]=n[c].map(d);let f=r.mapDesc(u,!0);n.push(l.range.map(f)),r=r.compose(d),s=le.mapEffects(s,d).concat(le.mapEffects(nn(l.effects),f))}return{changes:r,selection:V.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof mt?e:mt.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return me.of(e.split(this.facet(t.lineSeparator)||Kf))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(us(this,a),cl(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof Ne&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:V.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=fl.resolve(e.extensions||[],new Map),o=e.doc instanceof me?e.doc:me.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||Kf)),r=e.selection?e.selection instanceof V?e.selection:V.single(e.selection.anchor,e.selection.head):V.single(0);return Ix(r,o.length),a.staticFacet(Jf)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
|
|
13
|
-
`}get readOnly(){return this.facet(Px)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(Sx))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return $M(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=Ve(a,s,!1);if(n(a.slice(l,s))!=Te.Word)break;s=l}for(;i<r;){let l=Ve(a,i);if(n(a.slice(i,l))!=Te.Word)break;i=l}return s==i?null:V.range(s+o,i+o)}};Se.allowMultipleSelections=Jf;Se.tabSize=j.define({combine:t=>t.length?t[0]:4});Se.lineSeparator=vx;Se.readOnly=Px;Se.phrases=j.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Se.languageData=Sx;Se.changeFilter=kx;Se.transactionFilter=Ax;Se.transactionExtender=Mx;dl.reconfigure=le.define();function kt(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var zt=class{eq(e){return this==e}range(e,a=e){return fs.create(e,a,this)}};zt.prototype.startSide=zt.prototype.endSide=0;zt.prototype.point=!1;zt.prototype.mapMode=ot.TrackDel;function lc(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var fs=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function oc(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var rc=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,f=this.to[l]+e,c,h;if(d==f){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(c=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<c)))continue}else if(c=a.mapPos(d,u.startSide),h=a.mapPos(f,u.endSide),c>h||c==h&&u.startSide>0&&u.endSide<=0)continue;(h-c||u.endSide-u.startSide)<0||(s<0&&(s=c),u.point&&(i=Math.max(i,h-c)),o.push(u),r.push(c-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},Le=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(oc)),this.isEmpty)return a.length?t.of(a):this;let i=new hl(this,null,-1).goto(0),l=0,u=[],d=new ra;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let f=a[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(fs.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:f}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(f))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return cs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return cs.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),i=a.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),l=Cx(s,i,o),u=new or(s,l,n),d=new or(i,l,n);o.iterGaps((f,c,h)=>yx(u,f,d,c,h,r)),o.empty&&o.length==0&&yx(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=Cx(n,s),l=new or(n,i,0).goto(o),u=new or(s,i,0).goto(o);for(;;){if(l.to!=u.to||!nc(l.active,u.active)||l.point&&(!u.point||!lc(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new or(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),f=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,f,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new ra;for(let r of e instanceof fs?[e]:a?XM(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};Le.empty=new Le([],[],null,-1);function XM(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(oc(e,o)>0)return t.slice().sort(oc);e=o}return t}Le.empty.nextLayer=Le.empty;var ra=class t{finishChunk(e){this.chunks.push(new rc(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(Le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=Le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function Cx(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var hl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},cs=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new hl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)$f(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)$f(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),$f(this.heap,0)}}};function $f(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var or=class{constructor(e,a,o){this.minPoint=o,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=cs.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){rl(this.active,e),rl(this.activeTo,e),rl(this.activeRank,e),this.minActive=wx(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;nl(this.active,a,o),nl(this.activeTo,a,r),nl(this.activeRank,a,n),e&&nl(e,a,this.cursor.from),this.minActive=wx(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&rl(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function yx(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let f=t.to+l-a.to,c=f||t.endSide-a.endSide,h=c<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&lc(t.point,a.point)&&nc(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!nc(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(f||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,c<=0&&t.next(),c>=0&&a.next()}}function nc(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!lc(t[a],e[a]))return!1;return!0}function rl(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function nl(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function wx(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function sr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=Ve(t,r));return o}function Tx(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=Ve(t,r)}return o===!0?-1:t.length}var Ex=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),uc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Bx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Vt=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],f=/^@(\w+)\b/.exec(s[0]),c=f&&f[1]=="keyframes";if(f&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,c)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||c)&&l.push((o&&!f&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
|
|
14
|
-
`)}static newName(){let e=
|
|
15
|
-
`;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Ya={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:"'"},ln={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},KM=typeof navigator<"u"&&/Mac/.test(navigator.platform),jM=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Ke=0;Ke<10;Ke++)Ya[48+Ke]=Ya[96+Ke]=String(Ke);var Ke;for(Ke=1;Ke<=24;Ke++)Ya[Ke+111]="F"+Ke;var Ke;for(Ke=65;Ke<=90;Ke++)Ya[Ke]=String.fromCharCode(Ke+32),ln[Ke]=String.fromCharCode(Ke);var Ke;for(pl in Ya)ln.hasOwnProperty(pl)||(ln[pl]=Ya[pl]);var pl;function Fx(t){var e=KM&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||jM&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?ln:Ya)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function ye(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)Nx(t,arguments[e]);return t}function Nx(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)Nx(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var gt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},yc=typeof document<"u"?document:{documentElement:{style:{}}},wc=/Edge\/(\d+)/.exec(gt.userAgent),CL=/MSIE \d/.test(gt.userAgent),bc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gt.userAgent),Gl=!!(CL||bc||wc),Hx=!Gl&&/gecko\/(\d+)/i.test(gt.userAgent),fc=!Gl&&/Chrome\/(\d+)/.exec(gt.userAgent),_x="webkitFontSmoothing"in yc.documentElement.style,Ic=!Gl&&/Apple Computer/.test(gt.vendor),qx=Ic&&(/Mobile\/\w+/.test(gt.userAgent)||gt.maxTouchPoints>2),Y={mac:qx||/Mac/.test(gt.platform),windows:/Win/.test(gt.platform),linux:/Linux|X11/.test(gt.platform),ie:Gl,ie_version:CL?yc.documentMode||6:bc?+bc[1]:wc?+wc[1]:0,gecko:Hx,gecko_version:Hx?+(/Firefox\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,chrome:!!fc,chrome_version:fc?+fc[1]:0,ios:qx,android:/Android\b/.test(gt.userAgent),webkit:_x,webkit_version:_x?+(/\bAppleWebKit\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,safari:Ic,safari_version:Ic?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gt.userAgent)||[0,0])[1]:0,tabSize:yc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function dh(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var Al=Object.create(null);function fh(t,e,a){if(t==e)return!0;t||(t=Al),e||(e=Al);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function ZM(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function zx(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function YM(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var Aa=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},nt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(nt||(nt={})),fe=class extends zt{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new vs(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new dr(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=yL(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new dr(e,o,r,a,e.widget||null,!0)}static line(e){return new ks(e)}static set(e,a=!1){return Le.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};fe.none=Le.empty;var vs=class t extends fe{constructor(e){let{start:a,end:o}=yL(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?dh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Al}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&fh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};vs.prototype.point=!1;var ks=class t extends fe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&fh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};ks.prototype.mapMode=ot.TrackBefore;ks.prototype.point=!0;var dr=class t extends fe{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?ot.TrackBefore:ot.TrackAfter:ot.TrackDel}get type(){return this.startSide!=this.endSide?nt.WidgetRange:this.startSide<=0?nt.WidgetBefore:nt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&JM(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};dr.prototype.point=!0;function yL(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function JM(t,e){return t==e||!!(t&&e&&t.compare(e))}function pn(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var Ml=class t extends zt{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&fh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||Al,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return Le.of(e,a)}};Ml.prototype.startSide=Ml.prototype.endSide=-1;function As(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Sc(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function gs(t,e){if(!e.anchorNode)return!1;try{return Sc(t,e.anchorNode)}catch{return!1}}function Sl(t){return t.nodeType==3?Ms(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function xs(t,e,a,o){return a?Ux(t,e,a,o,-1)||Ux(t,e,a,o,1):!1}function wo(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Pl(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function Ux(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:eo(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=wo(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?eo(t):0}else return!1}}function eo(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Dl(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function QM(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function wL(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function eP(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,f=!1;d&&!f;)if(d.nodeType==1){let c,h=d==l.body,p=1,m=1;if(h)c=QM(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let C=d.getBoundingClientRect();({scaleX:p,scaleY:m}=wL(d,C)),c={left:C.left,right:C.left+d.clientWidth*p,top:C.top,bottom:C.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<c.top+s?(x=e.top-(c.top+s),a>0&&e.bottom>c.bottom+x&&(x=e.bottom-c.bottom+s)):e.bottom>c.bottom-s&&(x=e.bottom-c.bottom+s,a<0&&e.top-x<c.top&&(x=e.top-(c.top+s)));else{let C=e.bottom-e.top,L=c.bottom-c.top;x=(r=="center"&&C<=L?e.top+C/2-L/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-L+s)-c.top}if(o=="nearest"?e.left<c.left+n?(g=e.left-(c.left+n),a>0&&e.right>c.right+g&&(g=e.right-c.right+n)):e.right>c.right-n&&(g=e.right-c.right+n,a<0&&e.left<c.left+g&&(g=e.left-(c.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(c.right-c.left)/2:o=="start"==i?e.left-n:e.right-(c.right-c.left)+n)-c.left,g||x)if(h)u.scrollBy(g,x);else{let C=0,L=0;if(x){let y=d.scrollTop;d.scrollTop+=x/m,L=(d.scrollTop-y)*m}if(g){let y=d.scrollLeft;d.scrollLeft+=g/p,C=(d.scrollLeft-y)*p}e={left:e.left-C,top:e.top-L,right:e.right-C,bottom:e.bottom-L},C&&Math.abs(C-g)<1&&(o="nearest"),L&&Math.abs(L-x)<1&&(r="nearest")}if(h)break;(e.top<c.top||e.bottom>c.bottom||e.left<c.left||e.right>c.right)&&(e={left:Math.max(e.left,c.left),right:Math.min(e.right,c.right),top:Math.max(e.top,c.top),bottom:Math.min(e.bottom,c.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function bL(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var vc=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?eo(a):0),o,Math.min(e.focusOffset,o?eo(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},ir=null;Y.safari&&Y.safari_version>=26&&(ir=!1);function IL(t){if(t.setActive)return t.setActive();if(ir)return t.focus(ir);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(ir==null?{get preventScroll(){return ir={preventScroll:!0},!0}}:void 0),!ir){ir=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var Vx;function Ms(t,e,a=e){let o=Vx||(Vx=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function mn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function tP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function aP(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,eo(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=eo(a))}else{if(a==t)return!0;o=wo(a),a=a.parentNode}}function SL(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function vL(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=eo(a)}else if(a.parentNode&&!Pl(a))o=wo(a),a=a.parentNode;else return null}}function kL(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!Pl(a))o=wo(a)+1,a=a.parentNode;else return null}}var ka=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,wo(e),a)}static after(e,a){return new t(e.parentNode,wo(e)+1,a)}},be=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(be||(be={})),fr=be.LTR,ch=be.RTL;function AL(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var oP=AL("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),rP=AL("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),kc=Object.create(null),va=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);kc[e]=a,kc[a]=-e}function ML(t){return t<=247?oP[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?rP[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var nP=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,$t=class{get dir(){return this.level%2?ch:fr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function PL(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!PL(o.inner,r.inner))return!1}return!0}var ve=[];function sP(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,f=l;u<i;u++){let c=ML(t.charCodeAt(u));c==512?c=d:c==8&&f==4&&(c=16),ve[u]=c==4?2:c,c&7&&(f=c),d=c}for(let u=s,d=l,f=l;u<i;u++){let c=ve[u];if(c==128)u<i-1&&d==ve[u+1]&&d&24?c=ve[u]=d:ve[u]=256;else if(c==64){let h=u+1;for(;h<i&&ve[h]==64;)h++;let p=u&&d==8||h<a&&ve[h]==8?f==1?1:8:256;for(let m=u;m<h;m++)ve[m]=p;u=h-1}else c==8&&f==1&&(ve[u]=1);d=c,c&7&&(f=c)}}}function iP(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let f=u,c,h,p;f<d;f++)if(h=kc[c=t.charCodeAt(f)])if(h<0){for(let m=i-3;m>=0;m-=3)if(va[m+1]==-h){let g=va[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(ve[f]=ve[va[m]]=x),i=m;break}}else{if(va.length==189)break;va[i++]=f,va[i++]=c,va[i++]=l}else if((p=ve[f])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=va[g+2];if(x&2)break;if(m)va[g+2]|=2;else{if(x&4)break;va[g+2]|=4}}}}}function lP(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=ve[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(ve[d]==256)d++;else break;let f=n==1,c=(d<e?ve[d]:o)==1,h=f==c?f?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),ve[--p]=h;l=d}else n=u,l++}}}function Ac(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,f=!1;if(u==n.length||l<n[u].from){let m=ve[l];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(f)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(ve[g]==i)break e;break}}if(u++,c)c.push(m);else{m.from>l&&s.push(new $t(l,m.from,h));let g=m.direction==fr!=!(h%2);Mc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?ve[p]!=i:ve[p]==i))break;p++}c?Ac(t,l,p,o+1,r,c,s):l<p&&s.push(new $t(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,f=!1;if(!u||l>n[u-1].to){let m=ve[l-1];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(f)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(ve[g-1]==i)break e;break}}if(c)c.push(m);else{m.to<l&&s.push(new $t(m.to,l,h));let g=m.direction==fr!=!(h%2);Mc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?ve[p-1]!=i:ve[p-1]==i))break;p--}c?Ac(t,p,l,o+1,r,c,s):p<l&&s.push(new $t(p,l,h)),l=p}}function Mc(t,e,a,o,r,n,s){let i=e%2?2:1;sP(t,r,n,o,i),iP(t,r,n,o,i),lP(r,n,o,i),Ac(t,r,n,e,a,o,s)}function uP(t,e,a){if(!t)return[new $t(0,0,e==ch?1:0)];if(e==fr&&!a.length&&!nP.test(t))return DL(t.length);if(a.length)for(;t.length>ve.length;)ve[ve.length]=256;let o=[],r=e==fr?0:1;return Mc(t,r,r,a,0,t.length,o),o}function DL(t){return[new $t(0,t,0)]}var RL="";function dP(t,e,a,o,r){var n;let s=o.head-t.from,i=$t.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let c=i+=r?1:-1;if(c<0||c>=e.length)return null;l=e[i=c],s=l.side(!r,a),u=l.side(r,a)}let d=Ve(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),RL=t.text.slice(Math.min(s,d),Math.max(s,d));let f=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)<l.level?V.cursor(f.side(!r,a)+t.from,f.forward(r,a)?1:-1,f.level):V.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function fP(t,e,a){for(let o=e;o<a;o++){let r=ML(t.charCodeAt(o));if(r==1)return fr;if(r==2||r==4)return ch}return fr}var TL=j.define(),EL=j.define(),BL=j.define(),OL=j.define(),Pc=j.define(),FL=j.define(),NL=j.define(),hh=j.define(),ph=j.define(),HL=j.define({combine:t=>t.some(e=>e)}),_L=j.define({combine:t=>t.some(e=>e)}),qL=j.define(),Ls=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(V.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},ml=le.define({map:(t,e)=>t.map(e)}),zL=le.define();function rt(t,e,a){let o=t.facet(OL);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var Ja=j.define({combine:t=>t.length?t[0]:!0}),cP=0,dn=j.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),We=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(dn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(dn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(cP++,e,o,r,i=>{let l=[];return s&&l.push($l.of(u=>{let d=u.plugin(i);return d?s(d):fe.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},Cs=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(rt(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){rt(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){rt(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},UL=j.define(),mh=j.define(),$l=j.define(),VL=j.define(),gh=j.define(),Ps=j.define(),WL=j.define();function Wx(t,e){let a=t.state.facet(WL);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return Le.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,f=r;for(let c=i.length-1;c>=0;c--,l--){let h=i[c].spec.bidiIsolate,p;if(h==null&&(h=fP(e.text,u,d)),l>0&&f.length&&(p=f[f.length-1]).to==u&&p.direction==h)p.to=d,f=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};f.push(m),f=m.inner}}}}),r}var GL=j.define();function xh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(GL)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var ps=j.define(),ia=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,f=u,c=d;for(;;)if(n<a.length&&a[n]<=f){let h=a[n+1];n+=2,f=Math.max(f,h);for(let p=r;p<e.length&&e[p].fromB<=f;p++)s=e[p].toA-e[p].toB;c=Math.max(c,h+s)}else if(r<e.length&&e[r].fromB<=f){let h=e[r++];f=Math.max(f,h.toB),c=Math.max(c,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,c,u,f))}return o}},Rl=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=mt.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new ia(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},hP=[],Ee=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return hP}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&ZM(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=wo(this.dom),r=this.length?e>0:a>0;return new ka(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof xn)return e;return null}static get(e){return e.cmTile}},gn=class extends Ee{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=Gx(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=Gx(r);this.length=s}};function Gx(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var xn=class extends gn{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=Ee.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof Qa)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},Qa=class t extends gn{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Ln=class t extends gn{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,f){for(let c=0,h=0;c<d.children.length&&h<=f;c++){let p=d.children[c],m=h+p.length;m>=f&&(p.isComposite()?l(p,f-h):(!s||s.isHidden&&(a>0||o&&mP(s,p)))&&(m>f||p.flags&32)?(s=p,i=f-h):(h<f||p.flags&16&&!p.isHidden)&&(r=p,n=f-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):pP(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new ka(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new ka(l.dom,0);l==o.tile&&(i=!0)}}return new ka(this.dom,0)}};function pP(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=Sl(e);return a[a.length-1]||null}function mP(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var At=class t extends gn{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},lr=class t extends Ee{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Y.chrome||Y.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Ms(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Y.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?Dl(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},cr=class t extends Ee{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return Dl(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return Dl(s,!i)}}get overrideDOMText(){if(!this.length)return me.empty;let{root:e}=this;if(!e)return me.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},Cn=class extends Ee{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return me.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},Dc=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},Rc=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},Tc=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new lr(i.dom,i.text+e);l.parent=s}else s.append(r||lr.of(e,(n=this.cache.find(lr))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?cc(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof At&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(cc(l.dom)),r=u;else{if(this.cache.reused.get(l)){let f=Ee.get(l.dom);f&&f.setDOM(cc(l.dom))}let d=At.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=Ee.get(e.text);n&&this.cache.reused.set(n,2);let s=new lr(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=$L);let r=Ln.start(e,a||((o=this.cache.find(Ln))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof At&&i.mark.eq(s))r=i,a--;else{let l=At.of(s,(o=this.cache.find(At,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!$x(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Y.ios&&$x(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(hc,0,32)||new cr(hc.toDOM(),0,hc,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new Rc(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof Qa&&r.wrapper.eq(o.wrapper))a=r;else{let n=Qa.of(o.wrapper,(e=this.cache.find(Qa,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(Cn,void 0,1);return o&&(o.flags=a),o||new Cn(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Ec=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},Tl=[cr,Ln,lr,At,Cn,Qa,xn];for(let t=0;t<Tl.length;t++)Tl[t].bucket=t;var Bc=class{constructor(e){this.view=e,this.buckets=Tl.map(()=>[]),this.index=Tl.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new cr(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},Oc=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new Bc(e),this.text=new Ec(e.state.doc),this.builder=new Tc(this.cache,new xn(e,e.contentDOM),Le.iter(o)),this.cache.reused.set(a,2),this.old=new Dc(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=LP(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?cr.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof Cn)this.cache.add(s);else if(s instanceof At)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof At&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof At&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=Le.spans(this.decorations,e,a,{point:(i,l,u,d,f,c)=>{if(u instanceof dr){if(this.disallowBlockEffectsFor[c]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,f>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?bo.block:bo.inline),p=gP(u),m=this.cache.findWidget(h,l-i,p)||cr.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,f))}o=null}else o=xP(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let f=i;f<l;){let c=this.text.next(Math.min(512,l-f));c==null?(r.addLineStartIfNotCovered(o),r.addBreak(),f++):(r.ensureLine(o),r.addText(c,u,f==i?d:u.length),f+=c.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=Ee.get(r);if(r==this.view.contentDOM)break;n instanceof At?a.push(n):n?.isLine()?o=n:n instanceof Qa||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new Ln(r,$L):o||a.push(At.of(new vs({tagName:r.nodeName.toLowerCase(),attributes:YM(r)}),r)))}return{line:o,marks:a}}};function $x(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function gP(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var $L={class:"cm-line"};function xP(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&dh(a,t),o&&(t.class+=" "+o)),t}function LP(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof At&&e.push(o.mark)}return e}function cc(t){let e=Ee.get(t);return e&&e.setDOM(t.cloneNode()),t}var bo=class extends Aa{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};bo.inline=new bo("span");bo.block=new bo("div");var hc=new class extends Aa{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},El=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=fe.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 xn(e,e.contentDOM),this.updateInner([new ia(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:f})=>f<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!kP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?yP(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;o=new ia(d,f,e.changes.mapPos(d,-1),e.changes.mapPos(f,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Y.ie||Y.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=IP(s,this.decorations,e.changes);l.length&&(o=ia.extendWithRanges(o,l));let u=SP(i,this.blockWrappers,e.changes);return u.length&&(o=ia.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new Oc(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&Ee.get(a.text)&&i.cache.reused.set(Ee.get(a.text),2),this.tile=i.run(e,a),Fc(s,i.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 n=Y.chrome||Y.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof ys&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(zL)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(Ja)||o.tabIndex>-1)&&gs(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Y.gecko&&l.empty&&!this.hasComposition&&CP(u)){let c=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(c,u.node.childNodes[u.offset]||null)),u=d=new ka(c,0),i=!0}let f=this.view.observer.selectionRange;(i||!f.focusNode||(!xs(u.node,u.offset,f.anchorNode,f.anchorOffset)||!xs(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{Y.android&&Y.chrome&&o.contains(f.focusNode)&&vP(f.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let c=As(this.view.root);if(c)if(l.empty){if(Y.gecko){let h=wP(u.node,u.offset);if(h&&h!=3){let p=(h==1?vL:kL)(u.node,u.offset);p&&(u=new ka(p.node,p.offset))}}c.collapse(u.node,u.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(u.node,u.offset);try{c.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),c.removeAllRanges(),c.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new ka(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new ka(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&xs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=As(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=eo(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!Ee.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let f=d+u.length;if(d<=e&&(o=u,r=e-d,n=f<e),f>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof ys?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=Ve(n.text,s);if(i==s)return null;let l=Ms(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==be.LTR,u=0,d=(f,c,h)=>{for(let p=0;p<f.children.length&&!(c>r);p++){let m=f.children[p],g=c+m.length,x=m.dom.getBoundingClientRect(),{height:C}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof Qa)g>o&&d(m,c,x);else if(c>=o&&(u>0&&a.push(-u),a.push(C+u),u=0,s)){let L=m.dom.lastChild,y=L?Sl(L):[];if(y.length){let S=y[y.length-1],w=l?S.right-x.left:x.right-S.left;w>i&&(i=w,this.minWidth=n,this.minWidthFrom=c,this.minWidthTo=g)}}h&&p==f.children.length-1&&(u+=h.bottom-x.bottom),c=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?be.RTL:be.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=Sl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=Sl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(fe.replace({widget:new ys(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return fe.set(e)}updateDeco(){let e=1,a=this.view.state.facet($l).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(gh).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(Le.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(VL).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(qL))try{if(d(this.view,e.range,e))return!0}catch(f){rt(this.view.state,f,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=xh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(eP(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==be.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){Fc(this.tile)}};function Fc(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)Fc(o,e)}}function CP(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function XL(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=vL(a.focusNode,a.focusOffset),r=kL(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=Ee.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=Ee.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function yP(t,e,a){let o=XL(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new ia(l.mapPos(n),l.mapPos(s),n,s),text:r}}function wP(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var bP=class{constructor(){this.changes=[]}compareRange(e,a){pn(e,a,this.changes)}comparePoint(e,a){pn(e,a,this.changes)}boundChange(e){pn(e,e,this.changes)}};function IP(t,e,a){let o=new bP;return Le.compare(t,e,a,o),o.changes}var Nc=class{constructor(){this.changes=[]}compareRange(e,a){pn(e,a,this.changes)}comparePoint(){}boundChange(e){pn(e,e,this.changes)}};function SP(t,e,a){let o=new Nc;return Le.compare(t,e,a,o),o.changes}function vP(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function kP(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var ys=class extends Aa{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function AP(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return V.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=Ve(r.text,n,!1):i=Ve(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=Ve(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=Ve(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return V.range(s+r.from,i+r.from)}function MP(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+Tx(s,n,t.state.tabSize)}function Hc(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==nt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function PP(t,e,a,o){let r=Hc(t,e.head,e.assoc||-1),n=!o||r.type!=nt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==be.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return V.cursor(l,a?-1:1)}return V.cursor(a?r.to:r.from,a?-1:1)}function Xx(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=dP(r,n,s,i,a),d=RL;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
|
|
16
|
-
`,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function DP(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==Te.Space&&(r=s),r==s}}function RP(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return V.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let f=l.left+s,c=t.viewState.heightOracle.textHeight>>1,h=o??c;for(let p=0;;p+=c){let m=i+(h+p)*n,g=_c(t,{x:f,y:m},!1,n);if(a?m>l.bottom:m<l.top)return V.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),C=x?(x.top+x.bottom)/2:0;if(!x||(a?C>i:C<i))return V.cursor(g.pos,g.assoc,void 0,s)}}function ws(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function KL(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=ws(t,r.from,0);s!=r.from&&(n=V.cursor(s,-1))}else{let s=ws(t,r.from,-1),i=ws(t,r.to,1);(s!=r.from||i!=r.to)&&(n=V.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?V.create(a,e.mainIndex):e}function pc(t,e,a){let o=ws(t.state.facet(Ps).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:V.cursor(o,o<a.from?1:-1)}var Gt=class{constructor(e,a){this.pos=e,this.assoc=a}};function _c(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new Gt(0,1);if(l>t.viewState.docHeight)return new Gt(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==nt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let c=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(c&&(o<0?c.top<=l+n:c.bottom>=l+n))break}let f=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+f:u.top-f}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==nt.Text){let f=MP(t,r,u,s,i);return new Gt(f,f==u.from?1:-1)}}if(u.type!=nt.Text)return l<(u.top+u.bottom)/2?new Gt(u.from,1):new Gt(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new qc(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var qc=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[$t.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[$t.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,f=1e9,c;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let C=0;C<p;C++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let C=g[x],L=0;if(!(C.width==0&&g.length>1)){if(C.bottom<this.y)(!l||l.bottom<C.bottom)&&(l=C),L=1;else if(C.top>this.y)(!u||u.top>C.top)&&(u=C),L=-1;else{let y=C.left>this.x?this.x-C.left:C.right<this.x?this.x-C.right:0,S=Math.abs(y);S<f&&(d=m,f=S,c=C),y&&(L=y<0==(this.baseDir==be.LTR)?-1:1)}L==-1&&(!i||this.baseDirAt(e[m],1))?n=m:L==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!c){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(f&&!o){let{top:p,bottom:m}=c;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==be.LTR;return{i:d,after:this.x>(c.left+c.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=Ve(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Ms(e.dom,s,i).getClientRects()});return r.after?new Gt(o[r.i+1],-1):new Gt(o[r.i],1)}scanTile(e,a){if(!e.length)return new Gt(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Ms(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new Gt(o[r.i+1],-1):new Gt(s,1)}},un="\uFFFF",zc=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=un}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=Ee.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=Ee.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:Pl(r))||Pl(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!EP(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=Ee.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+(TP(e,o.node,o.offset)?a:0))}};function TP(t,e,a){for(;;){if(!e||a<eo(e))return!1;if(e==t)return!0;a=wo(e)+1,e=e.parentNode}}function EP(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=Ee.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var Bl=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},Uc=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=jL(e.docView.tile,a,o,0))){let l=n||s?[]:OP(e),u=new zc(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=FP(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!Sc(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!Sc(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((Y.ios||Y.chrome)&&i.main.empty&&u!=d&&(f.from>0||f.to<e.state.doc.length)){let c=Math.min(u,d),h=Math.max(u,d),p=f.from-c,m=f.to-h;(p==0||p==1||c==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(V.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let c=e.coordsAtPos(u,-1),h=0;c&&(h=e.inputState.lastTouchY<=c.bottom?-1:1),this.newSel=V.create([V.cursor(u,h)])}else this.newSel=V.single(d,u)}}};function jL(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let f=t.children[l],c=u+f.length;if(u<e&&c>a)return jL(f,e,a,u);if(c>=e&&r==-1&&(r=l,n=u),u>a&&f.dom.parentNode==t.dom){s=l,i=d;break}d=c,u=c+f.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function ZL(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Y.android&&e.text.length<l-i)&&(u=n.to,d="end");let f=r.doc.sliceString(i,l,un),c,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&f.slice(n.to-i)==e.text.slice(c=e.text.length-(f.length-(n.to-i)))?a={from:n.from,to:n.to,insert:me.of(e.text.slice(n.from-i,c).split(un))}:(h=YL(f,e.text,u-i,d))&&(Y.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==un+un&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:me.of(e.text.slice(h.from,h.toB).split(un))})}else o&&(!t.hasFocus&&r.facet(Ja)||Ol(o,n))&&(o=null);if(!a&&!o)return!1;if((Y.mac||Y.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:me.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Y.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
|
|
17
|
-
`&&t.lineWrapping&&(o&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:me.of([" "])}),a)return Lh(t,a,o,s);if(o&&!Ol(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=KL(r.facet(Ps).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function Lh(t,e,a,o=-1){if(Y.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Y.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&&mn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&mn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&mn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=BP(t,e,a));return t.state.facet(FL).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function BP(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=ws(r.facet(Ps).map(f=>f(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:V.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),f,c=a&&XL(t,a.main.head);if(c){let p=e.insert.length-(e.to-e.from);f={from:c.from,to:c.to-p}}else f=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=f.from&&g<=f.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),C=p.to-n.to;return{changes:x,range:u?V.range(Math.max(0,u.anchor+C),Math.max(0,u.head+C)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function YL(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function OP(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new Bl(a,o)),(r!=a||n!=o)&&e.push(new Bl(r,n))),e}function FP(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?V.single(a+e,o+e):null}function Ol(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var Vc=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,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.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Y.safari&&e.contentDOM.addEventListener("input",()=>null),Y.gecko&&ZP(e.contentDOM.ownerDocument)}handleEvent(e){!VP(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=NP(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&QL.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Y.android&&Y.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Y.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=JL.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||HP.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,mn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Y.safari&&!Y.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Kx(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){rt(a.state,r)}}}function NP(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(Kx(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(Kx(o.value,l))}}for(let o in la)a(o).handlers.push(la[o]);for(let o in Mt)a(o).observers.push(Mt[o]);return e}var JL=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],HP="dthko",QL=[16,17,18,20,91,92,224,225],gl=6;function xl(t){return Math.max(0,t)*.7+8}function _P(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var Wc=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=bL(e.contentDOM),this.atoms=e.state.facet(Ps).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Se.allowMultipleSelections)&&qP(e,a),this.dragging=UP(e,a)&&aC(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&_P(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=xh(this.view);e.clientX-l.left<=r+gl?a=-xl(r-e.clientX):e.clientX+l.right>=s-gl&&(a=xl(e.clientX-s)),e.clientY-l.top<=n+gl?o=-xl(n-e.clientY):e.clientY+l.bottom>=i-gl&&(o=xl(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=KL(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function qP(t,e){let a=t.state.facet(TL);return a.length?a[0](e):Y.mac?e.metaKey:e.ctrlKey}function zP(t,e){let a=t.state.facet(EL);return a.length?a[0](e):Y.mac?!e.altKey:!e.ctrlKey}function UP(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=As(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function VP(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=Ee.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var la=Object.create(null),Mt=Object.create(null),eC=Y.ie&&Y.ie_version<15||Y.ios&&Y.webkit_version<604;function WP(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),tC(t,a.value)},50)}function Xl(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function tC(t,e){e=Xl(t.state,hh,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(Gc!=null&&a.selection.ranges.every(l=>l.empty)&&Gc==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:f},range:V.cursor(u.from+f.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:V.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}Mt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Mt.wheel=Mt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};la.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Mt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};Mt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};la.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet(BL))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=$P(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new Wc(t,e,a,o)),o&&t.observer.ignore(()=>{IL(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function jx(t,e,a,o){if(o==1)return V.cursor(e,a);if(o==2)return AP(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,V.range(s,i)}}var GP=Y.ie&&Y.ie_version<=11,Zx=null,Yx=0,Jx=0;function aC(t){if(!GP)return t.detail;let e=Zx,a=Jx;return Zx=t,Jx=Date.now(),Yx=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(Yx+1)%3:1}function $P(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=aC(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=jx(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let f=jx(t,a.pos,a.assoc,o),c=Math.min(f.from,d.from),h=Math.max(f.to,d.to);d=c<d.from?V.range(c,h,d.assoc):V.range(h,c,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=XP(r,l.pos))?u:i?r.addRange(d):V.create([d])}}}function XP(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return V.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}la.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=V.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",Xl(t.state,ph,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};la.dragend=t=>(t.inputState.draggedContent=null,!1);function Qx(t,e,a,o){if(a=Xl(t.state,hh,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&zP(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}la.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&Qx(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return Qx(t,e,o,!0),!0}return!1};la.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=eC?null:e.clipboardData;return a?(tC(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(WP(t),!1)};function KP(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function jP(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:Xl(t,ph,e.join(t.lineBreak)),ranges:a,linewise:o}}var Gc=null;la.copy=la.cut=(t,e)=>{if(!gs(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=jP(t.state);if(!a&&!r)return!1;Gc=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=eC?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(KP(t,a),!1)};var oC=St.define();function rC(t,e){let a=[];for(let o of t.facet(NL)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:oC.of(!0)}):null}function nC(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=rC(t.state,e);a?t.dispatch(a):t.update([])}},10)}Mt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),nC(t)};Mt.blur=t=>{t.observer.clearSelectionRange(),nC(t)};Mt.compositionstart=Mt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Mt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Y.chrome&&Y.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Mt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};la.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return Lh(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Y.chrome&&Y.android&&(r=JL.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Y.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Y.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Mt.compositionend(t,e),20),!1};var eL=new Set;function ZP(t){eL.has(t)||(eL.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var tL=["pre-wrap","normal","pre-line","break-spaces"],yn=!1;function aL(){yn=!1}var $c=class{constructor(e){this.lineWrapping=e,this.doc=me.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return tL.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=tL.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},Xc=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},sa=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?nt.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 dr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Ae=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Ae||(Ae={})),vl=.001,Ft=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>vl&&(yn=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:f}=r[i],c=n.lineAt(l,Ae.ByPosNoHeight,o.setDoc(a),0,0),h=c.to>=u?c:n.lineAt(u,Ae.ByPosNoHeight,o,0,0);for(f+=h.to-u,u=h.to;i>0&&c.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<c.from&&(c=n.lineAt(l,Ae.ByPosNoHeight,o,0,0));d+=c.from-l,l=c.from;let p=jc.build(o.setDoc(s),e,d,f);n=Fl(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new Wt(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new Kc(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function Fl(t,e){return t==e?t:(t.constructor!=e.constructor&&(yn=!0),e)}Ft.prototype.size=1;var YP=fe.replace({}),Nl=class extends Ft{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new sa(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new sa(r,0,o,this.spaceAbove,YP):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Ae.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},Wt=class t extends Nl{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new sa(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof yo&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof yo?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ft.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},yo=class t extends Ft{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),f=i+d.length*l,c=Math.max(o,e-f/2);return new sa(d.from,d.length,c,f,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:f}=a.doc.line(n+u);return new sa(d,f,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Ae.ByHeight)return this.blockAt(e,o,r,n);if(a==Ae.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new sa(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,f=u.number-s,c=r+i*f+l*(u.from-n-f);return new sa(u.from,u.length,Math.max(r,Math.min(c,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,f=r;d<=a;){let c=o.doc.lineAt(d);if(d==e){let p=c.number-i;f+=l*p+u*(e-n-p)}let h=l+u*c.length;s(new sa(c.from,c.length,f,h,0)),f+=h,d=c.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return Ft.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let f=r.heights[r.index++],c=0;f<0&&(c=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=vl&&(l=-2);let h=new Wt(d,f,c);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=Ft.of(s);return(l<0||Math.abs(u.height-this.height)>=vl||Math.abs(l-this.heightMetrics(e,a).perLine)>=vl)&&(yn=!0),Fl(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Kc=class extends Ft{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Ae.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Ae.ByPosNoHeight?Ae.ByPosNoHeight:Ae.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Ae.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&oL(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),oL(n,i)}return Ft.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?Ft.of(this.break?[e,null,a]:[e,a]):(this.left=Fl(this.left,e),this.right=Fl(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function oL(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof yo&&(o=t[e+1])instanceof yo&&t.splice(e-1,3,new yo(a.length+1+o.length))}var JP=5,jc=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Wt?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new Wt(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new Nl(s,r,o)):(s||n||r>=JP)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Wt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new yo(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Wt)return e;let a=new Wt(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof Wt)&&!this.isCovered?this.nodes.push(new Wt(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof Wt&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return Le.spans(a,o,r,n,0),n.finish(o)}};function QP(t,e,a){let o=new Zc;return Le.compare(t,e,a,o,0),o.changes}var Zc=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&pn(e,a,this.changes,5)}};function eD(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,f=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let c=d.getBoundingClientRect();n=Math.max(n,c.left),s=Math.min(s,c.right),i=Math.max(i,c.top),l=Math.min(u==t.parentNode?r.innerHeight:l,c.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function tD(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function aD(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var bs=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return fe.replace({widget:new Yc(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},Yc=class extends Aa{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Hl=class{constructor(e,a){this.view=e,this.state=a,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=rL,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=be.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(mh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new $c(o),this.stateDeco=nL(a),this.heightMap=Ft.empty().applyChanges(this.stateDeco,me.empty,this.heightOracle.setDoc(a.doc),[new ia(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=fe.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new fn(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?rL:new Jc(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(ms(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=nL(this.state);let r=e.changedRanges,n=ia.extendWithRanges(r,QP(o,this.stateDeco,e?e.changes:mt.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);aL(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||yn)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(_L)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?be.RTL:be.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:S,scaleY:w}=wL(a,i);(S>.005&&Math.abs(this.scaleX-S)>.005||w>.005&&Math.abs(this.scaleY-w)>.005)&&(this.scaleX=S,this.scaleY=w,u|=16,s=l=!0)}let f=(parseInt(o.paddingTop)||0)*this.scaleY,c=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=c)&&(this.paddingTop=f,this.paddingBottom=c,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=bL(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=SL(this.scrollParent||e.win);let m=(this.printing?aD:eD)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let C=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(C!=this.inView&&(this.inView=C,C&&(l=!0)),!this.inView&&!this.scrollTarget&&!tD(e.dom))return 0;let L=i.width;if((this.contentDOMWidth!=L||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(s=!0),s||r.lineWrapping&&Math.abs(L-this.contentDOMWidth)>r.charWidth){let{lineHeight:w,charWidth:b,textHeight:I}=e.docView.measureTextSize();s=w>0&&r.refresh(n,w,b,I,Math.max(5,L/b),S),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),aL();for(let w of this.viewports){let b=w.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(w);this.heightMap=(s?Ft.empty().applyChanges(this.stateDeco,me.empty,this.heightOracle,[new ia(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new Xc(w.from,b))}yn&&(u|=2)}let y=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new fn(r.lineAt(s-o*1e3,Ae.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Ae.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Ae.ByPos,n,0,0),c;a.y=="center"?c=(f.top+f.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?c=f.top:c=f.bottom-d,l=new fn(r.lineAt(c-1e3/2,Ae.ByHeight,n,0,0).from,r.lineAt(c+d+1e3/2,Ae.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new fn(this.heightMap.lineAt(o,Ae.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Ae.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Ae.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new bs(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=be.LTR&&!o)return[];let i=[],l=(d,f,c,h)=>{if(f-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<f){l(d,x-10,c,h),l(x+10,f,c,h);return}let g=rD(e,x=>x.from>=c.from&&x.to<=c.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-f)<n&&!m.some(C=>x.from<C&&x.to>C));if(!g){if(f<c.to&&a&&o&&a.visibleRanges.some(L=>L.from<=f&&L.to>=f)){let L=a.moveToLineBoundary(V.cursor(f),!1,!0).head;L>d&&(f=L)}let x=this.gapSize(c,d,f,h),C=o||x<2e6?x:2e6;g=new bs(d,f,x,C)}i.push(g)},u=d=>{if(d.length<s||d.type!=nt.Text)return;let f=oD(d.from,d.to,this.stateDeco);if(f.total<s)return;let c=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(c!=null){let C=Cl(f,c),L=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=C-L,x=C+L}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Ll(f,g),p=Ll(f,x)}else{let m=f.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let w of e)w.from>=d.from&&w.from<d.to&&w.size!=w.displaySize&&w.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=w.size-w.displaySize);let C=this.pixelViewport.left+x,L=this.pixelViewport.right+x,y,S;if(c!=null){let w=Cl(f,c),b=((L-C)/2+g)/m;y=w-b,S=w+b}else y=(C-g)/m,S=(L+g)/m;h=Ll(f,y),p=Ll(f,S)}h>d.from&&l(d.from,h,d,f),p<d.to&&l(p,d.to,d,f)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=Cl(r,o)-Cl(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){bs.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=fe.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];Le.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||ms(this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||ms(this.heightMap.lineAt(this.scaler.fromDOM(e),Ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return ms(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},fn=class{constructor(e,a){this.from=e,this.to=a}};function oD(t,e,a){let o=[],r=t,n=0;return Le.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Ll({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function Cl(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function rD(t,e){for(let a of t)if(e(a))return a}var rL={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function nL(t){let e=t.facet($l).filter(o=>typeof o!="function"),a=t.facet(gh).filter(o=>typeof o!="function");return a.length&&e.push(Le.join(a)),e}var Jc=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Ae.ByPos,e,0,0).top,d=a.lineAt(l,Ae.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function ms(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new sa(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>ms(r,e)):t._content)}var yl=j.define({combine:t=>t.join(" ")}),Qc=j.define({combine:t=>t.indexOf(!0)>-1}),eh=Vt.newName(),sC=Vt.newName(),iC=Vt.newName(),lC={"&light":"."+sC,"&dark":"."+iC};function th(t,e,a){return new Vt(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var nD=th("."+eh,{"&":{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"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lC),sD={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},mc=Y.ie&&Y.ie_version<=11,ah=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new vc,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Y.ie&&Y.ie_version<=11||Y.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Y.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Y.chrome&&Y.chrome_version<126)&&(this.editContext=new oh(e),e.state.facet(Ja)&&(e.contentDOM.editContext=this.editContext.editContext)),mc&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(Ja)?o.root.activeElement!=this.dom:!gs(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Y.ie&&Y.ie_version<=11||Y.android&&Y.chrome)&&!o.state.selection.main.empty&&r.focusNode&&xs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=As(e.root);if(!a)return!1;let o=Y.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&iD(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=gs(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&aP(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,sD),mc&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),mc&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&mn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&gs(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Uc(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=ZL(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!Ol(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=sL(a,e.previousSibling||e.target.previousSibling,-1),r=sL(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Ja)!=e.state.facet(Ja)&&(e.view.contentDOM.editContext=e.state.facet(Ja)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function sL(t,e,a){for(;e;){let o=Ee.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function iL(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return xs(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function iD(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return iL(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?iL(t,a):null}var oh=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=YL(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let c=V.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));Ol(c,r)||e.dispatch({selection:c,userEvent:"select"});return}let f={from:d.from+i,to:d.toA+i,insert:me.of(o.text.slice(d.from,d.toB).split(`
|
|
18
|
-
`))};if((Y.mac||Y.android)&&f.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:i,to:l,insert:me.of([o.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let c=this.to-this.from+(f.to-f.from+f.insert.length);Lh(e,f,V.single(this.toEditorPos(o.selectionStart,c),this.toEditorPos(o.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(fe.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:zL.of(fe.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=As(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},J=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||tP(e.parent)||document,this.viewState=new Hl(this,e.state||Se.create(e)),e.scrollTo&&e.scrollTo.is(ml)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(dn).map(r=>new Cs(r));for(let r of this.plugins)r.update(this);this.observer=new ah(this),this.inputState=new Vc(this),this.inputState.ensureHandlers(this.plugins),this.docView=new El(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof Ze?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let c of e){if(c.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=c.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(c=>c.annotation(oC))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=rC(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Se.phrases)!=this.state.facet(Se.phrases))return this.setState(n);r=Rl.create(this,n,e),r.flags|=i;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let c of e){if(f&&(f=f.map(c.changes)),c.scrollIntoView){let{main:h}=c.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);f=new Ls(h.empty?h:V.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of c.effects)h.is(ml)&&(f=h.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=_l.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(ps)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(c=>c.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(yl)!=r.state.facet(yl)&&(this.viewState.mustMeasureContent=!0),(a||o||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let c of this.state.facet(Pc))try{c(r)}catch(h){rt(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!ZL(this,d)&&u.force&&mn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new Hl(this,e),this.plugins=e.facet(dn).map(o=>new Cs(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new El(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(dn),o=e.state.facet(dn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new Cs(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){rt(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(SL(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return rt(this.state,p),lL}}),f=Rl.create(this,this.state,[]),c=!1;f.flags|=l,a?a.flags|=l:a=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),c=this.docView.update(f),c&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=lL)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){rt(this.state,p)}if(c&&this.docView.updateSelection(!0),!f.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(Pc))i(a)}get themeClasses(){return eh+" "+(this.state.facet(Qc)?iC:sC)+" "+this.state.facet(yl)}updateAttrs(){let e=uL(this,UL,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Ja)?"true":"false",class:"cm-content",style:`${Y.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),uL(this,mh,a);let o=this.observer.ignore(()=>{let r=zx(this.contentDOM,this.contentAttrs,a),n=zx(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ps);let e=this.state.facet(t.cspNonce);Vt.mount(this.root,this.styleModules.concat(nD).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return pc(this,e,Xx(this,e,a,o))}moveByGroup(e,a){return pc(this,e,Xx(this,e,a,o=>DP(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return V.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return PP(this,e,a,o)}moveVertically(e,a,o){return pc(this,e,RP(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=_c(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),_c(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[$t.find(n,e-r.from,-1,a)];return Dl(o,s.dir==be.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(HL)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>lD)return DL(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||PL(n.isolates,o=Wx(this,e))))return n.order;o||(o=Wx(this,e));let r=uP(e.text,a,o);return this.bidiCache.push(new _l(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Y.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{IL(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return ml.of(new Ls(typeof e=="number"?V.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return ml.of(new Ls(V.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return We.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return We.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=Vt.newName(),r=[yl.of(o),ps.of(th(`.${o}`,e))];return a&&a.dark&&r.push(Qc.of(!0)),r}static baseTheme(e){return na.lowest(ps.of(th("."+eh,e,lC)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&Ee.get(o)||Ee.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};J.styleModule=ps;J.inputHandler=FL;J.clipboardInputFilter=hh;J.clipboardOutputFilter=ph;J.scrollHandler=qL;J.focusChangeEffect=NL;J.perLineTextDirection=HL;J.exceptionSink=OL;J.updateListener=Pc;J.editable=Ja;J.mouseSelectionStyle=BL;J.dragMovesSelection=EL;J.clickAddsSelectionRange=TL;J.decorations=$l;J.blockWrappers=VL;J.outerDecorations=gh;J.atomicRanges=Ps;J.bidiIsolatedRanges=WL;J.cursorScrollMargin=j.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});J.scrollMargins=GL;J.darkTheme=Qc;J.cspNonce=j.define({combine:t=>t.length?t[0]:""});J.contentAttributes=mh;J.editorAttributes=UL;J.lineWrapping=J.contentAttributes.of({class:"cm-lineWrapping"});J.announce=le.define();var lD=4096,lL={},_l=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:be.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function uL(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&dh(s,a)}return a}var uD=Y.mac?"mac":Y.windows?"win":Y.linux?"linux":"key";function dD(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function wl(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var fD=na.default(J.domEventHandlers({keydown(t,e){return fC(uC(e.state),t,e,"editor")}})),pr=j.define({enables:fD}),dL=new WeakMap;function uC(t){let e=t.facet(pr),a=dL.get(e);return a||dL.set(e,a=hD(e.reduce((o,r)=>o.concat(r),[]))),a}function dC(t,e,a){return fC(uC(t.state),e,t,a)}var Co=null,cD=4e3;function hD(t,e=uD){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var f,c;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>dD(x,e));for(let x=1;x<p.length;x++){let C=p.slice(0,x).join(" ");r(C,!0),h[C]||(h[C]={preventDefault:!0,stopPropagation:!1,run:[L=>{let y=Co={view:L,prefix:C,scope:s};return setTimeout(()=>{Co==y&&(Co=null)},cD),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((c=(f=h._any)===null||f===void 0?void 0:f.run)===null||c===void 0?void 0:c.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=s;for(let c in d)d[c].run.push(h=>f(h,rh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var rh=null;function fC(t,e,a,o){rh=e;let r=Fx(e),n=vt(r,0),s=Ut(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;Co&&Co.view==a&&Co.scope==o&&(i=Co.prefix+" ",QL.indexOf(e.keyCode)<0&&(u=!0,Co=null));let f=new Set,c=g=>{if(g){for(let x of g.run)if(!f.has(x)&&(f.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(c(h[i+wl(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Y.windows&&e.ctrlKey&&e.altKey)&&!(Y.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Ya[e.keyCode])&&p!=r?(c(h[i+wl(p,e,!0)])||e.shiftKey&&(m=ln[e.keyCode])!=r&&m!=p&&c(h[i+wl(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&c(h[i+wl(r,e,!0)])&&(l=!0),!l&&c(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),rh=null,l}var ur=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=cC(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return pD(e,a,o)}};function cC(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==be.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function fL(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function pD(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==be.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=cC(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),c=i.right-(d?parseInt(d.paddingRight):0),h=Hc(t,o,1),p=Hc(t,r,-1),m=h.type==nt.Text?h:null,g=p.type==nt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=fL(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=fL(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return C(L(a.from,a.to,m));{let S=m?L(a.from,null,m):y(h,!1),w=g?L(null,a.to,g):y(p,!0),b=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&S.bottom+t.defaultLineHeight/2<w.top?b.push(x(f,S.bottom,c,w.top)):S.bottom<w.top&&t.elementAtHeight((S.bottom+w.top)/2).type==nt.Text&&(S.bottom=w.top=(S.bottom+w.top)/2),C(S).concat(b).concat(C(w))}function x(S,w,b,I){return new ur(e,S-l.left,w-l.top,Math.max(0,b-S),I-w)}function C({top:S,bottom:w,horizontal:b}){let I=[];for(let A=0;A<b.length;A+=2)I.push(x(b[A],S,b[A+1],w));return I}function L(S,w,b){let I=1e9,A=-1e9,N=[];function D(v,M,P,R,E){let O=t.coordsAtPos(v,v==b.to?-2:2),k=t.coordsAtPos(P,P==b.from?2:-2);!O||!k||(I=Math.min(O.top,k.top,I),A=Math.max(O.bottom,k.bottom,A),E==be.LTR?N.push(n&&M?f:O.left,n&&R?c:k.right):N.push(!n&&R?f:k.left,!n&&M?c:O.right))}let T=S??b.from,H=w??b.to;for(let v of t.visibleRanges)if(v.to>T&&v.from<H)for(let M=Math.max(v.from,T),P=Math.min(v.to,H);;){let R=t.state.doc.lineAt(M);for(let E of t.bidiSpans(R)){let O=E.from+R.from,k=E.to+R.from;if(O>=P)break;k>M&&D(Math.max(O,M),S==null&&O<=T,Math.min(k,P),w==null&&k>=H,E.dir)}if(M=R.to+1,M>=P)break}return N.length==0&&D(T,S==null,H,w==null,t.textDirection),{top:I,bottom:A,horizontal:N}}function y(S,w){let b=i.top+(w?S.top:S.bottom);return{top:b,bottom:b,horizontal:[]}}}function mD(t,e){return t.constructor==e.constructor&&t.eq(e)}var nh=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(kl)!=e.state.facet(kl)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(kl);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!mD(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Y.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},kl=j.define();function hC(t){return[We.define(e=>new nh(e,t)),kl.of(t)]}var wn=j.define({combine(t){return kt(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function pC(t={}){return[wn.of(t),gD,xD,LD,_L.of(!0)]}function mC(t){return t.startState.facet(wn)!=t.state.facet(wn)}var gD=hC({above:!0,markers(t){let{state:e}=t,a=e.facet(wn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Y.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:V.cursor(r.head,r.assoc);for(let l of ur.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=mC(t);return a&&cL(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){cL(e.state,t)},class:"cm-cursorLayer"});function cL(t,e){e.style.animationDuration=t.facet(wn).cursorBlinkRate+"ms"}var xD=hC({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of ur.forRange(t,"cm-selectionBackground",r))e.push(n);if(Y.ios&&!a.empty&&t.state.facet(wn).iosSelectionHandles){for(let r of ur.forRange(t,"cm-selectionHandle cm-selectionHandle-start",V.cursor(a.from,1)))e.push(r);for(let r of ur.forRange(t,"cm-selectionHandle cm-selectionHandle-end",V.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||mC(t)},class:"cm-selectionLayer"}),LD=na.highest(J.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var xG=/x/.unicode!=null?"gu":"g";function gC(){return yD}var CD=fe.line({class:"cm-activeLine"}),yD=We.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(CD.range(r.from)),e=r.from)}return fe.set(a)}},{decorations:t=>t.decorations});var bl="-10000px",ql=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let f=0;f<this.tooltips.length;f++){let c=this.tooltips[f];c&&c.create==u.create&&(d=f)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let f=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),f.update&&f.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function wD(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var gc=j.define({combine:t=>{var e,a,o;return{position:Y.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||wD}}}),hL=new WeakMap,Ch=We.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(gc);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new ql(t,bn,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(gc);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=bl,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Y.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=xh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(gc).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,f=t.pos[i],c=t.size[i];if(!f||l.clip!==!1&&(f.bottom<=Math.max(a.top,o.top)||f.top>=Math.min(a.bottom,o.bottom)||f.right<Math.max(a.left,o.left)-.1||f.left>Math.min(a.right,o.right)+.1)){d.style.top=bl;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=c.right-c.left,g=(e=hL.get(u))!==null&&e!==void 0?e:c.bottom-c.top,x=u.offset||ID,C=this.view.textDirection==be.LTR,L=c.width>o.right-o.left?C?o.left:o.right-c.width:C?Math.max(o.left,Math.min(f.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,f.left-m+(h?14:0)-x.x),o.right-m),y=this.above[i];!l.strictSide&&(y?f.top-g-p-x.y<o.top:f.bottom+g+p+x.y>o.bottom)&&y==o.bottom-f.bottom>f.top-o.top&&(y=this.above[i]=!y);let S=(y?f.top-o.top:o.bottom-f.bottom)-p;if(S<g&&u.resize!==!1){if(S<this.view.defaultLineHeight){d.style.top=bl;continue}hL.set(u,g),d.style.height=(g=S)/n+"px"}else d.style.height&&(d.style.height="");let w=y?f.top-g-p-x.y:f.bottom+p+x.y,b=L+m;if(u.overlap!==!0)for(let I of s)I.left<b&&I.right>L&&I.top<w+g&&I.bottom>w&&(w=y?I.top-g-2-p:I.bottom+p+2);if(this.position=="absolute"?(d.style.top=(w-t.parent.top)/n+"px",pL(d,(L-t.parent.left)/r)):(d.style.top=w/n+"px",pL(d,L/r)),h){let I=f.left+(C?x.x:-x.x)-(L+14-7);h.style.left=I/r+"px"}u.overlap!==!0&&s.push({left:L,top:w,right:b,bottom:w+g}),d.classList.toggle("cm-tooltip-above",y),d.classList.toggle("cm-tooltip-below",!y),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=bl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function pL(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var bD=J.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),ID={x:0,y:0},bn=j.define({enables:[Ch,bD]}),zl=j.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),Ul=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new ql(e,zl,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},SD=bn.compute([zl],t=>{let e=t.facet(zl);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:Ul.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),vD=j.define(),sh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==be.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>rt(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(Ch),a=e?e.manager.tooltips.findIndex(o=>o.create==Ul.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!kD(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!AD(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Il=4;function kD(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Il&&e.clientX<=o+Il&&e.clientY>=r-Il&&e.clientY<=n+Il}function AD(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function Kl(t,e={}){let a=le.define(),o=new WeakMap,r=Ne.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let f=i.changes.mapPos(d.pos,-1,ot.TrackDel);if(f!=null){let c=Object.assign(Object.create(null),d);c.pos=f,c.end!=null&&(c.end=i.changes.mapPos(c.end)),u.push(c)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(MD)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>zl.from(s)}),n=We.define(s=>new sh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,vD.of(n),SD]}}function yh(t,e){let a=t.plugin(Ch);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var MD=le.define();var mL=j.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function jl(t,e){let a=t.plugin(xC),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var xC=We.fromClass(class{constructor(t){this.input=t.state.facet(hr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(mL);this.top=new cn(t,!0,e.topContainer),this.bottom=new cn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(mL);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new cn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new cn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(hr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),cn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=gL(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=gL(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function gL(t){let e=t.nextSibling;return t.remove(),e}var hr=j.define({enables:xC});function LC(t,e){let a,o=new Promise(s=>a=s),r=s=>PD(s,e,a);t.state.field(xc,!1)?t.dispatch({effects:CC.of(r)}):t.dispatch({effects:le.appendConfig.of(xc.init(()=>[r]))});let n=yC.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(xc).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var xc=Ne.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(CC)?t=[a.value].concat(t):a.is(yC)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>hr.computeN([t],e=>e.field(t))}),CC=le.define(),yC=le.define();function PD(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=ye("form"),e.input){let i=ye("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(ye("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(ye("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=ye("div",o,ye("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var Xt=class extends zt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Xt.prototype.elementClass="";Xt.prototype.toDOM=void 0;Xt.prototype.mapMode=ot.TrackBefore;Xt.prototype.startSide=Xt.prototype.endSide=-1;Xt.prototype.point=!0;var Lc=j.define(),DD=j.define(),RD={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Le.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Is=j.define();function wh(t){return[wC(),Is.of({...RD,...t})]}var ih=j.define({combine:t=>t.some(e=>e)});function wC(t){let e=[TD];return t&&t.fixed===!1&&e.push(ih.of(!0)),e}var TD=We.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(Is).map(e=>new Vl(t,e)),this.fixed=!t.state.facet(ih);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(ih)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=Le.iter(this.view.state.facet(Lc),this.view.viewport.from),o=[],r=this.gutters.map(n=>new uh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==nt.Text&&s){lh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==nt.Text){lh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Is),a=t.state.facet(Is),o=t.docChanged||t.heightChanged||t.viewportChanged||!Le.eq(t.startState.facet(Lc),t.state.facet(Lc),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new Vl(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==be.LTR?{left:o,right:r}:{right:o,left:r}})});function xL(t){return Array.isArray(t)?t:[t]}function lh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var uh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=Le.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new Wl(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];lh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(DD)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},Vl=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=xL(a.markers(e)),a.initialSpacer&&(this.spacer=new Wl(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=xL(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!Le.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Wl=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),ED(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let f=s;f<this.markers.length;f++)if(this.markers[f].compare(l)){i=f,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let f=r.nextSibling;r.remove(),r=f}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function ED(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var BD=j.define(),OD=j.define(),hn=j.define({combine(t){return kt(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),Ss=class extends Xt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Cc(t,e){return t.state.facet(hn).formatNumber(e,t.state)}var FD=Is.compute([hn],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(BD)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new Ss(Cc(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(OD)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(hn)!=e.state.facet(hn),initialSpacer(e){return new Ss(Cc(e,LL(e.state.doc.lines)))},updateSpacer(e,a){let o=Cc(a.view,LL(a.view.state.doc.lines));return o==e.number?e:new Ss(o)},domEventHandlers:t.facet(hn).domEventHandlers,side:"before"}));function bC(t={}){return[hn.of(t),wC(),FD]}function LL(t){let e=9;for(;e<t;)e=e*10+9;return e}var ND=0,Ds=class{constructor(e,a){this.from=e,this.to=a}},de=class{constructor(e={}){this.id=ND++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=xt.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};de.closedBy=new de({deserialize:t=>t.split(" ")});de.openedBy=new de({deserialize:t=>t.split(" ")});de.group=new de({deserialize:t=>t.split(" ")});de.isolate=new de({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var mr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[de.mounted.id]}},HD=Object.create(null),xt=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):HD,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(de.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(de.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};xt.none=new xt("",Object.create(null),0,8);var Jl=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new xt(o.name,r,o.id,o.flags):o)}return new t(a)}},Zl=new WeakMap,IC=new WeakMap,He;(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"})(He||(He={}));var Be=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=mr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new Es(this.topNode,e)}cursorAt(e,a=0,o=0){let r=Zl.get(this)||this.topNode,n=new Es(r);return n.moveTo(e,a),Zl.set(this,n._tree),n}get topNode(){return new Ma(this,0,0,null)}resolve(e,a=0){let o=Rs(Zl.get(this)||this.topNode,e,a,!1);return Zl.set(this,o),o}resolveInner(e,a=0){let o=Rs(IC.get(this)||this.topNode,e,a,!0);return IC.set(this,o),o}resolveStack(e,a=0){return _D(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&He.IncludeAnonymous)>0;for(let l=this.cursor(s|He.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:Mh(xt.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(xt.none,a,o,r)))}static build(e){return qD(e)}};Be.empty=new Be(xt.none,[],[],0);var bh=class t{constructor(e,a){this.buffer=e,this.index=a}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 t(this.buffer,this.index)}},Io=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return xt.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(kC(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function kC(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Rs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ma&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:He.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ma&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var Ql=class{cursor(e=0){return new Es(this,e)}getChild(e,a=null,o=null){let r=SC(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return SC(this,e,a,o)}resolve(e,a=0){return Rs(this,e,a,!1)}resolveInner(e,a=0){return Rs(this,e,a,!0)}matchContext(e){return Ih(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ma=class t extends Ql{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],f=l[e]+s.from,c;if(!(!(n&He.EnterBracketed&&d instanceof Be&&(c=mr.get(d))&&!c.overlay&&c.bracketed&&o>=f&&o<=f+d.length)&&!kC(r,o,f,f+d.length))){if(d instanceof Io){if(n&He.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-f,r);if(h>-1)return new Ts(new Sh(s,d,e,f),null,h)}else if(n&He.IncludeAnonymous||!d.type.isAnonymous||Ah(d)){let h;if(!(n&He.IgnoreMounts)&&(h=mr.get(d))&&!h.overlay)return new t(h.tree,f,e,s);let p=new t(d,f,e,s);return n&He.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&He.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&He.IgnoreOverlays)&&(r=mr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&He.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function SC(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function Ih(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var Sh=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},Ts=class t extends Ql{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&He.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new Be(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function AC(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ma&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new vh(r,a)}var vh=class{constructor(e,a){this.heads=e,this.node=a}get next(){return AC(this.heads)}};function _D(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ma?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=mr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ma(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Rs(i,e,a,!1))}}return r?AC(r):o}var Es=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~He.EnterBracketed,e instanceof Ma)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ma?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&He.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&He.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&He.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&He.IncludeAnonymous||i instanceof Io||!i.type.isAnonymous||Ah(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new Ts(this.buffer,a,this.stack[r]);return this.bufferNode=new Ts(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Ih(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return Ih(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Ah(t){return t.children.some(e=>e instanceof Io||!e.type.isAnonymous||Ah(e))}function qD(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new bh(a,a.length):a,l=o.types,u=0,d=0;function f(S,w,b,I,A,N){let{id:D,start:T,end:H,size:v}=i,M=d,P=u;if(v<0)if(i.next(),v==-1){let q=n[D];b.push(q),I.push(T-S);return}else if(v==-3){u=D;return}else if(v==-4){d=D;return}else throw new RangeError(`Unrecognized record size: ${v}`);let R=l[D],E,O,k=T-S;if(H-T<=r&&(O=g(i.pos-w,A))){let q=new Uint16Array(O.size-O.skip),F=i.pos-O.size,G=q.length;for(;i.pos>F;)G=x(O.start,q,G);E=new Io(q,H-O.start,o),k=O.start-S}else{let q=i.pos-v;i.next();let F=[],G=[],_=D>=s?D:-1,B=0,U=H;for(;i.pos>q;)_>=0&&i.id==_&&i.size>=0?(i.end<=U-r&&(p(F,G,T,B,i.end,U,_,M,P),B=F.length,U=i.end),i.next()):N>2500?c(T,q,F,G):f(T,q,F,G,_,N+1);if(_>=0&&B>0&&B<F.length&&p(F,G,T,B,T,U,_,M,P),F.reverse(),G.reverse(),_>-1&&B>0){let X=h(R,P);E=Mh(R,F,G,0,F.length,0,H-T,X,X)}else E=m(R,F,G,H-T,M-H,P)}b.push(E),I.push(k)}function c(S,w,b,I){let A=[],N=0,D=-1;for(;i.pos>w;){let{id:T,start:H,end:v,size:M}=i;if(M>4)i.next();else{if(D>-1&&H<D)break;D<0&&(D=v-r),A.push(T,H,v),N++,i.next()}}if(N){let T=new Uint16Array(N*4),H=A[A.length-2];for(let v=A.length-3,M=0;v>=0;v-=3)T[M++]=A[v],T[M++]=A[v+1]-H,T[M++]=A[v+2]-H,T[M++]=M;b.push(new Io(T,A[2]-H,o)),I.push(H-S)}}function h(S,w){return(b,I,A)=>{let N=0,D=b.length-1,T,H;if(D>=0&&(T=b[D])instanceof Be){if(!D&&T.type==S&&T.length==A)return T;(H=T.prop(de.lookAhead))&&(N=I[D]+T.length+H)}return m(S,b,I,A,N,w)}}function p(S,w,b,I,A,N,D,T,H){let v=[],M=[];for(;S.length>I;)v.push(S.pop()),M.push(w.pop()+b-A);S.push(m(o.types[D],v,M,N-A,T-N,H)),w.push(A-b)}function m(S,w,b,I,A,N,D){if(N){let T=[de.contextHash,N];D=D?[T].concat(D):[T]}if(A>25){let T=[de.lookAhead,A];D=D?[T].concat(D):[T]}return new Be(S,w,b,I,D)}function g(S,w){let b=i.fork(),I=0,A=0,N=0,D=b.end-r,T={size:0,start:0,skip:0};e:for(let H=b.pos-S;b.pos>H;){let v=b.size;if(b.id==w&&v>=0){T.size=I,T.start=A,T.skip=N,N+=4,I+=4,b.next();continue}let M=b.pos-v;if(v<0||M<H||b.start<D)break;let P=b.id>=s?4:0,R=b.start;for(b.next();b.pos>M;){if(b.size<0)if(b.size==-3||b.size==-4)P+=4;else break e;else b.id>=s&&(P+=4);b.next()}A=R,I+=v,N+=P}return(w<0||I==S)&&(T.size=I,T.start=A,T.skip=N),T.size>4?T:void 0}function x(S,w,b){let{id:I,start:A,end:N,size:D}=i;if(i.next(),D>=0&&I<s){let T=b;if(D>4){let H=i.pos-(D-4);for(;i.pos>H;)b=x(S,w,b)}w[--b]=T,w[--b]=N-S,w[--b]=A-S,w[--b]=I}else D==-3?u=I:D==-4&&(d=I);return b}let C=[],L=[];for(;i.pos>0;)f(t.start||0,t.bufferStart||0,C,L,-1,0);let y=(e=t.length)!==null&&e!==void 0?e:C.length?L[0]+C[0].length:0;return new Be(l[t.topID],C.reverse(),L.reverse(),y)}var vC=new WeakMap;function Yl(t,e){if(!t.isAnonymous||e instanceof Io||e.type!=t)return 1;let a=vC.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof Be)){a=1;break}a+=Yl(t,o)}vC.set(e,a)}return a}function Mh(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=Yl(t,e[p]);let d=Math.ceil(u*1.5/8),f=[],c=[];function h(p,m,g,x,C){for(let L=g;L<x;){let y=L,S=m[L],w=Yl(t,p[L]);for(L++;L<x;L++){let b=Yl(t,p[L]);if(w+b>=d)break;w+=b}if(L==y+1){if(w>d){let b=p[y];h(b.children,b.positions,0,b.children.length,m[y]+C);continue}f.push(p[y])}else{let b=m[L-1]+p[L-1].length-S;f.push(Mh(t,p,m,y,L,S,b,null,l))}c.push(S+C-n)}}return h(e,a,o,r,0),(i||l)(f,c,s)}var gr=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,f=d?d.fromA:1e9;if(f-l>=o)for(;s&&s.from<f;){let c=s;if(l>=c.from||f<=c.to||u){let h=Math.max(c.from,l)-u,p=Math.min(c.to,f)-u;c=h>=p?null:new t(h,p,c.tree,c.offset+u,i>0,!!d)}if(c&&r.push(c),s.to>f)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},Bs=class{startParse(e,a,o){return typeof e=="string"&&(e=new kh(e)),o=o?o.length?o.map(r=>new Ds(r.from,r.to)):[new Ds(0,0)]:[new Ds(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},kh=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var SG=new de({perNode:!0});var zD=0,ua=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=zD++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new ou(e);return o=>o.modified.indexOf(a)>-1?o:ou.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},UD=0,ou=class t{constructor(e){this.name=e,this.instances=[],this.id=UD++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&VD(a,i.modified));if(o)return o;let r=[],n=new ua(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=WD(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function VD(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function WD(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function DC(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let f=0;;){if(i=="..."&&f>0&&f+3==r.length){s=1;break}let c=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!c)throw new RangeError("Invalid path: "+r);if(n.push(c[0]=="*"?"":c[0][0]=='"'?JSON.parse(c[0]):c[0]),f+=c[0].length,f==r.length)break;let h=r[f++];if(f==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(f)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Lr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return RC.add(e)}var RC=new de({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Lr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Lr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Lr.empty=new Lr([],2,null);function Th(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function GD(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function TC(t,e,a,o=0,r=t.length){let n=new Dh(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var Dh=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=$D(e)||Lr.empty,f=GD(n,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(a,i),u),d.opaque)return;let c=e.tree&&e.tree.prop(de.mounted);if(c&&c.overlay){let h=e.node.enter(c.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(c.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let C=g<c.overlay.length?c.overlay[g]:null,L=C?C.from+i:l,y=Math.max(a,x),S=Math.min(o,L);if(y<S&&m)for(;e.from<S&&(this.highlightRange(e,y,S,r,n),this.startSpan(Math.min(S,e.to),u),!(e.to>=L||!e.nextSibling())););if(!C||L>o)break;x=C.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,C.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){c&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function $D(t){let e=t.type.prop(RC);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var K=ua.define,eu=K(),So=K(),MC=K(So),PC=K(So),vo=K(),tu=K(vo),Ph=K(vo),Ra=K(),xr=K(Ra),Pa=K(),Da=K(),Rh=K(),Os=K(Rh),au=K(),Z={comment:eu,lineComment:K(eu),blockComment:K(eu),docComment:K(eu),name:So,variableName:K(So),typeName:MC,tagName:K(MC),propertyName:PC,attributeName:K(PC),className:K(So),labelName:K(So),namespace:K(So),macroName:K(So),literal:vo,string:tu,docString:K(tu),character:K(tu),attributeValue:K(tu),number:Ph,integer:K(Ph),float:K(Ph),bool:K(vo),regexp:K(vo),escape:K(vo),color:K(vo),url:K(vo),keyword:Pa,self:K(Pa),null:K(Pa),atom:K(Pa),unit:K(Pa),modifier:K(Pa),operatorKeyword:K(Pa),controlKeyword:K(Pa),definitionKeyword:K(Pa),moduleKeyword:K(Pa),operator:Da,derefOperator:K(Da),arithmeticOperator:K(Da),logicOperator:K(Da),bitwiseOperator:K(Da),compareOperator:K(Da),updateOperator:K(Da),definitionOperator:K(Da),typeOperator:K(Da),controlOperator:K(Da),punctuation:Rh,separator:K(Rh),bracket:Os,angleBracket:K(Os),squareBracket:K(Os),paren:K(Os),brace:K(Os),content:Ra,heading:xr,heading1:K(xr),heading2:K(xr),heading3:K(xr),heading4:K(xr),heading5:K(xr),heading6:K(xr),contentSeparator:K(Ra),list:K(Ra),quote:K(Ra),emphasis:K(Ra),strong:K(Ra),link:K(Ra),monospace:K(Ra),strikethrough:K(Ra),inserted:K(),deleted:K(),changed:K(),invalid:K(),meta:au,documentMeta:K(au),annotation:K(au),processingInstruction:K(au),definition:ua.defineModifier("definition"),constant:ua.defineModifier("constant"),function:ua.defineModifier("function"),standard:ua.defineModifier("standard"),local:ua.defineModifier("local"),special:ua.defineModifier("special")};for(let t in Z){let e=Z[t];e instanceof ua&&(e.name=t)}var AG=Th([{tag:Z.link,class:"tok-link"},{tag:Z.heading,class:"tok-heading"},{tag:Z.emphasis,class:"tok-emphasis"},{tag:Z.strong,class:"tok-strong"},{tag:Z.keyword,class:"tok-keyword"},{tag:Z.atom,class:"tok-atom"},{tag:Z.bool,class:"tok-bool"},{tag:Z.url,class:"tok-url"},{tag:Z.labelName,class:"tok-labelName"},{tag:Z.inserted,class:"tok-inserted"},{tag:Z.deleted,class:"tok-deleted"},{tag:Z.literal,class:"tok-literal"},{tag:Z.string,class:"tok-string"},{tag:Z.number,class:"tok-number"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],class:"tok-string2"},{tag:Z.variableName,class:"tok-variableName"},{tag:Z.local(Z.variableName),class:"tok-variableName tok-local"},{tag:Z.definition(Z.variableName),class:"tok-variableName tok-definition"},{tag:Z.special(Z.variableName),class:"tok-variableName2"},{tag:Z.definition(Z.propertyName),class:"tok-propertyName tok-definition"},{tag:Z.typeName,class:"tok-typeName"},{tag:Z.namespace,class:"tok-namespace"},{tag:Z.className,class:"tok-className"},{tag:Z.macroName,class:"tok-macroName"},{tag:Z.propertyName,class:"tok-propertyName"},{tag:Z.operator,class:"tok-operator"},{tag:Z.comment,class:"tok-comment"},{tag:Z.meta,class:"tok-meta"},{tag:Z.invalid,class:"tok-invalid"},{tag:Z.punctuation,class:"tok-punctuation"}]);var Eh,In=new de;function XD(t){return j.define({combine:t?e=>e.concat(t):void 0})}var KD=new de,Nt=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Se.prototype.hasOwnProperty("tree")||Object.defineProperty(Se.prototype,"tree",{get(){return Lt(this)}}),this.parser=a,this.extension=[Sn.of(this),Se.languageData.of((n,s,i)=>{let l=EC(n,s,i),u=l.type.prop(In);if(!u)return[];let d=n.facet(u),f=l.type.prop(KD);if(f){let c=l.resolve(s-l.from,i);for(let h of f)if(h.test(c,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return EC(e,a,o).type.prop(In)==this.data}findRegions(e){let a=e.facet(Sn);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(In)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(de.mounted);if(i){if(i.tree.prop(In)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof Be&&r(u,n.positions[l]+s)}};return r(Lt(e),0),o}get allowsNesting(){return!0}};Nt.setState=le.define();function EC(t,e,a){let o=t.facet(Sn),r=Lt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,He.ExcludeBuffers|He.EnterBracketed))n.type.isTop&&(r=n);return r}function Lt(t){let e=t.field(Nt.state,!1);return e?e.tree:Be.empty}var Nh=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},Fs=null,Ns=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],Be.empty,0,o,[],null)}startParse(){return this.parser.startParse(new Nh(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=Be.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(gr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(gr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=Fs;Fs=this;try{return e()}finally{Fs=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=BC(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,f,c)=>l.push({fromA:u,toA:d,fromB:f,toB:c})),o=gr.applyChanges(o,l),r=Be.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),f=e.mapPos(u.to,-1);d<f&&i.push({from:d,to:f})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=BC(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends Bs{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=Fs;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new Be(xt.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return Fs}};function BC(t,e,a){return gr.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var Hs=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=Ns.create(e.facet(Sn).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};Nt.state=Ne.define({create:Hs.init,update(t,e){for(let a of e.effects)if(a.is(Nt.setState))return a.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?Hs.init(e.state):t.apply(e)}});var qC=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(qC=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var Bh=typeof navigator<"u"&&(!((Eh=navigator.scheduling)===null||Eh===void 0)&&Eh.isInputPending)?()=>navigator.scheduling.isInputPending():null,jD=We.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 a=this.view.state.field(Nt.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(Nt.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=qC(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(Nt.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!Bh?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>Bh&&Bh()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Nt.setState.of(new Hs(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>rt(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=j.define({combine(t){return t.length?t[0]:null},enables:t=>[Nt.state,jD,J.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),ru=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var ZD=j.define(),yr=j.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function ko(t){let e=t.facet(yr);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function qs(t,e){let a="",o=t.tabSize,r=t.facet(yr)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function Wh(t,e){t instanceof Se&&(t=new Cr(t));for(let o of t.state.facet(ZD)){let r=o(t,e);if(r!==void 0)return r}let a=Lt(t.state);return a.length>=e?YD(t,a,e):null}var Cr=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=ko(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return sr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},zC=new de;function YD(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return UC(o,t,a)}function UC(t,e,a){for(let o=t;o;o=o.next){let r=QD(o.node);if(r)return r(Hh.create(e,a,o))}return 0}function JD(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function QD(t){let e=t.type.prop(zC);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(de.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>oR(s,!0,1,void 0,n&&!JD(s)?r.from:void 0)}return t.parent==null?eR:null}function eR(){return 0}var Hh=class t extends Cr{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(tR(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return UC(this.context.next,this.base,this.pos)}};function tR(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function aR(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function oR(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?aR(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var nu=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=Vt.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof Nt?i=>i.prop(In)==s.data:s?i=>i==s:void 0,this.style=Th(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new Vt(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},_h=j.define(),VC=j.define({combine(t){return t.length?[t[0]]:null}});function Oh(t){let e=t.facet(_h);return e.length?e:t.facet(VC)}function WC(t,e){let a=[rR],o;return t instanceof nu&&(t.module&&a.push(J.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(VC.of(t)):o?a.push(_h.computeN([J.darkTheme],r=>r.facet(J.darkTheme)==(o=="dark")?[t]:[])):a.push(_h.of(t)),a}var qh=class{constructor(e){this.markCache=Object.create(null),this.tree=Lt(e.state),this.decorations=this.buildDeco(e,Oh(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=Lt(e.state),o=Oh(e.state),r=o!=Oh(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return fe.none;let o=new ra;for(let{from:r,to:n}of e.visibleRanges)TC(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=fe.mark({class:l})))},r,n);return o.finish()}},rR=na.high(We.fromClass(qh,{decorations:t=>t.decorations})),GC=nu.define([{tag:Z.meta,color:"#404740"},{tag:Z.link,textDecoration:"underline"},{tag:Z.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Z.emphasis,fontStyle:"italic"},{tag:Z.strong,fontWeight:"bold"},{tag:Z.strikethrough,textDecoration:"line-through"},{tag:Z.keyword,color:"#708"},{tag:[Z.atom,Z.bool,Z.url,Z.contentSeparator,Z.labelName],color:"#219"},{tag:[Z.literal,Z.inserted],color:"#164"},{tag:[Z.string,Z.deleted],color:"#a11"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],color:"#e40"},{tag:Z.definition(Z.variableName),color:"#00f"},{tag:Z.local(Z.variableName),color:"#30a"},{tag:[Z.typeName,Z.namespace],color:"#085"},{tag:Z.className,color:"#167"},{tag:[Z.special(Z.variableName),Z.macroName],color:"#256"},{tag:Z.definition(Z.propertyName),color:"#00c"},{tag:Z.comment,color:"#940"},{tag:Z.invalid,color:"#f00"}]),nR=J.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),$C=1e4,XC="()[]{}",KC=j.define({combine(t){return kt(t,{afterCursor:!0,brackets:XC,maxScanDistance:$C,renderMatch:lR})}}),sR=fe.mark({class:"cm-matchingBracket"}),iR=fe.mark({class:"cm-nonmatchingBracket"});function lR(t){let e=[],a=t.matched?sR:iR;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function OC(t){let e=[],a=t.facet(KC);for(let o of t.selection.ranges){if(!o.empty)continue;let r=da(t,o.head,-1,a)||o.head>0&&da(t,o.head-1,1,a)||a.afterCursor&&(da(t,o.head,1,a)||o.head<t.doc.length&&da(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return fe.set(e,!0)}var uR=We.fromClass(class{constructor(t){this.paused=!1,this.decorations=OC(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=OC(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),dR=[uR,nR];function jC(t={}){return[KC.of(t),dR]}var fR=new de;function zh(t,e,a){let o=t.prop(e<0?de.openedBy:de.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function Uh(t){let e=t.type.prop(fR);return e?e(t.node):t}function da(t,e,a,o={}){let r=o.maxScanDistance||$C,n=o.brackets||XC,s=Lt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=zh(l.type,a,n);if(u&&l.from<l.to){let d=Uh(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return cR(t,e,a,l,d,u,n)}}return hR(t,e,a,s,i.type,r,n)}function cR(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let f=Uh(d);return{start:l,end:f?{from:f.from,to:f.to}:void 0,matched:!0}}else if(zh(d.type,a,s))u++;else if(zh(d.type,-a,s)){if(u==0){let f=Uh(d);return{start:l,end:f&&f.from<f.to?{from:f.from,to:f.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function hR(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),f=0;for(let c=0;!d.next().done&&c<=n;){let h=d.value;a<0&&(c+=h.length);let p=e+c*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)f++;else{if(f==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};f--}}a>0&&(c+=h.length)}return d.done?{start:u,matched:!1}:null}function FC(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var su=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,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(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=FC(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:FC(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function pR(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||mR,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||$h,mergeTokens:t.mergeTokens!==!1}}function mR(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var NC=new WeakMap,iu=class t extends Nt{constructor(e){let a=XD(e.languageData),o=pR(e),r,n=new class extends Bs{createParse(s,i,l){return new Vh(r,s,i,l)}};super(a,n,[],e.name),this.topNode=CR(a,this),r=this,this.streamParser=o,this.stateAfter=new de({perNode:!0}),this.tokenTable=e.tokenTable?new lu(o.tokenTable):LR}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=NC.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=Gh(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,f=new su(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;f.pos<u-l.from;)YC(this.streamParser.token,f,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&NC.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function Gh(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof Be&&l<r&&Gh(t,i,l,o,r);if(u)return u}return null}function ZC(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof Be){if(!(l=ZC(t,i,a-s,o-s,r)))break;return r?new Be(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function gR(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&Gh(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=ZC(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?ko(r):4),tree:Be.empty}}var Vh=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=Ns.get(),s=r[0].from,{state:i,tree:l}=gR(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(ko(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ns.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
|
|
11
|
+
`){[e,a]=sn(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new Ot(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function f(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)f(m);else h.lines>s&&(l>s||!l)?(c(),i.push(h)):h instanceof Ot&&l&&(p=d[d.length-1])instanceof Ot&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new Ot(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&c(),l+=h.lines,u+=h.length+1,d.push(h))}function c(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)f(h);return c(),i.length==1?i[0]:new t(i,a)}};me.empty=new Ot([""],0);function FM(t){let e=-1;for(let a of t)e+=a.length+1;return e}function sl(t,e,a=0,o=1e9){for(let r=0,n=0,s=!0;n<t.length&&r<=o;n++){let i=t[n],l=r+i.length;l>=a&&(l>o&&(i=i.slice(0,o-r)),r<a&&(i=i.slice(a-r)),s?(e[e.length-1]+=i,s=!1):e.push(i)),r=l+1}return e}function Cx(t,e,a){return sl(t,[""],e,a)}var rr=class{constructor(e,a=1){this.dir=a,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[a>0?1:(e instanceof Ot?e.text.length:e.children.length)<<1]}nextInner(e,a){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],n=this.offsets[o],s=n>>1,i=r instanceof Ot?r.text.length:r.children.length;if(s==(a>0?i:0)){if(o==0)return this.done=!0,this.value="",this;a>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(a>0?0:1)){if(this.offsets[o]+=a,e==0)return this.lineBreak=!0,this.value=`
|
|
12
|
+
`,this;e--}else if(r instanceof Ot){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof Ot?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},il=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new rr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},ll=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(me.prototype[Symbol.iterator]=function(){return this.iter()},rr.prototype[Symbol.iterator]=il.prototype[Symbol.iterator]=ll.prototype[Symbol.iterator]=function(){return this});var Xf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function sn(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function Ve(t,e,a=!0,o=!0){return mx(t,e,a,o)}function NM(t){return t>=56320&&t<57344}function HM(t){return t>=55296&&t<56320}function kt(t,e){let a=t.charCodeAt(e);if(!HM(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return NM(o)?(a-55296<<10)+(o-56320)+65536:a}function hs(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Ut(t){return t<65536?1:2}var Kf=/\r\n?|\n/,ot=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ot||(ot={})),Za=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){jf(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:Sx(this,e)}mapDesc(e,a=!1){return e.empty?this:Zf(this,e,a)}mapPos(e,a=-1,o=ot.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=ot.Simple&&u>=e&&(o==ot.TrackDel&&r<e&&u>e||o==ot.TrackBefore&&r<e||o==ot.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},mt=class t extends Za{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return jf(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return Zf(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(me.empty);o.push(s?e.slice(n,n+s):me.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:Sx(this,e,!0)}map(e,a=!1){return e.empty?this:Zf(this,e,a,!0)}iterChanges(e,a=!1){jf(this,e,a)}get desc(){return Za.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new nr(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);dt(r,d,-1);let f=n.ins==-1?-1:n.off==0?n.ins:0;dt(a,d,f),f>0&&Co(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);dt(a,d,-1),dt(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:Za.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&dt(r,a-s,-1);let f=new t(r,n);i=i?i.compose(f.map(i)):f,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let f of d)u(f);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:f,to:c=f,insert:h}=d;if(f>c||f<0||c>a)throw new RangeError(`Invalid change range ${f} to ${c} (in doc of length ${a})`);let p=h?typeof h=="string"?me.of(h.split(o||Kf)):h:me.empty,m=p.length;if(f==c&&m==0)return;f<s&&l(),f>s&&dt(r,f-s,-1),dt(r,c-f,m),Co(n,r,p),s=c}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(me.empty);o[r]=me.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function dt(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Co(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(me.empty);t.push(a)}}function jf(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,f=me.empty;for(;u+=i,d+=l,l&&o&&(f=f.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,f),r=u,n=d}}}function Zf(t,e,a,o=!1){let r=[],n=o?[]:null,s=new nr(t),i=new nr(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);dt(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(dt(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(dt(r,0,s.ins),n&&Co(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let f=Math.min(d,i.len);u+=f,d-=f,i.forward(f)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;dt(r,u,l<s.i?s.ins:0),n&&l<s.i&&Co(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?mt.createSet(r,n):Za.create(r);throw new Error("Mismatched change set lengths")}}}function Sx(t,e,a=!1){let o=[],r=a?[]:null,n=new nr(t),s=new nr(e);for(let i=!1;;){if(n.done&&s.done)return r?mt.createSet(o,r):Za.create(o);if(n.ins==0)dt(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)dt(o,0,s.ins,i),r&&Co(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;dt(o,l,d,i),r&&d&&Co(r,o,s.text)}else s.ins==-1?(dt(o,n.off?0:n.len,l,i),r&&Co(r,o,n.textBit(l))):(dt(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Co(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var nr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?me.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?me.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},an=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return V.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return V.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return V.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},V=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>an.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return an.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?an.create(a,e,48|s):an.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function vx(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var sc=0,j=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=sc++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:ic),!!e.static,e.enables)}of(e){return new rn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new rn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function ic(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var rn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=sc++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let f of this.dependencies)f=="doc"?l=!0:f=="selection"?u=!0:(((a=e[f.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[f.id]);return{create(f){return f.values[s]=o(f),1},update(f,c){if(l&&c.docChanged||u&&(c.docChanged||c.selection)||Yf(f,d)){let h=o(f);if(i?!yx(h,f.values[s],r):!r(h,f.values[s]))return f.values[s]=h,1}return 0},reconfigure:(f,c)=>{let h,p=c.config.address[n];if(p!=null){let m=cl(c,p);if(this.dependencies.every(g=>g instanceof j?c.facet(g)===f.facet(g):g instanceof Ne?c.field(g,!1)==f.field(g,!1):!0)||(i?yx(h=o(f),m,r):r(h=o(f),m)))return f.values[s]=m,0}else h=o(f);return f.values[s]=h,1}}}};function yx(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function Yf(t,e){let a=!1;for(let o of e)us(t,o)&1&&(a=!0);return a}function _M(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let f=cl(l,o[d]);if(r[d]==2)for(let c of f)u.push(c);else u.push(f)}return e.combine(u)}return{create(l){for(let u of o)us(l,u);return l.values[s]=i(l),1},update(l,u){if(!Yf(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=Yf(l,o),f=u.config.facets[e.id],c=u.facet(e);if(f&&!d&&ic(a,f))return l.values[s]=c,0;let h=i(l);return e.compare(h,c)?(l.values[s]=c,0):(l.values[s]=h,1)}}}var ol=j.define({static:!0}),Ne=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(sc++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(ol).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(ol),s=r.facet(ol),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,ol.of({field:this,create:e})]}get extension(){return this}},ar={lowest:4,low:3,default:2,high:1,highest:0};function ls(t){return e=>new ul(e,t)}var na={highest:ls(ar.highest),high:ls(ar.high),default:ls(ar.default),low:ls(ar.low),lowest:ls(ar.lowest)},ul=class{constructor(e,a){this.inner=e,this.prec=a}},dl=class t{of(e){return new ds(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},ds=class{constructor(e,a){this.compartment=e,this.inner=a}},fl=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let c of qM(e,a,s))c instanceof Ne?r.push(c):(n[c.facet.id]||(n[c.facet.id]=[])).push(c);let i=Object.create(null),l=[],u=[];for(let c of r)i[c.id]=u.length<<1,u.push(h=>c.slot(h));let d=o?.config.facets;for(let c in n){let h=n[c],p=h[0].facet,m=d&&d[c]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,ic(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>_M(g,p,h))}}let f=u.map(c=>c(i));return new t(e,s,f,i,l,n)}};function qM(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof ds&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof ds){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof ul)n(s.inner,s.prec);else if(s instanceof Ne)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof rn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,ar.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,ar.default),o.reduce((s,i)=>s.concat(i))}function us(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function cl(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var kx=j.define(),Jf=j.define({combine:t=>t.some(e=>e),static:!0}),Ax=j.define({combine:t=>t.length?t[0]:void 0,static:!0}),Mx=j.define(),Px=j.define(),Dx=j.define(),Rx=j.define({combine:t=>t.length?t[0]:!1}),vt=class{constructor(e,a){this.type=e,this.value=a}static define(){return new Qf}},Qf=class{of(e){return new vt(this,e)}},ec=class{constructor(e){this.map=e}of(e){return new le(this,e)}},le=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new ec(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};le.reconfigure=le.define();le.appendConfig=le.define();var Ze=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&vx(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};Ze.time=vt.define();Ze.userEvent=vt.define();Ze.addToHistory=vt.define();Ze.remote=vt.define();function zM(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function Tx(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=mt.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:le.mapEffects(t.effects,r).concat(le.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function tc(t,e,a){let o=e.selection,r=nn(e.annotations);return e.userEvent&&(r=r.concat(Ze.userEvent.of(e.userEvent))),{changes:e.changes instanceof mt?e.changes:mt.of(e.changes||[],a,t.facet(Ax)),selection:o&&(o instanceof V?o:V.single(o.anchor,o.head)),effects:nn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Ex(t,e,a){let o=tc(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=Tx(o,tc(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=Ze.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return VM(a?UM(r):r)}function UM(t){let e=t.startState,a=!0;for(let r of e.facet(Mx)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:zM(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=mt.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=Ze.create(e,r,t.selection&&t.selection.map(n),le.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(Px);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof Ze?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof Ze?t=n[0]:t=Ex(e,nn(n),!1)}return t}function VM(t){let e=t.startState,a=e.facet(Dx),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=Tx(o,tc(e,n,t.changes.newLength),!0))}return o==t?t:Ze.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var WM=[];function nn(t){return t==null?WM:Array.isArray(t)?t:[t]}var Te=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(Te||(Te={})),GM=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ac;try{ac=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function $M(t){if(ac)return ac.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||GM.test(a)))return!0}return!1}function XM(t){return e=>{if(!/\S/.test(e))return Te.Space;if($M(e))return Te.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return Te.Word;return Te.Other}}var Se=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)us(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return us(this,o),cl(this,o)}update(...e){return Ex(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(dl.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(le.reconfigure)?(a=null,o=i.value):i.is(le.appendConfig)&&(a=null,o=nn(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=fl.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(Jf)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:V.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=nn(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let c=0;c<i;c++)n[c]=n[c].map(d);let f=r.mapDesc(u,!0);n.push(l.range.map(f)),r=r.compose(d),s=le.mapEffects(s,d).concat(le.mapEffects(nn(l.effects),f))}return{changes:r,selection:V.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof mt?e:mt.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return me.of(e.split(this.facet(t.lineSeparator)||Kf))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(us(this,a),cl(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof Ne&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:V.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=fl.resolve(e.extensions||[],new Map),o=e.doc instanceof me?e.doc:me.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||Kf)),r=e.selection?e.selection instanceof V?e.selection:V.single(e.selection.anchor,e.selection.head):V.single(0);return vx(r,o.length),a.staticFacet(Jf)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
|
|
13
|
+
`}get readOnly(){return this.facet(Rx)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(kx))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return XM(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=Ve(a,s,!1);if(n(a.slice(l,s))!=Te.Word)break;s=l}for(;i<r;){let l=Ve(a,i);if(n(a.slice(i,l))!=Te.Word)break;i=l}return s==i?null:V.range(s+o,i+o)}};Se.allowMultipleSelections=Jf;Se.tabSize=j.define({combine:t=>t.length?t[0]:4});Se.lineSeparator=Ax;Se.readOnly=Rx;Se.phrases=j.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Se.languageData=kx;Se.changeFilter=Mx;Se.transactionFilter=Px;Se.transactionExtender=Dx;dl.reconfigure=le.define();function At(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var zt=class{eq(e){return this==e}range(e,a=e){return fs.create(e,a,this)}};zt.prototype.startSide=zt.prototype.endSide=0;zt.prototype.point=!1;zt.prototype.mapMode=ot.TrackDel;function lc(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var fs=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function oc(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var rc=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,f=this.to[l]+e,c,h;if(d==f){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(c=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<c)))continue}else if(c=a.mapPos(d,u.startSide),h=a.mapPos(f,u.endSide),c>h||c==h&&u.startSide>0&&u.endSide<=0)continue;(h-c||u.endSide-u.startSide)<0||(s<0&&(s=c),u.point&&(i=Math.max(i,h-c)),o.push(u),r.push(c-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},Le=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(oc)),this.isEmpty)return a.length?t.of(a):this;let i=new hl(this,null,-1).goto(0),l=0,u=[],d=new ra;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let f=a[l++];d.addInner(f.from,f.to,f.value)||u.push(f)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(fs.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:f}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(f))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return cs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return cs.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),i=a.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=n),l=wx(s,i,o),u=new or(s,l,n),d=new or(i,l,n);o.iterGaps((f,c,h)=>bx(u,f,d,c,h,r)),o.empty&&o.length==0&&bx(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=wx(n,s),l=new or(n,i,0).goto(o),u=new or(s,i,0).goto(o);for(;;){if(l.to!=u.to||!nc(l.active,u.active)||l.point&&(!u.point||!lc(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new or(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),f=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,f,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new ra;for(let r of e instanceof fs?[e]:a?KM(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};Le.empty=new Le([],[],null,-1);function KM(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(oc(e,o)>0)return t.slice().sort(oc);e=o}return t}Le.empty.nextLayer=Le.empty;var ra=class t{finishChunk(e){this.chunks.push(new rc(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(Le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=Le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function wx(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var hl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},cs=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new hl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)$f(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)$f(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),$f(this.heap,0)}}};function $f(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var or=class{constructor(e,a,o){this.minPoint=o,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=cs.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){rl(this.active,e),rl(this.activeTo,e),rl(this.activeRank,e),this.minActive=Ix(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;nl(this.active,a,o),nl(this.activeTo,a,r),nl(this.activeRank,a,n),e&&nl(e,a,this.cursor.from),this.minActive=Ix(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&rl(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function bx(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let f=t.to+l-a.to,c=f||t.endSide-a.endSide,h=c<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&lc(t.point,a.point)&&nc(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!nc(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(f||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,c<=0&&t.next(),c>=0&&a.next()}}function nc(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!lc(t[a],e[a]))return!1;return!0}function rl(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function nl(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function Ix(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function sr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=Ve(t,r));return o}function Bx(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=Ve(t,r)}return o===!0?-1:t.length}var Ox=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),uc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Fx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Vt=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],f=/^@(\w+)\b/.exec(s[0]),c=f&&f[1]=="keyframes";if(f&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,c)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||c)&&l.push((o&&!f&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
|
|
14
|
+
`)}static newName(){let e=Fx[Ox]||1;return Fx[Ox]=e+1,"\u037C"+e.toString(36)}static mount(e,a,o){let r=e[uc],n=o&&o.nonce;r?n&&r.setNonce(n):r=new dc(e,n),r.mount(Array.isArray(a)?a:[a],e)}},Nx=new Map,dc=class{constructor(e,a){let o=e.ownerDocument||e,r=o.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=Nx.get(o);if(n)return e[uc]=n;this.sheet=new r.CSSStyleSheet,Nx.set(o,this)}else this.styleTag=o.createElement("style"),a&&this.styleTag.setAttribute("nonce",a);this.modules=[],e[uc]=this}mount(e,a){let o=this.sheet,r=0,n=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,i),o)for(let u=0;u<i.rules.length;u++)o.insertRule(i.rules[u],r++)}else{for(;n<l;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(o)a.adoptedStyleSheets.indexOf(this.sheet)<0&&(a.adoptedStyleSheets=[this.sheet,...a.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
|
|
15
|
+
`;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Ya={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:"'"},ln={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},jM=typeof navigator<"u"&&/Mac/.test(navigator.platform),ZM=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Ke=0;Ke<10;Ke++)Ya[48+Ke]=Ya[96+Ke]=String(Ke);var Ke;for(Ke=1;Ke<=24;Ke++)Ya[Ke+111]="F"+Ke;var Ke;for(Ke=65;Ke<=90;Ke++)Ya[Ke]=String.fromCharCode(Ke+32),ln[Ke]=String.fromCharCode(Ke);var Ke;for(pl in Ya)ln.hasOwnProperty(pl)||(ln[pl]=Ya[pl]);var pl;function Hx(t){var e=jM&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||ZM&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?ln:Ya)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function ye(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)_x(t,arguments[e]);return t}function _x(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)_x(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var gt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},yc=typeof document<"u"?document:{documentElement:{style:{}}},wc=/Edge\/(\d+)/.exec(gt.userAgent),wL=/MSIE \d/.test(gt.userAgent),bc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gt.userAgent),Gl=!!(wL||bc||wc),qx=!Gl&&/gecko\/(\d+)/i.test(gt.userAgent),fc=!Gl&&/Chrome\/(\d+)/.exec(gt.userAgent),zx="webkitFontSmoothing"in yc.documentElement.style,Ic=!Gl&&/Apple Computer/.test(gt.vendor),Ux=Ic&&(/Mobile\/\w+/.test(gt.userAgent)||gt.maxTouchPoints>2),Y={mac:Ux||/Mac/.test(gt.platform),windows:/Win/.test(gt.platform),linux:/Linux|X11/.test(gt.platform),ie:Gl,ie_version:wL?yc.documentMode||6:bc?+bc[1]:wc?+wc[1]:0,gecko:qx,gecko_version:qx?+(/Firefox\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,chrome:!!fc,chrome_version:fc?+fc[1]:0,ios:Ux,android:/Android\b/.test(gt.userAgent),webkit:zx,webkit_version:zx?+(/\bAppleWebKit\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,safari:Ic,safari_version:Ic?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gt.userAgent)||[0,0])[1]:0,tabSize:yc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function dh(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var Al=Object.create(null);function fh(t,e,a){if(t==e)return!0;t||(t=Al),e||(e=Al);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function YM(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function Vx(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function JM(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var Aa=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},nt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(nt||(nt={})),fe=class extends zt{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new vs(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new dr(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=bL(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new dr(e,o,r,a,e.widget||null,!0)}static line(e){return new ks(e)}static set(e,a=!1){return Le.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};fe.none=Le.empty;var vs=class t extends fe{constructor(e){let{start:a,end:o}=bL(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?dh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Al}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&fh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};vs.prototype.point=!1;var ks=class t extends fe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&fh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};ks.prototype.mapMode=ot.TrackBefore;ks.prototype.point=!0;var dr=class t extends fe{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?ot.TrackBefore:ot.TrackAfter:ot.TrackDel}get type(){return this.startSide!=this.endSide?nt.WidgetRange:this.startSide<=0?nt.WidgetBefore:nt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&QM(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};dr.prototype.point=!0;function bL(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function QM(t,e){return t==e||!!(t&&e&&t.compare(e))}function pn(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var Ml=class t extends zt{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&fh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||Al,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return Le.of(e,a)}};Ml.prototype.startSide=Ml.prototype.endSide=-1;function As(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Sc(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function gs(t,e){if(!e.anchorNode)return!1;try{return Sc(t,e.anchorNode)}catch{return!1}}function Sl(t){return t.nodeType==3?Ms(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function xs(t,e,a,o){return a?Wx(t,e,a,o,-1)||Wx(t,e,a,o,1):!1}function bo(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Pl(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function Wx(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:eo(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=bo(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?eo(t):0}else return!1}}function eo(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Dl(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function eP(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function IL(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function tP(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,f=!1;d&&!f;)if(d.nodeType==1){let c,h=d==l.body,p=1,m=1;if(h)c=eP(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let C=d.getBoundingClientRect();({scaleX:p,scaleY:m}=IL(d,C)),c={left:C.left,right:C.left+d.clientWidth*p,top:C.top,bottom:C.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<c.top+s?(x=e.top-(c.top+s),a>0&&e.bottom>c.bottom+x&&(x=e.bottom-c.bottom+s)):e.bottom>c.bottom-s&&(x=e.bottom-c.bottom+s,a<0&&e.top-x<c.top&&(x=e.top-(c.top+s)));else{let C=e.bottom-e.top,L=c.bottom-c.top;x=(r=="center"&&C<=L?e.top+C/2-L/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-L+s)-c.top}if(o=="nearest"?e.left<c.left+n?(g=e.left-(c.left+n),a>0&&e.right>c.right+g&&(g=e.right-c.right+n)):e.right>c.right-n&&(g=e.right-c.right+n,a<0&&e.left<c.left+g&&(g=e.left-(c.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(c.right-c.left)/2:o=="start"==i?e.left-n:e.right-(c.right-c.left)+n)-c.left,g||x)if(h)u.scrollBy(g,x);else{let C=0,L=0;if(x){let y=d.scrollTop;d.scrollTop+=x/m,L=(d.scrollTop-y)*m}if(g){let y=d.scrollLeft;d.scrollLeft+=g/p,C=(d.scrollLeft-y)*p}e={left:e.left-C,top:e.top-L,right:e.right-C,bottom:e.bottom-L},C&&Math.abs(C-g)<1&&(o="nearest"),L&&Math.abs(L-x)<1&&(r="nearest")}if(h)break;(e.top<c.top||e.bottom>c.bottom||e.left<c.left||e.right>c.right)&&(e={left:Math.max(e.left,c.left),right:Math.min(e.right,c.right),top:Math.max(e.top,c.top),bottom:Math.min(e.bottom,c.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function SL(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var vc=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?eo(a):0),o,Math.min(e.focusOffset,o?eo(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},ir=null;Y.safari&&Y.safari_version>=26&&(ir=!1);function vL(t){if(t.setActive)return t.setActive();if(ir)return t.focus(ir);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(ir==null?{get preventScroll(){return ir={preventScroll:!0},!0}}:void 0),!ir){ir=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var Gx;function Ms(t,e,a=e){let o=Gx||(Gx=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function mn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function aP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function oP(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,eo(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=eo(a))}else{if(a==t)return!0;o=bo(a),a=a.parentNode}}function kL(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function AL(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=eo(a)}else if(a.parentNode&&!Pl(a))o=bo(a),a=a.parentNode;else return null}}function ML(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!Pl(a))o=bo(a)+1,a=a.parentNode;else return null}}var ka=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,bo(e),a)}static after(e,a){return new t(e.parentNode,bo(e)+1,a)}},be=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(be||(be={})),fr=be.LTR,ch=be.RTL;function PL(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var rP=PL("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),nP=PL("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),kc=Object.create(null),va=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);kc[e]=a,kc[a]=-e}function DL(t){return t<=247?rP[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?nP[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var sP=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,$t=class{get dir(){return this.level%2?ch:fr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function RL(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!RL(o.inner,r.inner))return!1}return!0}var ve=[];function iP(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,f=l;u<i;u++){let c=DL(t.charCodeAt(u));c==512?c=d:c==8&&f==4&&(c=16),ve[u]=c==4?2:c,c&7&&(f=c),d=c}for(let u=s,d=l,f=l;u<i;u++){let c=ve[u];if(c==128)u<i-1&&d==ve[u+1]&&d&24?c=ve[u]=d:ve[u]=256;else if(c==64){let h=u+1;for(;h<i&&ve[h]==64;)h++;let p=u&&d==8||h<a&&ve[h]==8?f==1?1:8:256;for(let m=u;m<h;m++)ve[m]=p;u=h-1}else c==8&&f==1&&(ve[u]=1);d=c,c&7&&(f=c)}}}function lP(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let f=u,c,h,p;f<d;f++)if(h=kc[c=t.charCodeAt(f)])if(h<0){for(let m=i-3;m>=0;m-=3)if(va[m+1]==-h){let g=va[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(ve[f]=ve[va[m]]=x),i=m;break}}else{if(va.length==189)break;va[i++]=f,va[i++]=c,va[i++]=l}else if((p=ve[f])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=va[g+2];if(x&2)break;if(m)va[g+2]|=2;else{if(x&4)break;va[g+2]|=4}}}}}function uP(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=ve[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(ve[d]==256)d++;else break;let f=n==1,c=(d<e?ve[d]:o)==1,h=f==c?f?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),ve[--p]=h;l=d}else n=u,l++}}}function Ac(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,f=!1;if(u==n.length||l<n[u].from){let m=ve[l];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(f)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(ve[g]==i)break e;break}}if(u++,c)c.push(m);else{m.from>l&&s.push(new $t(l,m.from,h));let g=m.direction==fr!=!(h%2);Mc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?ve[p]!=i:ve[p]==i))break;p++}c?Ac(t,l,p,o+1,r,c,s):l<p&&s.push(new $t(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,f=!1;if(!u||l>n[u-1].to){let m=ve[l-1];m!=i&&(d=!1,f=m==16)}let c=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(f)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(ve[g-1]==i)break e;break}}if(c)c.push(m);else{m.to<l&&s.push(new $t(m.to,l,h));let g=m.direction==fr!=!(h%2);Mc(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?ve[p-1]!=i:ve[p-1]==i))break;p--}c?Ac(t,p,l,o+1,r,c,s):p<l&&s.push(new $t(p,l,h)),l=p}}function Mc(t,e,a,o,r,n,s){let i=e%2?2:1;iP(t,r,n,o,i),lP(t,r,n,o,i),uP(r,n,o,i),Ac(t,r,n,e,a,o,s)}function dP(t,e,a){if(!t)return[new $t(0,0,e==ch?1:0)];if(e==fr&&!a.length&&!sP.test(t))return TL(t.length);if(a.length)for(;t.length>ve.length;)ve[ve.length]=256;let o=[],r=e==fr?0:1;return Mc(t,r,r,a,0,t.length,o),o}function TL(t){return[new $t(0,t,0)]}var EL="";function fP(t,e,a,o,r){var n;let s=o.head-t.from,i=$t.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let c=i+=r?1:-1;if(c<0||c>=e.length)return null;l=e[i=c],s=l.side(!r,a),u=l.side(r,a)}let d=Ve(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),EL=t.text.slice(Math.min(s,d),Math.max(s,d));let f=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return f&&d==u&&f.level+(r?0:1)<l.level?V.cursor(f.side(!r,a)+t.from,f.forward(r,a)?1:-1,f.level):V.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function cP(t,e,a){for(let o=e;o<a;o++){let r=DL(t.charCodeAt(o));if(r==1)return fr;if(r==2||r==4)return ch}return fr}var BL=j.define(),OL=j.define(),FL=j.define(),NL=j.define(),Pc=j.define(),HL=j.define(),_L=j.define(),hh=j.define(),ph=j.define(),qL=j.define({combine:t=>t.some(e=>e)}),zL=j.define({combine:t=>t.some(e=>e)}),UL=j.define(),Ls=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(V.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},ml=le.define({map:(t,e)=>t.map(e)}),VL=le.define();function rt(t,e,a){let o=t.facet(NL);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var Ja=j.define({combine:t=>t.length?t[0]:!0}),hP=0,dn=j.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),We=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(dn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(dn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(hP++,e,o,r,i=>{let l=[];return s&&l.push($l.of(u=>{let d=u.plugin(i);return d?s(d):fe.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},Cs=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(rt(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){rt(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){rt(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},WL=j.define(),mh=j.define(),$l=j.define(),GL=j.define(),gh=j.define(),Ps=j.define(),$L=j.define();function $x(t,e){let a=t.state.facet($L);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return Le.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,f=r;for(let c=i.length-1;c>=0;c--,l--){let h=i[c].spec.bidiIsolate,p;if(h==null&&(h=cP(e.text,u,d)),l>0&&f.length&&(p=f[f.length-1]).to==u&&p.direction==h)p.to=d,f=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};f.push(m),f=m.inner}}}}),r}var XL=j.define();function xh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(XL)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var ps=j.define(),ia=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,f=u,c=d;for(;;)if(n<a.length&&a[n]<=f){let h=a[n+1];n+=2,f=Math.max(f,h);for(let p=r;p<e.length&&e[p].fromB<=f;p++)s=e[p].toA-e[p].toB;c=Math.max(c,h+s)}else if(r<e.length&&e[r].fromB<=f){let h=e[r++];f=Math.max(f,h.toB),c=Math.max(c,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,c,u,f))}return o}},Rl=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=mt.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new ia(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},pP=[],Ee=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return pP}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&YM(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=bo(this.dom),r=this.length?e>0:a>0;return new ka(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof xn)return e;return null}static get(e){return e.cmTile}},gn=class extends Ee{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=Xx(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=Xx(r);this.length=s}};function Xx(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var xn=class extends gn{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=Ee.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof Qa)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},Qa=class t extends gn{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Ln=class t extends gn{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,f){for(let c=0,h=0;c<d.children.length&&h<=f;c++){let p=d.children[c],m=h+p.length;m>=f&&(p.isComposite()?l(p,f-h):(!s||s.isHidden&&(a>0||o&&gP(s,p)))&&(m>f||p.flags&32)?(s=p,i=f-h):(h<f||p.flags&16&&!p.isHidden)&&(r=p,n=f-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):mP(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new ka(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new ka(l.dom,0);l==o.tile&&(i=!0)}}return new ka(this.dom,0)}};function mP(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=Sl(e);return a[a.length-1]||null}function gP(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var Mt=class t extends gn{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},lr=class t extends Ee{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Y.chrome||Y.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Ms(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Y.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?Dl(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},cr=class t extends Ee{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return Dl(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return Dl(s,!i)}}get overrideDOMText(){if(!this.length)return me.empty;let{root:e}=this;if(!e)return me.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},Cn=class extends Ee{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return me.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},Dc=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},Rc=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},Tc=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new lr(i.dom,i.text+e);l.parent=s}else s.append(r||lr.of(e,(n=this.cache.find(lr))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?cc(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof Mt&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(cc(l.dom)),r=u;else{if(this.cache.reused.get(l)){let f=Ee.get(l.dom);f&&f.setDOM(cc(l.dom))}let d=Mt.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=Ee.get(e.text);n&&this.cache.reused.set(n,2);let s=new lr(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=KL);let r=Ln.start(e,a||((o=this.cache.find(Ln))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof Mt&&i.mark.eq(s))r=i,a--;else{let l=Mt.of(s,(o=this.cache.find(Mt,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Kx(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Y.ios&&Kx(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(hc,0,32)||new cr(hc.toDOM(),0,hc,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new Rc(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof Qa&&r.wrapper.eq(o.wrapper))a=r;else{let n=Qa.of(o.wrapper,(e=this.cache.find(Qa,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(Cn,void 0,1);return o&&(o.flags=a),o||new Cn(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Ec=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},Tl=[cr,Ln,lr,Mt,Cn,Qa,xn];for(let t=0;t<Tl.length;t++)Tl[t].bucket=t;var Bc=class{constructor(e){this.view=e,this.buckets=Tl.map(()=>[]),this.index=Tl.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new cr(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},Oc=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new Bc(e),this.text=new Ec(e.state.doc),this.builder=new Tc(this.cache,new xn(e,e.contentDOM),Le.iter(o)),this.cache.reused.set(a,2),this.old=new Dc(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=CP(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?cr.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof Cn)this.cache.add(s);else if(s instanceof Mt)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof Mt&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof Mt&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=Le.spans(this.decorations,e,a,{point:(i,l,u,d,f,c)=>{if(u instanceof dr){if(this.disallowBlockEffectsFor[c]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,f>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?Io.block:Io.inline),p=xP(u),m=this.cache.findWidget(h,l-i,p)||cr.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,f))}o=null}else o=LP(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let f=i;f<l;){let c=this.text.next(Math.min(512,l-f));c==null?(r.addLineStartIfNotCovered(o),r.addBreak(),f++):(r.ensureLine(o),r.addText(c,u,f==i?d:u.length),f+=c.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=Ee.get(r);if(r==this.view.contentDOM)break;n instanceof Mt?a.push(n):n?.isLine()?o=n:n instanceof Qa||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new Ln(r,KL):o||a.push(Mt.of(new vs({tagName:r.nodeName.toLowerCase(),attributes:JM(r)}),r)))}return{line:o,marks:a}}};function Kx(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function xP(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var KL={class:"cm-line"};function LP(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&dh(a,t),o&&(t.class+=" "+o)),t}function CP(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof Mt&&e.push(o.mark)}return e}function cc(t){let e=Ee.get(t);return e&&e.setDOM(t.cloneNode()),t}var Io=class extends Aa{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Io.inline=new Io("span");Io.block=new Io("div");var hc=new class extends Aa{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},El=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=fe.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 xn(e,e.contentDOM),this.updateInner([new ia(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:f})=>f<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!AP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?wP(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:f}=this.hasComposition;o=new ia(d,f,e.changes.mapPos(d,-1),e.changes.mapPos(f,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Y.ie||Y.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=SP(s,this.decorations,e.changes);l.length&&(o=ia.extendWithRanges(o,l));let u=vP(i,this.blockWrappers,e.changes);return u.length&&(o=ia.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new Oc(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&Ee.get(a.text)&&i.cache.reused.set(Ee.get(a.text),2),this.tile=i.run(e,a),Fc(s,i.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 n=Y.chrome||Y.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof ys&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(VL)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(Ja)||o.tabIndex>-1)&&gs(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Y.gecko&&l.empty&&!this.hasComposition&&yP(u)){let c=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(c,u.node.childNodes[u.offset]||null)),u=d=new ka(c,0),i=!0}let f=this.view.observer.selectionRange;(i||!f.focusNode||(!xs(u.node,u.offset,f.anchorNode,f.anchorOffset)||!xs(d.node,d.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{Y.android&&Y.chrome&&o.contains(f.focusNode)&&kP(f.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let c=As(this.view.root);if(c)if(l.empty){if(Y.gecko){let h=bP(u.node,u.offset);if(h&&h!=3){let p=(h==1?AL:ML)(u.node,u.offset);p&&(u=new ka(p.node,p.offset))}}c.collapse(u.node,u.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(u.node,u.offset);try{c.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),c.removeAllRanges(),c.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new ka(f.anchorNode,f.anchorOffset),this.impreciseHead=d.precise?null:new ka(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&xs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=As(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let f=e.observer.selectionRange;e.docView.posFromDOM(f.anchorNode,f.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=eo(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!Ee.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let f=d+u.length;if(d<=e&&(o=u,r=e-d,n=f<e),f>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof ys?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=Ve(n.text,s);if(i==s)return null;let l=Ms(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==be.LTR,u=0,d=(f,c,h)=>{for(let p=0;p<f.children.length&&!(c>r);p++){let m=f.children[p],g=c+m.length,x=m.dom.getBoundingClientRect(),{height:C}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof Qa)g>o&&d(m,c,x);else if(c>=o&&(u>0&&a.push(-u),a.push(C+u),u=0,s)){let L=m.dom.lastChild,y=L?Sl(L):[];if(y.length){let S=y[y.length-1],w=l?S.right-x.left:x.right-S.left;w>i&&(i=w,this.minWidth=n,this.minWidthFrom=c,this.minWidthTo=g)}}h&&p==f.children.length-1&&(u+=h.bottom-x.bottom),c=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?be.RTL:be.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=Sl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=Sl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(fe.replace({widget:new ys(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return fe.set(e)}updateDeco(){let e=1,a=this.view.state.facet($l).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(gh).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(Le.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(GL).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(UL))try{if(d(this.view,e.range,e))return!0}catch(f){rt(this.view.state,f,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=xh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(tP(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==be.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){Fc(this.tile)}};function Fc(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)Fc(o,e)}}function yP(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function jL(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=AL(a.focusNode,a.focusOffset),r=ML(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=Ee.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=Ee.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function wP(t,e,a){let o=jL(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new ia(l.mapPos(n),l.mapPos(s),n,s),text:r}}function bP(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var IP=class{constructor(){this.changes=[]}compareRange(e,a){pn(e,a,this.changes)}comparePoint(e,a){pn(e,a,this.changes)}boundChange(e){pn(e,e,this.changes)}};function SP(t,e,a){let o=new IP;return Le.compare(t,e,a,o),o.changes}var Nc=class{constructor(){this.changes=[]}compareRange(e,a){pn(e,a,this.changes)}comparePoint(){}boundChange(e){pn(e,e,this.changes)}};function vP(t,e,a){let o=new Nc;return Le.compare(t,e,a,o),o.changes}function kP(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function AP(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var ys=class extends Aa{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function MP(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return V.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=Ve(r.text,n,!1):i=Ve(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=Ve(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=Ve(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return V.range(s+r.from,i+r.from)}function PP(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+Bx(s,n,t.state.tabSize)}function Hc(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==nt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function DP(t,e,a,o){let r=Hc(t,e.head,e.assoc||-1),n=!o||r.type!=nt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==be.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return V.cursor(l,a?-1:1)}return V.cursor(a?r.to:r.from,a?-1:1)}function jx(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=fP(r,n,s,i,a),d=EL;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
|
|
16
|
+
`,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function RP(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==Te.Space&&(r=s),r==s}}function TP(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return V.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let f=l.left+s,c=t.viewState.heightOracle.textHeight>>1,h=o??c;for(let p=0;;p+=c){let m=i+(h+p)*n,g=_c(t,{x:f,y:m},!1,n);if(a?m>l.bottom:m<l.top)return V.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),C=x?(x.top+x.bottom)/2:0;if(!x||(a?C>i:C<i))return V.cursor(g.pos,g.assoc,void 0,s)}}function ws(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function ZL(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=ws(t,r.from,0);s!=r.from&&(n=V.cursor(s,-1))}else{let s=ws(t,r.from,-1),i=ws(t,r.to,1);(s!=r.from||i!=r.to)&&(n=V.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?V.create(a,e.mainIndex):e}function pc(t,e,a){let o=ws(t.state.facet(Ps).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:V.cursor(o,o<a.from?1:-1)}var Gt=class{constructor(e,a){this.pos=e,this.assoc=a}};function _c(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new Gt(0,1);if(l>t.viewState.docHeight)return new Gt(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==nt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let c=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(c&&(o<0?c.top<=l+n:c.bottom>=l+n))break}let f=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+f:u.top-f}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==nt.Text){let f=PP(t,r,u,s,i);return new Gt(f,f==u.from?1:-1)}}if(u.type!=nt.Text)return l<(u.top+u.bottom)/2?new Gt(u.from,1):new Gt(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new qc(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var qc=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[$t.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[$t.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,f=1e9,c;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let C=0;C<p;C++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let C=g[x],L=0;if(!(C.width==0&&g.length>1)){if(C.bottom<this.y)(!l||l.bottom<C.bottom)&&(l=C),L=1;else if(C.top>this.y)(!u||u.top>C.top)&&(u=C),L=-1;else{let y=C.left>this.x?this.x-C.left:C.right<this.x?this.x-C.right:0,S=Math.abs(y);S<f&&(d=m,f=S,c=C),y&&(L=y<0==(this.baseDir==be.LTR)?-1:1)}L==-1&&(!i||this.baseDirAt(e[m],1))?n=m:L==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!c){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(f&&!o){let{top:p,bottom:m}=c;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==be.LTR;return{i:d,after:this.x>(c.left+c.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=Ve(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Ms(e.dom,s,i).getClientRects()});return r.after?new Gt(o[r.i+1],-1):new Gt(o[r.i],1)}scanTile(e,a){if(!e.length)return new Gt(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Ms(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new Gt(o[r.i+1],-1):new Gt(s,1)}},un="\uFFFF",zc=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Se.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=un}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=Ee.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=Ee.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:Pl(r))||Pl(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!BP(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=Ee.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+(EP(e,o.node,o.offset)?a:0))}};function EP(t,e,a){for(;;){if(!e||a<eo(e))return!1;if(e==t)return!0;a=bo(e)+1,e=e.parentNode}}function BP(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=Ee.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var Bl=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},Uc=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=YL(e.docView.tile,a,o,0))){let l=n||s?[]:FP(e),u=new zc(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=NP(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!Sc(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!Sc(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=e.viewport;if((Y.ios||Y.chrome)&&i.main.empty&&u!=d&&(f.from>0||f.to<e.state.doc.length)){let c=Math.min(u,d),h=Math.max(u,d),p=f.from-c,m=f.to-h;(p==0||p==1||c==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(V.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let c=e.coordsAtPos(u,-1),h=0;c&&(h=e.inputState.lastTouchY<=c.bottom?-1:1),this.newSel=V.create([V.cursor(u,h)])}else this.newSel=V.single(d,u)}}};function YL(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let f=t.children[l],c=u+f.length;if(u<e&&c>a)return YL(f,e,a,u);if(c>=e&&r==-1&&(r=l,n=u),u>a&&f.dom.parentNode==t.dom){s=l,i=d;break}d=c,u=c+f.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function JL(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Y.android&&e.text.length<l-i)&&(u=n.to,d="end");let f=r.doc.sliceString(i,l,un),c,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||f!=e.text)&&f.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&f.slice(n.to-i)==e.text.slice(c=e.text.length-(f.length-(n.to-i)))?a={from:n.from,to:n.to,insert:me.of(e.text.slice(n.from-i,c).split(un))}:(h=QL(f,e.text,u-i,d))&&(Y.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==un+un&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:me.of(e.text.slice(h.from,h.toB).split(un))})}else o&&(!t.hasFocus&&r.facet(Ja)||Ol(o,n))&&(o=null);if(!a&&!o)return!1;if((Y.mac||Y.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:me.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Y.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
|
|
17
|
+
`&&t.lineWrapping&&(o&&(o=V.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:me.of([" "])}),a)return Lh(t,a,o,s);if(o&&!Ol(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=ZL(r.facet(Ps).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function Lh(t,e,a,o=-1){if(Y.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Y.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&&mn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&mn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&mn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=OP(t,e,a));return t.state.facet(HL).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function OP(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=ws(r.facet(Ps).map(f=>f(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:V.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),f,c=a&&jL(t,a.main.head);if(c){let p=e.insert.length-(e.to-e.from);f={from:c.from,to:c.to-p}}else f=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=f.from&&g<=f.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),C=p.to-n.to;return{changes:x,range:u?V.range(Math.max(0,u.anchor+C),Math.max(0,u.head+C)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function QL(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function FP(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new Bl(a,o)),(r!=a||n!=o)&&e.push(new Bl(r,n))),e}function NP(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?V.single(a+e,o+e):null}function Ol(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var Vc=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,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.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Y.safari&&e.contentDOM.addEventListener("input",()=>null),Y.gecko&&YP(e.contentDOM.ownerDocument)}handleEvent(e){!WP(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=HP(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&tC.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Y.android&&Y.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Y.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=eC.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||_P.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,mn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Y.safari&&!Y.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Zx(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){rt(a.state,r)}}}function HP(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(Zx(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(Zx(o.value,l))}}for(let o in la)a(o).handlers.push(la[o]);for(let o in Pt)a(o).observers.push(Pt[o]);return e}var eC=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],_P="dthko",tC=[16,17,18,20,91,92,224,225],gl=6;function xl(t){return Math.max(0,t)*.7+8}function qP(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var Wc=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=SL(e.contentDOM),this.atoms=e.state.facet(Ps).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Se.allowMultipleSelections)&&zP(e,a),this.dragging=VP(e,a)&&rC(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&qP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=xh(this.view);e.clientX-l.left<=r+gl?a=-xl(r-e.clientX):e.clientX+l.right>=s-gl&&(a=xl(e.clientX-s)),e.clientY-l.top<=n+gl?o=-xl(n-e.clientY):e.clientY+l.bottom>=i-gl&&(o=xl(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=ZL(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function zP(t,e){let a=t.state.facet(BL);return a.length?a[0](e):Y.mac?e.metaKey:e.ctrlKey}function UP(t,e){let a=t.state.facet(OL);return a.length?a[0](e):Y.mac?!e.altKey:!e.ctrlKey}function VP(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=As(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function WP(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=Ee.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var la=Object.create(null),Pt=Object.create(null),aC=Y.ie&&Y.ie_version<15||Y.ios&&Y.webkit_version<604;function GP(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),oC(t,a.value)},50)}function Xl(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function oC(t,e){e=Xl(t.state,hh,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(Gc!=null&&a.selection.ranges.every(l=>l.empty)&&Gc==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let f=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:f},range:V.cursor(u.from+f.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:V.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}Pt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Pt.wheel=Pt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};la.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Pt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};Pt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};la.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet(FL))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=XP(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new Wc(t,e,a,o)),o&&t.observer.ignore(()=>{vL(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function Yx(t,e,a,o){if(o==1)return V.cursor(e,a);if(o==2)return MP(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,V.range(s,i)}}var $P=Y.ie&&Y.ie_version<=11,Jx=null,Qx=0,eL=0;function rC(t){if(!$P)return t.detail;let e=Jx,a=eL;return Jx=t,eL=Date.now(),Qx=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(Qx+1)%3:1}function XP(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=rC(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=Yx(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let f=Yx(t,a.pos,a.assoc,o),c=Math.min(f.from,d.from),h=Math.max(f.to,d.to);d=c<d.from?V.range(c,h,d.assoc):V.range(h,c,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=KP(r,l.pos))?u:i?r.addRange(d):V.create([d])}}}function KP(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return V.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}la.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=V.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",Xl(t.state,ph,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};la.dragend=t=>(t.inputState.draggedContent=null,!1);function tL(t,e,a,o){if(a=Xl(t.state,hh,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&UP(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}la.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&tL(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return tL(t,e,o,!0),!0}return!1};la.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=aC?null:e.clipboardData;return a?(oC(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(GP(t),!1)};function jP(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function ZP(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:Xl(t,ph,e.join(t.lineBreak)),ranges:a,linewise:o}}var Gc=null;la.copy=la.cut=(t,e)=>{if(!gs(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=ZP(t.state);if(!a&&!r)return!1;Gc=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=aC?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(jP(t,a),!1)};var nC=vt.define();function sC(t,e){let a=[];for(let o of t.facet(_L)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:nC.of(!0)}):null}function iC(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=sC(t.state,e);a?t.dispatch(a):t.update([])}},10)}Pt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),iC(t)};Pt.blur=t=>{t.observer.clearSelectionRange(),iC(t)};Pt.compositionstart=Pt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Pt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Y.chrome&&Y.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Pt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};la.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return Lh(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Y.chrome&&Y.android&&(r=eC.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Y.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Y.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Pt.compositionend(t,e),20),!1};var aL=new Set;function YP(t){aL.has(t)||(aL.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var oL=["pre-wrap","normal","pre-line","break-spaces"],yn=!1;function rL(){yn=!1}var $c=class{constructor(e){this.lineWrapping=e,this.doc=me.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return oL.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=oL.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},Xc=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},sa=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?nt.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 dr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Ae=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Ae||(Ae={})),vl=.001,Ft=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>vl&&(yn=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:f}=r[i],c=n.lineAt(l,Ae.ByPosNoHeight,o.setDoc(a),0,0),h=c.to>=u?c:n.lineAt(u,Ae.ByPosNoHeight,o,0,0);for(f+=h.to-u,u=h.to;i>0&&c.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<c.from&&(c=n.lineAt(l,Ae.ByPosNoHeight,o,0,0));d+=c.from-l,l=c.from;let p=jc.build(o.setDoc(s),e,d,f);n=Fl(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new Wt(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new Kc(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function Fl(t,e){return t==e?t:(t.constructor!=e.constructor&&(yn=!0),e)}Ft.prototype.size=1;var JP=fe.replace({}),Nl=class extends Ft{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new sa(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new sa(r,0,o,this.spaceAbove,JP):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Ae.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},Wt=class t extends Nl{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new sa(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof wo&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof wo?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Ft.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},wo=class t extends Ft{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),f=i+d.length*l,c=Math.max(o,e-f/2);return new sa(d.from,d.length,c,f,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:f}=a.doc.line(n+u);return new sa(d,f,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Ae.ByHeight)return this.blockAt(e,o,r,n);if(a==Ae.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new sa(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,f=u.number-s,c=r+i*f+l*(u.from-n-f);return new sa(u.from,u.length,Math.max(r,Math.min(c,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,f=r;d<=a;){let c=o.doc.lineAt(d);if(d==e){let p=c.number-i;f+=l*p+u*(e-n-p)}let h=l+u*c.length;s(new sa(c.from,c.length,f,h,0)),f+=h,d=c.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return Ft.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let f=r.heights[r.index++],c=0;f<0&&(c=-f,f=r.heights[r.index++]),l==-1?l=f:Math.abs(f-l)>=vl&&(l=-2);let h=new Wt(d,f,c);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=Ft.of(s);return(l<0||Math.abs(u.height-this.height)>=vl||Math.abs(l-this.heightMetrics(e,a).perLine)>=vl)&&(yn=!0),Fl(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Kc=class extends Ft{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Ae.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Ae.ByPosNoHeight?Ae.ByPosNoHeight:Ae.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Ae.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&nL(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),nL(n,i)}return Ft.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?Ft.of(this.break?[e,null,a]:[e,a]):(this.left=Fl(this.left,e),this.right=Fl(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function nL(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof wo&&(o=t[e+1])instanceof wo&&t.splice(e-1,3,new wo(a.length+1+o.length))}var QP=5,jc=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof Wt?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new Wt(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new Nl(s,r,o)):(s||n||r>=QP)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Wt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new wo(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Wt)return e;let a=new Wt(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof Wt)&&!this.isCovered?this.nodes.push(new Wt(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof Wt&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return Le.spans(a,o,r,n,0),n.finish(o)}};function eD(t,e,a){let o=new Zc;return Le.compare(t,e,a,o,0),o.changes}var Zc=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&pn(e,a,this.changes,5)}};function tD(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,f=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&f.overflow!="visible"){let c=d.getBoundingClientRect();n=Math.max(n,c.left),s=Math.min(s,c.right),i=Math.max(i,c.top),l=Math.min(u==t.parentNode?r.innerHeight:l,c.bottom)}u=f.position=="absolute"||f.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function aD(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function oD(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var bs=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return fe.replace({widget:new Yc(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},Yc=class extends Aa{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Hl=class{constructor(e,a){this.view=e,this.state=a,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=sL,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=be.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(mh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new $c(o),this.stateDeco=iL(a),this.heightMap=Ft.empty().applyChanges(this.stateDeco,me.empty,this.heightOracle.setDoc(a.doc),[new ia(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=fe.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new fn(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?sL:new Jc(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(ms(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=iL(this.state);let r=e.changedRanges,n=ia.extendWithRanges(r,eD(o,this.stateDeco,e?e.changes:mt.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);rL(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||yn)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(zL)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?be.RTL:be.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:S,scaleY:w}=IL(a,i);(S>.005&&Math.abs(this.scaleX-S)>.005||w>.005&&Math.abs(this.scaleY-w)>.005)&&(this.scaleX=S,this.scaleY=w,u|=16,s=l=!0)}let f=(parseInt(o.paddingTop)||0)*this.scaleY,c=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=f||this.paddingBottom!=c)&&(this.paddingTop=f,this.paddingBottom=c,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=SL(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=kL(this.scrollParent||e.win);let m=(this.printing?oD:tD)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let C=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(C!=this.inView&&(this.inView=C,C&&(l=!0)),!this.inView&&!this.scrollTarget&&!aD(e.dom))return 0;let L=i.width;if((this.contentDOMWidth!=L||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(s=!0),s||r.lineWrapping&&Math.abs(L-this.contentDOMWidth)>r.charWidth){let{lineHeight:w,charWidth:b,textHeight:I}=e.docView.measureTextSize();s=w>0&&r.refresh(n,w,b,I,Math.max(5,L/b),S),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),rL();for(let w of this.viewports){let b=w.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(w);this.heightMap=(s?Ft.empty().applyChanges(this.stateDeco,me.empty,this.heightOracle,[new ia(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new Xc(w.from,b))}yn&&(u|=2)}let y=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new fn(r.lineAt(s-o*1e3,Ae.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Ae.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),f=r.lineAt(u,Ae.ByPos,n,0,0),c;a.y=="center"?c=(f.top+f.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?c=f.top:c=f.bottom-d,l=new fn(r.lineAt(c-1e3/2,Ae.ByHeight,n,0,0).from,r.lineAt(c+d+1e3/2,Ae.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new fn(this.heightMap.lineAt(o,Ae.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Ae.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Ae.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new bs(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=be.LTR&&!o)return[];let i=[],l=(d,f,c,h)=>{if(f-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<f){l(d,x-10,c,h),l(x+10,f,c,h);return}let g=nD(e,x=>x.from>=c.from&&x.to<=c.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-f)<n&&!m.some(C=>x.from<C&&x.to>C));if(!g){if(f<c.to&&a&&o&&a.visibleRanges.some(L=>L.from<=f&&L.to>=f)){let L=a.moveToLineBoundary(V.cursor(f),!1,!0).head;L>d&&(f=L)}let x=this.gapSize(c,d,f,h),C=o||x<2e6?x:2e6;g=new bs(d,f,x,C)}i.push(g)},u=d=>{if(d.length<s||d.type!=nt.Text)return;let f=rD(d.from,d.to,this.stateDeco);if(f.total<s)return;let c=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(c!=null){let C=Cl(f,c),L=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=C-L,x=C+L}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Ll(f,g),p=Ll(f,x)}else{let m=f.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let w of e)w.from>=d.from&&w.from<d.to&&w.size!=w.displaySize&&w.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=w.size-w.displaySize);let C=this.pixelViewport.left+x,L=this.pixelViewport.right+x,y,S;if(c!=null){let w=Cl(f,c),b=((L-C)/2+g)/m;y=w-b,S=w+b}else y=(C-g)/m,S=(L+g)/m;h=Ll(f,y),p=Ll(f,S)}h>d.from&&l(d.from,h,d,f),p<d.to&&l(p,d.to,d,f)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=Cl(r,o)-Cl(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){bs.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=fe.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];Le.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||ms(this.heightMap.lineAt(e,Ae.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||ms(this.heightMap.lineAt(this.scaler.fromDOM(e),Ae.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return ms(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},fn=class{constructor(e,a){this.from=e,this.to=a}};function rD(t,e,a){let o=[],r=t,n=0;return Le.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Ll({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function Cl(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function nD(t,e){for(let a of t)if(e(a))return a}var sL={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function iL(t){let e=t.facet($l).filter(o=>typeof o!="function"),a=t.facet(gh).filter(o=>typeof o!="function");return a.length&&e.push(Le.join(a)),e}var Jc=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Ae.ByPos,e,0,0).top,d=a.lineAt(l,Ae.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function ms(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new sa(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>ms(r,e)):t._content)}var yl=j.define({combine:t=>t.join(" ")}),Qc=j.define({combine:t=>t.indexOf(!0)>-1}),eh=Vt.newName(),lC=Vt.newName(),uC=Vt.newName(),dC={"&light":"."+lC,"&dark":"."+uC};function th(t,e,a){return new Vt(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var sD=th("."+eh,{"&":{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"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},dC),iD={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},mc=Y.ie&&Y.ie_version<=11,ah=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new vc,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Y.ie&&Y.ie_version<=11||Y.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Y.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Y.chrome&&Y.chrome_version<126)&&(this.editContext=new oh(e),e.state.facet(Ja)&&(e.contentDOM.editContext=this.editContext.editContext)),mc&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(Ja)?o.root.activeElement!=this.dom:!gs(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Y.ie&&Y.ie_version<=11||Y.android&&Y.chrome)&&!o.state.selection.main.empty&&r.focusNode&&xs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=As(e.root);if(!a)return!1;let o=Y.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&lD(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=gs(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&oP(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,iD),mc&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),mc&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&mn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&gs(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Uc(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=JL(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!Ol(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=lL(a,e.previousSibling||e.target.previousSibling,-1),r=lL(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Ja)!=e.state.facet(Ja)&&(e.view.contentDOM.editContext=e.state.facet(Ja)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function lL(t,e,a){for(;e;){let o=Ee.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function uL(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return xs(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function lD(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return uL(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?uL(t,a):null}var oh=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=QL(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let c=V.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));Ol(c,r)||e.dispatch({selection:c,userEvent:"select"});return}let f={from:d.from+i,to:d.toA+i,insert:me.of(o.text.slice(d.from,d.toB).split(`
|
|
18
|
+
`))};if((Y.mac||Y.android)&&f.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:i,to:l,insert:me.of([o.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let c=this.to-this.from+(f.to-f.from+f.insert.length);Lh(e,f,V.single(this.toEditorPos(o.selectionStart,c),this.toEditorPos(o.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(fe.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:VL.of(fe.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=As(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},J=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||aP(e.parent)||document,this.viewState=new Hl(this,e.state||Se.create(e)),e.scrollTo&&e.scrollTo.is(ml)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(dn).map(r=>new Cs(r));for(let r of this.plugins)r.update(this);this.observer=new ah(this),this.inputState=new Vc(this),this.inputState.ensureHandlers(this.plugins),this.docView=new El(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof Ze?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let c of e){if(c.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=c.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(c=>c.annotation(nC))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=sC(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Se.phrases)!=this.state.facet(Se.phrases))return this.setState(n);r=Rl.create(this,n,e),r.flags|=i;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let c of e){if(f&&(f=f.map(c.changes)),c.scrollIntoView){let{main:h}=c.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);f=new Ls(h.empty?h:V.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of c.effects)h.is(ml)&&(f=h.value.clip(this.state))}this.viewState.update(r,f),this.bidiCache=_l.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(ps)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(c=>c.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(yl)!=r.state.facet(yl)&&(this.viewState.mustMeasureContent=!0),(a||o||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let c of this.state.facet(Pc))try{c(r)}catch(h){rt(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!JL(this,d)&&u.force&&mn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new Hl(this,e),this.plugins=e.facet(dn).map(o=>new Cs(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new El(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(dn),o=e.state.facet(dn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new Cs(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){rt(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(kL(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return rt(this.state,p),dL}}),f=Rl.create(this,this.state,[]),c=!1;f.flags|=l,a?a.flags|=l:a=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),c=this.docView.update(f),c&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=dL)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){rt(this.state,p)}if(c&&this.docView.updateSelection(!0),!f.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(Pc))i(a)}get themeClasses(){return eh+" "+(this.state.facet(Qc)?uC:lC)+" "+this.state.facet(yl)}updateAttrs(){let e=fL(this,WL,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Ja)?"true":"false",class:"cm-content",style:`${Y.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),fL(this,mh,a);let o=this.observer.ignore(()=>{let r=Vx(this.contentDOM,this.contentAttrs,a),n=Vx(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(ps);let e=this.state.facet(t.cspNonce);Vt.mount(this.root,this.styleModules.concat(sD).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return pc(this,e,jx(this,e,a,o))}moveByGroup(e,a){return pc(this,e,jx(this,e,a,o=>RP(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return V.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return DP(this,e,a,o)}moveVertically(e,a,o){return pc(this,e,TP(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=_c(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),_c(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[$t.find(n,e-r.from,-1,a)];return Dl(o,s.dir==be.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(qL)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>uD)return TL(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||RL(n.isolates,o=$x(this,e))))return n.order;o||(o=$x(this,e));let r=dP(e.text,a,o);return this.bidiCache.push(new _l(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Y.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{vL(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return ml.of(new Ls(typeof e=="number"?V.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return ml.of(new Ls(V.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return We.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return We.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=Vt.newName(),r=[yl.of(o),ps.of(th(`.${o}`,e))];return a&&a.dark&&r.push(Qc.of(!0)),r}static baseTheme(e){return na.lowest(ps.of(th("."+eh,e,dC)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&Ee.get(o)||Ee.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};J.styleModule=ps;J.inputHandler=HL;J.clipboardInputFilter=hh;J.clipboardOutputFilter=ph;J.scrollHandler=UL;J.focusChangeEffect=_L;J.perLineTextDirection=qL;J.exceptionSink=NL;J.updateListener=Pc;J.editable=Ja;J.mouseSelectionStyle=FL;J.dragMovesSelection=OL;J.clickAddsSelectionRange=BL;J.decorations=$l;J.blockWrappers=GL;J.outerDecorations=gh;J.atomicRanges=Ps;J.bidiIsolatedRanges=$L;J.cursorScrollMargin=j.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});J.scrollMargins=XL;J.darkTheme=Qc;J.cspNonce=j.define({combine:t=>t.length?t[0]:""});J.contentAttributes=mh;J.editorAttributes=WL;J.lineWrapping=J.contentAttributes.of({class:"cm-lineWrapping"});J.announce=le.define();var uD=4096,dL={},_l=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:be.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function fL(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&dh(s,a)}return a}var dD=Y.mac?"mac":Y.windows?"win":Y.linux?"linux":"key";function fD(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function wl(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var cD=na.default(J.domEventHandlers({keydown(t,e){return hC(fC(e.state),t,e,"editor")}})),pr=j.define({enables:cD}),cL=new WeakMap;function fC(t){let e=t.facet(pr),a=cL.get(e);return a||cL.set(e,a=pD(e.reduce((o,r)=>o.concat(r),[]))),a}function cC(t,e,a){return hC(fC(t.state),e,t,a)}var yo=null,hD=4e3;function pD(t,e=dD){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var f,c;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>fD(x,e));for(let x=1;x<p.length;x++){let C=p.slice(0,x).join(" ");r(C,!0),h[C]||(h[C]={preventDefault:!0,stopPropagation:!1,run:[L=>{let y=yo={view:L,prefix:C,scope:s};return setTimeout(()=>{yo==y&&(yo=null)},hD),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((c=(f=h._any)===null||f===void 0?void 0:f.run)===null||c===void 0?void 0:c.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:f}=s;for(let c in d)d[c].run.push(h=>f(h,rh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var rh=null;function hC(t,e,a,o){rh=e;let r=Hx(e),n=kt(r,0),s=Ut(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;yo&&yo.view==a&&yo.scope==o&&(i=yo.prefix+" ",tC.indexOf(e.keyCode)<0&&(u=!0,yo=null));let f=new Set,c=g=>{if(g){for(let x of g.run)if(!f.has(x)&&(f.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(c(h[i+wl(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Y.windows&&e.ctrlKey&&e.altKey)&&!(Y.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=Ya[e.keyCode])&&p!=r?(c(h[i+wl(p,e,!0)])||e.shiftKey&&(m=ln[e.keyCode])!=r&&m!=p&&c(h[i+wl(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&c(h[i+wl(r,e,!0)])&&(l=!0),!l&&c(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),rh=null,l}var ur=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=pC(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return mD(e,a,o)}};function pC(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==be.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function hL(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function mD(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==be.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=pC(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),f=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),c=i.right-(d?parseInt(d.paddingRight):0),h=Hc(t,o,1),p=Hc(t,r,-1),m=h.type==nt.Text?h:null,g=p.type==nt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=hL(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=hL(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return C(L(a.from,a.to,m));{let S=m?L(a.from,null,m):y(h,!1),w=g?L(null,a.to,g):y(p,!0),b=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&S.bottom+t.defaultLineHeight/2<w.top?b.push(x(f,S.bottom,c,w.top)):S.bottom<w.top&&t.elementAtHeight((S.bottom+w.top)/2).type==nt.Text&&(S.bottom=w.top=(S.bottom+w.top)/2),C(S).concat(b).concat(C(w))}function x(S,w,b,I){return new ur(e,S-l.left,w-l.top,Math.max(0,b-S),I-w)}function C({top:S,bottom:w,horizontal:b}){let I=[];for(let A=0;A<b.length;A+=2)I.push(x(b[A],S,b[A+1],w));return I}function L(S,w,b){let I=1e9,A=-1e9,N=[];function D(v,M,P,R,E){let O=t.coordsAtPos(v,v==b.to?-2:2),k=t.coordsAtPos(P,P==b.from?2:-2);!O||!k||(I=Math.min(O.top,k.top,I),A=Math.max(O.bottom,k.bottom,A),E==be.LTR?N.push(n&&M?f:O.left,n&&R?c:k.right):N.push(!n&&R?f:k.left,!n&&M?c:O.right))}let T=S??b.from,H=w??b.to;for(let v of t.visibleRanges)if(v.to>T&&v.from<H)for(let M=Math.max(v.from,T),P=Math.min(v.to,H);;){let R=t.state.doc.lineAt(M);for(let E of t.bidiSpans(R)){let O=E.from+R.from,k=E.to+R.from;if(O>=P)break;k>M&&D(Math.max(O,M),S==null&&O<=T,Math.min(k,P),w==null&&k>=H,E.dir)}if(M=R.to+1,M>=P)break}return N.length==0&&D(T,S==null,H,w==null,t.textDirection),{top:I,bottom:A,horizontal:N}}function y(S,w){let b=i.top+(w?S.top:S.bottom);return{top:b,bottom:b,horizontal:[]}}}function gD(t,e){return t.constructor==e.constructor&&t.eq(e)}var nh=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(kl)!=e.state.facet(kl)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(kl);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!gD(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Y.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},kl=j.define();function mC(t){return[We.define(e=>new nh(e,t)),kl.of(t)]}var wn=j.define({combine(t){return At(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function gC(t={}){return[wn.of(t),xD,LD,CD,zL.of(!0)]}function xC(t){return t.startState.facet(wn)!=t.state.facet(wn)}var xD=mC({above:!0,markers(t){let{state:e}=t,a=e.facet(wn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Y.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:V.cursor(r.head,r.assoc);for(let l of ur.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=xC(t);return a&&pL(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){pL(e.state,t)},class:"cm-cursorLayer"});function pL(t,e){e.style.animationDuration=t.facet(wn).cursorBlinkRate+"ms"}var LD=mC({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of ur.forRange(t,"cm-selectionBackground",r))e.push(n);if(Y.ios&&!a.empty&&t.state.facet(wn).iosSelectionHandles){for(let r of ur.forRange(t,"cm-selectionHandle cm-selectionHandle-start",V.cursor(a.from,1)))e.push(r);for(let r of ur.forRange(t,"cm-selectionHandle cm-selectionHandle-end",V.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||xC(t)},class:"cm-selectionLayer"}),CD=na.highest(J.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var LG=/x/.unicode!=null?"gu":"g";function LC(){return wD}var yD=fe.line({class:"cm-activeLine"}),wD=We.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(yD.range(r.from)),e=r.from)}return fe.set(a)}},{decorations:t=>t.decorations});var bl="-10000px",ql=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let f=0;f<this.tooltips.length;f++){let c=this.tooltips[f];c&&c.create==u.create&&(d=f)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let f=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),f.update&&f.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function bD(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var gc=j.define({combine:t=>{var e,a,o;return{position:Y.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||bD}}}),mL=new WeakMap,Ch=We.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(gc);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new ql(t,bn,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(gc);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=bl,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Y.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=xh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(gc).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,f=t.pos[i],c=t.size[i];if(!f||l.clip!==!1&&(f.bottom<=Math.max(a.top,o.top)||f.top>=Math.min(a.bottom,o.bottom)||f.right<Math.max(a.left,o.left)-.1||f.left>Math.min(a.right,o.right)+.1)){d.style.top=bl;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=c.right-c.left,g=(e=mL.get(u))!==null&&e!==void 0?e:c.bottom-c.top,x=u.offset||SD,C=this.view.textDirection==be.LTR,L=c.width>o.right-o.left?C?o.left:o.right-c.width:C?Math.max(o.left,Math.min(f.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,f.left-m+(h?14:0)-x.x),o.right-m),y=this.above[i];!l.strictSide&&(y?f.top-g-p-x.y<o.top:f.bottom+g+p+x.y>o.bottom)&&y==o.bottom-f.bottom>f.top-o.top&&(y=this.above[i]=!y);let S=(y?f.top-o.top:o.bottom-f.bottom)-p;if(S<g&&u.resize!==!1){if(S<this.view.defaultLineHeight){d.style.top=bl;continue}mL.set(u,g),d.style.height=(g=S)/n+"px"}else d.style.height&&(d.style.height="");let w=y?f.top-g-p-x.y:f.bottom+p+x.y,b=L+m;if(u.overlap!==!0)for(let I of s)I.left<b&&I.right>L&&I.top<w+g&&I.bottom>w&&(w=y?I.top-g-2-p:I.bottom+p+2);if(this.position=="absolute"?(d.style.top=(w-t.parent.top)/n+"px",gL(d,(L-t.parent.left)/r)):(d.style.top=w/n+"px",gL(d,L/r)),h){let I=f.left+(C?x.x:-x.x)-(L+14-7);h.style.left=I/r+"px"}u.overlap!==!0&&s.push({left:L,top:w,right:b,bottom:w+g}),d.classList.toggle("cm-tooltip-above",y),d.classList.toggle("cm-tooltip-below",!y),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=bl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function gL(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var ID=J.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),SD={x:0,y:0},bn=j.define({enables:[Ch,ID]}),zl=j.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),Ul=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new ql(e,zl,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},vD=bn.compute([zl],t=>{let e=t.facet(zl);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:Ul.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),kD=j.define(),sh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==be.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>rt(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(Ch),a=e?e.manager.tooltips.findIndex(o=>o.create==Ul.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!AD(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!MD(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Il=4;function AD(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Il&&e.clientX<=o+Il&&e.clientY>=r-Il&&e.clientY<=n+Il}function MD(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function Kl(t,e={}){let a=le.define(),o=new WeakMap,r=Ne.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let f=i.changes.mapPos(d.pos,-1,ot.TrackDel);if(f!=null){let c=Object.assign(Object.create(null),d);c.pos=f,c.end!=null&&(c.end=i.changes.mapPos(c.end)),u.push(c)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(PD)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>zl.from(s)}),n=We.define(s=>new sh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,kD.of(n),vD]}}function yh(t,e){let a=t.plugin(Ch);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var PD=le.define();var xL=j.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function jl(t,e){let a=t.plugin(CC),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var CC=We.fromClass(class{constructor(t){this.input=t.state.facet(hr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(xL);this.top=new cn(t,!0,e.topContainer),this.bottom=new cn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(xL);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new cn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new cn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(hr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),cn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=LL(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=LL(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function LL(t){let e=t.nextSibling;return t.remove(),e}var hr=j.define({enables:CC});function yC(t,e){let a,o=new Promise(s=>a=s),r=s=>DD(s,e,a);t.state.field(xc,!1)?t.dispatch({effects:wC.of(r)}):t.dispatch({effects:le.appendConfig.of(xc.init(()=>[r]))});let n=bC.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(xc).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var xc=Ne.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(wC)?t=[a.value].concat(t):a.is(bC)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>hr.computeN([t],e=>e.field(t))}),wC=le.define(),bC=le.define();function DD(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=ye("form"),e.input){let i=ye("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(ye("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(ye("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=ye("div",o,ye("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var Xt=class extends zt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Xt.prototype.elementClass="";Xt.prototype.toDOM=void 0;Xt.prototype.mapMode=ot.TrackBefore;Xt.prototype.startSide=Xt.prototype.endSide=-1;Xt.prototype.point=!0;var Lc=j.define(),RD=j.define(),TD={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Le.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Is=j.define();function wh(t){return[IC(),Is.of({...TD,...t})]}var ih=j.define({combine:t=>t.some(e=>e)});function IC(t){let e=[ED];return t&&t.fixed===!1&&e.push(ih.of(!0)),e}var ED=We.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(Is).map(e=>new Vl(t,e)),this.fixed=!t.state.facet(ih);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(ih)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=Le.iter(this.view.state.facet(Lc),this.view.viewport.from),o=[],r=this.gutters.map(n=>new uh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==nt.Text&&s){lh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==nt.Text){lh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Is),a=t.state.facet(Is),o=t.docChanged||t.heightChanged||t.viewportChanged||!Le.eq(t.startState.facet(Lc),t.state.facet(Lc),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new Vl(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>J.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==be.LTR?{left:o,right:r}:{right:o,left:r}})});function CL(t){return Array.isArray(t)?t:[t]}function lh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var uh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=Le.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new Wl(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];lh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(RD)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},Vl=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=CL(a.markers(e)),a.initialSpacer&&(this.spacer=new Wl(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=CL(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!Le.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Wl=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),BD(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let f=s;f<this.markers.length;f++)if(this.markers[f].compare(l)){i=f,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let f=r.nextSibling;r.remove(),r=f}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function BD(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var OD=j.define(),FD=j.define(),hn=j.define({combine(t){return At(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),Ss=class extends Xt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Cc(t,e){return t.state.facet(hn).formatNumber(e,t.state)}var ND=Is.compute([hn],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(OD)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new Ss(Cc(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(FD)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(hn)!=e.state.facet(hn),initialSpacer(e){return new Ss(Cc(e,yL(e.state.doc.lines)))},updateSpacer(e,a){let o=Cc(a.view,yL(a.view.state.doc.lines));return o==e.number?e:new Ss(o)},domEventHandlers:t.facet(hn).domEventHandlers,side:"before"}));function SC(t={}){return[hn.of(t),IC(),ND]}function yL(t){let e=9;for(;e<t;)e=e*10+9;return e}var HD=0,Ds=class{constructor(e,a){this.from=e,this.to=a}},de=class{constructor(e={}){this.id=HD++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=xt.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};de.closedBy=new de({deserialize:t=>t.split(" ")});de.openedBy=new de({deserialize:t=>t.split(" ")});de.group=new de({deserialize:t=>t.split(" ")});de.isolate=new de({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var mr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[de.mounted.id]}},_D=Object.create(null),xt=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):_D,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(de.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(de.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};xt.none=new xt("",Object.create(null),0,8);var Jl=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new xt(o.name,r,o.id,o.flags):o)}return new t(a)}},Zl=new WeakMap,vC=new WeakMap,He;(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"})(He||(He={}));var Be=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=mr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new Es(this.topNode,e)}cursorAt(e,a=0,o=0){let r=Zl.get(this)||this.topNode,n=new Es(r);return n.moveTo(e,a),Zl.set(this,n._tree),n}get topNode(){return new Ma(this,0,0,null)}resolve(e,a=0){let o=Rs(Zl.get(this)||this.topNode,e,a,!1);return Zl.set(this,o),o}resolveInner(e,a=0){let o=Rs(vC.get(this)||this.topNode,e,a,!0);return vC.set(this,o),o}resolveStack(e,a=0){return qD(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&He.IncludeAnonymous)>0;for(let l=this.cursor(s|He.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:Mh(xt.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(xt.none,a,o,r)))}static build(e){return zD(e)}};Be.empty=new Be(xt.none,[],[],0);var bh=class t{constructor(e,a){this.buffer=e,this.index=a}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 t(this.buffer,this.index)}},So=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return xt.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(MC(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function MC(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Rs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ma&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:He.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ma&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var Ql=class{cursor(e=0){return new Es(this,e)}getChild(e,a=null,o=null){let r=kC(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return kC(this,e,a,o)}resolve(e,a=0){return Rs(this,e,a,!1)}resolveInner(e,a=0){return Rs(this,e,a,!0)}matchContext(e){return Ih(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ma=class t extends Ql{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],f=l[e]+s.from,c;if(!(!(n&He.EnterBracketed&&d instanceof Be&&(c=mr.get(d))&&!c.overlay&&c.bracketed&&o>=f&&o<=f+d.length)&&!MC(r,o,f,f+d.length))){if(d instanceof So){if(n&He.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-f,r);if(h>-1)return new Ts(new Sh(s,d,e,f),null,h)}else if(n&He.IncludeAnonymous||!d.type.isAnonymous||Ah(d)){let h;if(!(n&He.IgnoreMounts)&&(h=mr.get(d))&&!h.overlay)return new t(h.tree,f,e,s);let p=new t(d,f,e,s);return n&He.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&He.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&He.IgnoreOverlays)&&(r=mr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&He.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function kC(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function Ih(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var Sh=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},Ts=class t extends Ql{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&He.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new Be(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function PC(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ma&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new vh(r,a)}var vh=class{constructor(e,a){this.heads=e,this.node=a}get next(){return PC(this.heads)}};function qD(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ma?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=mr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ma(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Rs(i,e,a,!1))}}return r?PC(r):o}var Es=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~He.EnterBracketed,e instanceof Ma)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ma?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&He.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&He.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&He.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&He.IncludeAnonymous||i instanceof So||!i.type.isAnonymous||Ah(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new Ts(this.buffer,a,this.stack[r]);return this.bufferNode=new Ts(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Ih(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return Ih(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Ah(t){return t.children.some(e=>e instanceof So||!e.type.isAnonymous||Ah(e))}function zD(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new bh(a,a.length):a,l=o.types,u=0,d=0;function f(S,w,b,I,A,N){let{id:D,start:T,end:H,size:v}=i,M=d,P=u;if(v<0)if(i.next(),v==-1){let q=n[D];b.push(q),I.push(T-S);return}else if(v==-3){u=D;return}else if(v==-4){d=D;return}else throw new RangeError(`Unrecognized record size: ${v}`);let R=l[D],E,O,k=T-S;if(H-T<=r&&(O=g(i.pos-w,A))){let q=new Uint16Array(O.size-O.skip),F=i.pos-O.size,G=q.length;for(;i.pos>F;)G=x(O.start,q,G);E=new So(q,H-O.start,o),k=O.start-S}else{let q=i.pos-v;i.next();let F=[],G=[],_=D>=s?D:-1,B=0,U=H;for(;i.pos>q;)_>=0&&i.id==_&&i.size>=0?(i.end<=U-r&&(p(F,G,T,B,i.end,U,_,M,P),B=F.length,U=i.end),i.next()):N>2500?c(T,q,F,G):f(T,q,F,G,_,N+1);if(_>=0&&B>0&&B<F.length&&p(F,G,T,B,T,U,_,M,P),F.reverse(),G.reverse(),_>-1&&B>0){let X=h(R,P);E=Mh(R,F,G,0,F.length,0,H-T,X,X)}else E=m(R,F,G,H-T,M-H,P)}b.push(E),I.push(k)}function c(S,w,b,I){let A=[],N=0,D=-1;for(;i.pos>w;){let{id:T,start:H,end:v,size:M}=i;if(M>4)i.next();else{if(D>-1&&H<D)break;D<0&&(D=v-r),A.push(T,H,v),N++,i.next()}}if(N){let T=new Uint16Array(N*4),H=A[A.length-2];for(let v=A.length-3,M=0;v>=0;v-=3)T[M++]=A[v],T[M++]=A[v+1]-H,T[M++]=A[v+2]-H,T[M++]=M;b.push(new So(T,A[2]-H,o)),I.push(H-S)}}function h(S,w){return(b,I,A)=>{let N=0,D=b.length-1,T,H;if(D>=0&&(T=b[D])instanceof Be){if(!D&&T.type==S&&T.length==A)return T;(H=T.prop(de.lookAhead))&&(N=I[D]+T.length+H)}return m(S,b,I,A,N,w)}}function p(S,w,b,I,A,N,D,T,H){let v=[],M=[];for(;S.length>I;)v.push(S.pop()),M.push(w.pop()+b-A);S.push(m(o.types[D],v,M,N-A,T-N,H)),w.push(A-b)}function m(S,w,b,I,A,N,D){if(N){let T=[de.contextHash,N];D=D?[T].concat(D):[T]}if(A>25){let T=[de.lookAhead,A];D=D?[T].concat(D):[T]}return new Be(S,w,b,I,D)}function g(S,w){let b=i.fork(),I=0,A=0,N=0,D=b.end-r,T={size:0,start:0,skip:0};e:for(let H=b.pos-S;b.pos>H;){let v=b.size;if(b.id==w&&v>=0){T.size=I,T.start=A,T.skip=N,N+=4,I+=4,b.next();continue}let M=b.pos-v;if(v<0||M<H||b.start<D)break;let P=b.id>=s?4:0,R=b.start;for(b.next();b.pos>M;){if(b.size<0)if(b.size==-3||b.size==-4)P+=4;else break e;else b.id>=s&&(P+=4);b.next()}A=R,I+=v,N+=P}return(w<0||I==S)&&(T.size=I,T.start=A,T.skip=N),T.size>4?T:void 0}function x(S,w,b){let{id:I,start:A,end:N,size:D}=i;if(i.next(),D>=0&&I<s){let T=b;if(D>4){let H=i.pos-(D-4);for(;i.pos>H;)b=x(S,w,b)}w[--b]=T,w[--b]=N-S,w[--b]=A-S,w[--b]=I}else D==-3?u=I:D==-4&&(d=I);return b}let C=[],L=[];for(;i.pos>0;)f(t.start||0,t.bufferStart||0,C,L,-1,0);let y=(e=t.length)!==null&&e!==void 0?e:C.length?L[0]+C[0].length:0;return new Be(l[t.topID],C.reverse(),L.reverse(),y)}var AC=new WeakMap;function Yl(t,e){if(!t.isAnonymous||e instanceof So||e.type!=t)return 1;let a=AC.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof Be)){a=1;break}a+=Yl(t,o)}AC.set(e,a)}return a}function Mh(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=Yl(t,e[p]);let d=Math.ceil(u*1.5/8),f=[],c=[];function h(p,m,g,x,C){for(let L=g;L<x;){let y=L,S=m[L],w=Yl(t,p[L]);for(L++;L<x;L++){let b=Yl(t,p[L]);if(w+b>=d)break;w+=b}if(L==y+1){if(w>d){let b=p[y];h(b.children,b.positions,0,b.children.length,m[y]+C);continue}f.push(p[y])}else{let b=m[L-1]+p[L-1].length-S;f.push(Mh(t,p,m,y,L,S,b,null,l))}c.push(S+C-n)}}return h(e,a,o,r,0),(i||l)(f,c,s)}var gr=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,f=d?d.fromA:1e9;if(f-l>=o)for(;s&&s.from<f;){let c=s;if(l>=c.from||f<=c.to||u){let h=Math.max(c.from,l)-u,p=Math.min(c.to,f)-u;c=h>=p?null:new t(h,p,c.tree,c.offset+u,i>0,!!d)}if(c&&r.push(c),s.to>f)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},Bs=class{startParse(e,a,o){return typeof e=="string"&&(e=new kh(e)),o=o?o.length?o.map(r=>new Ds(r.from,r.to)):[new Ds(0,0)]:[new Ds(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},kh=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var vG=new de({perNode:!0});var UD=0,ua=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=UD++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new ou(e);return o=>o.modified.indexOf(a)>-1?o:ou.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},VD=0,ou=class t{constructor(e){this.name=e,this.instances=[],this.id=VD++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&WD(a,i.modified));if(o)return o;let r=[],n=new ua(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=GD(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function WD(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function GD(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function TC(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let f=0;;){if(i=="..."&&f>0&&f+3==r.length){s=1;break}let c=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!c)throw new RangeError("Invalid path: "+r);if(n.push(c[0]=="*"?"":c[0][0]=='"'?JSON.parse(c[0]):c[0]),f+=c[0].length,f==r.length)break;let h=r[f++];if(f==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(f)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Lr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return EC.add(e)}var EC=new de({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Lr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Lr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Lr.empty=new Lr([],2,null);function Th(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function $D(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function BC(t,e,a,o=0,r=t.length){let n=new Dh(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var Dh=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=XD(e)||Lr.empty,f=$D(n,d.tags);if(f&&(u&&(u+=" "),u+=f,d.mode==1&&(r+=(r?" ":"")+f)),this.startSpan(Math.max(a,i),u),d.opaque)return;let c=e.tree&&e.tree.prop(de.mounted);if(c&&c.overlay){let h=e.node.enter(c.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(c.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let C=g<c.overlay.length?c.overlay[g]:null,L=C?C.from+i:l,y=Math.max(a,x),S=Math.min(o,L);if(y<S&&m)for(;e.from<S&&(this.highlightRange(e,y,S,r,n),this.startSpan(Math.min(S,e.to),u),!(e.to>=L||!e.nextSibling())););if(!C||L>o)break;x=C.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,C.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){c&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function XD(t){let e=t.type.prop(EC);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var K=ua.define,eu=K(),vo=K(),DC=K(vo),RC=K(vo),ko=K(),tu=K(ko),Ph=K(ko),Ra=K(),xr=K(Ra),Pa=K(),Da=K(),Rh=K(),Os=K(Rh),au=K(),Z={comment:eu,lineComment:K(eu),blockComment:K(eu),docComment:K(eu),name:vo,variableName:K(vo),typeName:DC,tagName:K(DC),propertyName:RC,attributeName:K(RC),className:K(vo),labelName:K(vo),namespace:K(vo),macroName:K(vo),literal:ko,string:tu,docString:K(tu),character:K(tu),attributeValue:K(tu),number:Ph,integer:K(Ph),float:K(Ph),bool:K(ko),regexp:K(ko),escape:K(ko),color:K(ko),url:K(ko),keyword:Pa,self:K(Pa),null:K(Pa),atom:K(Pa),unit:K(Pa),modifier:K(Pa),operatorKeyword:K(Pa),controlKeyword:K(Pa),definitionKeyword:K(Pa),moduleKeyword:K(Pa),operator:Da,derefOperator:K(Da),arithmeticOperator:K(Da),logicOperator:K(Da),bitwiseOperator:K(Da),compareOperator:K(Da),updateOperator:K(Da),definitionOperator:K(Da),typeOperator:K(Da),controlOperator:K(Da),punctuation:Rh,separator:K(Rh),bracket:Os,angleBracket:K(Os),squareBracket:K(Os),paren:K(Os),brace:K(Os),content:Ra,heading:xr,heading1:K(xr),heading2:K(xr),heading3:K(xr),heading4:K(xr),heading5:K(xr),heading6:K(xr),contentSeparator:K(Ra),list:K(Ra),quote:K(Ra),emphasis:K(Ra),strong:K(Ra),link:K(Ra),monospace:K(Ra),strikethrough:K(Ra),inserted:K(),deleted:K(),changed:K(),invalid:K(),meta:au,documentMeta:K(au),annotation:K(au),processingInstruction:K(au),definition:ua.defineModifier("definition"),constant:ua.defineModifier("constant"),function:ua.defineModifier("function"),standard:ua.defineModifier("standard"),local:ua.defineModifier("local"),special:ua.defineModifier("special")};for(let t in Z){let e=Z[t];e instanceof ua&&(e.name=t)}var MG=Th([{tag:Z.link,class:"tok-link"},{tag:Z.heading,class:"tok-heading"},{tag:Z.emphasis,class:"tok-emphasis"},{tag:Z.strong,class:"tok-strong"},{tag:Z.keyword,class:"tok-keyword"},{tag:Z.atom,class:"tok-atom"},{tag:Z.bool,class:"tok-bool"},{tag:Z.url,class:"tok-url"},{tag:Z.labelName,class:"tok-labelName"},{tag:Z.inserted,class:"tok-inserted"},{tag:Z.deleted,class:"tok-deleted"},{tag:Z.literal,class:"tok-literal"},{tag:Z.string,class:"tok-string"},{tag:Z.number,class:"tok-number"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],class:"tok-string2"},{tag:Z.variableName,class:"tok-variableName"},{tag:Z.local(Z.variableName),class:"tok-variableName tok-local"},{tag:Z.definition(Z.variableName),class:"tok-variableName tok-definition"},{tag:Z.special(Z.variableName),class:"tok-variableName2"},{tag:Z.definition(Z.propertyName),class:"tok-propertyName tok-definition"},{tag:Z.typeName,class:"tok-typeName"},{tag:Z.namespace,class:"tok-namespace"},{tag:Z.className,class:"tok-className"},{tag:Z.macroName,class:"tok-macroName"},{tag:Z.propertyName,class:"tok-propertyName"},{tag:Z.operator,class:"tok-operator"},{tag:Z.comment,class:"tok-comment"},{tag:Z.meta,class:"tok-meta"},{tag:Z.invalid,class:"tok-invalid"},{tag:Z.punctuation,class:"tok-punctuation"}]);var Eh,In=new de;function KD(t){return j.define({combine:t?e=>e.concat(t):void 0})}var jD=new de,Nt=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Se.prototype.hasOwnProperty("tree")||Object.defineProperty(Se.prototype,"tree",{get(){return Lt(this)}}),this.parser=a,this.extension=[Sn.of(this),Se.languageData.of((n,s,i)=>{let l=OC(n,s,i),u=l.type.prop(In);if(!u)return[];let d=n.facet(u),f=l.type.prop(jD);if(f){let c=l.resolve(s-l.from,i);for(let h of f)if(h.test(c,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return OC(e,a,o).type.prop(In)==this.data}findRegions(e){let a=e.facet(Sn);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(In)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(de.mounted);if(i){if(i.tree.prop(In)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof Be&&r(u,n.positions[l]+s)}};return r(Lt(e),0),o}get allowsNesting(){return!0}};Nt.setState=le.define();function OC(t,e,a){let o=t.facet(Sn),r=Lt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,He.ExcludeBuffers|He.EnterBracketed))n.type.isTop&&(r=n);return r}function Lt(t){let e=t.field(Nt.state,!1);return e?e.tree:Be.empty}var Nh=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},Fs=null,Ns=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],Be.empty,0,o,[],null)}startParse(){return this.parser.startParse(new Nh(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=Be.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(gr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(gr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=Fs;Fs=this;try{return e()}finally{Fs=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=FC(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,f,c)=>l.push({fromA:u,toA:d,fromB:f,toB:c})),o=gr.applyChanges(o,l),r=Be.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),f=e.mapPos(u.to,-1);d<f&&i.push({from:d,to:f})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=FC(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends Bs{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=Fs;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new Be(xt.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return Fs}};function FC(t,e,a){return gr.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var Hs=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=Ns.create(e.facet(Sn).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};Nt.state=Ne.define({create:Hs.init,update(t,e){for(let a of e.effects)if(a.is(Nt.setState))return a.value;return e.startState.facet(Sn)!=e.state.facet(Sn)?Hs.init(e.state):t.apply(e)}});var UC=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(UC=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var Bh=typeof navigator<"u"&&(!((Eh=navigator.scheduling)===null||Eh===void 0)&&Eh.isInputPending)?()=>navigator.scheduling.isInputPending():null,ZD=We.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 a=this.view.state.field(Nt.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(Nt.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=UC(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(Nt.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!Bh?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>Bh&&Bh()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Nt.setState.of(new Hs(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>rt(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Sn=j.define({combine(t){return t.length?t[0]:null},enables:t=>[Nt.state,ZD,J.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),ru=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var YD=j.define(),yr=j.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Ao(t){let e=t.facet(yr);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function qs(t,e){let a="",o=t.tabSize,r=t.facet(yr)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function Wh(t,e){t instanceof Se&&(t=new Cr(t));for(let o of t.state.facet(YD)){let r=o(t,e);if(r!==void 0)return r}let a=Lt(t.state);return a.length>=e?JD(t,a,e):null}var Cr=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=Ao(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return sr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},VC=new de;function JD(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return WC(o,t,a)}function WC(t,e,a){for(let o=t;o;o=o.next){let r=eR(o.node);if(r)return r(Hh.create(e,a,o))}return 0}function QD(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function eR(t){let e=t.type.prop(VC);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(de.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>rR(s,!0,1,void 0,n&&!QD(s)?r.from:void 0)}return t.parent==null?tR:null}function tR(){return 0}var Hh=class t extends Cr{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(aR(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return WC(this.context.next,this.base,this.pos)}};function aR(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function oR(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function rR(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?oR(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var nu=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=Vt.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof Nt?i=>i.prop(In)==s.data:s?i=>i==s:void 0,this.style=Th(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new Vt(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},_h=j.define(),GC=j.define({combine(t){return t.length?[t[0]]:null}});function Oh(t){let e=t.facet(_h);return e.length?e:t.facet(GC)}function $C(t,e){let a=[nR],o;return t instanceof nu&&(t.module&&a.push(J.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(GC.of(t)):o?a.push(_h.computeN([J.darkTheme],r=>r.facet(J.darkTheme)==(o=="dark")?[t]:[])):a.push(_h.of(t)),a}var qh=class{constructor(e){this.markCache=Object.create(null),this.tree=Lt(e.state),this.decorations=this.buildDeco(e,Oh(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=Lt(e.state),o=Oh(e.state),r=o!=Oh(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return fe.none;let o=new ra;for(let{from:r,to:n}of e.visibleRanges)BC(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=fe.mark({class:l})))},r,n);return o.finish()}},nR=na.high(We.fromClass(qh,{decorations:t=>t.decorations})),XC=nu.define([{tag:Z.meta,color:"#404740"},{tag:Z.link,textDecoration:"underline"},{tag:Z.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Z.emphasis,fontStyle:"italic"},{tag:Z.strong,fontWeight:"bold"},{tag:Z.strikethrough,textDecoration:"line-through"},{tag:Z.keyword,color:"#708"},{tag:[Z.atom,Z.bool,Z.url,Z.contentSeparator,Z.labelName],color:"#219"},{tag:[Z.literal,Z.inserted],color:"#164"},{tag:[Z.string,Z.deleted],color:"#a11"},{tag:[Z.regexp,Z.escape,Z.special(Z.string)],color:"#e40"},{tag:Z.definition(Z.variableName),color:"#00f"},{tag:Z.local(Z.variableName),color:"#30a"},{tag:[Z.typeName,Z.namespace],color:"#085"},{tag:Z.className,color:"#167"},{tag:[Z.special(Z.variableName),Z.macroName],color:"#256"},{tag:Z.definition(Z.propertyName),color:"#00c"},{tag:Z.comment,color:"#940"},{tag:Z.invalid,color:"#f00"}]),sR=J.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),KC=1e4,jC="()[]{}",ZC=j.define({combine(t){return At(t,{afterCursor:!0,brackets:jC,maxScanDistance:KC,renderMatch:uR})}}),iR=fe.mark({class:"cm-matchingBracket"}),lR=fe.mark({class:"cm-nonmatchingBracket"});function uR(t){let e=[],a=t.matched?iR:lR;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function NC(t){let e=[],a=t.facet(ZC);for(let o of t.selection.ranges){if(!o.empty)continue;let r=da(t,o.head,-1,a)||o.head>0&&da(t,o.head-1,1,a)||a.afterCursor&&(da(t,o.head,1,a)||o.head<t.doc.length&&da(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return fe.set(e,!0)}var dR=We.fromClass(class{constructor(t){this.paused=!1,this.decorations=NC(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=NC(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),fR=[dR,sR];function YC(t={}){return[ZC.of(t),fR]}var cR=new de;function zh(t,e,a){let o=t.prop(e<0?de.openedBy:de.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function Uh(t){let e=t.type.prop(cR);return e?e(t.node):t}function da(t,e,a,o={}){let r=o.maxScanDistance||KC,n=o.brackets||jC,s=Lt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=zh(l.type,a,n);if(u&&l.from<l.to){let d=Uh(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return hR(t,e,a,l,d,u,n)}}return pR(t,e,a,s,i.type,r,n)}function hR(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let f=Uh(d);return{start:l,end:f?{from:f.from,to:f.to}:void 0,matched:!0}}else if(zh(d.type,a,s))u++;else if(zh(d.type,-a,s)){if(u==0){let f=Uh(d);return{start:l,end:f&&f.from<f.to?{from:f.from,to:f.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function pR(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),f=0;for(let c=0;!d.next().done&&c<=n;){let h=d.value;a<0&&(c+=h.length);let p=e+c*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)f++;else{if(f==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};f--}}a>0&&(c+=h.length)}return d.done?{start:u,matched:!1}:null}function HC(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var su=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,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(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=HC(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:HC(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function mR(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||gR,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||$h,mergeTokens:t.mergeTokens!==!1}}function gR(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var _C=new WeakMap,iu=class t extends Nt{constructor(e){let a=KD(e.languageData),o=mR(e),r,n=new class extends Bs{createParse(s,i,l){return new Vh(r,s,i,l)}};super(a,n,[],e.name),this.topNode=yR(a,this),r=this,this.streamParser=o,this.stateAfter=new de({perNode:!0}),this.tokenTable=e.tokenTable?new lu(o.tokenTable):CR}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=_C.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=Gh(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,f=new su(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;f.pos<u-l.from;)QC(this.streamParser.token,f,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&_C.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function Gh(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof Be&&l<r&&Gh(t,i,l,o,r);if(u)return u}return null}function JC(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof Be){if(!(l=JC(t,i,a-s,o-s,r)))break;return r?new Be(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function xR(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&Gh(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=JC(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?Ao(r):4),tree:Be.empty}}var Vh=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=Ns.get(),s=r[0].from,{state:i,tree:l}=xR(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(Ao(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ns.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
|
|
19
19
|
`&&(a="");else{let o=a.indexOf(`
|
|
20
|
-
`);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new su(a,e?e.state.tabSize:4,e?ko(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=YC(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Be.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:xR,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Be(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Be(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function YC(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var $h=Object.create(null),_s=[xt.none],xR=new Jl(_s),HC=[],_C=Object.create(null),JC=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"]])JC[t]=QC($h,e);var lu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),JC)}resolve(e){return e?this.table[e]||(this.table[e]=QC(this.extra,e)):0}},LR=new lu($h);function Fh(t,e){HC.indexOf(t)>-1||(HC.push(t),console.warn(e))}function QC(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||Z[u];d?typeof d=="function"?l.length?l=l.map(d):Fh(u,`Modifier ${u} used at start of tag`):l.length?Fh(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:Fh(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=_C[r];if(n)return n.id;let s=_C[r]=xt.define({id:_s.length,name:o,props:[DC({[o]:a})]});return _s.push(s),s.id}function CR(t,e){let a=xt.define({id:_s.length,name:"Document",props:[In.add(()=>t),zC.add(()=>o=>e.getIndent(o))],top:!0});return _s.push(a),a}var OG={rtl:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:be.RTL}),ltr:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:be.LTR}),auto:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var yR=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=Qh(t.state,a.from);return o.line?wR(t):o.block?IR(t):!1};function Jh(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var wR=Jh(kR,0);var bR=Jh(l0,0);var IR=Jh((t,e)=>l0(t,e,vR(e)),0);function Qh(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var zs=50;function SR(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-zs,o),s=t.sliceDoc(r,r+zs),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,f;r-o<=2*zs?d=f=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+zs),f=t.sliceDoc(r-zs,r));let c=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,p=f.length-h-a.length;return d.slice(c,c+e.length)==e&&f.slice(p,p+a.length)==a?{open:{pos:o+c+e.length,margin:/\s/.test(d.charAt(c+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function vR(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function l0(t,e,a=e.selection.ranges){let o=a.map(n=>Qh(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>SR(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function kR(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let f=e.doc.lineAt(d);if(u==null&&(u=Qh(e,f.from).line,!u))continue e;if(f.from>r&&(n==s||s>f.from)){r=f.from;let c=/^\s*/.exec(f.text)[0].length,h=c==f.length,p=f.text.slice(c,c+u.length)==u?c:-1;c<f.text.length&&c<l&&(l=c),o.push({line:f,comment:p,token:u,indent:c,empty:h,single:!1})}d=f.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:f}of o)(f||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var Kh=St.define(),AR=St.define(),MR=j.define(),u0=j.define({combine(t){return kt(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),d0=Ne.define({create(){return wr.empty},update(t,e){let a=e.state.facet(u0),o=e.annotation(Kh);if(o){let l=fa.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=du(d,d.length,a.minDepth,l):d=p0(d,e.startState.selection),new wr(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(AR);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Ze.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=fa.fromTransaction(e),s=e.annotation(Ze.time),i=e.annotation(Ze.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new wr(t.done.map(fa.fromJSON),t.undone.map(fa.fromJSON))}});function f0(t={}){return[d0,u0.of(t),J.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?c0:e.inputType=="historyRedo"?jh:null;return o?(e.preventDefault(),o(a)):!1}})]}function fu(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field(d0,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var c0=fu(0,!1),jh=fu(1,!1),PR=fu(0,!0),DR=fu(1,!0);var fa=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&mt.fromJSON(e.changes),[],e.mapped&&Za.fromJSON(e.mapped),e.startSelection&&V.fromJSON(e.startSelection),e.selectionsAfter.map(V.fromJSON))}static fromTransaction(e,a){let o=Kt;for(let r of e.startState.facet(MR)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,Kt)}static selection(e){return new t(void 0,Kt,void 0,void 0,e)}};function du(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function RR(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function TR(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function h0(t,e){return t.length?e.length?t.concat(e):t:e}var Kt=[],ER=200;function p0(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-ER));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),du(t,t.length-1,1e9,a.setSelAfter(o)))}else return[fa.selection([e])]}function BR(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function Xh(t,e){if(!t.length)return t;let a=t.length,o=Kt;for(;a;){let r=OR(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[fa.selection(o)]:Kt}function OR(t,e,a){let o=h0(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):Kt,a);if(!t.changes)return fa.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new fa(r,le.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var FR=/^(input\.type|delete)($|\.)/,wr=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||FR.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,RR(i.changes,e.changes))||o=="input.type.compose")?s=du(s,s.length-1,r.minDepth,new fa(e.changes.compose(i.changes),h0(le.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,Kt)):s=du(s,s.length,r.minDepth,e),new t(s,Kt,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:Kt;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&TR(n[n.length-1],e)?this:new t(p0(this.done,e),this.undone,a,o)}addMapping(e){return new t(Xh(this.done,e),Xh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:Kh.of({side:e,rest:BR(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?Kt:r.slice(0,r.length-1);return n.mapped&&(i=Xh(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:Kh.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};wr.empty=new wr(Kt,Kt);var m0=[{key:"Mod-z",run:c0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:jh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:jh,preventDefault:!0},{key:"Mod-u",run:PR,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:DR,preventDefault:!0}];function vn(t,e){return V.create(t.ranges.map(e),t.mainIndex)}function ca(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function ha({state:t,dispatch:e},a){let o=vn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(ca(t,o)),!0)}function cu(t,e){return V.cursor(e?t.to:t.from)}function g0(t,e){return ha(t,a=>a.empty?t.moveByChar(a,e):cu(a,e))}function ft(t){return t.textDirectionAt(t.state.selection.main.head)==be.LTR}var x0=t=>g0(t,!ft(t)),L0=t=>g0(t,ft(t));function C0(t,e){return ha(t,a=>a.empty?t.moveByGroup(a,e):cu(a,e))}var NR=t=>C0(t,!ft(t)),HR=t=>C0(t,ft(t));var WG=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function _R(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function hu(t,e,a){let o=Lt(t).resolveInner(e.head),r=a?de.closedBy:de.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;_R(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?da(t,o.from,1):da(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,V.cursor(i,a?-1:1)}var qR=t=>ha(t,e=>hu(t.state,e,!ft(t))),zR=t=>ha(t,e=>hu(t.state,e,ft(t)));function y0(t,e){return ha(t,a=>{if(!a.empty)return cu(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var w0=t=>y0(t,!1),b0=t=>y0(t,!0);function I0(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(J.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function S0(t,e){let a=I0(t),{state:o}=t,r=vn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):cu(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=J.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(ca(o,r),{effects:n}),!0}var e0=t=>S0(t,!1),Zh=t=>S0(t,!0);function Ao(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=V.cursor(o.from+n))}return r}var UR=t=>ha(t,e=>Ao(t,e,!0)),VR=t=>ha(t,e=>Ao(t,e,!1)),WR=t=>ha(t,e=>Ao(t,e,!ft(t))),GR=t=>ha(t,e=>Ao(t,e,ft(t))),$R=t=>ha(t,e=>V.cursor(t.lineBlockAt(e.head).from,1)),XR=t=>ha(t,e=>V.cursor(t.lineBlockAt(e.head).to,-1));function KR(t,e,a){let o=!1,r=vn(t.selection,n=>{let s=da(t,n.head,-1)||da(t,n.head,1)||n.head>0&&da(t,n.head-1,1)||n.head<t.doc.length&&da(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?V.range(n.anchor,i):V.cursor(i)});return o?(e(ca(t,r)),!0):!1}var jR=({state:t,dispatch:e})=>KR(t,e,!1);function jt(t,e){let a=vn(t.state.selection,o=>{let r=e(o);return V.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(ca(t.state,a)),!0)}function v0(t,e){return jt(t,a=>t.moveByChar(a,e))}var k0=t=>v0(t,!ft(t)),A0=t=>v0(t,ft(t));function M0(t,e){return jt(t,a=>t.moveByGroup(a,e))}var ZR=t=>M0(t,!ft(t)),YR=t=>M0(t,ft(t));var JR=t=>jt(t,e=>hu(t.state,e,!ft(t))),QR=t=>jt(t,e=>hu(t.state,e,ft(t)));function P0(t,e){return jt(t,a=>t.moveVertically(a,e))}var D0=t=>P0(t,!1),R0=t=>P0(t,!0);function T0(t,e){return jt(t,a=>t.moveVertically(a,e,I0(t).height))}var t0=t=>T0(t,!1),a0=t=>T0(t,!0),eT=t=>jt(t,e=>Ao(t,e,!0)),tT=t=>jt(t,e=>Ao(t,e,!1)),aT=t=>jt(t,e=>Ao(t,e,!ft(t))),oT=t=>jt(t,e=>Ao(t,e,ft(t))),rT=t=>jt(t,e=>V.cursor(t.lineBlockAt(e.head).from)),nT=t=>jt(t,e=>V.cursor(t.lineBlockAt(e.head).to)),o0=({state:t,dispatch:e})=>(e(ca(t,{anchor:0})),!0),r0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.doc.length})),!0),n0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:0})),!0),s0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),sT=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),iT=({state:t,dispatch:e})=>{let a=pu(t).map(({from:o,to:r})=>V.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:V.create(a),userEvent:"select"})),!0},lT=({state:t,dispatch:e})=>{let a=vn(t.selection,o=>{let r=Lt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return V.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(ca(t,a)),!0)};function E0(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(ca(a,V.create(r,r.length-1))),!0)}var uT=t=>E0(t,!1),dT=t=>E0(t,!0),fT=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=V.create([a.main]):a.main.empty||(o=V.create([V.cursor(a.main.head)])),o?(e(ca(t,o)),!0):!1};function Us(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=uu(t,l,!1)):l>s&&(a="delete.forward",l=uu(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=uu(t,s,!1),i=uu(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:V.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?J.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function uu(t,e,a){if(t instanceof J)for(let o of t.state.facet(J.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var B0=(t,e,a)=>Us(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=sr(i,n.tabSize),d=u%ko(n)||ko(n);for(let f=0;f<d&&i[i.length-1-f]==" ";f++)r--;l=r}else l=Ve(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=Ve(s.text,l-s.from,!1,!1)+s.from);return l}),Yh=t=>B0(t,!1,!0);var O0=t=>B0(t,!0,!1),F0=(t,e)=>Us(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=Ve(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),N0=t=>F0(t,!1),cT=t=>F0(t,!0);var hT=t=>Us(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var pT=t=>Us(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),mT=t=>Us(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var gT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:me.of(["",""])},range:V.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},xT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:Ve(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:Ve(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:V.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function pu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function H0(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of pu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(V.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(V.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:V.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var LT=({state:t,dispatch:e})=>H0(t,e,!1),CT=({state:t,dispatch:e})=>H0(t,e,!0);function _0(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of pu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var yT=({state:t,dispatch:e})=>_0(t,e,!1),wT=({state:t,dispatch:e})=>_0(t,e,!0),bT=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(pu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=vn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function IT(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=Lt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(de.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var i0=q0(!1),ST=q0(!0);function q0(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&IT(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new Cr(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=Wh(u,n);for(d==null&&(d=sr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let f=["",qs(e,d)];return l&&f.push(qs(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:me.of(f)},range:V.cursor(n+1+f[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function ep(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:V.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var vT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new Cr(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=ep(t,(n,s,i)=>{let l=Wh(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=qs(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},z0=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(ep(t,(a,o)=>{o.push({from:a.from,insert:t.facet(yr)})}),{userEvent:"input.indent"})),!0),U0=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(ep(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=sr(r,t.tabSize),s=0,i=qs(t,Math.max(0,n-ko(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),kT=t=>(t.setTabFocusMode(),!0);var AT=[{key:"Ctrl-b",run:x0,shift:k0,preventDefault:!0},{key:"Ctrl-f",run:L0,shift:A0},{key:"Ctrl-p",run:w0,shift:D0},{key:"Ctrl-n",run:b0,shift:R0},{key:"Ctrl-a",run:$R,shift:rT},{key:"Ctrl-e",run:XR,shift:nT},{key:"Ctrl-d",run:O0},{key:"Ctrl-h",run:Yh},{key:"Ctrl-k",run:hT},{key:"Ctrl-Alt-h",run:N0},{key:"Ctrl-o",run:gT},{key:"Ctrl-t",run:xT},{key:"Ctrl-v",run:Zh}],MT=[{key:"ArrowLeft",run:x0,shift:k0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:NR,shift:ZR,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:WR,shift:aT,preventDefault:!0},{key:"ArrowRight",run:L0,shift:A0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:HR,shift:YR,preventDefault:!0},{mac:"Cmd-ArrowRight",run:GR,shift:oT,preventDefault:!0},{key:"ArrowUp",run:w0,shift:D0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:o0,shift:n0},{mac:"Ctrl-ArrowUp",run:e0,shift:t0},{key:"ArrowDown",run:b0,shift:R0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:r0,shift:s0},{mac:"Ctrl-ArrowDown",run:Zh,shift:a0},{key:"PageUp",run:e0,shift:t0},{key:"PageDown",run:Zh,shift:a0},{key:"Home",run:VR,shift:tT,preventDefault:!0},{key:"Mod-Home",run:o0,shift:n0},{key:"End",run:UR,shift:eT,preventDefault:!0},{key:"Mod-End",run:r0,shift:s0},{key:"Enter",run:i0,shift:i0},{key:"Mod-a",run:sT},{key:"Backspace",run:Yh,shift:Yh,preventDefault:!0},{key:"Delete",run:O0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:N0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:cT,preventDefault:!0},{mac:"Mod-Backspace",run:pT,preventDefault:!0},{mac:"Mod-Delete",run:mT,preventDefault:!0}].concat(AT.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),V0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:qR,shift:JR},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:zR,shift:QR},{key:"Alt-ArrowUp",run:LT},{key:"Shift-Alt-ArrowUp",run:yT},{key:"Alt-ArrowDown",run:CT},{key:"Shift-Alt-ArrowDown",run:wT},{key:"Mod-Alt-ArrowUp",run:uT},{key:"Mod-Alt-ArrowDown",run:dT},{key:"Escape",run:fT},{key:"Mod-Enter",run:ST},{key:"Alt-l",mac:"Ctrl-l",run:iT},{key:"Mod-i",run:lT,preventDefault:!0},{key:"Mod-[",run:U0},{key:"Mod-]",run:z0},{key:"Mod-Alt-\\",run:vT},{key:"Shift-Mod-k",run:bT},{key:"Shift-Mod-\\",run:jR},{key:"Mod-/",run:yR},{key:"Alt-A",run:bR},{key:"Ctrl-m",mac:"Shift-Alt-m",run:kT}].concat(MT),W0={key:"Tab",run:z0,shift:U0};var xu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},br=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(Vs).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new ra,i=[],l=0,u=o.doc.iter(),d=0,f=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((L,y)=>Math.min(L,y.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>f)break;g=p.to,i.push(p),h++}for(;h<n.length;){let L=n[h];if(L.from==m&&(L.to>L.from||L.to==m))i.push(L),h++,g=Math.min(L.to,g);else{g=Math.min(L.from,g);break}}g=Math.min(g,f);let x=!1;if(i.some(L=>L.from==m&&(L.to==g||g==f))&&(x=m==g,!x&&g-m<10)){let L=m-(d+u.value.length);L>0&&(u.next(L),d=m);for(let y=m;;){if(y>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>y)break;y=d+u.value.length,d+=u.value.length,u.next()}}let C=ey(i);if(x)s.add(m,m,fe.widget({widget:new tp(C),diagnostics:i.slice()}));else{let L=i.reduce((y,S)=>S.markClass?y+" "+S.markClass:y,"");s.add(m,g,fe.mark({class:"cm-lintRange cm-lintRange-"+C+L,diagnostics:i.slice(),inclusiveEnd:i.some(y=>y.to>g)}))}if(l=g,l==f)break;for(let L=0;L<i.length;L++)i[L].to<=l&&i.splice(L--,1)}let c=s.finish();return new t(c,a,kn(c))}};function kn(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new xu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new xu(o.from,n,o.diagnostic)}}),o}function X0(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(Vs).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(wu))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function PT(t,e){return t.field(pa,!1)?e:e.concat(le.appendConfig.of(qT))}function K0(t,e){return{effects:PT(t,[wu.of(e)])}}var wu=le.define(),j0=le.define(),Z0=le.define(),pa=Ne.define({create(){return new br(fe.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=kn(a,t.selected.diagnostic,n)||kn(a,null,n)}!a.size&&r&&e.state.facet(Vs).autoPanel&&(r=null),t=new br(a,r,o)}for(let a of e.effects)if(a.is(wu)){let o=e.state.facet(Vs).autoPanel?a.value.length?Cu.open:null:t.panel;t=br.init(a.value,o,e.state)}else a.is(j0)?t=new br(t.diagnostics,a.value?Cu.open:null,t.selected):a.is(Z0)&&(t=new br(t.diagnostics,t.panel,a.value));return t},provide:t=>[hr.from(t,e=>e.panel),J.decorations.from(t,e=>e.diagnostics)]});var DT=fe.mark({class:"cm-lintRange cm-lintRange-active"});function RT(t,e,a){let{diagnostics:o}=t.state.field(pa),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(Vs).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:Y0(t,r)}}}:null}function Y0(t,e){return ye("ul",{class:"cm-tooltip-lint"},e.map(a=>Q0(t,a,!1)))}var G0=t=>{let e=t.state.field(pa,!1);return!e||!e.panel?!1:(t.dispatch({effects:j0.of(!1)}),!0)};var Vs=j.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...kt(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:$0,tooltipFilter:$0,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function $0(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function J0(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function Q0(t,e,a){var o;let r=a?J0(e.actions):[];return ye("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ye("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=kn(t.state.field(pa).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,f=d<0?u:[u.slice(0,d),ye("u",u.slice(d,d+1)),u.slice(d+1)],c=n.markClass?" "+n.markClass:"";return ye("button",{type:"button",class:"cm-diagnosticAction"+c,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},f)}),e.source&&ye("div",{class:"cm-diagnosticSource"},e.source))}var tp=class extends Aa{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ye("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Lu=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Q0(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Cu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)G0(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=J0(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=kn(this.view.state.field(pa).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=ye("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=ye("div",{class:"cm-panel-lint"},this.list,ye("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>G0(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(pa).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(pa),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let f=-1,c;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(c=new Lu(this.view,d),this.items.splice(o,0,c),r=!0):(c=this.items[f],f>o&&(this.items.splice(o,f-o),r=!0)),a&&c.diagnostic==a.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),n=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Lu(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(pa),o=kn(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:Z0.of(o)})}static open(e){return new t(e)}};function gu(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function mu(t){return gu(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var TT=J.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:mu("#f11")},".cm-lintRange-warning":{backgroundImage:mu("orange")},".cm-lintRange-info":{backgroundImage:mu("#999")},".cm-lintRange-hint":{backgroundImage:mu("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function ET(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function ey(t){let e="hint",a=1;for(let o of t){let r=ET(o.severity);r>a&&(a=r,e=o.severity)}return e}var yu=class extends Xt{constructor(e){super(),this.diagnostics=e,this.severity=ey(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(bu).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>OT(e,a,o)),a}};function BT(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(ty)&&t.dispatch({effects:op.of(null)})}};window.addEventListener("mousemove",a)}function OT(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:op.of({pos:s.from,above:!1,clip:!1,create(){return{dom:Y0(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,BT(t,e)}let{hoverTime:r}=t.state.facet(bu),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function FT(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new yu(a[r]).range(+r));return Le.of(o,!0)}var NT=wh({class:"cm-gutter-lint",markers:t=>t.state.field(ap),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(ap).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new yu(o):null}}),ap=Ne.define({create(){return Le.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(bu).markerFilter;for(let o of e.effects)if(o.is(wu)){let r=o.value;a&&(r=a(r||[],e.state)),t=FT(e.state.doc,r.slice(0))}return t}}),op=le.define(),ty=Ne.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=X0(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(op)?o.value:a,t)},provide:t=>bn.from(t)}),HT=J.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:gu('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:gu('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:gu('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),_T=Kl(RT,{hideOn:X0}),qT=[pa,J.decorations.compute([pa],t=>{let{selected:e,panel:a}=t.field(pa);return!e||!a||e.from==e.to?fe.none:fe.set([DT.range(e.from,e.to)])}),_T,TT],bu=j.define({combine(t){return kt(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function ay(t={}){return[bu.of(t),ap,NT,HT,ty]}var oy=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Ir=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(oy(i)):oy,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return vt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=hs(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=Ut(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Ir.prototype[Symbol.iterator]=function(){return this});var ny={from:-1,to:-1,match:/.*/.exec(""),precise:!0},up="gm"+(/x/.unicode==null?"":"u"),vu=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=ny,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Au(e,a,o,r,n);this.re=new RegExp(a,up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=Mu(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=Mu(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},rp=new WeakMap,ku=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=rp.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return rp.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),rp.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Au=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=ny,this.matchPos=Mu(e,r),this.re=new RegExp(a,up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=ku.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=Mu(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ku.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(vu.prototype[Symbol.iterator]=Au.prototype[Symbol.iterator]=function(){return this});function zT(t){try{return new RegExp(t,up),!0}catch{return!1}}function Mu(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var UT=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=LC(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,f]=s,c=d?+d.slice(1):0,h=u?+u:i.number;if(u&&f){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=V.cursor(p.from+Math.max(0,Math.min(c,p.length)));t.dispatch({effects:[o,J.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var VT=({state:t,dispatch:e})=>{let{selection:a}=t,o=V.create(a.ranges.map(r=>t.wordAt(r.head)||V.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function WT(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Ir(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Ir(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var GT=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return VT({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=WT(t,o);return r?(e(t.update({selection:t.selection.addRange(V.range(r.from,r.to),!1),effects:J.scrollIntoView(r.to)})),!0):!1},Pn=j.define({combine(t){return kt(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new lp(e),scrollToMatch:e=>J.scrollIntoView(e)})}});var Pu=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||zT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
|
|
21
|
-
`:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new sp(this):new np(this)}getCursor(e,a=0,o){let r=e.doc?e:Se.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?Mn(this,r,a,o):An(this,r,a,o)}},Du=class{constructor(e){this.spec=e}};function $T(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function An(t,e,a,o){let r;return t.wholeWord&&(r=XT(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=$T(t.test,e,r)),new Ir(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function XT(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e(Ru(r,a-n))!=Te.Word||e(Tu(r,a-n))!=Te.Word)&&(e(Tu(r,o-n))!=Te.Word||e(Ru(r,o-n))!=Te.Word))}var np=class extends Du{constructor(e){super(e)}nextMatch(e,a,o){let r=An(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=An(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=An(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=An(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=An(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function KT(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function Mn(t,e,a,o){let r;return t.wholeWord&&(r=jT(e.charCategorizer(e.selection.main.head))),t.test&&(r=KT(t.test,e,r)),new vu(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function Ru(t,e){return t.slice(Ve(t,e,!1),e)}function Tu(t,e){return t.slice(e,Ve(t,e))}function jT(t){return(e,a,o)=>!o[0].length||(t(Ru(o.input,o.index))!=Te.Word||t(Tu(o.input,o.index))!=Te.Word)&&(t(Tu(o.input,o.index+o[0].length))!=Te.Word||t(Ru(o.input,o.index+o[0].length))!=Te.Word)}var sp=class extends Du{nextMatch(e,a,o){let r=Mn(this.spec,e,o,e.doc.length).next();return r.done&&(r=Mn(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=Mn(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=Mn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Mn(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},Gs=le.define(),dp=le.define(),Mo=Ne.define({create(t){return new Ws(ip(t).create(),null)},update(t,e){for(let a of e.effects)a.is(Gs)?t=new Ws(a.value.create(),t.panel):a.is(dp)&&(t=new Ws(t.query,a.value?fp:null));return t},provide:t=>hr.from(t,e=>e.panel)});var Ws=class{constructor(e,a){this.query=e,this.panel=a}},ZT=fe.mark({class:"cm-searchMatch"}),YT=fe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),JT=We.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Mo))}update(t){let e=t.state.field(Mo);(e!=t.startState.field(Mo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return fe.none;let{view:a}=this,o=new ra;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let f=a.state.selection.ranges.some(c=>c.from==u&&c.to==d);o.add(u,d,f?YT:ZT)})}return o.finish()}},{decorations:t=>t.decorations});function $s(t){return e=>{let a=e.state.field(Mo,!1);return a&&a.query.spec.valid?t(e,a):ly(e)}}var Eu=$s((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=V.single(o.from,o.to),n=t.state.facet(Pn);return t.dispatch({selection:r,effects:[cp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),iy(t),!0}),Bu=$s((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=V.single(r.from,r.to),s=t.state.facet(Pn);return t.dispatch({selection:n,effects:[cp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),iy(t),!0}),QT=$s((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:V.create(a.map(o=>V.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),eE=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Ir(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(V.range(i.value.from,i.value.to))}return e(t.update({selection:V.create(n,s),userEvent:"select.search.matches"})),!0},ry=$s((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(J.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let f=t.state.changes(i);return s&&(l=V.single(s.from,s.to).map(f),d.push(cp(t,s)),d.push(a.facet(Pn).scrollToMatch(l.main,t))),t.dispatch({changes:f,selection:l,effects:d,userEvent:"input.replace"}),!0}),tE=$s((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:J.announce.of(o),userEvent:"input.replace.all"}),!0});function fp(t){return t.state.facet(Pn).createPanel(t)}function ip(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(Pn);return new Pu({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function sy(t){let e=jl(t,fp);return e&&e.dom.querySelector("[main-field]")}function iy(t){let e=sy(t);e&&e==t.root.activeElement&&e.select()}var ly=t=>{let e=t.state.field(Mo,!1);if(e&&e.panel){let a=sy(t);if(a&&a!=t.root.activeElement){let o=ip(t.state,e.query.spec);o.valid&&t.dispatch({effects:Gs.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[dp.of(!0),e?Gs.of(ip(t.state,e.query.spec)):le.appendConfig.of(oE)]});return!0},uy=t=>{let e=t.state.field(Mo,!1);if(!e||!e.panel)return!1;let a=jl(t,fp);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:dp.of(!1)}),!0},dy=[{key:"Mod-f",run:ly,scope:"editor search-panel"},{key:"F3",run:Eu,shift:Bu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Eu,shift:Bu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:uy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:eE},{key:"Mod-Alt-g",run:UT},{key:"Mod-d",run:GT,preventDefault:!0}],lp=class{constructor(e){this.view=e;let a=this.query=e.state.field(Mo).query.spec;this.commit=this.commit.bind(this),this.searchField=ye("input",{value:a.search,placeholder:Ht(e,"Find"),"aria-label":Ht(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ye("input",{value:a.replace,placeholder:Ht(e,"Replace"),"aria-label":Ht(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ye("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=ye("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=ye("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return ye("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=ye("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>Eu(e),[Ht(e,"next")]),o("prev",()=>Bu(e),[Ht(e,"previous")]),o("select",()=>QT(e),[Ht(e,"all")]),ye("label",null,[this.caseField,Ht(e,"match case")]),ye("label",null,[this.reField,Ht(e,"regexp")]),ye("label",null,[this.wordField,Ht(e,"by word")]),...e.state.readOnly?[]:[ye("br"),this.replaceField,o("replace",()=>ry(e),[Ht(e,"replace")]),o("replaceAll",()=>tE(e),[Ht(e,"replace all")])],ye("button",{name:"close",onclick:()=>uy(e),"aria-label":Ht(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Pu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Gs.of(e)}))}keydown(e){dC(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Bu:Eu)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),ry(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(Gs)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Pn).top}};function Ht(t,e){return t.state.phrase(e)}var Iu=30,Su=/[\s\.,:;?!]/;function cp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-Iu),s=Math.min(r,a+Iu),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<Iu;l++)if(!Su.test(i[l+1])&&Su.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-Iu;l--)if(!Su.test(i[l-1])&&Su.test(i[l])){i=i.slice(0,l);break}}return J.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var aE=J.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),oE=[Mo,na.low(JT),aE];var Fu=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=Lt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(Ly(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function fy(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function rE(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=fy(e)+fy(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function nE(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:rE(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var Nu=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function vr(t){return t.selection.main.from}function Ly(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var Cy=St.define();function sE(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:V.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var cy=new WeakMap;function iE(t){if(!Array.isArray(t))return t;let e=cy.get(t);return e||cy.set(t,e=nE(t)),e}var Hu=le.define(),Xs=le.define(),gp=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=vt(e,a),r=Ut(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(vt(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let C=vt(e,0),L=Ut(C),y=L==e.length?0:-100;if(C!=a[0])if(C==o[0])y+=-200;else return null;return this.ret(y,[0,L])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let C=0,L=Math.min(e.length,200);C<L&&u<l;){let y=vt(e,C);(y==a[u]||y==o[u])&&(r[u++]=C),C+=Ut(y)}if(u<l)return null}let d=0,f=0,c=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let C=0,L=Math.min(e.length,200),y=0;C<L&&f<l;){let S=vt(e,C);i<0&&(d<l&&S==a[d]&&(n[d++]=C),h<l&&(S==a[h]||S==o[h]?(h==0&&(p=C),m=C+1,h++):h=0));let w,b=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(w=hs(S))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!C||b==1&&g||y==0&&b!=0)&&(a[f]==S||o[f]==S&&(c=!0)?s[f++]=C:s.length&&(x=!1)),y=b,C+=Ut(S)}return f==l&&s[0]==0&&x?this.result(-100+(c?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):f==l?this.result(-100+(c?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?Ut(vt(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},xp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},et=j.define({combine(t){return kt(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:lE,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>hy(e(o),a(o)),optionClass:(e,a)=>o=>hy(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function hy(t,e){return t?e?t+" "+e:t:e}function lE(t,e,a,o,r,n){let s=t.textDirection==be.RTL,i=s,l=!1,u="top",d,f,c=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&c<Math.min(p,h)?i=!1:!i&&h<Math.min(p,c)&&(i=!0),p<=(i?c:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,f=Math.min(400,i?c:h);else{l=!0,f=Math.min(400,(s?e.right:r.right-e.left)-30);let C=r.bottom-e.bottom;C>=m||C>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${f/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var bp=le.define();function uE(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],f=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let c=s.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(i.slice(d,f))),c.className="cm-completionMatchedText",l=f}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function hp(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var Lp=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(et);this.optionContent=uE(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=hp(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]<u.length){this.applyCompletion(e,u[+f[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:bp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(et).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Xs.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=hp(n.length,s,e.state.facet(et).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=hp(a.options.length,a.selected,this.view.state.facet(et).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>rt(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&fE(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(et).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let c=typeof u=="string"?u:u.name;if(c!=n&&(s>o.from||o.from==0))if(n=c,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=c}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let f=this.optionClass(i);f&&(d.className=f);for(let c of this.optionContent){let h=c(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function dE(t,e){return a=>new Lp(a,t,e)}function fE(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function py(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function cE(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:f}=d.completion;if(f){o||(o=[]);let c=typeof f=="string"?f:f.name;o.some(h=>h.name==c)||o.push(typeof f=="string"?{name:c}:f)}},s=e.facet(et);for(let d of t)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let c of d.result.options)n(new Nu(c,d.source,f?f(c):[],1e9-a.length));else{let c=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new xp(c):new gp(c);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?f?f(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new Nu(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:C}=m.section;r||(r=Object.create(null)),r[C]=Math.max(x,r[C]||-1e9)}}}}if(o){let d=Object.create(null),f=0,c=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(c))f-=1e5,d[h.name]=f;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((f,c)=>c.score-f.score||u(f.completion,c.completion))){let f=d.completion;!l||l.label!=f.label||l.detail!=f.detail||l.type!=null&&f.type!=null&&l.type!=f.type||l.apply!=f.apply||l.boost!=f.boost?i.push(d):py(d.completion)>py(l)&&(i[i.length-1]=d),l=d.completion}return i}var Cp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,my(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=cE(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(et).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,my(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:LE,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},yp=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(gE,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(et),n=(o.override||a.languageDataAt("autocomplete",vr(a)).map(iE)).map(l=>(this.active.find(d=>d.source==l)||new to(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(Ip));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!hE(n,this.active)||i?s=Cp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new to(l.source,0):l));for(let l of e.effects)l.is(bp)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?pE:mE}};function hE(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var pE={"aria-autocomplete":"list"},mE={};function my(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var gE=[];function yy(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(Cy);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var to=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=yy(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(Hu))r=new t(r.source,1,n.value);else if(n.is(Xs))r=new t(r.source,0);else if(n.is(Ip))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(vr(e.state))}},_u=class t extends to{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=vr(e.state);if(i>s||!r||a&2&&(vr(e.startState)==this.from||i<this.limit))return new to(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return xE(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new Fu(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:vr(e.state)):new to(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new to(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function xE(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):Ly(t,!0).test(r)}var Ip=le.define({map(t,e){return t.map(a=>a.map(e))}}),Pt=Ne.define({create(){return yp.start()},update(t,e){return t.update(e)},provide:t=>[bn.from(t,e=>e.tooltip),J.contentAttributes.from(t,e=>e.attrs)]});function Sp(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(Pt).active.find(r=>r.source==e.source);return o instanceof _u?(typeof a=="string"?t.dispatch({...sE(t.state,a,o.from,o.to),annotations:Cy.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var LE=dE(Pt,Sp);function Ou(t,e="option"){return a=>{let o=a.state.field(Pt,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(et).interactionDelay)return!1;let r=1,n;e=="page"&&(n=yh(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:bp.of(i)}),!0}}var CE=t=>{let e=t.state.field(Pt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(et).interactionDelay?!1:Sp(t,e.open.options[e.open.selected])},pp=t=>t.state.field(Pt,!1)?(t.dispatch({effects:Hu.of(!0)}),!0):!1,yE=t=>{let e=t.state.field(Pt,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:Xs.of(null)}),!0)},wp=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},wE=50,bE=1e3,IE=We.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Pt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Pt),a=t.state.facet(et);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Pt)==e)return;let o=t.transactions.some(n=>{let s=yy(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>wE&&Date.now()-s.time>bE){for(let i of s.context.abortListeners)try{i()}catch(l){rt(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(Hu)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Pt);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(et).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=vr(e),o=new Fu(e,a,t.explicit,this.view),r=new wp(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:Xs.of(null)}),rt(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(et).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(et),o=this.view.state.field(Pt);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=vr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new _u(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new to(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:Ip.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Pt,!1);if(e&&e.tooltip&&this.view.state.facet(et).closeOnBlur){let a=e.open&&yh(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Xs.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Hu.of(!1)}),20),this.composing=0}}}),SE=typeof navigator=="object"&&/Win/.test(navigator.platform),vE=na.highest(J.domEventHandlers({keydown(t,e){let a=e.state.field(Pt,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(SE&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&Sp(e,o),!1}})),kE=J.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var qu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Sr=le.define({map(t,e){let a=e.mapPos(t,-1,ot.TrackAfter);return a??void 0}}),vp=new class extends zt{};vp.startSide=1;vp.endSide=-1;var wy=Ne.define({create(){return Le.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(Sr)&&(t=t.update({add:[vp.range(a.value,a.value+1)]}));return t}});function by(){return[DE,wy]}var mp="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function AE(t){for(let e=0;e<mp.length;e+=2)if(mp.charCodeAt(e)==t)return mp.charAt(e+1);return hs(t<128?t:t+1)}function ME(t,e){return t.languageDataAt("closeBrackets",e)[0]||qu}var PE=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),DE=J.inputHandler.of((t,e,a,o)=>{if((PE?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&Ut(vt(o,0))==1||e!=r.from||a!=r.to)return!1;let n=RE(t.state,o);return n?(t.dispatch(n),!0):!1});function RE(t,e){let a=ME(t,t.selection.main.head),o=a.brackets||qu.brackets;for(let r of o){let n=AE(vt(r,0));if(e==r)return n==r?BE(t,r,o.indexOf(r+r+r)>-1,a):TE(t,r,n,a.before||qu.before);if(e==n&&Iy(t,t.selection.main.from))return EE(t,r,n)}return null}function Iy(t,e){let a=!1;return t.field(wy).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function kp(t,e){let a=t.sliceString(e,e+2);return a.slice(0,Ut(vt(a,0)))}function TE(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:Sr.of(s.to+e.length),range:V.range(s.anchor+e.length,s.head+e.length)};let i=kp(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:Sr.of(s.head+e.length),range:V.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function EE(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&kp(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:V.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function BE(t,e,a,o){let r=o.stringPrefixes||qu.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:Sr.of(i.to+e.length),range:V.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=kp(t.doc,l),d;if(u==e){if(gy(t,l))return{changes:{insert:e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)};if(Iy(t,l)){let c=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+c.length,insert:c},range:V.cursor(l+c.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=xy(t,l-2*e.length,r))>-1&&gy(t,d))return{changes:{insert:e+e+e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=Te.Word&&xy(t,l,r)>-1&&!OE(t,l,e,r))return{changes:{insert:e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function gy(t,e){let a=Lt(t).resolveInner(e+1);return a.parent&&a.from==e}function OE(t,e,a,o){let r=Lt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function xy(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=Te.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=Te.Word)return n}return-1}function Sy(t={}){return[vE,Pt,et.of(t),IE,FE,kE]}var Ap=[{key:"Ctrl-Space",run:pp},{mac:"Alt-`",run:pp},{mac:"Alt-i",run:pp},{key:"Escape",run:yE},{key:"ArrowDown",run:Ou(!0)},{key:"ArrowUp",run:Ou(!1)},{key:"PageDown",run:Ou(!0,"page")},{key:"PageUp",run:Ou(!1,"page")},{key:"Enter",run:CE}],FE=na.highest(pr.computeN([et],t=>t.facet(et).defaultKeymap?[Ap]:[]));import{jsx as UE}from"react/jsx-runtime";var NE=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),HE=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function Mp(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var _E={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),Mp(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),Mp(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),Mp(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":NE.has(o)?"keyword":HE.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},Rp=iu.define(_E);function Tp(){return new ru(Rp,[yr.of(" ")])}function Pp(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function Dp(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function qE(t,e){return e.map(a=>{let o=Dp(t,a.range.start),r=Dp(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function zE(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function Ep(t,e,a){let o=We.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=qE(this.view.state.doc,l);this.view.dispatch(K0(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let f=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(f!=="."&&f!==":"&&f!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,Pp(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(f=>({label:f.label,type:zE(f.kind),detail:f.detail}))}},n=Kl(async(i,l)=>{let u;try{u=await t.hover(e,Pp(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let f=document.createElement("pre");return f.className="nbt-hover-tooltip",f.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",f.textContent=d.replace(/```\w*\n?/g,""),{dom:f}}}:null}),s=pr.of([{key:"F12",run:i=>{let l=Pp(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let f=Dp(i.state.doc,d.range.start);i.dispatch({selection:{anchor:f},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,Sy({override:[r]}),n,s]}var VE=J.theme({"&":{height:"100%",fontSize:"12px",backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-content":{fontFamily:"ui-monospace, monospace"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},"&.cm-focused":{outline:"none"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),zu=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s})=>{let i=Dn.useRef(null),l=Dn.useRef(null),u=Dn.useRef(r);u.current=r;let d=Dn.useRef(n);d.current=n;let f=Dn.useRef(s);return f.current=s,Dn.useEffect(()=>{let c=i.current;if(!c)return;let h=[bC(),f0(),pC(),gC(),jC(),by(),ay(),WC(GC,{fallback:!0}),Tp(),VE,pr.of([{key:"Mod-s",run:m=>(d.current?.(m.state.doc.toString()),!0)},...V0,...m0,...dy,...Ap,W0]),J.updateListener.of(m=>{m.docChanged&&u.current?.(m.state.doc.toString())}),Se.readOnly.of(a)];o&&!a&&h.push(Ep(o,t,(m,g)=>f.current?.(m,g)));let p=new J({state:Se.create({doc:e,extensions:h}),parent:c});return l.current=p,()=>{p.destroy(),l.current=null}},[t,a,o]),UE("div",{ref:i,className:"h-full min-h-0 overflow-hidden"})},Uu=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import Bp from"react";import{jsx as WE}from"react/jsx-runtime";import $E,{createContext as XE,useContext as Py,useEffect as Vu,useRef as Rn,useState as Wu}from"react";var ky=Bp.createContext({apiBaseUrl:""}),Op=({apiBaseUrl:t="",children:e})=>{let a=Bp.useMemo(()=>({apiBaseUrl:t}),[t]);return WE(ky.Provider,{value:a,children:e})};function st(){return Bp.useContext(ky)}function kr(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var Ay="nbt_devtools_token";function Gu(){try{return localStorage.getItem(Ay)}catch{return null}}function My(t){try{localStorage.setItem(Ay,t)}catch{}}function js(t){let e={...t??{}},a=Gu();return a&&(e.Authorization=`Bearer ${a}`),e}async function Fp(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:js()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function Np(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");My(r.token)}function GE(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function Hp(t){let e=Gu();return e?[t,`auth-${GE(e)}`]:[t]}var Dy=1,Ry=2,KE=3,_p=4,qp=5,zp=6,jE=255,$u=1,Xu=2,Ku=3,ju=4,Zu=5,Yu=6,Ju=7,Qu=8,Zs=9,ed=10,td=11,Ty=12,ad=13,od=14;function ZE(t){switch(t){case $u:return 1;case Xu:return 2;case Ku:return 4;case ju:return 8;case Zu:return 1;case Yu:return 2;case Ju:return 4;case Qu:return 8;case Zs:return 1;case ed:return 4;case td:return 8;case Ty:return 0;case ad:return 8;case od:return 0;default:return 0}}var YE=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===_p&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===qp&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive&&this._applySearch();return}if(t.op===zp&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},rd=new TextDecoder,nd=2,vy=1+nd;function JE(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function Ey(t,e,a){switch(a.type){case $u:return[String(t.getUint8(e)),1];case Zu:return[String(t.getInt8(e)),1];case Zs:return[t.getUint8(e)?"true":"false",1];case Xu:return[String(t.getUint16(e,!0)),2];case Yu:return[String(t.getInt16(e,!0)),2];case Ku:return[String(t.getUint32(e,!0)),4];case Ju:return[String(t.getInt32(e,!0)),4];case ed:return[String(t.getFloat32(e,!0)),4];case ju:return[String(t.getBigUint64(e,!0)),8];case Qu:return[String(t.getBigInt64(e,!0)),8];case td:return[String(t.getFloat64(e,!0)),8];case ad:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[JE(o).toISOString(),8]}case Ty:case od:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[rd.decode(r),4+o]}default:return["",0]}}function QE(t){return new DataView(t).getUint8(0)}function eB(t){return new DataView(t).getUint16(1,!0)}function tB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==Dy)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=nd;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),f=rd.decode(d);a+=u,s.push({name:f,type:l,fixedSize:ZE(l)})}return{totalRows:r,columns:s}}function aB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==Ry)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=nd;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,f]=Ey(a,o,e[u]);l.push(d),o+=f}s.push(l)}return s}function oB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=nd,r===zp){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:rd.decode(s)}}if(r===_p||r===qp){let n=[];for(let s=0;s<e.length;s++){let[i,l]=Ey(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function rB(t){let a=new DataView(t).getUint16(vy,!0),o=new Uint8Array(t,vy+2,a);return rd.decode(o)}function nB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var Up=XE(null);function sB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function iB(t){return["nimbit-bulk",`auth-${sB(t)}`]}var Ks=null,lB=6e4;async function uB(t,e){let a=Gu();if(a)return a;let o=Date.now();if(Ks?.apiBaseUrl===e&&o-Ks.at<lB)return Ks.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(Ks={apiBaseUrl:e,token:s,at:o},s):null}function dB(){Ks=null}function Tn(t){t.listeners.forEach(e=>e())}function Vp({registry:t,children:e}){let{apiBaseUrl:a}=st(),o=Rn(null),r=Rn([]),n=Rn(1),s=Rn(new Map),i=Rn(new Map),l=Rn(!1),[u,d]=Wu(!1),[f,c]=Wu(null),h=w=>{let b=o.current;b&&b.readyState===WebSocket.OPEN?b.send(w):r.current.push(w)},p=()=>{let w=o.current;if(!w||w.readyState!==WebSocket.OPEN)return;let b=r.current;r.current=[];for(let I of b)w.send(I)},m=(w,b)=>{let I=b.toLowerCase(),A=`${w}/${I}`,N=i.current.get(A);if(N)return N;let D=n.current++,T={sid:D,cart:w,entity:I,store:new YE,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(A,T),s.current.set(D,T),T},g=w=>{w.streamRequested||(w.streamRequested=!0,h(nB(w.sid,w.cart,w.entity)))},x=w=>{let b=w.data,I=eB(b),A=s.current.get(I);if(!A)return;let N=QE(b),D=A.store;switch(N){case Dy:{let T=tB(b);D.applySchema(T),A.columns=T.columns,A.totalRows=T.totalRows,A.loadedRows=0,A.streaming=!0,Tn(A);break}case Ry:{let T=aB(b,D.columns);D.appendChunk(T),A.loadedRows=D.getRowCount(),A.onRender?.();break}case KE:A.streaming=!1,Tn(A);break;case _p:case qp:case zp:{let T=oB(b,D.columns);D.applyDelta(T),A.totalRows=D.totalRows,A.loadedRows=D.getRowCount(),A.onRender?.(),Tn(A);break}case jE:A.error=rB(b),A.streaming=!1,Tn(A);break}};Vu(()=>{let w=new AbortController,b=!1,I=!1,A=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),c(null),(async()=>{let N=null;try{N=await uB(w.signal,a)}catch{}b||(A=N?new WebSocket(`${kr(a)}/_ws/bulk`,iB(N)):new WebSocket(`${kr(a)}/_ws/bulk`,["nimbit-bulk"]),A.binaryType="arraybuffer",o.current=A,A.onopen=()=>{b||o.current!==A||(I=!0,d(!0),c(null),p())},A.onmessage=x,A.onerror=()=>{},A.onclose=()=>{b||o.current!==A||(d(!1),o.current=null,I||(dB(),c("WebSocket connection closed")))})})(),()=>{if(b=!0,w.abort(),A){A.onopen=A.onmessage=A.onerror=A.onclose=null;try{A.close()}catch{}o.current===A&&(o.current=null)}}},[a]),Vu(()=>{if(!u||l.current)return;let w=Object.keys(t);if(w.length!==0){l.current=!0;for(let b of w)for(let I of t[b]??[]){let A=m(b,I.name);g(A)}}},[u,t]);let S={getView:m,ensureStreamed:g,search:(w,b)=>{w.store.search(b),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),Tn(w),w.onRender?.()},clearSearch:w=>{w.store.exitSearch(),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),Tn(w),w.onRender?.()},subscribe:(w,b)=>(w.listeners.add(b),()=>{w.listeners.delete(b)}),connected:u,error:f};return $E.createElement(Up.Provider,{value:S},e)}function Wp(t){let e=Py(Up);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=Wu(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");Vu(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function Gp(t,e){let a=Py(Up);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=Wu(0);return Vu(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import ct from"react";import{jsxs as lt,Fragment as lo,jsx as W}from"react/jsx-runtime";import{createContext as Nm,useContext as Si,useMemo as La,forwardRef as YI,useEffect as ke,useRef as we,useState as Fa,useLayoutEffect as vF,useCallback as Na,memo as Ge}from"react";function _e(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=_e(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var fB={value:()=>{}};function Oy(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new sd(a)}function sd(t){this._=t}function cB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}sd.prototype=Oy.prototype={constructor:sd,on:function(t,e){var a=this._,o=cB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=hB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=By(a[r],t.name,e);else if(e==null)for(r in a)a[r]=By(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new sd(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function hB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function By(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=fB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Ar=Oy;var id="http://www.w3.org/1999/xhtml",$p={svg:"http://www.w3.org/2000/svg",xhtml:id,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ao(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),$p.hasOwnProperty(e)?{space:$p[e],local:t}:t}function pB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===id&&e.documentElement.namespaceURI===id?e.createElement(t):e.createElementNS(a,t)}}function mB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ld(t){var e=ao(t);return(e.local?mB:pB)(e)}function gB(){}function Mr(t){return t==null?gB:function(){return this.querySelector(t)}}function Fy(t){typeof t!="function"&&(t=Mr(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new qe(o,this._parents)}function Xp(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function xB(){return[]}function Ys(t){return t==null?xB:function(){return this.querySelectorAll(t)}}function LB(t){return function(){return Xp(t.apply(this,arguments))}}function Ny(t){typeof t=="function"?t=LB(t):t=Ys(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new qe(o,r)}function Js(t){return function(){return this.matches(t)}}function ud(t){return function(e){return e.matches(t)}}var CB=Array.prototype.find;function yB(t){return function(){return CB.call(this.children,t)}}function wB(){return this.firstElementChild}function Hy(t){return this.select(t==null?wB:yB(typeof t=="function"?t:ud(t)))}var bB=Array.prototype.filter;function IB(){return Array.from(this.children)}function SB(t){return function(){return bB.call(this.children,t)}}function _y(t){return this.selectAll(t==null?IB:SB(typeof t=="function"?t:ud(t)))}function qy(t){typeof t!="function"&&(t=Js(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new qe(o,this._parents)}function dd(t){return new Array(t.length)}function zy(){return new qe(this._enter||this._groups.map(dd),this._parents)}function Qs(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Qs.prototype={constructor:Qs,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Uy(t){return function(){return t}}function vB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new Qs(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function kB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,f=n.length,c=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(c[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<f;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new Qs(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(c[i])===l&&(r[i]=l)}function AB(t){return t.__data__}function Vy(t,e){if(!arguments.length)return Array.from(this,AB);var a=e?kB:vB,o=this._parents,r=this._groups;typeof t!="function"&&(t=Uy(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],f=r[u],c=f.length,h=MB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(c);a(d,f,m,g,x,h,e);for(var C=0,L=0,y,S;C<p;++C)if(y=m[C]){for(C>=L&&(L=C+1);!(S=g[L])&&++L<p;);y._next=S||null}}return s=new qe(s,o),s._enter=i,s._exit=l,s}function MB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Wy(){return new qe(this._exit||this._groups.map(dd),this._parents)}function Gy(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function $y(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],f=u.length,c=i[l]=new Array(f),h,p=0;p<f;++p)(h=u[p]||d[p])&&(c[p]=h);for(;l<r;++l)i[l]=a[l];return new qe(i,this._parents)}function Xy(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function Ky(t){t||(t=PB);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new qe(r,this._parents).order()}function PB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function jy(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Zy(){return Array.from(this)}function Yy(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function Jy(){let t=0;for(let e of this)++t;return t}function Qy(){return!this.node()}function ew(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function DB(t){return function(){this.removeAttribute(t)}}function RB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function TB(t,e){return function(){this.setAttribute(t,e)}}function EB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function BB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function OB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function tw(t,e){var a=ao(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?RB:DB:typeof e=="function"?a.local?OB:BB:a.local?EB:TB)(a,e))}function fd(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function FB(t){return function(){this.style.removeProperty(t)}}function NB(t,e,a){return function(){this.style.setProperty(t,e,a)}}function HB(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function aw(t,e,a){return arguments.length>1?this.each((e==null?FB:typeof e=="function"?HB:NB)(t,e,a??"")):Po(this.node(),t)}function Po(t,e){return t.style.getPropertyValue(e)||fd(t).getComputedStyle(t,null).getPropertyValue(e)}function _B(t){return function(){delete this[t]}}function qB(t,e){return function(){this[t]=e}}function zB(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function ow(t,e){return arguments.length>1?this.each((e==null?_B:typeof e=="function"?zB:qB)(t,e)):this.node()[t]}function rw(t){return t.trim().split(/^|\s+/)}function Kp(t){return t.classList||new nw(t)}function nw(t){this._node=t,this._names=rw(t.getAttribute("class")||"")}nw.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function sw(t,e){for(var a=Kp(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function iw(t,e){for(var a=Kp(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function UB(t){return function(){sw(this,t)}}function VB(t){return function(){iw(this,t)}}function WB(t,e){return function(){(e.apply(this,arguments)?sw:iw)(this,t)}}function lw(t,e){var a=rw(t+"");if(arguments.length<2){for(var o=Kp(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?WB:e?UB:VB)(a,e))}function GB(){this.textContent=""}function $B(t){return function(){this.textContent=t}}function XB(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function uw(t){return arguments.length?this.each(t==null?GB:(typeof t=="function"?XB:$B)(t)):this.node().textContent}function KB(){this.innerHTML=""}function jB(t){return function(){this.innerHTML=t}}function ZB(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function dw(t){return arguments.length?this.each(t==null?KB:(typeof t=="function"?ZB:jB)(t)):this.node().innerHTML}function YB(){this.nextSibling&&this.parentNode.appendChild(this)}function fw(){return this.each(YB)}function JB(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function cw(){return this.each(JB)}function hw(t){var e=typeof t=="function"?t:ld(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function QB(){return null}function pw(t,e){var a=typeof t=="function"?t:ld(t),o=e==null?QB:typeof e=="function"?e:Mr(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function e2(){var t=this.parentNode;t&&t.removeChild(this)}function mw(){return this.each(e2)}function t2(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function a2(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function gw(t){return this.select(t?a2:t2)}function xw(t){return arguments.length?this.property("__data__",t):this.node().__data__}function o2(t){return function(e){t.call(this,e,this.__data__)}}function r2(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function n2(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function s2(t,e,a){return function(){var o=this.__on,r,n=o2(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function Lw(t,e,a){var o=r2(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?s2:n2,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function Cw(t,e,a){var o=fd(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function i2(t,e){return function(){return Cw(this,t,e)}}function l2(t,e){return function(){return Cw(this,t,e.apply(this,arguments))}}function yw(t,e){return this.each((typeof e=="function"?l2:i2)(t,e))}function*ww(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var jp=[null];function qe(t,e){this._groups=t,this._parents=e}function bw(){return new qe([[document.documentElement]],jp)}function u2(){return this}qe.prototype=bw.prototype={constructor:qe,select:Fy,selectAll:Ny,selectChild:Hy,selectChildren:_y,filter:qy,data:Vy,enter:zy,exit:Wy,join:Gy,merge:$y,selection:u2,order:Xy,sort:Ky,call:jy,nodes:Zy,node:Yy,size:Jy,empty:Qy,each:ew,attr:tw,style:aw,property:ow,classed:lw,text:uw,html:dw,raise:fw,lower:cw,append:hw,insert:pw,remove:mw,clone:gw,datum:xw,on:Lw,dispatch:yw,[Symbol.iterator]:ww};var oo=bw;function tt(t){return typeof t=="string"?new qe([[document.querySelector(t)]],[document.documentElement]):new qe([[t]],jp)}function Iw(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Ct(t,e){if(t=Iw(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var Sw={passive:!1},Pr={capture:!0,passive:!1};function cd(t){t.stopImmediatePropagation()}function Do(t){t.preventDefault(),t.stopImmediatePropagation()}function ei(t){var e=t.document.documentElement,a=tt(t).on("dragstart.drag",Do,Pr);"onselectstart"in e?a.on("selectstart.drag",Do,Pr):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function ti(t,e){var a=t.document.documentElement,o=tt(t).on("dragstart.drag",null);e&&(o.on("click.drag",Do,Pr),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var ai=t=>()=>t;function oi(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}oi.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function d2(t){return!t.ctrlKey&&!t.button}function f2(){return this.parentNode}function c2(t,e){return e??{x:t.x,y:t.y}}function h2(){return navigator.maxTouchPoints||"ontouchstart"in this}function hd(){var t=d2,e=f2,a=c2,o=h2,r={},n=Ar("start","drag","end"),s=0,i,l,u,d,f=0;function c(y){y.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,Sw).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(y,S){if(!(d||!t.call(this,y,S))){var w=L(this,e.call(this,y,S),y,S,"mouse");w&&(tt(y.view).on("mousemove.drag",p,Pr).on("mouseup.drag",m,Pr),ei(y.view),cd(y),u=!1,i=y.clientX,l=y.clientY,w("start",y))}}function p(y){if(Do(y),!u){var S=y.clientX-i,w=y.clientY-l;u=S*S+w*w>f}r.mouse("drag",y)}function m(y){tt(y.view).on("mousemove.drag mouseup.drag",null),ti(y.view,u),Do(y),r.mouse("end",y)}function g(y,S){if(t.call(this,y,S)){var w=y.changedTouches,b=e.call(this,y,S),I=w.length,A,N;for(A=0;A<I;++A)(N=L(this,b,y,S,w[A].identifier,w[A]))&&(cd(y),N("start",y,w[A]))}}function x(y){var S=y.changedTouches,w=S.length,b,I;for(b=0;b<w;++b)(I=r[S[b].identifier])&&(Do(y),I("drag",y,S[b]))}function C(y){var S=y.changedTouches,w=S.length,b,I;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<w;++b)(I=r[S[b].identifier])&&(cd(y),I("end",y,S[b]))}function L(y,S,w,b,I,A){var N=n.copy(),D=Ct(A||w,S),T,H,v;if((v=a.call(y,new oi("beforestart",{sourceEvent:w,target:c,identifier:I,active:s,x:D[0],y:D[1],dx:0,dy:0,dispatch:N}),b))!=null)return T=v.x-D[0]||0,H=v.y-D[1]||0,function M(P,R,E){var O=D,k;switch(P){case"start":r[I]=M,k=s++;break;case"end":delete r[I],--s;case"drag":D=Ct(E||R,S),k=s;break}N.call(P,y,new oi(P,{sourceEvent:R,subject:v,target:c,identifier:I,active:k,x:D[0]+T,y:D[1]+H,dx:D[0]-O[0],dy:D[1]-O[1],dispatch:N}),b)}}return c.filter=function(y){return arguments.length?(t=typeof y=="function"?y:ai(!!y),c):t},c.container=function(y){return arguments.length?(e=typeof y=="function"?y:ai(y),c):e},c.subject=function(y){return arguments.length?(a=typeof y=="function"?y:ai(y),c):a},c.touchable=function(y){return arguments.length?(o=typeof y=="function"?y:ai(!!y),c):o},c.on=function(){var y=n.on.apply(n,arguments);return y===n?c:y},c.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,c):Math.sqrt(f)},c}function pd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function Zp(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function si(){}var ri=.7,xd=1/ri,En="\\s*([+-]?\\d+)\\s*",ni="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ta="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",p2=/^#([0-9a-f]{3,8})$/,m2=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),g2=new RegExp(`^rgb\\(${Ta},${Ta},${Ta}\\)$`),x2=new RegExp(`^rgba\\(${En},${En},${En},${ni}\\)$`),L2=new RegExp(`^rgba\\(${Ta},${Ta},${Ta},${ni}\\)$`),C2=new RegExp(`^hsl\\(${ni},${Ta},${Ta}\\)$`),y2=new RegExp(`^hsla\\(${ni},${Ta},${Ta},${ni}\\)$`),vw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pd(si,ga,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:kw,formatHex:kw,formatHex8:w2,formatHsl:b2,formatRgb:Aw,toString:Aw});function kw(){return this.rgb().formatHex()}function w2(){return this.rgb().formatHex8()}function b2(){return Ew(this).formatHsl()}function Aw(){return this.rgb().formatRgb()}function ga(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=p2.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?Mw(e):a===3?new Dt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?md(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?md(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=m2.exec(t))?new Dt(e[1],e[2],e[3],1):(e=g2.exec(t))?new Dt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=x2.exec(t))?md(e[1],e[2],e[3],e[4]):(e=L2.exec(t))?md(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=C2.exec(t))?Rw(e[1],e[2]/100,e[3]/100,1):(e=y2.exec(t))?Rw(e[1],e[2]/100,e[3]/100,e[4]):vw.hasOwnProperty(t)?Mw(vw[t]):t==="transparent"?new Dt(NaN,NaN,NaN,0):null}function Mw(t){return new Dt(t>>16&255,t>>8&255,t&255,1)}function md(t,e,a,o){return o<=0&&(t=e=a=NaN),new Dt(t,e,a,o)}function I2(t){return t instanceof si||(t=ga(t)),t?(t=t.rgb(),new Dt(t.r,t.g,t.b,t.opacity)):new Dt}function Bn(t,e,a,o){return arguments.length===1?I2(t):new Dt(t,e,a,o??1)}function Dt(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}pd(Dt,Bn,Zp(si,{brighter(t){return t=t==null?xd:Math.pow(xd,t),new Dt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ri:Math.pow(ri,t),new Dt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Dt(Rr(this.r),Rr(this.g),Rr(this.b),Ld(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Pw,formatHex:Pw,formatHex8:S2,formatRgb:Dw,toString:Dw}));function Pw(){return`#${Dr(this.r)}${Dr(this.g)}${Dr(this.b)}`}function S2(){return`#${Dr(this.r)}${Dr(this.g)}${Dr(this.b)}${Dr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dw(){let t=Ld(this.opacity);return`${t===1?"rgb(":"rgba("}${Rr(this.r)}, ${Rr(this.g)}, ${Rr(this.b)}${t===1?")":`, ${t})`}`}function Ld(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Rr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Dr(t){return t=Rr(t),(t<16?"0":"")+t.toString(16)}function Rw(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new ma(t,e,a,o)}function Ew(t){if(t instanceof ma)return new ma(t.h,t.s,t.l,t.opacity);if(t instanceof si||(t=ga(t)),!t)return new ma;if(t instanceof ma)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new ma(s,i,l,t.opacity)}function Bw(t,e,a,o){return arguments.length===1?Ew(t):new ma(t,e,a,o??1)}function ma(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}pd(ma,Bw,Zp(si,{brighter(t){return t=t==null?xd:Math.pow(xd,t),new ma(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ri:Math.pow(ri,t),new ma(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Dt(Yp(t>=240?t-240:t+120,r,o),Yp(t,r,o),Yp(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new ma(Tw(this.h),gd(this.s),gd(this.l),Ld(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Ld(this.opacity);return`${t===1?"hsl(":"hsla("}${Tw(this.h)}, ${gd(this.s)*100}%, ${gd(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Tw(t){return t=(t||0)%360,t<0?t+360:t}function gd(t){return Math.max(0,Math.min(1,t||0))}function Yp(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function Jp(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function Ow(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return Jp((a-o/e)*e,s,r,n,i)}}function Fw(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return Jp((a-o/e)*e,r,n,s,i)}}var ii=t=>()=>t;function v2(t,e){return function(a){return t+a*e}}function k2(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function Nw(t){return(t=+t)==1?Cd:function(e,a){return a-e?k2(e,a,t):ii(isNaN(e)?a:e)}}function Cd(t,e){var a=e-t;return a?v2(t,a):ii(isNaN(t)?e:t)}var Tr=(function t(e){var a=Nw(e);function o(r,n){var s=a((r=Bn(r)).r,(n=Bn(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=Cd(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function Hw(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=Bn(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var A2=Hw(Ow),M2=Hw(Fw);function _w(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function qw(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function zw(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=ro(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function Uw(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function yt(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function Vw(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=ro(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var em=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qp=new RegExp(em.source,"g");function P2(t){return function(){return t}}function D2(t){return function(e){return t(e)+""}}function li(t,e){var a=em.lastIndex=Qp.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=em.exec(t))&&(r=Qp.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:yt(o,r)})),a=Qp.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?D2(l[0].x):P2(e):(e=l.length,function(u){for(var d=0,f;d<e;++d)i[(f=l[d]).i]=f.x(u);return i.join("")})}function ro(t,e){var a=typeof e,o;return e==null||a==="boolean"?ii(e):(a==="number"?yt:a==="string"?(o=ga(e))?(e=o,Tr):li:e instanceof ga?Tr:e instanceof Date?Uw:qw(e)?_w:Array.isArray(e)?zw:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Vw:yt)(t,e)}var Ww=180/Math.PI,yd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tm(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*Ww,skewX:Math.atan(l)*Ww,scaleX:s,scaleY:i}}var wd;function Gw(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?yd:tm(e.a,e.b,e.c,e.d,e.e,e.f)}function $w(t){return t==null?yd:(wd||(wd=document.createElementNS("http://www.w3.org/2000/svg","g")),wd.setAttribute("transform",t),(t=wd.transform.baseVal.consolidate())?(t=t.matrix,tm(t.a,t.b,t.c,t.d,t.e,t.f)):yd)}function Xw(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:yt(u,f)},{i:m-2,x:yt(d,c)})}else(f||c)&&h.push("translate("+f+e+c+a)}function s(u,d,f,c){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),c.push({i:f.push(r(f)+"rotate(",null,o)-2,x:yt(u,d)})):d&&f.push(r(f)+"rotate("+d+o)}function i(u,d,f,c){u!==d?c.push({i:f.push(r(f)+"skewX(",null,o)-2,x:yt(u,d)}):d&&f.push(r(f)+"skewX("+d+o)}function l(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:yt(u,f)},{i:m-2,x:yt(d,c)})}else(f!==1||c!==1)&&h.push(r(h)+"scale("+f+","+c+")")}return function(u,d){var f=[],c=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,f,c),s(u.rotate,d.rotate,f,c),i(u.skewX,d.skewX,f,c),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,c),u=d=null,function(h){for(var p=-1,m=c.length,g;++p<m;)f[(g=c[p]).i]=g.x(h);return f.join("")}}}var am=Xw(Gw,"px, ","px)","deg)"),om=Xw($w,", ",")",")");var R2=1e-12;function Kw(t){return((t=Math.exp(t))+1/t)/2}function T2(t){return((t=Math.exp(t))-1/t)/2}function E2(t){return((t=Math.exp(2*t))-1)/(t+1)}var Er=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],f=s[1],c=s[2],h=d-i,p=f-l,m=h*h+p*p,g,x;if(m<R2)x=Math.log(c/u)/e,g=function(b){return[i+b*h,l+b*p,u*Math.exp(e*b*x)]};else{var C=Math.sqrt(m),L=(c*c-u*u+o*m)/(2*u*a*C),y=(c*c-u*u-o*m)/(2*c*a*C),S=Math.log(Math.sqrt(L*L+1)-L),w=Math.log(Math.sqrt(y*y+1)-y);x=(w-S)/e,g=function(b){var I=b*x,A=Kw(S),N=u/(a*C)*(A*E2(e*I+S)-T2(S));return[i+N*h,l+N*p,u*A/Kw(e*I+S)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var On=0,di=0,ui=0,Zw=1e3,bd,fi,Id=0,Br=0,Sd=0,ci=typeof performance=="object"&&performance.now?performance:Date,Yw=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function pi(){return Br||(Yw(B2),Br=ci.now()+Sd)}function B2(){Br=0}function hi(){this._call=this._time=this._next=null}hi.prototype=vd.prototype={constructor:hi,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?pi():+a)+(e==null?0:+e),!this._next&&fi!==this&&(fi?fi._next=this:bd=this,fi=this),this._call=t,this._time=a,rm()},stop:function(){this._call&&(this._call=null,this._time=1/0,rm())}};function vd(t,e,a){var o=new hi;return o.restart(t,e,a),o}function Jw(){pi(),++On;for(var t=bd,e;t;)(e=Br-t._time)>=0&&t._call.call(void 0,e),t=t._next;--On}function jw(){Br=(Id=ci.now())+Sd,On=di=0;try{Jw()}finally{On=0,F2(),Br=0}}function O2(){var t=ci.now(),e=t-Id;e>Zw&&(Sd-=e,Id=t)}function F2(){for(var t,e=bd,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:bd=a);fi=t,rm(o)}function rm(t){if(!On){di&&(di=clearTimeout(di));var e=t-Br;e>24?(t<1/0&&(di=setTimeout(jw,t-ci.now()-Sd)),ui&&(ui=clearInterval(ui))):(ui||(Id=ci.now(),ui=setInterval(O2,Zw)),On=1,Yw(jw))}}function kd(t,e,a){var o=new hi;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var N2=Ar("start","end","cancel","interrupt"),H2=[],tb=0,Qw=1,Md=2,Ad=3,eb=4,Pd=5,mi=6;function Ro(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;_2(t,a,{name:e,index:o,group:r,on:N2,tween:H2,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:tb})}function gi(t,e){var a=Ye(t,e);if(a.state>tb)throw new Error("too late; already scheduled");return a}function it(t,e){var a=Ye(t,e);if(a.state>Ad)throw new Error("too late; already running");return a}function Ye(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function _2(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=vd(n,0,a.time);function n(u){a.state=Qw,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,f,c,h;if(a.state!==Qw)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===Ad)return kd(s);h.state===eb?(h.state=mi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=mi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(kd(function(){a.state===Ad&&(a.state=eb,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=Md,a.on.call("start",t,t.__data__,a.index,a.group),a.state===Md){for(a.state=Ad,r=new Array(c=a.tween.length),d=0,f=-1;d<c;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++f]=h);r.length=f+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=Pd,1),f=-1,c=r.length;++f<c;)r[f].call(t,d);a.state===Pd&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=mi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function Or(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>Md&&o.state<Pd,o.state=mi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function ab(t){return this.each(function(){Or(this,t)})}function q2(t,e){var a,o;return function(){var r=it(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function z2(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=it(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function ob(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=Ye(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?q2:z2)(a,t,e))}function Fn(t,e,a){var o=t._id;return t.each(function(){var r=it(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return Ye(r,o).value[e]}}function Dd(t,e){var a;return(typeof e=="number"?yt:e instanceof ga?Tr:(a=ga(e))?(e=a,Tr):li)(t,e)}function U2(t){return function(){this.removeAttribute(t)}}function V2(t){return function(){this.removeAttributeNS(t.space,t.local)}}function W2(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function G2(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function $2(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function X2(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function rb(t,e){var a=ao(t),o=a==="transform"?om:Dd;return this.attrTween(t,typeof e=="function"?(a.local?X2:$2)(a,o,Fn(this,"attr."+t,e)):e==null?(a.local?V2:U2)(a):(a.local?G2:W2)(a,o,e))}function K2(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function j2(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function Z2(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&j2(t,n)),a}return r._value=e,r}function Y2(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&K2(t,n)),a}return r._value=e,r}function nb(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=ao(t);return this.tween(a,(o.local?Z2:Y2)(o,e))}function J2(t,e){return function(){gi(this,t).delay=+e.apply(this,arguments)}}function Q2(t,e){return e=+e,function(){gi(this,t).delay=e}}function sb(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?J2:Q2)(e,t)):Ye(this.node(),e).delay}function eO(t,e){return function(){it(this,t).duration=+e.apply(this,arguments)}}function tO(t,e){return e=+e,function(){it(this,t).duration=e}}function ib(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?eO:tO)(e,t)):Ye(this.node(),e).duration}function aO(t,e){if(typeof e!="function")throw new Error;return function(){it(this,t).ease=e}}function lb(t){var e=this._id;return arguments.length?this.each(aO(e,t)):Ye(this.node(),e).ease}function oO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;it(this,t).ease=a}}function ub(t){if(typeof t!="function")throw new Error;return this.each(oO(this._id,t))}function db(t){typeof t!="function"&&(t=Js(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new wt(o,this._parents,this._name,this._id)}function fb(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,f=s[i]=new Array(d),c,h=0;h<d;++h)(c=l[h]||u[h])&&(f[h]=c);for(;i<o;++i)s[i]=e[i];return new wt(s,this._parents,this._name,this._id)}function rO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function nO(t,e,a){var o,r,n=rO(e)?gi:it;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function cb(t,e){var a=this._id;return arguments.length<2?Ye(this.node(),a).on.on(t):this.each(nO(a,t,e))}function sO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function hb(){return this.on("end.remove",sO(this._id))}function pb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Mr(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,f,c=0;c<l;++c)(d=i[c])&&(f=t.call(d,d.__data__,c,i))&&("__data__"in d&&(f.__data__=d.__data__),u[c]=f,Ro(u[c],e,a,c,u,Ye(d,a)));return new wt(n,this._parents,e,a)}function mb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Ys(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,f=0;f<u;++f)if(d=l[f]){for(var c=t.call(d,d.__data__,f,l),h,p=Ye(d,a),m=0,g=c.length;m<g;++m)(h=c[m])&&Ro(h,e,a,m,c,p);n.push(c),s.push(d)}return new wt(n,s,e,a)}var iO=oo.prototype.constructor;function gb(){return new iO(this._groups,this._parents)}function lO(t,e){var a,o,r;return function(){var n=Po(this,t),s=(this.style.removeProperty(t),Po(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function xb(t){return function(){this.style.removeProperty(t)}}function uO(t,e,a){var o,r=a+"",n;return function(){var s=Po(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function dO(t,e,a){var o,r,n;return function(){var s=Po(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Po(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function fO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=it(this,t),u=l.on,d=l.value[n]==null?i||(i=xb(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function Lb(t,e,a){var o=(t+="")=="transform"?am:Dd;return e==null?this.styleTween(t,lO(t,o)).on("end.style."+t,xb(t)):typeof e=="function"?this.styleTween(t,dO(t,o,Fn(this,"style."+t,e))).each(fO(this._id,t)):this.styleTween(t,uO(t,o,e),a).on("end.style."+t,null)}function cO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function hO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&cO(t,s,a)),o}return n._value=e,n}function Cb(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,hO(t,e,a??""))}function pO(t){return function(){this.textContent=t}}function mO(t){return function(){var e=t(this);this.textContent=e??""}}function yb(t){return this.tween("text",typeof t=="function"?mO(Fn(this,"text",t)):pO(t==null?"":t+""))}function gO(t){return function(e){this.textContent=t.call(this,e)}}function xO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&gO(r)),e}return o._value=t,o}function wb(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,xO(t))}function bb(){for(var t=this._name,e=this._id,a=Rd(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=Ye(l,e);Ro(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new wt(o,this._parents,t,a)}function Ib(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=it(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var LO=0;function wt(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function Sb(t){return oo().transition(t)}function Rd(){return++LO}var no=oo.prototype;wt.prototype=Sb.prototype={constructor:wt,select:pb,selectAll:mb,selectChild:no.selectChild,selectChildren:no.selectChildren,filter:db,merge:fb,selection:gb,transition:bb,call:no.call,nodes:no.nodes,node:no.node,size:no.size,empty:no.empty,each:no.each,on:cb,attr:rb,attrTween:nb,style:Lb,styleTween:Cb,text:yb,textTween:wb,remove:hb,tween:ob,delay:sb,duration:ib,ease:lb,easeVarying:ub,end:Ib,[Symbol.iterator]:no[Symbol.iterator]};function Td(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var CO={time:null,delay:0,duration:250,ease:Td};function yO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function vb(t){var e,a;t instanceof wt?(e=t._id,t=t._name):(e=Rd(),(a=CO).time=pi(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&Ro(l,t,e,u,s,a||yO(l,e));return new wt(o,this._parents,t,e)}oo.prototype.interrupt=ab;oo.prototype.transition=vb;var xi=t=>()=>t;function nm(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function xa(t,e,a){this.k=t,this.x=e,this.y=a}xa.prototype={constructor:xa,scale:function(t){return t===1?this:new xa(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new xa(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Fr=new xa(1,0,0);Li.prototype=xa.prototype;function Li(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Fr;return t.__zoom}function Ed(t){t.stopImmediatePropagation()}function Nn(t){t.preventDefault(),t.stopImmediatePropagation()}function wO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function bO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function kb(){return this.__zoom||Fr}function IO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function SO(){return navigator.maxTouchPoints||"ontouchstart"in this}function vO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function Bd(){var t=wO,e=bO,a=vO,o=IO,r=SO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=Er,u=Ar("start","zoom","end"),d,f,c,h=500,p=150,m=0,g=10;function x(v){v.property("__zoom",kb).on("wheel.zoom",I,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",N).filter(r).on("touchstart.zoom",D).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(v,M,P,R){var E=v.selection?v.selection():v;E.property("__zoom",kb),v!==E?S(v,M,P,R):E.interrupt().each(function(){w(this,arguments).event(R).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},x.scaleBy=function(v,M,P,R){x.scaleTo(v,function(){var E=this.__zoom.k,O=typeof M=="function"?M.apply(this,arguments):M;return E*O},P,R)},x.scaleTo=function(v,M,P,R){x.transform(v,function(){var E=e.apply(this,arguments),O=this.__zoom,k=P==null?y(E):typeof P=="function"?P.apply(this,arguments):P,q=O.invert(k),F=typeof M=="function"?M.apply(this,arguments):M;return a(L(C(O,F),k,q),E,s)},P,R)},x.translateBy=function(v,M,P,R){x.transform(v,function(){return a(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof P=="function"?P.apply(this,arguments):P),e.apply(this,arguments),s)},null,R)},x.translateTo=function(v,M,P,R,E){x.transform(v,function(){var O=e.apply(this,arguments),k=this.__zoom,q=R==null?y(O):typeof R=="function"?R.apply(this,arguments):R;return a(Fr.translate(q[0],q[1]).scale(k.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof P=="function"?-P.apply(this,arguments):-P),O,s)},R,E)};function C(v,M){return M=Math.max(n[0],Math.min(n[1],M)),M===v.k?v:new xa(M,v.x,v.y)}function L(v,M,P){var R=M[0]-P[0]*v.k,E=M[1]-P[1]*v.k;return R===v.x&&E===v.y?v:new xa(v.k,R,E)}function y(v){return[(+v[0][0]+ +v[1][0])/2,(+v[0][1]+ +v[1][1])/2]}function S(v,M,P,R){v.on("start.zoom",function(){w(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(R).end()}).tween("zoom",function(){var E=this,O=arguments,k=w(E,O).event(R),q=e.apply(E,O),F=P==null?y(q):typeof P=="function"?P.apply(E,O):P,G=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),_=E.__zoom,B=typeof M=="function"?M.apply(E,O):M,U=l(_.invert(F).concat(G/_.k),B.invert(F).concat(G/B.k));return function(X){if(X===1)X=B;else{var z=U(X),$=G/z[2];X=new xa($,F[0]-z[0]*$,F[1]-z[1]*$)}k.zoom(null,X)}})}function w(v,M,P){return!P&&v.__zooming||new b(v,M)}function b(v,M){this.that=v,this.args=M,this.active=0,this.sourceEvent=null,this.extent=e.apply(v,M),this.taps=0}b.prototype={event:function(v){return v&&(this.sourceEvent=v),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(v,M){return this.mouse&&v!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&v!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&v!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(v){var M=tt(this.that).datum();u.call(v,this.that,new nm(v,{sourceEvent:this.sourceEvent,target:x,type:v,transform:this.that.__zoom,dispatch:u}),M)}};function I(v,...M){if(!t.apply(this,arguments))return;var P=w(this,M).event(v),R=this.__zoom,E=Math.max(n[0],Math.min(n[1],R.k*Math.pow(2,o.apply(this,arguments)))),O=Ct(v);if(P.wheel)(P.mouse[0][0]!==O[0]||P.mouse[0][1]!==O[1])&&(P.mouse[1]=R.invert(P.mouse[0]=O)),clearTimeout(P.wheel);else{if(R.k===E)return;P.mouse=[O,R.invert(O)],Or(this),P.start()}Nn(v),P.wheel=setTimeout(k,p),P.zoom("mouse",a(L(C(R,E),P.mouse[0],P.mouse[1]),P.extent,s));function k(){P.wheel=null,P.end()}}function A(v,...M){if(c||!t.apply(this,arguments))return;var P=v.currentTarget,R=w(this,M,!0).event(v),E=tt(v.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),O=Ct(v,P),k=v.clientX,q=v.clientY;ei(v.view),Ed(v),R.mouse=[O,this.__zoom.invert(O)],Or(this),R.start();function F(_){if(Nn(_),!R.moved){var B=_.clientX-k,U=_.clientY-q;R.moved=B*B+U*U>m}R.event(_).zoom("mouse",a(L(R.that.__zoom,R.mouse[0]=Ct(_,P),R.mouse[1]),R.extent,s))}function G(_){E.on("mousemove.zoom mouseup.zoom",null),ti(_.view,R.moved),Nn(_),R.event(_).end()}}function N(v,...M){if(t.apply(this,arguments)){var P=this.__zoom,R=Ct(v.changedTouches?v.changedTouches[0]:v,this),E=P.invert(R),O=P.k*(v.shiftKey?.5:2),k=a(L(C(P,O),R,E),e.apply(this,M),s);Nn(v),i>0?tt(this).transition().duration(i).call(S,k,R,v):tt(this).call(x.transform,k,R,v)}}function D(v,...M){if(t.apply(this,arguments)){var P=v.touches,R=P.length,E=w(this,M,v.changedTouches.length===R).event(v),O,k,q,F;for(Ed(v),k=0;k<R;++k)q=P[k],F=Ct(q,this),F=[F,this.__zoom.invert(F),q.identifier],E.touch0?!E.touch1&&E.touch0[2]!==F[2]&&(E.touch1=F,E.taps=0):(E.touch0=F,O=!0,E.taps=1+!!d);d&&(d=clearTimeout(d)),O&&(E.taps<2&&(f=F[0],d=setTimeout(function(){d=null},h)),Or(this),E.start())}}function T(v,...M){if(this.__zooming){var P=w(this,M).event(v),R=v.changedTouches,E=R.length,O,k,q,F;for(Nn(v),O=0;O<E;++O)k=R[O],q=Ct(k,this),P.touch0&&P.touch0[2]===k.identifier?P.touch0[0]=q:P.touch1&&P.touch1[2]===k.identifier&&(P.touch1[0]=q);if(k=P.that.__zoom,P.touch1){var G=P.touch0[0],_=P.touch0[1],B=P.touch1[0],U=P.touch1[1],X=(X=B[0]-G[0])*X+(X=B[1]-G[1])*X,z=(z=U[0]-_[0])*z+(z=U[1]-_[1])*z;k=C(k,Math.sqrt(X/z)),q=[(G[0]+B[0])/2,(G[1]+B[1])/2],F=[(_[0]+U[0])/2,(_[1]+U[1])/2]}else if(P.touch0)q=P.touch0[0],F=P.touch0[1];else return;P.zoom("touch",a(L(k,q,F),P.extent,s))}}function H(v,...M){if(this.__zooming){var P=w(this,M).event(v),R=v.changedTouches,E=R.length,O,k;for(Ed(v),c&&clearTimeout(c),c=setTimeout(function(){c=null},h),O=0;O<E;++O)k=R[O],P.touch0&&P.touch0[2]===k.identifier?delete P.touch0:P.touch1&&P.touch1[2]===k.identifier&&delete P.touch1;if(P.touch1&&!P.touch0&&(P.touch0=P.touch1,delete P.touch1),P.touch0)P.touch0[1]=this.__zoom.invert(P.touch0[0]);else if(P.end(),P.taps===2&&(k=Ct(k,this),Math.hypot(f[0]-k[0],f[1]-k[1])<g)){var q=tt(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return x.wheelDelta=function(v){return arguments.length?(o=typeof v=="function"?v:xi(+v),x):o},x.filter=function(v){return arguments.length?(t=typeof v=="function"?v:xi(!!v),x):t},x.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:xi(!!v),x):r},x.extent=function(v){return arguments.length?(e=typeof v=="function"?v:xi([[+v[0][0],+v[0][1]],[+v[1][0],+v[1][1]]]),x):e},x.scaleExtent=function(v){return arguments.length?(n[0]=+v[0],n[1]=+v[1],x):[n[0],n[1]]},x.translateExtent=function(v){return arguments.length?(s[0][0]=+v[0][0],s[1][0]=+v[1][0],s[0][1]=+v[0][1],s[1][1]=+v[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(v){return arguments.length?(a=v,x):a},x.duration=function(v){return arguments.length?(i=+v,x):i},x.interpolate=function(v){return arguments.length?(l=v,x):l},x.on=function(){var v=u.on.apply(u,arguments);return v===u?x:v},x.clickDistance=function(v){return arguments.length?(m=(v=+v)*v,x):Math.sqrt(m)},x.tapDistance=function(v){return arguments.length?(g=+v,x):g},x}var _t={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},zn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],dm=["Enter"," ","Escape"],fm={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},Bo;(function(t){t.Strict="strict",t.Loose="loose"})(Bo||(Bo={}));var so;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(so||(so={}));var Nr;(function(t){t.Partial="partial",t.Full="full"})(Nr||(Nr={}));var cm={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Ea;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ea||(Ea={}));var Oo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Oo||(Oo={}));var re;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(re||(re={}));var Ab={[re.Left]:re.Right,[re.Right]:re.Left,[re.Top]:re.Bottom,[re.Bottom]:re.Top};function hm(t){return t===null?null:t?"valid":"invalid"}var pm=t=>"id"in t&&"source"in t&&"target"in t,qb=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),mm=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var yi=(t,e=[0,0])=>{let{width:a,height:o}=Ba(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},gm=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):mm(r)?r:e.nodeLookup.get(r.id));let i=s?Nd(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return qd(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zd(a)},Un=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=qd(a,Nd(r)),o=!0)}),o?zd(a):{x:0,y:0,width:0,height:0}},Hd=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...Ur(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:f=!0,hidden:c=!1}=u;if(s&&!f||c)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=Vn(i,zr(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},zb=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function kO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function Ub({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=kO(t,s),l=Un(i),u=wi(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function xm({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",_t.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(f=[[l,u],[l+h,u+p]])}else i&&qr(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let c=qr(f)?Hr(e,f,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",_t.error015()),{position:{x:c.x-l+(s.measured.width??0)*d[0],y:c.y-u+(s.measured.height??0)*d[1]},positionAbsolute:c}}async function Vb({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(c=>c.id)),s=[];for(let c of a){if(c.deletable===!1)continue;let h=n.has(c.id),p=!h&&c.parentId&&s.find(m=>m.id===c.parentId);(h||p)&&s.push(c)}let i=new Set(e.map(c=>c.id)),l=o.filter(c=>c.deletable!==!1),d=zb(s,l);for(let c of l)i.has(c.id)&&!d.find(p=>p.id===c.id)&&d.push(c);if(!r)return{edges:d,nodes:s};let f=await r({nodes:s,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:s}:{edges:[],nodes:[]}:f}var qn=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),Hr=(t={x:0,y:0},e,a)=>({x:qn(t.x,e[0][0],e[1][0]-(a?.width??0)),y:qn(t.y,e[0][1],e[1][1]-(a?.height??0))});function Wb(t,e,a){let{width:o,height:r}=Ba(a),{x:n,y:s}=a.internals.positionAbsolute;return Hr(t,[[n,s],[n+o,s+r]],e)}var Mb=(t,e,a)=>t<e?qn(Math.abs(t-e),1,e)/e:t>a?-qn(Math.abs(t-a),1,e)/e:0,_d=(t,e,a=15,o=40)=>{let r=Mb(t.x,o,e.width-o)*a,n=Mb(t.y,o,e.height-o)*a;return[r,n]},qd=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),um=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),zd=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),zr=(t,e=[0,0])=>{let{x:a,y:o}=mm(t)?t.internals.positionAbsolute:yi(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Nd=(t,e=[0,0])=>{let{x:a,y:o}=mm(t)?t.internals.positionAbsolute:yi(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},Lm=(t,e)=>zd(qd(um(t),um(e))),Vn=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},Cm=t=>Zt(t.width)&&Zt(t.height)&&Zt(t.x)&&Zt(t.y),Zt=t=>!isNaN(t)&&isFinite(t),ym=(t,e)=>(a,o)=>{},Wn=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),Ur=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?Wn(i,s):i},_r=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function Hn(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function AO(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=Hn(t,a),r=Hn(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=Hn(t.top??t.y??0,a),r=Hn(t.bottom??t.y??0,a),n=Hn(t.left??t.x??0,e),s=Hn(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function MO(t,e,a,o,r,n){let{x:s,y:i}=_r(t,[e,a,o]),{x:l,y:u}=_r({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,f=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(f)}}var wi=(t,e,a,o,r,n)=>{let s=AO(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=qn(u,o,r),f=t.x+t.width/2,c=t.y+t.height/2,h=e/2-f*d,p=a/2-c*d,m=MO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},Gn=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function qr(t){return t!=null&&t!=="parent"}function Ba(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function Ud(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function wm(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function bm(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function Gb(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function $b(t){return{...fm,...t||{}}}function Ci(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=Yt(t),i=Ur({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?Wn(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var Vd=t=>({width:t.offsetWidth,height:t.offsetHeight}),Im=t=>t?.getRootNode?.()||window?.document,PO=["INPUT","SELECT","TEXTAREA"];function Sm(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:PO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var vm=t=>"clientX"in t,Yt=(t,e)=>{let a=vm(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},Pb=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...Vd(s)}})};function Wd({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),f=Math.abs(u-e);return[l,u,d,f]}function Od(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Db({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case re.Left:return[e-Od(e-o,n),a];case re.Right:return[e+Od(o-e,n),a];case re.Top:return[e,a-Od(a-r,n)];case re.Bottom:return[e,a+Od(r-a,n)]}}function Gd({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,curvature:s=.25}){let[i,l]=Db({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=Db({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[f,c,h,p]=Wd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,f,c,h,p]}function km({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function Xb({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function Kb({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=qd(Nd(t),Nd(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return Vn(s,zd(n))>0}var DO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,RO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),jb=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",_t.error006()),e;let o=a.getEdgeId||DO,r;return pm(t)?r={...t}:r={...t,id:o(t)},RO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function $d({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=km({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var Rb={[re.Left]:{x:-1,y:0},[re.Right]:{x:1,y:0},[re.Top]:{x:0,y:-1},[re.Bottom]:{x:0,y:1}},TO=({source:t,sourcePosition:e=re.Bottom,target:a})=>e===re.Left||e===re.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},Tb=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function EO({source:t,sourcePosition:e=re.Bottom,target:a,targetPosition:o=re.Top,center:r,offset:n,stepPosition:s}){let i=Rb[e],l=Rb[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},f=TO({source:u,sourcePosition:e,target:d}),c=f.x!==0?"x":"y",h=f[c],p=[],m,g,x={x:0,y:0},C={x:0,y:0},[,,L,y]=km({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[c]*l[c]===-1){c==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let I=[{x:m,y:u.y},{x:m,y:d.y}],A=[{x:u.x,y:g},{x:d.x,y:g}];i[c]===h?p=c==="x"?I:A:p=c==="x"?A:I}else{let I=[{x:u.x,y:d.y}],A=[{x:d.x,y:u.y}];if(c==="x"?p=i.x===h?A:I:p=i.y===h?I:A,e===o){let v=Math.abs(t[c]-a[c]);if(v<=n){let M=Math.min(n-1,n-v);i[c]===h?x[c]=(u[c]>t[c]?-1:1)*M:C[c]=(d[c]>a[c]?-1:1)*M}}if(e!==o){let v=c==="x"?"y":"x",M=i[c]===l[v],P=u[v]>d[v],R=u[v]<d[v];(i[c]===1&&(!M&&P||M&&R)||i[c]!==1&&(!M&&R||M&&P))&&(p=c==="x"?I:A)}let N={x:u.x+x.x,y:u.y+x.y},D={x:d.x+C.x,y:d.y+C.y},T=Math.max(Math.abs(N.x-p[0].x),Math.abs(D.x-p[0].x)),H=Math.max(Math.abs(N.y-p[0].y),Math.abs(D.y-p[0].y));T>=H?(m=(N.x+D.x)/2,g=p[0].y):(m=p[0].x,g=(N.y+D.y)/2)}let S={x:u.x+x.x,y:u.y+x.y},w={x:d.x+C.x,y:d.y+C.y};return[[t,...S.x!==p[0].x||S.y!==p[0].y?[S]:[],...p,...w.x!==p[p.length-1].x||w.y!==p[p.length-1].y?[w]:[],a],m,g,L,y]}function BO(t,e,a,o){let r=Math.min(Tb(t,e)/2,Tb(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function bi({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[f,c,h,p,m]=EO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${f[0].x} ${f[0].y}`;for(let x=1;x<f.length-1;x++)g+=BO(f[x-1],f[x],f[x+1],s);return g+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[g,c,h,p,m]}function Eb(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function Zb(t){let{sourceNode:e,targetNode:a}=t;if(!Eb(e)||!Eb(a))return null;let o=e.internals.handleBounds||Bb(e.handles),r=a.internals.handleBounds||Bb(a.handles),n=Ob(o?.source??[],t.sourceHandle),s=Ob(t.connectionMode===Bo.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",_t.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||re.Bottom,l=s?.position||re.Top,u=Fo(e,n,i),d=Fo(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Bb(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function Fo(t,e,a=re.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ba(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case re.Top:return{x:r+s/2,y:n};case re.Right:return{x:r+s,y:n+i/2};case re.Bottom:return{x:r+s/2,y:n+i};case re.Left:return{x:r,y:n+i/2}}}function Ob(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function Xd(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function Yb(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=Xd(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var Jb=1e3,OO=10,Am={nodeOrigin:[0,0],nodeExtent:zn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},FO={...Am,checkEquality:!0};function Mm(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function Qb(t,e,a){let o=Mm(Am,a);for(let r of t.values())if(r.parentId)Dm(r,t,e,o);else{let n=yi(r,o.nodeOrigin),s=qr(r.extent)?r.extent:o.nodeExtent,i=Hr(n,s,Ba(r));r.internals.positionAbsolute=i}}function NO(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function Pm(t){return t==="manual"}function Kd(t,e,a,o={}){let r=Mm(FO,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!Pm(r.zIndexMode)?Jb:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let f=s.get(d.id);if(r.checkEquality&&d===f?.internals.userNode)e.set(d.id,f);else{let c=yi(d,r.nodeOrigin),h=qr(d.extent)?d.extent:r.nodeExtent,p=Hr(c,h,Ba(d));f={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:NO(d,f),z:eI(d,i,r.zIndexMode),userNode:d}},e.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),d.parentId&&Dm(f,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function HO(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function Dm(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=Mm(Am,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}HO(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*OO),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let f=n&&!Pm(l)?Jb:0,{x:c,y:h,z:p}=_O(t,d,s,i,f,l),{positionAbsolute:m}=t.internals,g=c!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:c,y:h}:m,z:p}})}function eI(t,e,a){let o=Zt(t.zIndex)?t.zIndex:0;return Pm(a)?o:o+(t.selected?e:0)}function _O(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ba(t),u=yi(t,a),d=qr(t.extent)?Hr(u,t.extent,l):u,f=Hr({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(f=Wb(f,l,e));let c=eI(t,r,n),h=e.internals.z??0;return{x:f.x,y:f.y,z:h>=c?h+1:c}}function jd(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??zr(i),u=Lm(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ba(i),f=i.origin??o,c=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*f[0],x=(m-d.height)*f[1];(c>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-c+g,y:i.position.y-h+x}}),a.get(l)?.forEach(C=>{t.some(L=>L.id===C.id)||r.push({id:C.id,type:"position",position:{x:C.position.x+c,y:C.position.y+h}})})),(d.width<s.width||d.height<s.height||c||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(c?f[0]*c-g:0),height:m+(h?f[1]*h-x:0)}})}),r}function tI(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:f}=new window.DOMMatrixReadOnly(d.transform),c=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=Vd(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let C=h.nodeElement.getBoundingClientRect(),L=qr(p.extent)?p.extent:n,{positionAbsolute:y}=p.internals;p.parentId&&p.extent==="parent"?y=Wb(y,m,e.get(p.parentId)):L&&(y=Hr(y,L,m));let S={...p,measured:m,internals:{...p.internals,positionAbsolute:y,handleBounds:{source:Pb("source",h.nodeElement,C,f,p.id),target:Pb("target",h.nodeElement,C,f,p.id)}}};e.set(p.id,S),p.parentId&&Dm(S,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&c.push({id:p.id,parentId:p.parentId,rect:zr(S,r)}))}}if(c.length>0){let h=jd(c,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function aI({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function Fb(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function Rm(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;Fb("source",l,d,t,r,s),Fb("target",l,u,t,n,i),e.set(o.id,o)}}function oI(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:oI(a,e):!1}function Nb(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function qO(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!oI(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function sm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function zO({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=Wn(n,e);return{x:s.x-n.x,y:s.y-n.y}}function rI({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,f=!1,c=null,h=!1,p=!1,m=null;function g({noDragClassName:C,handleSelector:L,domNode:y,isSelectable:S,nodeId:w,nodeClickDistance:b=0}){c=tt(y);function I({x:T,y:H}){let{nodeLookup:v,nodeExtent:M,snapGrid:P,snapToGrid:R,nodeOrigin:E,onNodeDrag:O,onSelectionDrag:k,onError:q,updateNodePositions:F}=e();n={x:T,y:H};let G=!1,_=i.size>1,B=_&&M?um(Un(i)):null,U=_&&R?zO({dragItems:i,snapGrid:P,x:T,y:H}):null;for(let[X,z]of i){if(!v.has(X))continue;let $={x:T-z.distance.x,y:H-z.distance.y};R&&($=U?{x:Math.round($.x+U.x),y:Math.round($.y+U.y)}:Wn($,P));let ie=null;if(_&&M&&!z.extent&&B){let{positionAbsolute:ne}=z.internals,ue=ne.x-B.x+M[0][0],Ie=ne.x+z.measured.width-B.x2+M[1][0],Ue=ne.y-B.y+M[0][1],It=ne.y+z.measured.height-B.y2+M[1][1];ie=[[ue,Ue],[Ie,It]]}let{position:se,positionAbsolute:oe}=xm({nodeId:X,nextPosition:$,nodeLookup:v,nodeExtent:ie||M,nodeOrigin:E,onError:q});G=G||z.position.x!==se.x||z.position.y!==se.y,z.position=se,z.internals.positionAbsolute=oe}if(p=p||G,!!G&&(F(i,!0),m&&(o||O||!w&&k))){let[X,z]=sm({nodeId:w,dragItems:i,nodeLookup:v});o?.(m,i,X,z),O?.(m,X,z),w||k?.(m,z)}}async function A(){if(!d)return;let{transform:T,panBy:H,autoPanSpeed:v,autoPanOnNodeDrag:M}=e();if(!M){l=!1,cancelAnimationFrame(s);return}let[P,R]=_d(u,d,v);(P!==0||R!==0)&&(n.x=(n.x??0)-P/T[2],n.y=(n.y??0)-R/T[2],await H({x:P,y:R})&&I(n)),s=requestAnimationFrame(A)}function N(T){let{nodeLookup:H,multiSelectionActive:v,nodesDraggable:M,transform:P,snapGrid:R,snapToGrid:E,selectNodesOnDrag:O,onNodeDragStart:k,onSelectionDragStart:q,unselectNodesAndEdges:F}=e();f=!0,(!O||!S)&&!v&&w&&(H.get(w)?.selected||F()),S&&O&&w&&t?.(w);let G=Ci(T.sourceEvent,{transform:P,snapGrid:R,snapToGrid:E,containerBounds:d});if(n=G,i=qO(H,M,G,w),i.size>0&&(a||k||!w&&q)){let[_,B]=sm({nodeId:w,dragItems:i,nodeLookup:H});a?.(T.sourceEvent,i,_,B),k?.(T.sourceEvent,_,B),w||q?.(T.sourceEvent,B)}}let D=hd().clickDistance(b).on("start",T=>{let{domNode:H,nodeDragThreshold:v,transform:M,snapGrid:P,snapToGrid:R}=e();d=H?.getBoundingClientRect()||null,h=!1,p=!1,m=T.sourceEvent,v===0&&N(T),n=Ci(T.sourceEvent,{transform:M,snapGrid:P,snapToGrid:R,containerBounds:d}),u=Yt(T.sourceEvent,d)}).on("drag",T=>{let{autoPanOnNodeDrag:H,transform:v,snapGrid:M,snapToGrid:P,nodeDragThreshold:R,nodeLookup:E}=e(),O=Ci(T.sourceEvent,{transform:v,snapGrid:M,snapToGrid:P,containerBounds:d});if(m=T.sourceEvent,(T.sourceEvent.type==="touchmove"&&T.sourceEvent.touches.length>1||w&&!E.has(w))&&(h=!0),!h){if(!l&&H&&f&&(l=!0,A()),!f){let k=Yt(T.sourceEvent,d),q=k.x-u.x,F=k.y-u.y;Math.sqrt(q*q+F*F)>R&&N(T)}(n.x!==O.xSnapped||n.y!==O.ySnapped)&&i&&f&&(u=Yt(T.sourceEvent,d),I(O))}}).on("end",T=>{if(!f||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,f=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:H,updateNodePositions:v,onNodeDragStop:M,onSelectionDragStop:P}=e();if(p&&(v(i,!1),p=!1),r||M||!w&&P){let[R,E]=sm({nodeId:w,dragItems:i,nodeLookup:H,dragging:!1});r?.(T.sourceEvent,i,R,E),M?.(T.sourceEvent,R,E),w||P?.(T.sourceEvent,E)}}}).filter(T=>{let H=T.target;return!T.button&&(!C||!Nb(H,`.${C}`,y))&&(!L||Nb(H,L,y))});c.call(D)}function x(){c?.on(".drag",null)}return{update:g,destroy:x}}function UO(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())Vn(r,zr(n))>0&&o.push(n);return o}var VO=250;function WO(t,e,a,o){let r=[],n=1/0,s=UO(t,a,e+VO);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:f}=Fo(i,u,u.position,!0),c=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(f-t.y,2));c>e||(c<n?(r=[{...u,x:d,y:f}],n=c):c===n&&r.push({...u,x:d,y:f}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function nI(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...Fo(s,l,l.position,!0)}:l}function sI(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function GO(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var iI=()=>!0;function $O(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:c,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=iI,onReconnectEnd:C,updateConnection:L,getTransform:y,getFromHandle:S,autoPanSpeed:w,dragThreshold:b=1,handleDomNode:I}){let A=Im(t.target),N=0,D,{x:T,y:H}=Yt(t),v=sI(n,I),M=i?.getBoundingClientRect(),P=!1;if(!M||!v)return;let R=nI(r,v,o,l,e);if(!R)return;let E=Yt(t,M),O=!1,k=null,q=!1,F=null;function G(){if(!d||!M)return;let[se,oe]=_d(E,M,w);c({x:se,y:oe}),N=requestAnimationFrame(G)}let _={...R,nodeId:r,type:v,position:R.position},B=l.get(r),X={inProgress:!0,isValid:null,from:Fo(B,_,re.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:B,to:E,toHandle:null,toPosition:Ab[_.position],toNode:null,pointer:E};function z(){P=!0,L(X),p?.(t,{nodeId:r,handleId:o,handleType:v})}b===0&&z();function $(se){if(!P){let{x:It,y:$a}=Yt(se),Ia=It-T,Sa=$a-H;if(!(Ia*Ia+Sa*Sa>b*b))return;z()}if(!S()||!_){ie(se);return}let oe=y();E=Yt(se,M),D=WO(Ur(E,oe,!1,[1,1]),a,l,_),O||(G(),O=!0);let ne=lI(se,{handle:D,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:A,lib:u,flowId:f,nodeLookup:l});F=ne.handleDomNode,k=ne.connection,q=GO(!!D,ne.isValid);let ue=l.get(r),Ie=ue?Fo(ue,_,re.Left,!0):X.from,Ue={...X,from:Ie,isValid:q,to:ne.toHandle&&q?_r({x:ne.toHandle.x,y:ne.toHandle.y},oe):E,toHandle:ne.toHandle,toPosition:q&&ne.toHandle?ne.toHandle.position:Ab[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:E};L(Ue),X=Ue}function ie(se){if(!("touches"in se&&se.touches.length>0)){if(P){(D||F)&&k&&q&&m?.(k);let{inProgress:oe,...ne}=X,ue={...ne,toPosition:X.toHandle?X.toPosition:null};g?.(se,ue),n&&C?.(se,ue)}h(),cancelAnimationFrame(N),O=!1,q=!1,k=null,F=null,A.removeEventListener("mousemove",$),A.removeEventListener("mouseup",ie),A.removeEventListener("touchmove",$),A.removeEventListener("touchend",ie)}}A.addEventListener("mousemove",$),A.addEventListener("mouseup",ie),A.addEventListener("touchmove",$),A.addEventListener("touchend",ie)}function lI(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=iI,nodeLookup:d}){let f=n==="target",c=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=Yt(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:c,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let C=sI(void 0,g),L=g.getAttribute("data-nodeid"),y=g.getAttribute("data-handleid"),S=g.classList.contains("connectable"),w=g.classList.contains("connectableend");if(!L||!C)return x;let b={source:f?L:o,sourceHandle:f?y:r,target:f?o:L,targetHandle:f?r:y};x.connection=b;let A=S&&w&&(a===Bo.Strict?f&&C==="source"||!f&&C==="target":L!==o||y!==r);x.isValid=A&&u(b),x.toHandle=nI(L,C,y,d,a,!0)}return x}var Zd={onPointerDown:$O,isValid:lI};function uI({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=tt(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:f=!0,zoomable:c=!0,inversePan:h=!1}){let p=L=>{if(L.sourceEvent.type!=="wheel"||!e)return;let y=a(),S=L.sourceEvent.ctrlKey&&Gn()?10:1,w=-L.sourceEvent.deltaY*(L.sourceEvent.deltaMode===1?.05:L.sourceEvent.deltaMode?1:.002)*d,b=y[2]*Math.pow(2,w*S);e.scaleTo(b)},m=[0,0],g=L=>{(L.sourceEvent.type==="mousedown"||L.sourceEvent.type==="touchstart")&&(m=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY])},x=L=>{let y=a();if(L.sourceEvent.type!=="mousemove"&&L.sourceEvent.type!=="touchmove"||!e)return;let S=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY],w=[S[0]-m[0],S[1]-m[1]];m=S;let b=o()*Math.max(y[2],Math.log(y[2]))*(h?-1:1),I={x:y[0]-w[0]*b,y:y[1]-w[1]*b},A=[[0,0],[l,u]];e.setViewportConstrained({x:I.x,y:I.y,zoom:y[2]},A,i)},C=Bd().on("start",g).on("zoom",f?x:null).on("zoom.wheel",c?p:null);r.call(C,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:Ct}}var Yd=t=>({x:t.x,y:t.y,zoom:t.k}),im=({x:t,y:e,zoom:a})=>Fr.translate(t,e).scale(a),_n=(t,e)=>t.target.closest(`.${e}`),dI=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),XO=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,lm=(t,e=0,a=XO,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},fI=t=>{let e=t.ctrlKey&&Gn()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function KO({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(_n(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=Ct(d),x=fI(d),C=f*Math.pow(2,x);o.scaleTo(a,C,g,d);return}let c=d.deltaMode===1?20:1,h=r===so.Vertical?0:d.deltaX*c,p=r===so.Horizontal?0:d.deltaY*c;!Gn()&&d.shiftKey&&r!==so.Vertical&&(h=d.deltaY*c,p=0),o.translateBy(a,-(h/f)*n,-(p/f)*n,{internal:!0});let m=Yd(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function jO({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=_n(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function ZO({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=Yd(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function YO({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&dI(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,Yd(n.transform))}}function JO({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&dI(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=Yd(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function QO({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let c=t||e,h=a&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(_n(f,`${u}-flow__node`)||_n(f,`${u}-flow__edge`)))return!0;if(!o&&!c&&!r&&!n&&!a||s||d&&!p||_n(f,i)&&p||_n(f,l)&&(!p||r&&p&&!t)||!a&&f.ctrlKey&&p)return!1;if(!a&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!c&&!r&&!h&&p||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&m}}function cI({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),f=Bd().scaleExtent([e,a]).translateExtent(o),c=tt(t).call(f);C({x:r.x,y:r.y,zoom:qn(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=c.on("wheel.zoom"),p=c.on("dblclick.zoom");f.wheelDelta(fI);async function m(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).transform(lm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}function g({noWheelClassName:D,noPanClassName:T,onPaneContextMenu:H,userSelectionActive:v,panOnScroll:M,panOnDrag:P,panOnScrollMode:R,panOnScrollSpeed:E,preventScrolling:O,zoomOnPinch:k,zoomOnScroll:q,zoomOnDoubleClick:F,zoomActivationKeyPressed:G,lib:_,onTransformChange:B,connectionInProgress:U,paneClickDistance:X,selectionOnDrag:z}){v&&!u.isZoomingOrPanning&&x();let $=M&&!G&&!v;f.clickDistance(z?1/0:!Zt(X)||X<0?0:X);let ie=$?KO({zoomPanValues:u,noWheelClassName:D,d3Selection:c,d3Zoom:f,panOnScrollMode:R,panOnScrollSpeed:E,zoomOnPinch:k,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):jO({noWheelClassName:D,preventScrolling:O,d3ZoomHandler:h});c.on("wheel.zoom",ie,{passive:!1});let se=ZO({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});f.on("start",se);let oe=YO({zoomPanValues:u,panOnDrag:P,onPaneContextMenu:!!H,onPanZoom:n,onTransformChange:B});f.on("zoom",oe);let ne=JO({zoomPanValues:u,panOnDrag:P,panOnScroll:M,onPaneContextMenu:H,onPanZoomEnd:i,onDraggingChange:l});f.on("end",ne);let ue=QO({zoomActivationKeyPressed:G,panOnDrag:P,zoomOnScroll:q,panOnScroll:M,zoomOnDoubleClick:F,zoomOnPinch:k,userSelectionActive:v,noPanClassName:T,noWheelClassName:D,lib:_,connectionInProgress:U});f.filter(ue),F?c.on("dblclick.zoom",p):c.on("dblclick.zoom",null)}function x(){f.on("zoom",null)}async function C(D,T,H){let v=im(D),M=f?.constrain()(v,T,H);return M&&await m(M),M}async function L(D,T){let H=im(D);return await m(H,T),H}function y(D){if(c){let T=im(D),H=c.property("__zoom");(H.k!==D.zoom||H.x!==D.x||H.y!==D.y)&&f?.transform(c,T,null,{sync:!0})}}function S(){let D=c?Li(c.node()):{x:0,y:0,k:1};return{x:D.x,y:D.y,zoom:D.k}}async function w(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).scaleTo(lm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}async function b(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).scaleBy(lm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}function I(D){f?.scaleExtent(D)}function A(D){f?.translateExtent(D)}function N(D){let T=!Zt(D)||D<0?0:D;f?.clickDistance(T)}return{update:g,destroy:x,setViewport:L,setViewportConstrained:C,getViewport:S,scaleTo:w,scaleBy:b,setScaleExtent:I,setTranslateExtent:A,syncViewport:y,setClickDistance:N}}var No;(function(t){t.Line="line",t.Handle="handle"})(No||(No={}));function eF({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function Hb(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function To(t,e){return Math.max(0,e-t)}function Eo(t,e){return Math.max(0,t-e)}function Fd(t,e,a){return Math.max(0,e-t,t-a)}function _b(t,e){return t?!e:e}function tF(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:f}=e,c=d&&f,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:C}=o,{x:L,y,width:S,height:w,aspectRatio:b}=t,I=Math.floor(d?h-t.pointerX:0),A=Math.floor(f?p-t.pointerY:0),N=S+(l?-I:I),D=w+(u?-A:A),T=-n[0]*S,H=-n[1]*w,v=Fd(N,m,g),M=Fd(D,x,C);if(s){let E=0,O=0;l&&I<0?E=To(L+I+T,s[0][0]):!l&&I>0&&(E=Eo(L+N+T,s[1][0])),u&&A<0?O=To(y+A+H,s[0][1]):!u&&A>0&&(O=Eo(y+D+H,s[1][1])),v=Math.max(v,E),M=Math.max(M,O)}if(i){let E=0,O=0;l&&I>0?E=Eo(L+I,i[0][0]):!l&&I<0&&(E=To(L+N,i[1][0])),u&&A>0?O=Eo(y+A,i[0][1]):!u&&A<0&&(O=To(y+D,i[1][1])),v=Math.max(v,E),M=Math.max(M,O)}if(r){if(d){let E=Fd(N/b,x,C)*b;if(v=Math.max(v,E),s){let O=0;!l&&!u||l&&!u&&c?O=Eo(y+H+N/b,s[1][1])*b:O=To(y+H+(l?I:-I)/b,s[0][1])*b,v=Math.max(v,O)}if(i){let O=0;!l&&!u||l&&!u&&c?O=To(y+N/b,i[1][1])*b:O=Eo(y+(l?I:-I)/b,i[0][1])*b,v=Math.max(v,O)}}if(f){let E=Fd(D*b,m,g)/b;if(M=Math.max(M,E),s){let O=0;!l&&!u||u&&!l&&c?O=Eo(L+D*b+T,s[1][0])/b:O=To(L+(u?A:-A)*b+T,s[0][0])/b,M=Math.max(M,O)}if(i){let O=0;!l&&!u||u&&!l&&c?O=To(L+D*b,i[1][0])/b:O=Eo(L+(u?A:-A)*b,i[0][0])/b,M=Math.max(M,O)}}}A=A+(A<0?M:-M),I=I+(I<0?v:-v),r&&(c?N>D*b?A=(_b(l,u)?-I:I)/b:I=(_b(l,u)?-A:A)*b:d?(A=I/b,u=l):(I=A*b,l=u));let P=l?L+I:L,R=u?y+A:y;return{width:S+(l?-I:I),height:w+(u?-A:A),x:n[0]*I*(l?-1:1)+P,y:n[1]*A*(u?-1:1)+R}}var hI={width:0,height:0,x:0,y:0},aF={...hI,pointerX:0,pointerY:0,aspectRatio:1};function oF(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function pI({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=tt(t),s={controlDirection:Hb("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:c,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...hI},C={...aF};s={boundaries:d,resizeDirection:c,keepAspectRatio:f,controlDirection:Hb(u)};let L,y=null,S=[],w,b,I,A=!1,N=hd().on("start",D=>{let{nodeLookup:T,transform:H,snapGrid:v,snapToGrid:M,nodeOrigin:P,paneDomNode:R}=a();if(L=T.get(e),!L)return;y=R?.getBoundingClientRect()??null;let{xSnapped:E,ySnapped:O}=Ci(D.sourceEvent,{transform:H,snapGrid:v,snapToGrid:M,containerBounds:y});x={width:L.measured.width??0,height:L.measured.height??0,x:L.position.x??0,y:L.position.y??0},C={...x,pointerX:E,pointerY:O,aspectRatio:x.width/x.height},w=void 0,b=qr(L.extent)?L.extent:void 0,L.parentId&&(L.extent==="parent"||L.expandParent)&&(w=T.get(L.parentId)),w&&L.extent==="parent"&&(b=[[0,0],[w.measured.width,w.measured.height]]),S=[],I=void 0;for(let[k,q]of T)if(q.parentId===e&&(S.push({id:k,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){let F=oF(q,L,q.origin??P);I?I=[[Math.min(F[0][0],I[0][0]),Math.min(F[0][1],I[0][1])],[Math.max(F[1][0],I[1][0]),Math.max(F[1][1],I[1][1])]]:I=F}h?.(D,{...x})}).on("drag",D=>{let{transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M}=a(),P=Ci(D.sourceEvent,{transform:T,snapGrid:H,snapToGrid:v,containerBounds:y}),R=[];if(!L)return;let{x:E,y:O,width:k,height:q}=x,F={},G=L.origin??M,{width:_,height:B,x:U,y:X}=tF(C,s.controlDirection,P,s.boundaries,s.keepAspectRatio,G,b,I),z=_!==k,$=B!==q,ie=U!==E&&z,se=X!==O&&$;if(!ie&&!se&&!z&&!$)return;if((ie||se||G[0]===1||G[1]===1)&&(F.x=ie?U:x.x,F.y=se?X:x.y,x.x=F.x,x.y=F.y,S.length>0)){let Ie=U-E,Ue=X-O;for(let It of S)It.position={x:It.position.x-Ie+G[0]*(_-k),y:It.position.y-Ue+G[1]*(B-q)},R.push(It)}if((z||$)&&(F.width=z&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,F.height=$&&(!s.resizeDirection||s.resizeDirection==="vertical")?B:x.height,x.width=F.width,x.height=F.height),w&&L.expandParent){let Ie=G[0]*(F.width??0);F.x&&F.x<Ie&&(x.x=Ie,C.x=C.x-(F.x-Ie));let Ue=G[1]*(F.height??0);F.y&&F.y<Ue&&(x.y=Ue,C.y=C.y-(F.y-Ue))}let oe=eF({width:x.width,prevWidth:k,height:x.height,prevHeight:q,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:oe};g?.(D,ne)!==!1&&(A=!0,p?.(D,ne),o(F,R))}).on("end",D=>{A&&(m?.(D,{...x}),r?.({...x}),A=!1)});n.call(N)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var kI=TM(bI(),1);import wF from"react";var II=t=>{let e,a=new Set,o=(d,f)=>{let c=typeof d=="function"?d(e):d;if(!Object.is(c,e)){let h=e;e=f??(typeof c!="object"||c===null)?c:Object.assign({},e,c),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},SI=t=>t?II(t):II;var{useDebugValue:bF}=wF,{useSyncExternalStoreWithSelector:IF}=kI.default,SF=t=>t;function Em(t,e=SF,a){let o=IF(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return bF(o),o}var vI=(t,e)=>{let a=SI(t),o=(r,n=e)=>Em(a,r,n);return Object.assign(o,a),o},AI=(t,e)=>t?vI(t,e):vI;function De(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as $K}from"react-dom";var af=Nm(null),kF=af.Provider,JI=_t.error001("react");function xe(t,e){let a=Si(af);if(a===null)throw new Error(JI);return Em(a,t,e)}function Oe(){let t=Si(af);if(t===null)throw new Error(JI);return La(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var MI={display:"none"},AF={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},QI="react-flow__node-desc",eS="react-flow__edge-desc",MF="react-flow__aria-live",PF=t=>t.ariaLiveMessage,DF=t=>t.ariaLabelConfig;function RF({rfId:t}){let e=xe(PF);return W("div",{id:`${MF}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:AF,children:e})}function TF({rfId:t,disableKeyboardA11y:e}){let a=xe(DF);return lt(lo,{children:[W("div",{id:`${QI}-${t}`,style:MI,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),W("div",{id:`${eS}-${t}`,style:MI,children:a["edge.a11yDescription.default"]}),!e&&W(RF,{rfId:t})]})}var of=YI(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return W("div",{className:_e(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});of.displayName="Panel";function EF({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:W(of,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:W("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var BF=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},Qd=t=>t.id;function OF(t,e){return De(t.selectedNodes.map(Qd),e.selectedNodes.map(Qd))&&De(t.selectedEdges.map(Qd),e.selectedEdges.map(Qd))}function FF({onSelectionChange:t}){let e=Oe(),{selectedNodes:a,selectedEdges:o}=xe(BF,OF);return ke(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var NF=t=>!!t.onSelectionChangeHandlers;function HF({onSelectionChange:t}){let e=xe(NF);return t||e?W(FF,{onSelectionChange:t}):null}var tS=[0,0],_F={x:0,y:0,zoom:1},qF=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],PI=[...qF,"rfId"],zF=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),DI={translateExtent:zn,nodeOrigin:tS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function UF(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=xe(zF,De),u=Oe();ke(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=DI,i()}),[]);let d=we(DI);return ke(()=>{for(let f of PI){let c=t[f],h=d.current[f];c!==h&&(typeof t[f]>"u"||(f==="nodes"?e(c):f==="edges"?a(c):f==="minZoom"?o(c):f==="maxZoom"?r(c):f==="translateExtent"?n(c):f==="nodeExtent"?s(c):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:$b(c)}):f==="fitView"?u.setState({fitViewQueued:c}):f==="fitViewOptions"?u.setState({fitViewOptions:c}):u.setState({[f]:c})))}d.current=t},PI.map(f=>t[f])),null}function RI(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function VF(t){let[e,a]=Fa(t==="system"?null:t);return ke(()=>{if(t!=="system"){a(t);return}let o=RI(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:RI()?.matches?"dark":"light"}var TI=typeof document<"u"?document:null;function Ii(t=null,e={target:TI,actInsideInputWithModifier:!0}){let[a,o]=Fa(!1),r=we(!1),n=we(new Set([])),[s,i]=La(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
20
|
+
`);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new su(a,e?e.state.tabSize:4,e?Ao(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=QC(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Be.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:LR,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new Be(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new Be(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function QC(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var $h=Object.create(null),_s=[xt.none],LR=new Jl(_s),qC=[],zC=Object.create(null),e0=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"]])e0[t]=t0($h,e);var lu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),e0)}resolve(e){return e?this.table[e]||(this.table[e]=t0(this.extra,e)):0}},CR=new lu($h);function Fh(t,e){qC.indexOf(t)>-1||(qC.push(t),console.warn(e))}function t0(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||Z[u];d?typeof d=="function"?l.length?l=l.map(d):Fh(u,`Modifier ${u} used at start of tag`):l.length?Fh(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:Fh(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=zC[r];if(n)return n.id;let s=zC[r]=xt.define({id:_s.length,name:o,props:[TC({[o]:a})]});return _s.push(s),s.id}function yR(t,e){let a=xt.define({id:_s.length,name:"Document",props:[In.add(()=>t),VC.add(()=>o=>e.getIndent(o))],top:!0});return _s.push(a),a}var FG={rtl:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:be.RTL}),ltr:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:be.LTR}),auto:fe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var wR=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=Qh(t.state,a.from);return o.line?bR(t):o.block?SR(t):!1};function Jh(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var bR=Jh(AR,0);var IR=Jh(d0,0);var SR=Jh((t,e)=>d0(t,e,kR(e)),0);function Qh(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var zs=50;function vR(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-zs,o),s=t.sliceDoc(r,r+zs),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,f;r-o<=2*zs?d=f=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+zs),f=t.sliceDoc(r-zs,r));let c=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,p=f.length-h-a.length;return d.slice(c,c+e.length)==e&&f.slice(p,p+a.length)==a?{open:{pos:o+c+e.length,margin:/\s/.test(d.charAt(c+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function kR(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function d0(t,e,a=e.selection.ranges){let o=a.map(n=>Qh(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>vR(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function AR(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let f=e.doc.lineAt(d);if(u==null&&(u=Qh(e,f.from).line,!u))continue e;if(f.from>r&&(n==s||s>f.from)){r=f.from;let c=/^\s*/.exec(f.text)[0].length,h=c==f.length,p=f.text.slice(c,c+u.length)==u?c:-1;c<f.text.length&&c<l&&(l=c),o.push({line:f,comment:p,token:u,indent:c,empty:h,single:!1})}d=f.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:f}of o)(f||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var Kh=vt.define(),MR=vt.define(),PR=j.define(),f0=j.define({combine(t){return At(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),c0=Ne.define({create(){return wr.empty},update(t,e){let a=e.state.facet(f0),o=e.annotation(Kh);if(o){let l=fa.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=du(d,d.length,a.minDepth,l):d=g0(d,e.startState.selection),new wr(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(MR);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(Ze.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=fa.fromTransaction(e),s=e.annotation(Ze.time),i=e.annotation(Ze.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new wr(t.done.map(fa.fromJSON),t.undone.map(fa.fromJSON))}});function h0(t={}){return[c0,f0.of(t),J.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?p0:e.inputType=="historyRedo"?jh:null;return o?(e.preventDefault(),o(a)):!1}})]}function fu(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field(c0,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var p0=fu(0,!1),jh=fu(1,!1),DR=fu(0,!0),RR=fu(1,!0);var fa=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&mt.fromJSON(e.changes),[],e.mapped&&Za.fromJSON(e.mapped),e.startSelection&&V.fromJSON(e.startSelection),e.selectionsAfter.map(V.fromJSON))}static fromTransaction(e,a){let o=Kt;for(let r of e.startState.facet(PR)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,Kt)}static selection(e){return new t(void 0,Kt,void 0,void 0,e)}};function du(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function TR(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function ER(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function m0(t,e){return t.length?e.length?t.concat(e):t:e}var Kt=[],BR=200;function g0(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-BR));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),du(t,t.length-1,1e9,a.setSelAfter(o)))}else return[fa.selection([e])]}function OR(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function Xh(t,e){if(!t.length)return t;let a=t.length,o=Kt;for(;a;){let r=FR(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[fa.selection(o)]:Kt}function FR(t,e,a){let o=m0(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):Kt,a);if(!t.changes)return fa.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new fa(r,le.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var NR=/^(input\.type|delete)($|\.)/,wr=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||NR.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,TR(i.changes,e.changes))||o=="input.type.compose")?s=du(s,s.length-1,r.minDepth,new fa(e.changes.compose(i.changes),m0(le.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,Kt)):s=du(s,s.length,r.minDepth,e),new t(s,Kt,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:Kt;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&ER(n[n.length-1],e)?this:new t(g0(this.done,e),this.undone,a,o)}addMapping(e){return new t(Xh(this.done,e),Xh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:Kh.of({side:e,rest:OR(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?Kt:r.slice(0,r.length-1);return n.mapped&&(i=Xh(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:Kh.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};wr.empty=new wr(Kt,Kt);var x0=[{key:"Mod-z",run:p0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:jh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:jh,preventDefault:!0},{key:"Mod-u",run:DR,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:RR,preventDefault:!0}];function vn(t,e){return V.create(t.ranges.map(e),t.mainIndex)}function ca(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function ha({state:t,dispatch:e},a){let o=vn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(ca(t,o)),!0)}function cu(t,e){return V.cursor(e?t.to:t.from)}function L0(t,e){return ha(t,a=>a.empty?t.moveByChar(a,e):cu(a,e))}function ft(t){return t.textDirectionAt(t.state.selection.main.head)==be.LTR}var C0=t=>L0(t,!ft(t)),y0=t=>L0(t,ft(t));function w0(t,e){return ha(t,a=>a.empty?t.moveByGroup(a,e):cu(a,e))}var HR=t=>w0(t,!ft(t)),_R=t=>w0(t,ft(t));var GG=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function qR(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function hu(t,e,a){let o=Lt(t).resolveInner(e.head),r=a?de.closedBy:de.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;qR(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?da(t,o.from,1):da(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,V.cursor(i,a?-1:1)}var zR=t=>ha(t,e=>hu(t.state,e,!ft(t))),UR=t=>ha(t,e=>hu(t.state,e,ft(t)));function b0(t,e){return ha(t,a=>{if(!a.empty)return cu(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var I0=t=>b0(t,!1),S0=t=>b0(t,!0);function v0(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(J.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function k0(t,e){let a=v0(t),{state:o}=t,r=vn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):cu(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=J.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(ca(o,r),{effects:n}),!0}var a0=t=>k0(t,!1),Zh=t=>k0(t,!0);function Mo(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=V.cursor(o.from+n))}return r}var VR=t=>ha(t,e=>Mo(t,e,!0)),WR=t=>ha(t,e=>Mo(t,e,!1)),GR=t=>ha(t,e=>Mo(t,e,!ft(t))),$R=t=>ha(t,e=>Mo(t,e,ft(t))),XR=t=>ha(t,e=>V.cursor(t.lineBlockAt(e.head).from,1)),KR=t=>ha(t,e=>V.cursor(t.lineBlockAt(e.head).to,-1));function jR(t,e,a){let o=!1,r=vn(t.selection,n=>{let s=da(t,n.head,-1)||da(t,n.head,1)||n.head>0&&da(t,n.head-1,1)||n.head<t.doc.length&&da(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?V.range(n.anchor,i):V.cursor(i)});return o?(e(ca(t,r)),!0):!1}var ZR=({state:t,dispatch:e})=>jR(t,e,!1);function jt(t,e){let a=vn(t.state.selection,o=>{let r=e(o);return V.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(ca(t.state,a)),!0)}function A0(t,e){return jt(t,a=>t.moveByChar(a,e))}var M0=t=>A0(t,!ft(t)),P0=t=>A0(t,ft(t));function D0(t,e){return jt(t,a=>t.moveByGroup(a,e))}var YR=t=>D0(t,!ft(t)),JR=t=>D0(t,ft(t));var QR=t=>jt(t,e=>hu(t.state,e,!ft(t))),eT=t=>jt(t,e=>hu(t.state,e,ft(t)));function R0(t,e){return jt(t,a=>t.moveVertically(a,e))}var T0=t=>R0(t,!1),E0=t=>R0(t,!0);function B0(t,e){return jt(t,a=>t.moveVertically(a,e,v0(t).height))}var o0=t=>B0(t,!1),r0=t=>B0(t,!0),tT=t=>jt(t,e=>Mo(t,e,!0)),aT=t=>jt(t,e=>Mo(t,e,!1)),oT=t=>jt(t,e=>Mo(t,e,!ft(t))),rT=t=>jt(t,e=>Mo(t,e,ft(t))),nT=t=>jt(t,e=>V.cursor(t.lineBlockAt(e.head).from)),sT=t=>jt(t,e=>V.cursor(t.lineBlockAt(e.head).to)),n0=({state:t,dispatch:e})=>(e(ca(t,{anchor:0})),!0),s0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.doc.length})),!0),i0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:0})),!0),l0=({state:t,dispatch:e})=>(e(ca(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),iT=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),lT=({state:t,dispatch:e})=>{let a=pu(t).map(({from:o,to:r})=>V.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:V.create(a),userEvent:"select"})),!0},uT=({state:t,dispatch:e})=>{let a=vn(t.selection,o=>{let r=Lt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return V.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(ca(t,a)),!0)};function O0(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(ca(a,V.create(r,r.length-1))),!0)}var dT=t=>O0(t,!1),fT=t=>O0(t,!0),cT=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=V.create([a.main]):a.main.empty||(o=V.create([V.cursor(a.main.head)])),o?(e(ca(t,o)),!0):!1};function Us(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=uu(t,l,!1)):l>s&&(a="delete.forward",l=uu(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=uu(t,s,!1),i=uu(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:V.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?J.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function uu(t,e,a){if(t instanceof J)for(let o of t.state.facet(J.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var F0=(t,e,a)=>Us(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=sr(i,n.tabSize),d=u%Ao(n)||Ao(n);for(let f=0;f<d&&i[i.length-1-f]==" ";f++)r--;l=r}else l=Ve(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=Ve(s.text,l-s.from,!1,!1)+s.from);return l}),Yh=t=>F0(t,!1,!0);var N0=t=>F0(t,!0,!1),H0=(t,e)=>Us(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=Ve(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),_0=t=>H0(t,!1),hT=t=>H0(t,!0);var pT=t=>Us(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var mT=t=>Us(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),gT=t=>Us(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var xT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:me.of(["",""])},range:V.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},LT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:Ve(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:Ve(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:V.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function pu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function q0(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of pu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(V.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(V.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:V.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var CT=({state:t,dispatch:e})=>q0(t,e,!1),yT=({state:t,dispatch:e})=>q0(t,e,!0);function z0(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of pu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var wT=({state:t,dispatch:e})=>z0(t,e,!1),bT=({state:t,dispatch:e})=>z0(t,e,!0),IT=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(pu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=vn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ST(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=Lt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(de.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var u0=U0(!1),vT=U0(!0);function U0(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&ST(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new Cr(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=Wh(u,n);for(d==null&&(d=sr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let f=["",qs(e,d)];return l&&f.push(qs(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:me.of(f)},range:V.cursor(n+1+f[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function ep(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:V.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var kT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new Cr(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=ep(t,(n,s,i)=>{let l=Wh(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=qs(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},V0=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(ep(t,(a,o)=>{o.push({from:a.from,insert:t.facet(yr)})}),{userEvent:"input.indent"})),!0),W0=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(ep(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=sr(r,t.tabSize),s=0,i=qs(t,Math.max(0,n-Ao(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),AT=t=>(t.setTabFocusMode(),!0);var MT=[{key:"Ctrl-b",run:C0,shift:M0,preventDefault:!0},{key:"Ctrl-f",run:y0,shift:P0},{key:"Ctrl-p",run:I0,shift:T0},{key:"Ctrl-n",run:S0,shift:E0},{key:"Ctrl-a",run:XR,shift:nT},{key:"Ctrl-e",run:KR,shift:sT},{key:"Ctrl-d",run:N0},{key:"Ctrl-h",run:Yh},{key:"Ctrl-k",run:pT},{key:"Ctrl-Alt-h",run:_0},{key:"Ctrl-o",run:xT},{key:"Ctrl-t",run:LT},{key:"Ctrl-v",run:Zh}],PT=[{key:"ArrowLeft",run:C0,shift:M0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:HR,shift:YR,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:GR,shift:oT,preventDefault:!0},{key:"ArrowRight",run:y0,shift:P0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:_R,shift:JR,preventDefault:!0},{mac:"Cmd-ArrowRight",run:$R,shift:rT,preventDefault:!0},{key:"ArrowUp",run:I0,shift:T0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:n0,shift:i0},{mac:"Ctrl-ArrowUp",run:a0,shift:o0},{key:"ArrowDown",run:S0,shift:E0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:s0,shift:l0},{mac:"Ctrl-ArrowDown",run:Zh,shift:r0},{key:"PageUp",run:a0,shift:o0},{key:"PageDown",run:Zh,shift:r0},{key:"Home",run:WR,shift:aT,preventDefault:!0},{key:"Mod-Home",run:n0,shift:i0},{key:"End",run:VR,shift:tT,preventDefault:!0},{key:"Mod-End",run:s0,shift:l0},{key:"Enter",run:u0,shift:u0},{key:"Mod-a",run:iT},{key:"Backspace",run:Yh,shift:Yh,preventDefault:!0},{key:"Delete",run:N0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:_0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:hT,preventDefault:!0},{mac:"Mod-Backspace",run:mT,preventDefault:!0},{mac:"Mod-Delete",run:gT,preventDefault:!0}].concat(MT.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),G0=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:zR,shift:QR},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:UR,shift:eT},{key:"Alt-ArrowUp",run:CT},{key:"Shift-Alt-ArrowUp",run:wT},{key:"Alt-ArrowDown",run:yT},{key:"Shift-Alt-ArrowDown",run:bT},{key:"Mod-Alt-ArrowUp",run:dT},{key:"Mod-Alt-ArrowDown",run:fT},{key:"Escape",run:cT},{key:"Mod-Enter",run:vT},{key:"Alt-l",mac:"Ctrl-l",run:lT},{key:"Mod-i",run:uT,preventDefault:!0},{key:"Mod-[",run:W0},{key:"Mod-]",run:V0},{key:"Mod-Alt-\\",run:kT},{key:"Shift-Mod-k",run:IT},{key:"Shift-Mod-\\",run:ZR},{key:"Mod-/",run:wR},{key:"Alt-A",run:IR},{key:"Ctrl-m",mac:"Shift-Alt-m",run:AT}].concat(PT),$0={key:"Tab",run:V0,shift:W0};var xu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},br=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(Vs).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new ra,i=[],l=0,u=o.doc.iter(),d=0,f=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((L,y)=>Math.min(L,y.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>f)break;g=p.to,i.push(p),h++}for(;h<n.length;){let L=n[h];if(L.from==m&&(L.to>L.from||L.to==m))i.push(L),h++,g=Math.min(L.to,g);else{g=Math.min(L.from,g);break}}g=Math.min(g,f);let x=!1;if(i.some(L=>L.from==m&&(L.to==g||g==f))&&(x=m==g,!x&&g-m<10)){let L=m-(d+u.value.length);L>0&&(u.next(L),d=m);for(let y=m;;){if(y>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>y)break;y=d+u.value.length,d+=u.value.length,u.next()}}let C=ay(i);if(x)s.add(m,m,fe.widget({widget:new tp(C),diagnostics:i.slice()}));else{let L=i.reduce((y,S)=>S.markClass?y+" "+S.markClass:y,"");s.add(m,g,fe.mark({class:"cm-lintRange cm-lintRange-"+C+L,diagnostics:i.slice(),inclusiveEnd:i.some(y=>y.to>g)}))}if(l=g,l==f)break;for(let L=0;L<i.length;L++)i[L].to<=l&&i.splice(L--,1)}let c=s.finish();return new t(c,a,kn(c))}};function kn(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new xu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new xu(o.from,n,o.diagnostic)}}),o}function j0(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(Vs).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(wu))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function DT(t,e){return t.field(pa,!1)?e:e.concat(le.appendConfig.of(zT))}function Z0(t,e){return{effects:DT(t,[wu.of(e)])}}var wu=le.define(),Y0=le.define(),J0=le.define(),pa=Ne.define({create(){return new br(fe.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=kn(a,t.selected.diagnostic,n)||kn(a,null,n)}!a.size&&r&&e.state.facet(Vs).autoPanel&&(r=null),t=new br(a,r,o)}for(let a of e.effects)if(a.is(wu)){let o=e.state.facet(Vs).autoPanel?a.value.length?Cu.open:null:t.panel;t=br.init(a.value,o,e.state)}else a.is(Y0)?t=new br(t.diagnostics,a.value?Cu.open:null,t.selected):a.is(J0)&&(t=new br(t.diagnostics,t.panel,a.value));return t},provide:t=>[hr.from(t,e=>e.panel),J.decorations.from(t,e=>e.diagnostics)]});var RT=fe.mark({class:"cm-lintRange cm-lintRange-active"});function TT(t,e,a){let{diagnostics:o}=t.state.field(pa),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(Vs).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:Q0(t,r)}}}:null}function Q0(t,e){return ye("ul",{class:"cm-tooltip-lint"},e.map(a=>ty(t,a,!1)))}var X0=t=>{let e=t.state.field(pa,!1);return!e||!e.panel?!1:(t.dispatch({effects:Y0.of(!1)}),!0)};var Vs=j.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...At(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:K0,tooltipFilter:K0,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function K0(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function ey(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function ty(t,e,a){var o;let r=a?ey(e.actions):[];return ye("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ye("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=kn(t.state.field(pa).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,f=d<0?u:[u.slice(0,d),ye("u",u.slice(d,d+1)),u.slice(d+1)],c=n.markClass?" "+n.markClass:"";return ye("button",{type:"button",class:"cm-diagnosticAction"+c,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},f)}),e.source&&ye("div",{class:"cm-diagnosticSource"},e.source))}var tp=class extends Aa{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ye("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Lu=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=ty(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Cu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)X0(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=ey(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=kn(this.view.state.field(pa).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=ye("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=ye("div",{class:"cm-panel-lint"},this.list,ye("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>X0(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(pa).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(pa),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let f=-1,c;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(c=new Lu(this.view,d),this.items.splice(o,0,c),r=!0):(c=this.items[f],f>o&&(this.items.splice(o,f-o),r=!0)),a&&c.diagnostic==a.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),n=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Lu(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(pa),o=kn(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:J0.of(o)})}static open(e){return new t(e)}};function gu(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function mu(t){return gu(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var ET=J.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:mu("#f11")},".cm-lintRange-warning":{backgroundImage:mu("orange")},".cm-lintRange-info":{backgroundImage:mu("#999")},".cm-lintRange-hint":{backgroundImage:mu("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function BT(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function ay(t){let e="hint",a=1;for(let o of t){let r=BT(o.severity);r>a&&(a=r,e=o.severity)}return e}var yu=class extends Xt{constructor(e){super(),this.diagnostics=e,this.severity=ay(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(bu).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>FT(e,a,o)),a}};function OT(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(oy)&&t.dispatch({effects:op.of(null)})}};window.addEventListener("mousemove",a)}function FT(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:op.of({pos:s.from,above:!1,clip:!1,create(){return{dom:Q0(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,OT(t,e)}let{hoverTime:r}=t.state.facet(bu),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function NT(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new yu(a[r]).range(+r));return Le.of(o,!0)}var HT=wh({class:"cm-gutter-lint",markers:t=>t.state.field(ap),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(ap).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new yu(o):null}}),ap=Ne.define({create(){return Le.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(bu).markerFilter;for(let o of e.effects)if(o.is(wu)){let r=o.value;a&&(r=a(r||[],e.state)),t=NT(e.state.doc,r.slice(0))}return t}}),op=le.define(),oy=Ne.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=j0(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(op)?o.value:a,t)},provide:t=>bn.from(t)}),_T=J.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:gu('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:gu('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:gu('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),qT=Kl(TT,{hideOn:j0}),zT=[pa,J.decorations.compute([pa],t=>{let{selected:e,panel:a}=t.field(pa);return!e||!a||e.from==e.to?fe.none:fe.set([RT.range(e.from,e.to)])}),qT,ET],bu=j.define({combine(t){return At(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function ry(t={}){return[bu.of(t),ap,HT,_T,oy]}var ny=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Ir=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(ny(i)):ny,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return kt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=hs(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=Ut(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Ir.prototype[Symbol.iterator]=function(){return this});var iy={from:-1,to:-1,match:/.*/.exec(""),precise:!0},up="gm"+(/x/.unicode==null?"":"u"),vu=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=iy,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Au(e,a,o,r,n);this.re=new RegExp(a,up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=Mu(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=Mu(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},rp=new WeakMap,ku=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=rp.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return rp.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),rp.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Au=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=iy,this.matchPos=Mu(e,r),this.re=new RegExp(a,up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=ku.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=Mu(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ku.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(vu.prototype[Symbol.iterator]=Au.prototype[Symbol.iterator]=function(){return this});function UT(t){try{return new RegExp(t,up),!0}catch{return!1}}function Mu(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var VT=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=yC(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,f]=s,c=d?+d.slice(1):0,h=u?+u:i.number;if(u&&f){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=V.cursor(p.from+Math.max(0,Math.min(c,p.length)));t.dispatch({effects:[o,J.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var WT=({state:t,dispatch:e})=>{let{selection:a}=t,o=V.create(a.ranges.map(r=>t.wordAt(r.head)||V.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function GT(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Ir(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Ir(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var $T=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return WT({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=GT(t,o);return r?(e(t.update({selection:t.selection.addRange(V.range(r.from,r.to),!1),effects:J.scrollIntoView(r.to)})),!0):!1},Pn=j.define({combine(t){return At(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new lp(e),scrollToMatch:e=>J.scrollIntoView(e)})}});var Pu=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||UT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
|
|
21
|
+
`:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new sp(this):new np(this)}getCursor(e,a=0,o){let r=e.doc?e:Se.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?Mn(this,r,a,o):An(this,r,a,o)}},Du=class{constructor(e){this.spec=e}};function XT(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function An(t,e,a,o){let r;return t.wholeWord&&(r=KT(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=XT(t.test,e,r)),new Ir(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function KT(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e(Ru(r,a-n))!=Te.Word||e(Tu(r,a-n))!=Te.Word)&&(e(Tu(r,o-n))!=Te.Word||e(Ru(r,o-n))!=Te.Word))}var np=class extends Du{constructor(e){super(e)}nextMatch(e,a,o){let r=An(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=An(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=An(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=An(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=An(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function jT(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function Mn(t,e,a,o){let r;return t.wholeWord&&(r=ZT(e.charCategorizer(e.selection.main.head))),t.test&&(r=jT(t.test,e,r)),new vu(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function Ru(t,e){return t.slice(Ve(t,e,!1),e)}function Tu(t,e){return t.slice(e,Ve(t,e))}function ZT(t){return(e,a,o)=>!o[0].length||(t(Ru(o.input,o.index))!=Te.Word||t(Tu(o.input,o.index))!=Te.Word)&&(t(Tu(o.input,o.index+o[0].length))!=Te.Word||t(Ru(o.input,o.index+o[0].length))!=Te.Word)}var sp=class extends Du{nextMatch(e,a,o){let r=Mn(this.spec,e,o,e.doc.length).next();return r.done&&(r=Mn(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=Mn(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=Mn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Mn(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},Gs=le.define(),dp=le.define(),Po=Ne.define({create(t){return new Ws(ip(t).create(),null)},update(t,e){for(let a of e.effects)a.is(Gs)?t=new Ws(a.value.create(),t.panel):a.is(dp)&&(t=new Ws(t.query,a.value?fp:null));return t},provide:t=>hr.from(t,e=>e.panel)});var Ws=class{constructor(e,a){this.query=e,this.panel=a}},YT=fe.mark({class:"cm-searchMatch"}),JT=fe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),QT=We.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Po))}update(t){let e=t.state.field(Po);(e!=t.startState.field(Po)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return fe.none;let{view:a}=this,o=new ra;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let f=a.state.selection.ranges.some(c=>c.from==u&&c.to==d);o.add(u,d,f?JT:YT)})}return o.finish()}},{decorations:t=>t.decorations});function $s(t){return e=>{let a=e.state.field(Po,!1);return a&&a.query.spec.valid?t(e,a):dy(e)}}var Eu=$s((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=V.single(o.from,o.to),n=t.state.facet(Pn);return t.dispatch({selection:r,effects:[cp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),uy(t),!0}),Bu=$s((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=V.single(r.from,r.to),s=t.state.facet(Pn);return t.dispatch({selection:n,effects:[cp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),uy(t),!0}),eE=$s((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:V.create(a.map(o=>V.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),tE=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Ir(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(V.range(i.value.from,i.value.to))}return e(t.update({selection:V.create(n,s),userEvent:"select.search.matches"})),!0},sy=$s((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(J.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let f=t.state.changes(i);return s&&(l=V.single(s.from,s.to).map(f),d.push(cp(t,s)),d.push(a.facet(Pn).scrollToMatch(l.main,t))),t.dispatch({changes:f,selection:l,effects:d,userEvent:"input.replace"}),!0}),aE=$s((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:J.announce.of(o),userEvent:"input.replace.all"}),!0});function fp(t){return t.state.facet(Pn).createPanel(t)}function ip(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(Pn);return new Pu({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function ly(t){let e=jl(t,fp);return e&&e.dom.querySelector("[main-field]")}function uy(t){let e=ly(t);e&&e==t.root.activeElement&&e.select()}var dy=t=>{let e=t.state.field(Po,!1);if(e&&e.panel){let a=ly(t);if(a&&a!=t.root.activeElement){let o=ip(t.state,e.query.spec);o.valid&&t.dispatch({effects:Gs.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[dp.of(!0),e?Gs.of(ip(t.state,e.query.spec)):le.appendConfig.of(rE)]});return!0},fy=t=>{let e=t.state.field(Po,!1);if(!e||!e.panel)return!1;let a=jl(t,fp);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:dp.of(!1)}),!0},cy=[{key:"Mod-f",run:dy,scope:"editor search-panel"},{key:"F3",run:Eu,shift:Bu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Eu,shift:Bu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:fy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:tE},{key:"Mod-Alt-g",run:VT},{key:"Mod-d",run:$T,preventDefault:!0}],lp=class{constructor(e){this.view=e;let a=this.query=e.state.field(Po).query.spec;this.commit=this.commit.bind(this),this.searchField=ye("input",{value:a.search,placeholder:Ht(e,"Find"),"aria-label":Ht(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ye("input",{value:a.replace,placeholder:Ht(e,"Replace"),"aria-label":Ht(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ye("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=ye("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=ye("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return ye("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=ye("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>Eu(e),[Ht(e,"next")]),o("prev",()=>Bu(e),[Ht(e,"previous")]),o("select",()=>eE(e),[Ht(e,"all")]),ye("label",null,[this.caseField,Ht(e,"match case")]),ye("label",null,[this.reField,Ht(e,"regexp")]),ye("label",null,[this.wordField,Ht(e,"by word")]),...e.state.readOnly?[]:[ye("br"),this.replaceField,o("replace",()=>sy(e),[Ht(e,"replace")]),o("replaceAll",()=>aE(e),[Ht(e,"replace all")])],ye("button",{name:"close",onclick:()=>fy(e),"aria-label":Ht(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Pu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Gs.of(e)}))}keydown(e){cC(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Bu:Eu)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),sy(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(Gs)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Pn).top}};function Ht(t,e){return t.state.phrase(e)}var Iu=30,Su=/[\s\.,:;?!]/;function cp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-Iu),s=Math.min(r,a+Iu),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<Iu;l++)if(!Su.test(i[l+1])&&Su.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-Iu;l--)if(!Su.test(i[l-1])&&Su.test(i[l])){i=i.slice(0,l);break}}return J.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var oE=J.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),rE=[Po,na.low(QT),oE];var Fu=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=Lt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(yy(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function hy(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function nE(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=hy(e)+hy(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function sE(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:nE(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var Nu=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function vr(t){return t.selection.main.from}function yy(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var wy=vt.define();function iE(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:V.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var py=new WeakMap;function lE(t){if(!Array.isArray(t))return t;let e=py.get(t);return e||py.set(t,e=sE(t)),e}var Hu=le.define(),Xs=le.define(),gp=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=kt(e,a),r=Ut(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(kt(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let C=kt(e,0),L=Ut(C),y=L==e.length?0:-100;if(C!=a[0])if(C==o[0])y+=-200;else return null;return this.ret(y,[0,L])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let C=0,L=Math.min(e.length,200);C<L&&u<l;){let y=kt(e,C);(y==a[u]||y==o[u])&&(r[u++]=C),C+=Ut(y)}if(u<l)return null}let d=0,f=0,c=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let C=0,L=Math.min(e.length,200),y=0;C<L&&f<l;){let S=kt(e,C);i<0&&(d<l&&S==a[d]&&(n[d++]=C),h<l&&(S==a[h]||S==o[h]?(h==0&&(p=C),m=C+1,h++):h=0));let w,b=S<255?S>=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(w=hs(S))!=w.toLowerCase()?1:w!=w.toUpperCase()?2:0;(!C||b==1&&g||y==0&&b!=0)&&(a[f]==S||o[f]==S&&(c=!0)?s[f++]=C:s.length&&(x=!1)),y=b,C+=Ut(S)}return f==l&&s[0]==0&&x?this.result(-100+(c?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):f==l?this.result(-100+(c?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?Ut(kt(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},xp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},et=j.define({combine(t){return At(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:uE,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>my(e(o),a(o)),optionClass:(e,a)=>o=>my(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function my(t,e){return t?e?t+" "+e:t:e}function uE(t,e,a,o,r,n){let s=t.textDirection==be.RTL,i=s,l=!1,u="top",d,f,c=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&c<Math.min(p,h)?i=!1:!i&&h<Math.min(p,c)&&(i=!0),p<=(i?c:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,f=Math.min(400,i?c:h);else{l=!0,f=Math.min(400,(s?e.right:r.right-e.left)-30);let C=r.bottom-e.bottom;C>=m||C>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${f/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var bp=le.define();function dE(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],f=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let c=s.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(i.slice(d,f))),c.className="cm-completionMatchedText",l=f}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function hp(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var Lp=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(et);this.optionContent=dE(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=hp(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,f;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(f=/-(\d+)$/.exec(d.id))&&+f[1]<u.length){this.applyCompletion(e,u[+f[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:bp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(et).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Xs.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=hp(n.length,s,e.state.facet(et).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=hp(a.options.length,a.selected,this.view.state.facet(et).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>rt(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&cE(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(et).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let c=typeof u=="string"?u:u.name;if(c!=n&&(s>o.from||o.from==0))if(n=c,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=c}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let f=this.optionClass(i);f&&(d.className=f);for(let c of this.optionContent){let h=c(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function fE(t,e){return a=>new Lp(a,t,e)}function cE(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function gy(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function hE(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:f}=d.completion;if(f){o||(o=[]);let c=typeof f=="string"?f:f.name;o.some(h=>h.name==c)||o.push(typeof f=="string"?{name:c}:f)}},s=e.facet(et);for(let d of t)if(d.hasResult()){let f=d.result.getMatch;if(d.result.filter===!1)for(let c of d.result.options)n(new Nu(c,d.source,f?f(c):[],1e9-a.length));else{let c=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new xp(c):new gp(c);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?f?f(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new Nu(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:C}=m.section;r||(r=Object.create(null)),r[C]=Math.max(x,r[C]||-1e9)}}}}if(o){let d=Object.create(null),f=0,c=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(c))f-=1e5,d[h.name]=f;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((f,c)=>c.score-f.score||u(f.completion,c.completion))){let f=d.completion;!l||l.label!=f.label||l.detail!=f.detail||l.type!=null&&f.type!=null&&l.type!=f.type||l.apply!=f.apply||l.boost!=f.boost?i.push(d):gy(d.completion)>gy(l)&&(i[i.length-1]=d),l=d.completion}return i}var Cp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,xy(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=hE(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(et).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,xy(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:CE,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},yp=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(xE,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(et),n=(o.override||a.languageDataAt("autocomplete",vr(a)).map(lE)).map(l=>(this.active.find(d=>d.source==l)||new to(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(Ip));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!pE(n,this.active)||i?s=Cp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new to(l.source,0):l));for(let l of e.effects)l.is(bp)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?mE:gE}};function pE(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var mE={"aria-autocomplete":"list"},gE={};function xy(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var xE=[];function by(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(wy);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var to=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=by(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(Hu))r=new t(r.source,1,n.value);else if(n.is(Xs))r=new t(r.source,0);else if(n.is(Ip))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(vr(e.state))}},_u=class t extends to{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=vr(e.state);if(i>s||!r||a&2&&(vr(e.startState)==this.from||i<this.limit))return new to(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return LE(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new Fu(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:vr(e.state)):new to(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new to(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function LE(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):yy(t,!0).test(r)}var Ip=le.define({map(t,e){return t.map(a=>a.map(e))}}),Dt=Ne.define({create(){return yp.start()},update(t,e){return t.update(e)},provide:t=>[bn.from(t,e=>e.tooltip),J.contentAttributes.from(t,e=>e.attrs)]});function Sp(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(Dt).active.find(r=>r.source==e.source);return o instanceof _u?(typeof a=="string"?t.dispatch({...iE(t.state,a,o.from,o.to),annotations:wy.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var CE=fE(Dt,Sp);function Ou(t,e="option"){return a=>{let o=a.state.field(Dt,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(et).interactionDelay)return!1;let r=1,n;e=="page"&&(n=yh(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:bp.of(i)}),!0}}var yE=t=>{let e=t.state.field(Dt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(et).interactionDelay?!1:Sp(t,e.open.options[e.open.selected])},pp=t=>t.state.field(Dt,!1)?(t.dispatch({effects:Hu.of(!0)}),!0):!1,wE=t=>{let e=t.state.field(Dt,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:Xs.of(null)}),!0)},wp=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},bE=50,IE=1e3,SE=We.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Dt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Dt),a=t.state.facet(et);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Dt)==e)return;let o=t.transactions.some(n=>{let s=by(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>bE&&Date.now()-s.time>IE){for(let i of s.context.abortListeners)try{i()}catch(l){rt(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(Hu)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Dt);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(et).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=vr(e),o=new Fu(e,a,t.explicit,this.view),r=new wp(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:Xs.of(null)}),rt(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(et).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(et),o=this.view.state.field(Dt);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=vr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new _u(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new to(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:Ip.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Dt,!1);if(e&&e.tooltip&&this.view.state.facet(et).closeOnBlur){let a=e.open&&yh(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Xs.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Hu.of(!1)}),20),this.composing=0}}}),vE=typeof navigator=="object"&&/Win/.test(navigator.platform),kE=na.highest(J.domEventHandlers({keydown(t,e){let a=e.state.field(Dt,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(vE&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&Sp(e,o),!1}})),AE=J.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var qu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Sr=le.define({map(t,e){let a=e.mapPos(t,-1,ot.TrackAfter);return a??void 0}}),vp=new class extends zt{};vp.startSide=1;vp.endSide=-1;var Iy=Ne.define({create(){return Le.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(Sr)&&(t=t.update({add:[vp.range(a.value,a.value+1)]}));return t}});function Sy(){return[RE,Iy]}var mp="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function ME(t){for(let e=0;e<mp.length;e+=2)if(mp.charCodeAt(e)==t)return mp.charAt(e+1);return hs(t<128?t:t+1)}function PE(t,e){return t.languageDataAt("closeBrackets",e)[0]||qu}var DE=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),RE=J.inputHandler.of((t,e,a,o)=>{if((DE?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&Ut(kt(o,0))==1||e!=r.from||a!=r.to)return!1;let n=TE(t.state,o);return n?(t.dispatch(n),!0):!1});function TE(t,e){let a=PE(t,t.selection.main.head),o=a.brackets||qu.brackets;for(let r of o){let n=ME(kt(r,0));if(e==r)return n==r?OE(t,r,o.indexOf(r+r+r)>-1,a):EE(t,r,n,a.before||qu.before);if(e==n&&vy(t,t.selection.main.from))return BE(t,r,n)}return null}function vy(t,e){let a=!1;return t.field(Iy).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function kp(t,e){let a=t.sliceString(e,e+2);return a.slice(0,Ut(kt(a,0)))}function EE(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:Sr.of(s.to+e.length),range:V.range(s.anchor+e.length,s.head+e.length)};let i=kp(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:Sr.of(s.head+e.length),range:V.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function BE(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&kp(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:V.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function OE(t,e,a,o){let r=o.stringPrefixes||qu.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:Sr.of(i.to+e.length),range:V.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=kp(t.doc,l),d;if(u==e){if(Ly(t,l))return{changes:{insert:e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)};if(vy(t,l)){let c=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+c.length,insert:c},range:V.cursor(l+c.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=Cy(t,l-2*e.length,r))>-1&&Ly(t,d))return{changes:{insert:e+e+e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=Te.Word&&Cy(t,l,r)>-1&&!FE(t,l,e,r))return{changes:{insert:e+e,from:l},effects:Sr.of(l+e.length),range:V.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Ly(t,e){let a=Lt(t).resolveInner(e+1);return a.parent&&a.from==e}function FE(t,e,a,o){let r=Lt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function Cy(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=Te.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=Te.Word)return n}return-1}function ky(t={}){return[kE,Dt,et.of(t),SE,NE,AE]}var Ap=[{key:"Ctrl-Space",run:pp},{mac:"Alt-`",run:pp},{mac:"Alt-i",run:pp},{key:"Escape",run:wE},{key:"ArrowDown",run:Ou(!0)},{key:"ArrowUp",run:Ou(!1)},{key:"PageDown",run:Ou(!0,"page")},{key:"PageUp",run:Ou(!1,"page")},{key:"Enter",run:yE}],NE=na.highest(pr.computeN([et],t=>t.facet(et).defaultKeymap?[Ap]:[]));import{jsx as VE}from"react/jsx-runtime";var HE=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),_E=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function Mp(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var qE={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),Mp(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),Mp(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),Mp(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":HE.has(o)?"keyword":_E.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},Rp=iu.define(qE);function Tp(){return new ru(Rp,[yr.of(" ")])}function Pp(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function Dp(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function zE(t,e){return e.map(a=>{let o=Dp(t,a.range.start),r=Dp(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function UE(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function Ep(t,e,a){let o=We.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=zE(this.view.state.doc,l);this.view.dispatch(Z0(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let f=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(f!=="."&&f!==":"&&f!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,Pp(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(f=>({label:f.label,type:UE(f.kind),detail:f.detail}))}},n=Kl(async(i,l)=>{let u;try{u=await t.hover(e,Pp(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let f=document.createElement("pre");return f.className="nbt-hover-tooltip",f.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",f.textContent=d.replace(/```\w*\n?/g,""),{dom:f}}}:null}),s=pr.of([{key:"F12",run:i=>{let l=Pp(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let f=Dp(i.state.doc,d.range.start);i.dispatch({selection:{anchor:f},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,ky({override:[r]}),n,s]}var WE=J.theme({"&":{height:"100%",fontSize:"12px",backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-content":{fontFamily:"ui-monospace, monospace"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},"&.cm-focused":{outline:"none"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),zu=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s})=>{let i=Dn.useRef(null),l=Dn.useRef(null),u=Dn.useRef(r);u.current=r;let d=Dn.useRef(n);d.current=n;let f=Dn.useRef(s);return f.current=s,Dn.useEffect(()=>{let c=i.current;if(!c)return;let h=[SC(),h0(),gC(),LC(),YC(),Sy(),ry(),$C(XC,{fallback:!0}),Tp(),WE,pr.of([{key:"Mod-s",run:m=>(d.current?.(m.state.doc.toString()),!0)},...G0,...x0,...cy,...Ap,$0]),J.updateListener.of(m=>{m.docChanged&&u.current?.(m.state.doc.toString())}),Se.readOnly.of(a)];o&&!a&&h.push(Ep(o,t,(m,g)=>f.current?.(m,g)));let p=new J({state:Se.create({doc:e,extensions:h}),parent:c});return l.current=p,()=>{p.destroy(),l.current=null}},[t,a,o]),VE("div",{ref:i,className:"h-full min-h-0 overflow-hidden"})},Uu=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import Bp from"react";import{jsx as GE}from"react/jsx-runtime";import XE,{createContext as KE,useContext as Dy,useEffect as Vu,useRef as Rn,useState as Wu}from"react";var My=Bp.createContext({apiBaseUrl:""}),Op=({apiBaseUrl:t="",children:e})=>{let a=Bp.useMemo(()=>({apiBaseUrl:t}),[t]);return GE(My.Provider,{value:a,children:e})};function st(){return Bp.useContext(My)}function kr(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var Py="nbt_devtools_token";function Gu(){try{return localStorage.getItem(Py)}catch{return null}}function Fp(t){try{localStorage.setItem(Py,t)}catch{}}function js(t){let e={...t??{}},a=Gu();return a&&(e.Authorization=`Bearer ${a}`),e}async function Np(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:js()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function Hp(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");Fp(r.token)}async function _p(t,e,a,o){let r=await fetch(`${t}/api/auth/user/signup`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,email:a,password:o})});if(!r.ok){let s=`HTTP ${r.status}`;if(r.status===409)s="That email is already registered";else try{let i=await r.json();i?.error&&(s=i.error)}catch{}throw new Error(`Sign-up failed: ${s}`)}let n=await r.json();if(!n.token)throw new Error("Sign-up returned no token");Fp(n.token)}function $E(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function qp(t){let e=Gu();return e?[t,`auth-${$E(e)}`]:[t]}var Ry=1,Ty=2,jE=3,zp=4,Up=5,Vp=6,ZE=255,$u=1,Xu=2,Ku=3,ju=4,Zu=5,Yu=6,Ju=7,Qu=8,Zs=9,ed=10,td=11,Ey=12,ad=13,od=14;function YE(t){switch(t){case $u:return 1;case Xu:return 2;case Ku:return 4;case ju:return 8;case Zu:return 1;case Yu:return 2;case Ju:return 4;case Qu:return 8;case Zs:return 1;case ed:return 4;case td:return 8;case Ey:return 0;case ad:return 8;case od:return 0;default:return 0}}var JE=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===zp&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===Up&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive&&this._applySearch();return}if(t.op===Vp&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},rd=new TextDecoder,nd=2,Ay=1+nd;function QE(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function By(t,e,a){switch(a.type){case $u:return[String(t.getUint8(e)),1];case Zu:return[String(t.getInt8(e)),1];case Zs:return[t.getUint8(e)?"true":"false",1];case Xu:return[String(t.getUint16(e,!0)),2];case Yu:return[String(t.getInt16(e,!0)),2];case Ku:return[String(t.getUint32(e,!0)),4];case Ju:return[String(t.getInt32(e,!0)),4];case ed:return[String(t.getFloat32(e,!0)),4];case ju:return[String(t.getBigUint64(e,!0)),8];case Qu:return[String(t.getBigInt64(e,!0)),8];case td:return[String(t.getFloat64(e,!0)),8];case ad:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[QE(o).toISOString(),8]}case Ey:case od:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[rd.decode(r),4+o]}default:return["",0]}}function eB(t){return new DataView(t).getUint8(0)}function tB(t){return new DataView(t).getUint16(1,!0)}function aB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==Ry)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=nd;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),f=rd.decode(d);a+=u,s.push({name:f,type:l,fixedSize:YE(l)})}return{totalRows:r,columns:s}}function oB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==Ty)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=nd;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,f]=By(a,o,e[u]);l.push(d),o+=f}s.push(l)}return s}function rB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=nd,r===Vp){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:rd.decode(s)}}if(r===zp||r===Up){let n=[];for(let s=0;s<e.length;s++){let[i,l]=By(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function nB(t){let a=new DataView(t).getUint16(Ay,!0),o=new Uint8Array(t,Ay+2,a);return rd.decode(o)}function sB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var Wp=KE(null);function iB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function lB(t){return["nimbit-bulk",`auth-${iB(t)}`]}var Ks=null,uB=6e4;async function dB(t,e){let a=Gu();if(a)return a;let o=Date.now();if(Ks?.apiBaseUrl===e&&o-Ks.at<uB)return Ks.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(Ks={apiBaseUrl:e,token:s,at:o},s):null}function fB(){Ks=null}function Tn(t){t.listeners.forEach(e=>e())}function Gp({registry:t,children:e}){let{apiBaseUrl:a}=st(),o=Rn(null),r=Rn([]),n=Rn(1),s=Rn(new Map),i=Rn(new Map),l=Rn(!1),[u,d]=Wu(!1),[f,c]=Wu(null),h=w=>{let b=o.current;b&&b.readyState===WebSocket.OPEN?b.send(w):r.current.push(w)},p=()=>{let w=o.current;if(!w||w.readyState!==WebSocket.OPEN)return;let b=r.current;r.current=[];for(let I of b)w.send(I)},m=(w,b)=>{let I=b.toLowerCase(),A=`${w}/${I}`,N=i.current.get(A);if(N)return N;let D=n.current++,T={sid:D,cart:w,entity:I,store:new JE,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(A,T),s.current.set(D,T),T},g=w=>{w.streamRequested||(w.streamRequested=!0,h(sB(w.sid,w.cart,w.entity)))},x=w=>{let b=w.data,I=tB(b),A=s.current.get(I);if(!A)return;let N=eB(b),D=A.store;switch(N){case Ry:{let T=aB(b);D.applySchema(T),A.columns=T.columns,A.totalRows=T.totalRows,A.loadedRows=0,A.streaming=!0,Tn(A);break}case Ty:{let T=oB(b,D.columns);D.appendChunk(T),A.loadedRows=D.getRowCount(),A.onRender?.();break}case jE:A.streaming=!1,Tn(A);break;case zp:case Up:case Vp:{let T=rB(b,D.columns);D.applyDelta(T),A.totalRows=D.totalRows,A.loadedRows=D.getRowCount(),A.onRender?.(),Tn(A);break}case ZE:A.error=nB(b),A.streaming=!1,Tn(A);break}};Vu(()=>{let w=new AbortController,b=!1,I=!1,A=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),c(null),(async()=>{let N=null;try{N=await dB(w.signal,a)}catch{}b||(A=N?new WebSocket(`${kr(a)}/_ws/bulk`,lB(N)):new WebSocket(`${kr(a)}/_ws/bulk`,["nimbit-bulk"]),A.binaryType="arraybuffer",o.current=A,A.onopen=()=>{b||o.current!==A||(I=!0,d(!0),c(null),p())},A.onmessage=x,A.onerror=()=>{},A.onclose=()=>{b||o.current!==A||(d(!1),o.current=null,I||(fB(),c("WebSocket connection closed")))})})(),()=>{if(b=!0,w.abort(),A){A.onopen=A.onmessage=A.onerror=A.onclose=null;try{A.close()}catch{}o.current===A&&(o.current=null)}}},[a]),Vu(()=>{if(!u||l.current)return;let w=Object.keys(t);if(w.length!==0){l.current=!0;for(let b of w)for(let I of t[b]??[]){let A=m(b,I.name);g(A)}}},[u,t]);let S={getView:m,ensureStreamed:g,search:(w,b)=>{w.store.search(b),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),Tn(w),w.onRender?.()},clearSearch:w=>{w.store.exitSearch(),w.totalRows=w.store.totalRows,w.loadedRows=w.store.getRowCount(),Tn(w),w.onRender?.()},subscribe:(w,b)=>(w.listeners.add(b),()=>{w.listeners.delete(b)}),connected:u,error:f};return XE.createElement(Wp.Provider,{value:S},e)}function $p(t){let e=Dy(Wp);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=Wu(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");Vu(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function Xp(t,e){let a=Dy(Wp);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=Wu(0);return Vu(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import ct from"react";import{jsxs as lt,Fragment as lo,jsx as W}from"react/jsx-runtime";import{createContext as _m,useContext as Si,useMemo as La,forwardRef as JI,useEffect as ke,useRef as we,useState as Fa,useLayoutEffect as kF,useCallback as Na,memo as Ge}from"react";function _e(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=_e(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var cB={value:()=>{}};function Fy(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new sd(a)}function sd(t){this._=t}function hB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}sd.prototype=Fy.prototype={constructor:sd,on:function(t,e){var a=this._,o=hB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=pB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=Oy(a[r],t.name,e);else if(e==null)for(r in a)a[r]=Oy(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new sd(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function pB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function Oy(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=cB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Ar=Fy;var id="http://www.w3.org/1999/xhtml",Kp={svg:"http://www.w3.org/2000/svg",xhtml:id,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ao(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),Kp.hasOwnProperty(e)?{space:Kp[e],local:t}:t}function mB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===id&&e.documentElement.namespaceURI===id?e.createElement(t):e.createElementNS(a,t)}}function gB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ld(t){var e=ao(t);return(e.local?gB:mB)(e)}function xB(){}function Mr(t){return t==null?xB:function(){return this.querySelector(t)}}function Ny(t){typeof t!="function"&&(t=Mr(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new qe(o,this._parents)}function jp(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function LB(){return[]}function Ys(t){return t==null?LB:function(){return this.querySelectorAll(t)}}function CB(t){return function(){return jp(t.apply(this,arguments))}}function Hy(t){typeof t=="function"?t=CB(t):t=Ys(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new qe(o,r)}function Js(t){return function(){return this.matches(t)}}function ud(t){return function(e){return e.matches(t)}}var yB=Array.prototype.find;function wB(t){return function(){return yB.call(this.children,t)}}function bB(){return this.firstElementChild}function _y(t){return this.select(t==null?bB:wB(typeof t=="function"?t:ud(t)))}var IB=Array.prototype.filter;function SB(){return Array.from(this.children)}function vB(t){return function(){return IB.call(this.children,t)}}function qy(t){return this.selectAll(t==null?SB:vB(typeof t=="function"?t:ud(t)))}function zy(t){typeof t!="function"&&(t=Js(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new qe(o,this._parents)}function dd(t){return new Array(t.length)}function Uy(){return new qe(this._enter||this._groups.map(dd),this._parents)}function Qs(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Qs.prototype={constructor:Qs,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Vy(t){return function(){return t}}function kB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new Qs(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function AB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,f=n.length,c=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(c[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<f;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new Qs(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(c[i])===l&&(r[i]=l)}function MB(t){return t.__data__}function Wy(t,e){if(!arguments.length)return Array.from(this,MB);var a=e?AB:kB,o=this._parents,r=this._groups;typeof t!="function"&&(t=Vy(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],f=r[u],c=f.length,h=PB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(c);a(d,f,m,g,x,h,e);for(var C=0,L=0,y,S;C<p;++C)if(y=m[C]){for(C>=L&&(L=C+1);!(S=g[L])&&++L<p;);y._next=S||null}}return s=new qe(s,o),s._enter=i,s._exit=l,s}function PB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Gy(){return new qe(this._exit||this._groups.map(dd),this._parents)}function $y(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function Xy(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],f=u.length,c=i[l]=new Array(f),h,p=0;p<f;++p)(h=u[p]||d[p])&&(c[p]=h);for(;l<r;++l)i[l]=a[l];return new qe(i,this._parents)}function Ky(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function jy(t){t||(t=DB);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new qe(r,this._parents).order()}function DB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Zy(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Yy(){return Array.from(this)}function Jy(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function Qy(){let t=0;for(let e of this)++t;return t}function ew(){return!this.node()}function tw(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function RB(t){return function(){this.removeAttribute(t)}}function TB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function EB(t,e){return function(){this.setAttribute(t,e)}}function BB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function OB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function FB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function aw(t,e){var a=ao(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?TB:RB:typeof e=="function"?a.local?FB:OB:a.local?BB:EB)(a,e))}function fd(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function NB(t){return function(){this.style.removeProperty(t)}}function HB(t,e,a){return function(){this.style.setProperty(t,e,a)}}function _B(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function ow(t,e,a){return arguments.length>1?this.each((e==null?NB:typeof e=="function"?_B:HB)(t,e,a??"")):Do(this.node(),t)}function Do(t,e){return t.style.getPropertyValue(e)||fd(t).getComputedStyle(t,null).getPropertyValue(e)}function qB(t){return function(){delete this[t]}}function zB(t,e){return function(){this[t]=e}}function UB(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function rw(t,e){return arguments.length>1?this.each((e==null?qB:typeof e=="function"?UB:zB)(t,e)):this.node()[t]}function nw(t){return t.trim().split(/^|\s+/)}function Zp(t){return t.classList||new sw(t)}function sw(t){this._node=t,this._names=nw(t.getAttribute("class")||"")}sw.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function iw(t,e){for(var a=Zp(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function lw(t,e){for(var a=Zp(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function VB(t){return function(){iw(this,t)}}function WB(t){return function(){lw(this,t)}}function GB(t,e){return function(){(e.apply(this,arguments)?iw:lw)(this,t)}}function uw(t,e){var a=nw(t+"");if(arguments.length<2){for(var o=Zp(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?GB:e?VB:WB)(a,e))}function $B(){this.textContent=""}function XB(t){return function(){this.textContent=t}}function KB(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function dw(t){return arguments.length?this.each(t==null?$B:(typeof t=="function"?KB:XB)(t)):this.node().textContent}function jB(){this.innerHTML=""}function ZB(t){return function(){this.innerHTML=t}}function YB(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function fw(t){return arguments.length?this.each(t==null?jB:(typeof t=="function"?YB:ZB)(t)):this.node().innerHTML}function JB(){this.nextSibling&&this.parentNode.appendChild(this)}function cw(){return this.each(JB)}function QB(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function hw(){return this.each(QB)}function pw(t){var e=typeof t=="function"?t:ld(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function e2(){return null}function mw(t,e){var a=typeof t=="function"?t:ld(t),o=e==null?e2:typeof e=="function"?e:Mr(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function t2(){var t=this.parentNode;t&&t.removeChild(this)}function gw(){return this.each(t2)}function a2(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function o2(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function xw(t){return this.select(t?o2:a2)}function Lw(t){return arguments.length?this.property("__data__",t):this.node().__data__}function r2(t){return function(e){t.call(this,e,this.__data__)}}function n2(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function s2(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function i2(t,e,a){return function(){var o=this.__on,r,n=r2(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function Cw(t,e,a){var o=n2(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?i2:s2,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function yw(t,e,a){var o=fd(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function l2(t,e){return function(){return yw(this,t,e)}}function u2(t,e){return function(){return yw(this,t,e.apply(this,arguments))}}function ww(t,e){return this.each((typeof e=="function"?u2:l2)(t,e))}function*bw(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var Yp=[null];function qe(t,e){this._groups=t,this._parents=e}function Iw(){return new qe([[document.documentElement]],Yp)}function d2(){return this}qe.prototype=Iw.prototype={constructor:qe,select:Ny,selectAll:Hy,selectChild:_y,selectChildren:qy,filter:zy,data:Wy,enter:Uy,exit:Gy,join:$y,merge:Xy,selection:d2,order:Ky,sort:jy,call:Zy,nodes:Yy,node:Jy,size:Qy,empty:ew,each:tw,attr:aw,style:ow,property:rw,classed:uw,text:dw,html:fw,raise:cw,lower:hw,append:pw,insert:mw,remove:gw,clone:xw,datum:Lw,on:Cw,dispatch:ww,[Symbol.iterator]:bw};var oo=Iw;function tt(t){return typeof t=="string"?new qe([[document.querySelector(t)]],[document.documentElement]):new qe([[t]],Yp)}function Sw(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Ct(t,e){if(t=Sw(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var vw={passive:!1},Pr={capture:!0,passive:!1};function cd(t){t.stopImmediatePropagation()}function Ro(t){t.preventDefault(),t.stopImmediatePropagation()}function ei(t){var e=t.document.documentElement,a=tt(t).on("dragstart.drag",Ro,Pr);"onselectstart"in e?a.on("selectstart.drag",Ro,Pr):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function ti(t,e){var a=t.document.documentElement,o=tt(t).on("dragstart.drag",null);e&&(o.on("click.drag",Ro,Pr),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var ai=t=>()=>t;function oi(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}oi.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function f2(t){return!t.ctrlKey&&!t.button}function c2(){return this.parentNode}function h2(t,e){return e??{x:t.x,y:t.y}}function p2(){return navigator.maxTouchPoints||"ontouchstart"in this}function hd(){var t=f2,e=c2,a=h2,o=p2,r={},n=Ar("start","drag","end"),s=0,i,l,u,d,f=0;function c(y){y.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,vw).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(y,S){if(!(d||!t.call(this,y,S))){var w=L(this,e.call(this,y,S),y,S,"mouse");w&&(tt(y.view).on("mousemove.drag",p,Pr).on("mouseup.drag",m,Pr),ei(y.view),cd(y),u=!1,i=y.clientX,l=y.clientY,w("start",y))}}function p(y){if(Ro(y),!u){var S=y.clientX-i,w=y.clientY-l;u=S*S+w*w>f}r.mouse("drag",y)}function m(y){tt(y.view).on("mousemove.drag mouseup.drag",null),ti(y.view,u),Ro(y),r.mouse("end",y)}function g(y,S){if(t.call(this,y,S)){var w=y.changedTouches,b=e.call(this,y,S),I=w.length,A,N;for(A=0;A<I;++A)(N=L(this,b,y,S,w[A].identifier,w[A]))&&(cd(y),N("start",y,w[A]))}}function x(y){var S=y.changedTouches,w=S.length,b,I;for(b=0;b<w;++b)(I=r[S[b].identifier])&&(Ro(y),I("drag",y,S[b]))}function C(y){var S=y.changedTouches,w=S.length,b,I;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),b=0;b<w;++b)(I=r[S[b].identifier])&&(cd(y),I("end",y,S[b]))}function L(y,S,w,b,I,A){var N=n.copy(),D=Ct(A||w,S),T,H,v;if((v=a.call(y,new oi("beforestart",{sourceEvent:w,target:c,identifier:I,active:s,x:D[0],y:D[1],dx:0,dy:0,dispatch:N}),b))!=null)return T=v.x-D[0]||0,H=v.y-D[1]||0,function M(P,R,E){var O=D,k;switch(P){case"start":r[I]=M,k=s++;break;case"end":delete r[I],--s;case"drag":D=Ct(E||R,S),k=s;break}N.call(P,y,new oi(P,{sourceEvent:R,subject:v,target:c,identifier:I,active:k,x:D[0]+T,y:D[1]+H,dx:D[0]-O[0],dy:D[1]-O[1],dispatch:N}),b)}}return c.filter=function(y){return arguments.length?(t=typeof y=="function"?y:ai(!!y),c):t},c.container=function(y){return arguments.length?(e=typeof y=="function"?y:ai(y),c):e},c.subject=function(y){return arguments.length?(a=typeof y=="function"?y:ai(y),c):a},c.touchable=function(y){return arguments.length?(o=typeof y=="function"?y:ai(!!y),c):o},c.on=function(){var y=n.on.apply(n,arguments);return y===n?c:y},c.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,c):Math.sqrt(f)},c}function pd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function Jp(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function si(){}var ri=.7,xd=1/ri,En="\\s*([+-]?\\d+)\\s*",ni="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ta="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",m2=/^#([0-9a-f]{3,8})$/,g2=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),x2=new RegExp(`^rgb\\(${Ta},${Ta},${Ta}\\)$`),L2=new RegExp(`^rgba\\(${En},${En},${En},${ni}\\)$`),C2=new RegExp(`^rgba\\(${Ta},${Ta},${Ta},${ni}\\)$`),y2=new RegExp(`^hsl\\(${ni},${Ta},${Ta}\\)$`),w2=new RegExp(`^hsla\\(${ni},${Ta},${Ta},${ni}\\)$`),kw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pd(si,ga,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Aw,formatHex:Aw,formatHex8:b2,formatHsl:I2,formatRgb:Mw,toString:Mw});function Aw(){return this.rgb().formatHex()}function b2(){return this.rgb().formatHex8()}function I2(){return Bw(this).formatHsl()}function Mw(){return this.rgb().formatRgb()}function ga(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=m2.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?Pw(e):a===3?new Rt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?md(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?md(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=g2.exec(t))?new Rt(e[1],e[2],e[3],1):(e=x2.exec(t))?new Rt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=L2.exec(t))?md(e[1],e[2],e[3],e[4]):(e=C2.exec(t))?md(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=y2.exec(t))?Tw(e[1],e[2]/100,e[3]/100,1):(e=w2.exec(t))?Tw(e[1],e[2]/100,e[3]/100,e[4]):kw.hasOwnProperty(t)?Pw(kw[t]):t==="transparent"?new Rt(NaN,NaN,NaN,0):null}function Pw(t){return new Rt(t>>16&255,t>>8&255,t&255,1)}function md(t,e,a,o){return o<=0&&(t=e=a=NaN),new Rt(t,e,a,o)}function S2(t){return t instanceof si||(t=ga(t)),t?(t=t.rgb(),new Rt(t.r,t.g,t.b,t.opacity)):new Rt}function Bn(t,e,a,o){return arguments.length===1?S2(t):new Rt(t,e,a,o??1)}function Rt(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}pd(Rt,Bn,Jp(si,{brighter(t){return t=t==null?xd:Math.pow(xd,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ri:Math.pow(ri,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Rt(Rr(this.r),Rr(this.g),Rr(this.b),Ld(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dw,formatHex:Dw,formatHex8:v2,formatRgb:Rw,toString:Rw}));function Dw(){return`#${Dr(this.r)}${Dr(this.g)}${Dr(this.b)}`}function v2(){return`#${Dr(this.r)}${Dr(this.g)}${Dr(this.b)}${Dr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Rw(){let t=Ld(this.opacity);return`${t===1?"rgb(":"rgba("}${Rr(this.r)}, ${Rr(this.g)}, ${Rr(this.b)}${t===1?")":`, ${t})`}`}function Ld(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Rr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Dr(t){return t=Rr(t),(t<16?"0":"")+t.toString(16)}function Tw(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new ma(t,e,a,o)}function Bw(t){if(t instanceof ma)return new ma(t.h,t.s,t.l,t.opacity);if(t instanceof si||(t=ga(t)),!t)return new ma;if(t instanceof ma)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new ma(s,i,l,t.opacity)}function Ow(t,e,a,o){return arguments.length===1?Bw(t):new ma(t,e,a,o??1)}function ma(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}pd(ma,Ow,Jp(si,{brighter(t){return t=t==null?xd:Math.pow(xd,t),new ma(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ri:Math.pow(ri,t),new ma(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Rt(Qp(t>=240?t-240:t+120,r,o),Qp(t,r,o),Qp(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new ma(Ew(this.h),gd(this.s),gd(this.l),Ld(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Ld(this.opacity);return`${t===1?"hsl(":"hsla("}${Ew(this.h)}, ${gd(this.s)*100}%, ${gd(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Ew(t){return t=(t||0)%360,t<0?t+360:t}function gd(t){return Math.max(0,Math.min(1,t||0))}function Qp(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function em(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function Fw(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return em((a-o/e)*e,s,r,n,i)}}function Nw(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return em((a-o/e)*e,r,n,s,i)}}var ii=t=>()=>t;function k2(t,e){return function(a){return t+a*e}}function A2(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function Hw(t){return(t=+t)==1?Cd:function(e,a){return a-e?A2(e,a,t):ii(isNaN(e)?a:e)}}function Cd(t,e){var a=e-t;return a?k2(t,a):ii(isNaN(t)?e:t)}var Tr=(function t(e){var a=Hw(e);function o(r,n){var s=a((r=Bn(r)).r,(n=Bn(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=Cd(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function _w(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=Bn(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var M2=_w(Fw),P2=_w(Nw);function qw(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function zw(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Uw(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=ro(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function Vw(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function yt(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function Ww(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=ro(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var am=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tm=new RegExp(am.source,"g");function D2(t){return function(){return t}}function R2(t){return function(e){return t(e)+""}}function li(t,e){var a=am.lastIndex=tm.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=am.exec(t))&&(r=tm.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:yt(o,r)})),a=tm.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?R2(l[0].x):D2(e):(e=l.length,function(u){for(var d=0,f;d<e;++d)i[(f=l[d]).i]=f.x(u);return i.join("")})}function ro(t,e){var a=typeof e,o;return e==null||a==="boolean"?ii(e):(a==="number"?yt:a==="string"?(o=ga(e))?(e=o,Tr):li:e instanceof ga?Tr:e instanceof Date?Vw:zw(e)?qw:Array.isArray(e)?Uw:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Ww:yt)(t,e)}var Gw=180/Math.PI,yd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function om(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*Gw,skewX:Math.atan(l)*Gw,scaleX:s,scaleY:i}}var wd;function $w(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?yd:om(e.a,e.b,e.c,e.d,e.e,e.f)}function Xw(t){return t==null?yd:(wd||(wd=document.createElementNS("http://www.w3.org/2000/svg","g")),wd.setAttribute("transform",t),(t=wd.transform.baseVal.consolidate())?(t=t.matrix,om(t.a,t.b,t.c,t.d,t.e,t.f)):yd)}function Kw(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:yt(u,f)},{i:m-2,x:yt(d,c)})}else(f||c)&&h.push("translate("+f+e+c+a)}function s(u,d,f,c){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),c.push({i:f.push(r(f)+"rotate(",null,o)-2,x:yt(u,d)})):d&&f.push(r(f)+"rotate("+d+o)}function i(u,d,f,c){u!==d?c.push({i:f.push(r(f)+"skewX(",null,o)-2,x:yt(u,d)}):d&&f.push(r(f)+"skewX("+d+o)}function l(u,d,f,c,h,p){if(u!==f||d!==c){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:yt(u,f)},{i:m-2,x:yt(d,c)})}else(f!==1||c!==1)&&h.push(r(h)+"scale("+f+","+c+")")}return function(u,d){var f=[],c=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,f,c),s(u.rotate,d.rotate,f,c),i(u.skewX,d.skewX,f,c),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,c),u=d=null,function(h){for(var p=-1,m=c.length,g;++p<m;)f[(g=c[p]).i]=g.x(h);return f.join("")}}}var rm=Kw($w,"px, ","px)","deg)"),nm=Kw(Xw,", ",")",")");var T2=1e-12;function jw(t){return((t=Math.exp(t))+1/t)/2}function E2(t){return((t=Math.exp(t))-1/t)/2}function B2(t){return((t=Math.exp(2*t))-1)/(t+1)}var Er=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],f=s[1],c=s[2],h=d-i,p=f-l,m=h*h+p*p,g,x;if(m<T2)x=Math.log(c/u)/e,g=function(b){return[i+b*h,l+b*p,u*Math.exp(e*b*x)]};else{var C=Math.sqrt(m),L=(c*c-u*u+o*m)/(2*u*a*C),y=(c*c-u*u-o*m)/(2*c*a*C),S=Math.log(Math.sqrt(L*L+1)-L),w=Math.log(Math.sqrt(y*y+1)-y);x=(w-S)/e,g=function(b){var I=b*x,A=jw(S),N=u/(a*C)*(A*B2(e*I+S)-E2(S));return[i+N*h,l+N*p,u*A/jw(e*I+S)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var On=0,di=0,ui=0,Yw=1e3,bd,fi,Id=0,Br=0,Sd=0,ci=typeof performance=="object"&&performance.now?performance:Date,Jw=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function pi(){return Br||(Jw(O2),Br=ci.now()+Sd)}function O2(){Br=0}function hi(){this._call=this._time=this._next=null}hi.prototype=vd.prototype={constructor:hi,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?pi():+a)+(e==null?0:+e),!this._next&&fi!==this&&(fi?fi._next=this:bd=this,fi=this),this._call=t,this._time=a,sm()},stop:function(){this._call&&(this._call=null,this._time=1/0,sm())}};function vd(t,e,a){var o=new hi;return o.restart(t,e,a),o}function Qw(){pi(),++On;for(var t=bd,e;t;)(e=Br-t._time)>=0&&t._call.call(void 0,e),t=t._next;--On}function Zw(){Br=(Id=ci.now())+Sd,On=di=0;try{Qw()}finally{On=0,N2(),Br=0}}function F2(){var t=ci.now(),e=t-Id;e>Yw&&(Sd-=e,Id=t)}function N2(){for(var t,e=bd,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:bd=a);fi=t,sm(o)}function sm(t){if(!On){di&&(di=clearTimeout(di));var e=t-Br;e>24?(t<1/0&&(di=setTimeout(Zw,t-ci.now()-Sd)),ui&&(ui=clearInterval(ui))):(ui||(Id=ci.now(),ui=setInterval(F2,Yw)),On=1,Jw(Zw))}}function kd(t,e,a){var o=new hi;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var H2=Ar("start","end","cancel","interrupt"),_2=[],ab=0,eb=1,Md=2,Ad=3,tb=4,Pd=5,mi=6;function To(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;q2(t,a,{name:e,index:o,group:r,on:H2,tween:_2,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:ab})}function gi(t,e){var a=Ye(t,e);if(a.state>ab)throw new Error("too late; already scheduled");return a}function it(t,e){var a=Ye(t,e);if(a.state>Ad)throw new Error("too late; already running");return a}function Ye(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function q2(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=vd(n,0,a.time);function n(u){a.state=eb,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,f,c,h;if(a.state!==eb)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===Ad)return kd(s);h.state===tb?(h.state=mi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=mi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(kd(function(){a.state===Ad&&(a.state=tb,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=Md,a.on.call("start",t,t.__data__,a.index,a.group),a.state===Md){for(a.state=Ad,r=new Array(c=a.tween.length),d=0,f=-1;d<c;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++f]=h);r.length=f+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=Pd,1),f=-1,c=r.length;++f<c;)r[f].call(t,d);a.state===Pd&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=mi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function Or(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>Md&&o.state<Pd,o.state=mi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function ob(t){return this.each(function(){Or(this,t)})}function z2(t,e){var a,o;return function(){var r=it(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function U2(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=it(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function rb(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=Ye(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?z2:U2)(a,t,e))}function Fn(t,e,a){var o=t._id;return t.each(function(){var r=it(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return Ye(r,o).value[e]}}function Dd(t,e){var a;return(typeof e=="number"?yt:e instanceof ga?Tr:(a=ga(e))?(e=a,Tr):li)(t,e)}function V2(t){return function(){this.removeAttribute(t)}}function W2(t){return function(){this.removeAttributeNS(t.space,t.local)}}function G2(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function $2(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function X2(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function K2(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function nb(t,e){var a=ao(t),o=a==="transform"?nm:Dd;return this.attrTween(t,typeof e=="function"?(a.local?K2:X2)(a,o,Fn(this,"attr."+t,e)):e==null?(a.local?W2:V2)(a):(a.local?$2:G2)(a,o,e))}function j2(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function Z2(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function Y2(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&Z2(t,n)),a}return r._value=e,r}function J2(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&j2(t,n)),a}return r._value=e,r}function sb(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=ao(t);return this.tween(a,(o.local?Y2:J2)(o,e))}function Q2(t,e){return function(){gi(this,t).delay=+e.apply(this,arguments)}}function eO(t,e){return e=+e,function(){gi(this,t).delay=e}}function ib(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Q2:eO)(e,t)):Ye(this.node(),e).delay}function tO(t,e){return function(){it(this,t).duration=+e.apply(this,arguments)}}function aO(t,e){return e=+e,function(){it(this,t).duration=e}}function lb(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?tO:aO)(e,t)):Ye(this.node(),e).duration}function oO(t,e){if(typeof e!="function")throw new Error;return function(){it(this,t).ease=e}}function ub(t){var e=this._id;return arguments.length?this.each(oO(e,t)):Ye(this.node(),e).ease}function rO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;it(this,t).ease=a}}function db(t){if(typeof t!="function")throw new Error;return this.each(rO(this._id,t))}function fb(t){typeof t!="function"&&(t=Js(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new wt(o,this._parents,this._name,this._id)}function cb(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,f=s[i]=new Array(d),c,h=0;h<d;++h)(c=l[h]||u[h])&&(f[h]=c);for(;i<o;++i)s[i]=e[i];return new wt(s,this._parents,this._name,this._id)}function nO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function sO(t,e,a){var o,r,n=nO(e)?gi:it;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function hb(t,e){var a=this._id;return arguments.length<2?Ye(this.node(),a).on.on(t):this.each(sO(a,t,e))}function iO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function pb(){return this.on("end.remove",iO(this._id))}function mb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Mr(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,f,c=0;c<l;++c)(d=i[c])&&(f=t.call(d,d.__data__,c,i))&&("__data__"in d&&(f.__data__=d.__data__),u[c]=f,To(u[c],e,a,c,u,Ye(d,a)));return new wt(n,this._parents,e,a)}function gb(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Ys(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,f=0;f<u;++f)if(d=l[f]){for(var c=t.call(d,d.__data__,f,l),h,p=Ye(d,a),m=0,g=c.length;m<g;++m)(h=c[m])&&To(h,e,a,m,c,p);n.push(c),s.push(d)}return new wt(n,s,e,a)}var lO=oo.prototype.constructor;function xb(){return new lO(this._groups,this._parents)}function uO(t,e){var a,o,r;return function(){var n=Do(this,t),s=(this.style.removeProperty(t),Do(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function Lb(t){return function(){this.style.removeProperty(t)}}function dO(t,e,a){var o,r=a+"",n;return function(){var s=Do(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function fO(t,e,a){var o,r,n;return function(){var s=Do(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Do(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function cO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=it(this,t),u=l.on,d=l.value[n]==null?i||(i=Lb(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function Cb(t,e,a){var o=(t+="")=="transform"?rm:Dd;return e==null?this.styleTween(t,uO(t,o)).on("end.style."+t,Lb(t)):typeof e=="function"?this.styleTween(t,fO(t,o,Fn(this,"style."+t,e))).each(cO(this._id,t)):this.styleTween(t,dO(t,o,e),a).on("end.style."+t,null)}function hO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function pO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&hO(t,s,a)),o}return n._value=e,n}function yb(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,pO(t,e,a??""))}function mO(t){return function(){this.textContent=t}}function gO(t){return function(){var e=t(this);this.textContent=e??""}}function wb(t){return this.tween("text",typeof t=="function"?gO(Fn(this,"text",t)):mO(t==null?"":t+""))}function xO(t){return function(e){this.textContent=t.call(this,e)}}function LO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&xO(r)),e}return o._value=t,o}function bb(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,LO(t))}function Ib(){for(var t=this._name,e=this._id,a=Rd(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=Ye(l,e);To(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new wt(o,this._parents,t,a)}function Sb(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=it(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var CO=0;function wt(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function vb(t){return oo().transition(t)}function Rd(){return++CO}var no=oo.prototype;wt.prototype=vb.prototype={constructor:wt,select:mb,selectAll:gb,selectChild:no.selectChild,selectChildren:no.selectChildren,filter:fb,merge:cb,selection:xb,transition:Ib,call:no.call,nodes:no.nodes,node:no.node,size:no.size,empty:no.empty,each:no.each,on:hb,attr:nb,attrTween:sb,style:Cb,styleTween:yb,text:wb,textTween:bb,remove:pb,tween:rb,delay:ib,duration:lb,ease:ub,easeVarying:db,end:Sb,[Symbol.iterator]:no[Symbol.iterator]};function Td(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var yO={time:null,delay:0,duration:250,ease:Td};function wO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function kb(t){var e,a;t instanceof wt?(e=t._id,t=t._name):(e=Rd(),(a=yO).time=pi(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&To(l,t,e,u,s,a||wO(l,e));return new wt(o,this._parents,t,e)}oo.prototype.interrupt=ob;oo.prototype.transition=kb;var xi=t=>()=>t;function im(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function xa(t,e,a){this.k=t,this.x=e,this.y=a}xa.prototype={constructor:xa,scale:function(t){return t===1?this:new xa(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new xa(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Fr=new xa(1,0,0);Li.prototype=xa.prototype;function Li(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Fr;return t.__zoom}function Ed(t){t.stopImmediatePropagation()}function Nn(t){t.preventDefault(),t.stopImmediatePropagation()}function bO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function IO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Ab(){return this.__zoom||Fr}function SO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function vO(){return navigator.maxTouchPoints||"ontouchstart"in this}function kO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function Bd(){var t=bO,e=IO,a=kO,o=SO,r=vO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=Er,u=Ar("start","zoom","end"),d,f,c,h=500,p=150,m=0,g=10;function x(v){v.property("__zoom",Ab).on("wheel.zoom",I,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",N).filter(r).on("touchstart.zoom",D).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(v,M,P,R){var E=v.selection?v.selection():v;E.property("__zoom",Ab),v!==E?S(v,M,P,R):E.interrupt().each(function(){w(this,arguments).event(R).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},x.scaleBy=function(v,M,P,R){x.scaleTo(v,function(){var E=this.__zoom.k,O=typeof M=="function"?M.apply(this,arguments):M;return E*O},P,R)},x.scaleTo=function(v,M,P,R){x.transform(v,function(){var E=e.apply(this,arguments),O=this.__zoom,k=P==null?y(E):typeof P=="function"?P.apply(this,arguments):P,q=O.invert(k),F=typeof M=="function"?M.apply(this,arguments):M;return a(L(C(O,F),k,q),E,s)},P,R)},x.translateBy=function(v,M,P,R){x.transform(v,function(){return a(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof P=="function"?P.apply(this,arguments):P),e.apply(this,arguments),s)},null,R)},x.translateTo=function(v,M,P,R,E){x.transform(v,function(){var O=e.apply(this,arguments),k=this.__zoom,q=R==null?y(O):typeof R=="function"?R.apply(this,arguments):R;return a(Fr.translate(q[0],q[1]).scale(k.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof P=="function"?-P.apply(this,arguments):-P),O,s)},R,E)};function C(v,M){return M=Math.max(n[0],Math.min(n[1],M)),M===v.k?v:new xa(M,v.x,v.y)}function L(v,M,P){var R=M[0]-P[0]*v.k,E=M[1]-P[1]*v.k;return R===v.x&&E===v.y?v:new xa(v.k,R,E)}function y(v){return[(+v[0][0]+ +v[1][0])/2,(+v[0][1]+ +v[1][1])/2]}function S(v,M,P,R){v.on("start.zoom",function(){w(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(R).end()}).tween("zoom",function(){var E=this,O=arguments,k=w(E,O).event(R),q=e.apply(E,O),F=P==null?y(q):typeof P=="function"?P.apply(E,O):P,G=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),_=E.__zoom,B=typeof M=="function"?M.apply(E,O):M,U=l(_.invert(F).concat(G/_.k),B.invert(F).concat(G/B.k));return function(X){if(X===1)X=B;else{var z=U(X),$=G/z[2];X=new xa($,F[0]-z[0]*$,F[1]-z[1]*$)}k.zoom(null,X)}})}function w(v,M,P){return!P&&v.__zooming||new b(v,M)}function b(v,M){this.that=v,this.args=M,this.active=0,this.sourceEvent=null,this.extent=e.apply(v,M),this.taps=0}b.prototype={event:function(v){return v&&(this.sourceEvent=v),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(v,M){return this.mouse&&v!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&v!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&v!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(v){var M=tt(this.that).datum();u.call(v,this.that,new im(v,{sourceEvent:this.sourceEvent,target:x,type:v,transform:this.that.__zoom,dispatch:u}),M)}};function I(v,...M){if(!t.apply(this,arguments))return;var P=w(this,M).event(v),R=this.__zoom,E=Math.max(n[0],Math.min(n[1],R.k*Math.pow(2,o.apply(this,arguments)))),O=Ct(v);if(P.wheel)(P.mouse[0][0]!==O[0]||P.mouse[0][1]!==O[1])&&(P.mouse[1]=R.invert(P.mouse[0]=O)),clearTimeout(P.wheel);else{if(R.k===E)return;P.mouse=[O,R.invert(O)],Or(this),P.start()}Nn(v),P.wheel=setTimeout(k,p),P.zoom("mouse",a(L(C(R,E),P.mouse[0],P.mouse[1]),P.extent,s));function k(){P.wheel=null,P.end()}}function A(v,...M){if(c||!t.apply(this,arguments))return;var P=v.currentTarget,R=w(this,M,!0).event(v),E=tt(v.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",G,!0),O=Ct(v,P),k=v.clientX,q=v.clientY;ei(v.view),Ed(v),R.mouse=[O,this.__zoom.invert(O)],Or(this),R.start();function F(_){if(Nn(_),!R.moved){var B=_.clientX-k,U=_.clientY-q;R.moved=B*B+U*U>m}R.event(_).zoom("mouse",a(L(R.that.__zoom,R.mouse[0]=Ct(_,P),R.mouse[1]),R.extent,s))}function G(_){E.on("mousemove.zoom mouseup.zoom",null),ti(_.view,R.moved),Nn(_),R.event(_).end()}}function N(v,...M){if(t.apply(this,arguments)){var P=this.__zoom,R=Ct(v.changedTouches?v.changedTouches[0]:v,this),E=P.invert(R),O=P.k*(v.shiftKey?.5:2),k=a(L(C(P,O),R,E),e.apply(this,M),s);Nn(v),i>0?tt(this).transition().duration(i).call(S,k,R,v):tt(this).call(x.transform,k,R,v)}}function D(v,...M){if(t.apply(this,arguments)){var P=v.touches,R=P.length,E=w(this,M,v.changedTouches.length===R).event(v),O,k,q,F;for(Ed(v),k=0;k<R;++k)q=P[k],F=Ct(q,this),F=[F,this.__zoom.invert(F),q.identifier],E.touch0?!E.touch1&&E.touch0[2]!==F[2]&&(E.touch1=F,E.taps=0):(E.touch0=F,O=!0,E.taps=1+!!d);d&&(d=clearTimeout(d)),O&&(E.taps<2&&(f=F[0],d=setTimeout(function(){d=null},h)),Or(this),E.start())}}function T(v,...M){if(this.__zooming){var P=w(this,M).event(v),R=v.changedTouches,E=R.length,O,k,q,F;for(Nn(v),O=0;O<E;++O)k=R[O],q=Ct(k,this),P.touch0&&P.touch0[2]===k.identifier?P.touch0[0]=q:P.touch1&&P.touch1[2]===k.identifier&&(P.touch1[0]=q);if(k=P.that.__zoom,P.touch1){var G=P.touch0[0],_=P.touch0[1],B=P.touch1[0],U=P.touch1[1],X=(X=B[0]-G[0])*X+(X=B[1]-G[1])*X,z=(z=U[0]-_[0])*z+(z=U[1]-_[1])*z;k=C(k,Math.sqrt(X/z)),q=[(G[0]+B[0])/2,(G[1]+B[1])/2],F=[(_[0]+U[0])/2,(_[1]+U[1])/2]}else if(P.touch0)q=P.touch0[0],F=P.touch0[1];else return;P.zoom("touch",a(L(k,q,F),P.extent,s))}}function H(v,...M){if(this.__zooming){var P=w(this,M).event(v),R=v.changedTouches,E=R.length,O,k;for(Ed(v),c&&clearTimeout(c),c=setTimeout(function(){c=null},h),O=0;O<E;++O)k=R[O],P.touch0&&P.touch0[2]===k.identifier?delete P.touch0:P.touch1&&P.touch1[2]===k.identifier&&delete P.touch1;if(P.touch1&&!P.touch0&&(P.touch0=P.touch1,delete P.touch1),P.touch0)P.touch0[1]=this.__zoom.invert(P.touch0[0]);else if(P.end(),P.taps===2&&(k=Ct(k,this),Math.hypot(f[0]-k[0],f[1]-k[1])<g)){var q=tt(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return x.wheelDelta=function(v){return arguments.length?(o=typeof v=="function"?v:xi(+v),x):o},x.filter=function(v){return arguments.length?(t=typeof v=="function"?v:xi(!!v),x):t},x.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:xi(!!v),x):r},x.extent=function(v){return arguments.length?(e=typeof v=="function"?v:xi([[+v[0][0],+v[0][1]],[+v[1][0],+v[1][1]]]),x):e},x.scaleExtent=function(v){return arguments.length?(n[0]=+v[0],n[1]=+v[1],x):[n[0],n[1]]},x.translateExtent=function(v){return arguments.length?(s[0][0]=+v[0][0],s[1][0]=+v[1][0],s[0][1]=+v[0][1],s[1][1]=+v[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(v){return arguments.length?(a=v,x):a},x.duration=function(v){return arguments.length?(i=+v,x):i},x.interpolate=function(v){return arguments.length?(l=v,x):l},x.on=function(){var v=u.on.apply(u,arguments);return v===u?x:v},x.clickDistance=function(v){return arguments.length?(m=(v=+v)*v,x):Math.sqrt(m)},x.tapDistance=function(v){return arguments.length?(g=+v,x):g},x}var _t={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},zn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],cm=["Enter"," ","Escape"],hm={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"},Oo;(function(t){t.Strict="strict",t.Loose="loose"})(Oo||(Oo={}));var so;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(so||(so={}));var Nr;(function(t){t.Partial="partial",t.Full="full"})(Nr||(Nr={}));var pm={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Ea;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ea||(Ea={}));var Fo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Fo||(Fo={}));var re;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(re||(re={}));var Mb={[re.Left]:re.Right,[re.Right]:re.Left,[re.Top]:re.Bottom,[re.Bottom]:re.Top};function mm(t){return t===null?null:t?"valid":"invalid"}var gm=t=>"id"in t&&"source"in t&&"target"in t,zb=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),xm=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var yi=(t,e=[0,0])=>{let{width:a,height:o}=Ba(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},Lm=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):xm(r)?r:e.nodeLookup.get(r.id));let i=s?Nd(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return qd(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zd(a)},Un=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=qd(a,Nd(r)),o=!0)}),o?zd(a):{x:0,y:0,width:0,height:0}},Hd=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...Ur(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:f=!0,hidden:c=!1}=u;if(s&&!f||c)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=Vn(i,zr(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},Ub=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function AO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function Vb({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=AO(t,s),l=Un(i),u=wi(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function Cm({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",_t.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(f=[[l,u],[l+h,u+p]])}else i&&qr(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let c=qr(f)?Hr(e,f,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",_t.error015()),{position:{x:c.x-l+(s.measured.width??0)*d[0],y:c.y-u+(s.measured.height??0)*d[1]},positionAbsolute:c}}async function Wb({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(c=>c.id)),s=[];for(let c of a){if(c.deletable===!1)continue;let h=n.has(c.id),p=!h&&c.parentId&&s.find(m=>m.id===c.parentId);(h||p)&&s.push(c)}let i=new Set(e.map(c=>c.id)),l=o.filter(c=>c.deletable!==!1),d=Ub(s,l);for(let c of l)i.has(c.id)&&!d.find(p=>p.id===c.id)&&d.push(c);if(!r)return{edges:d,nodes:s};let f=await r({nodes:s,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:s}:{edges:[],nodes:[]}:f}var qn=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),Hr=(t={x:0,y:0},e,a)=>({x:qn(t.x,e[0][0],e[1][0]-(a?.width??0)),y:qn(t.y,e[0][1],e[1][1]-(a?.height??0))});function Gb(t,e,a){let{width:o,height:r}=Ba(a),{x:n,y:s}=a.internals.positionAbsolute;return Hr(t,[[n,s],[n+o,s+r]],e)}var Pb=(t,e,a)=>t<e?qn(Math.abs(t-e),1,e)/e:t>a?-qn(Math.abs(t-a),1,e)/e:0,_d=(t,e,a=15,o=40)=>{let r=Pb(t.x,o,e.width-o)*a,n=Pb(t.y,o,e.height-o)*a;return[r,n]},qd=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),fm=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),zd=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),zr=(t,e=[0,0])=>{let{x:a,y:o}=xm(t)?t.internals.positionAbsolute:yi(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Nd=(t,e=[0,0])=>{let{x:a,y:o}=xm(t)?t.internals.positionAbsolute:yi(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},ym=(t,e)=>zd(qd(fm(t),fm(e))),Vn=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},wm=t=>Zt(t.width)&&Zt(t.height)&&Zt(t.x)&&Zt(t.y),Zt=t=>!isNaN(t)&&isFinite(t),bm=(t,e)=>(a,o)=>{},Wn=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),Ur=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?Wn(i,s):i},_r=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function Hn(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function MO(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=Hn(t,a),r=Hn(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=Hn(t.top??t.y??0,a),r=Hn(t.bottom??t.y??0,a),n=Hn(t.left??t.x??0,e),s=Hn(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function PO(t,e,a,o,r,n){let{x:s,y:i}=_r(t,[e,a,o]),{x:l,y:u}=_r({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,f=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(f)}}var wi=(t,e,a,o,r,n)=>{let s=MO(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=qn(u,o,r),f=t.x+t.width/2,c=t.y+t.height/2,h=e/2-f*d,p=a/2-c*d,m=PO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},Gn=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function qr(t){return t!=null&&t!=="parent"}function Ba(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function Ud(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function Im(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function Sm(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function $b(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function Xb(t){return{...hm,...t||{}}}function Ci(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=Yt(t),i=Ur({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?Wn(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var Vd=t=>({width:t.offsetWidth,height:t.offsetHeight}),vm=t=>t?.getRootNode?.()||window?.document,DO=["INPUT","SELECT","TEXTAREA"];function km(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:DO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var Am=t=>"clientX"in t,Yt=(t,e)=>{let a=Am(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},Db=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...Vd(s)}})};function Wd({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),f=Math.abs(u-e);return[l,u,d,f]}function Od(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Rb({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case re.Left:return[e-Od(e-o,n),a];case re.Right:return[e+Od(o-e,n),a];case re.Top:return[e,a-Od(a-r,n)];case re.Bottom:return[e,a+Od(r-a,n)]}}function Gd({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,curvature:s=.25}){let[i,l]=Rb({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=Rb({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[f,c,h,p]=Wd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,f,c,h,p]}function Mm({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function Kb({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function jb({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=qd(Nd(t),Nd(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return Vn(s,zd(n))>0}var RO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,TO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),Zb=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",_t.error006()),e;let o=a.getEdgeId||RO,r;return gm(t)?r={...t}:r={...t,id:o(t)},TO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function $d({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=Mm({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var Tb={[re.Left]:{x:-1,y:0},[re.Right]:{x:1,y:0},[re.Top]:{x:0,y:-1},[re.Bottom]:{x:0,y:1}},EO=({source:t,sourcePosition:e=re.Bottom,target:a})=>e===re.Left||e===re.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},Eb=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function BO({source:t,sourcePosition:e=re.Bottom,target:a,targetPosition:o=re.Top,center:r,offset:n,stepPosition:s}){let i=Tb[e],l=Tb[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},f=EO({source:u,sourcePosition:e,target:d}),c=f.x!==0?"x":"y",h=f[c],p=[],m,g,x={x:0,y:0},C={x:0,y:0},[,,L,y]=Mm({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[c]*l[c]===-1){c==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let I=[{x:m,y:u.y},{x:m,y:d.y}],A=[{x:u.x,y:g},{x:d.x,y:g}];i[c]===h?p=c==="x"?I:A:p=c==="x"?A:I}else{let I=[{x:u.x,y:d.y}],A=[{x:d.x,y:u.y}];if(c==="x"?p=i.x===h?A:I:p=i.y===h?I:A,e===o){let v=Math.abs(t[c]-a[c]);if(v<=n){let M=Math.min(n-1,n-v);i[c]===h?x[c]=(u[c]>t[c]?-1:1)*M:C[c]=(d[c]>a[c]?-1:1)*M}}if(e!==o){let v=c==="x"?"y":"x",M=i[c]===l[v],P=u[v]>d[v],R=u[v]<d[v];(i[c]===1&&(!M&&P||M&&R)||i[c]!==1&&(!M&&R||M&&P))&&(p=c==="x"?I:A)}let N={x:u.x+x.x,y:u.y+x.y},D={x:d.x+C.x,y:d.y+C.y},T=Math.max(Math.abs(N.x-p[0].x),Math.abs(D.x-p[0].x)),H=Math.max(Math.abs(N.y-p[0].y),Math.abs(D.y-p[0].y));T>=H?(m=(N.x+D.x)/2,g=p[0].y):(m=p[0].x,g=(N.y+D.y)/2)}let S={x:u.x+x.x,y:u.y+x.y},w={x:d.x+C.x,y:d.y+C.y};return[[t,...S.x!==p[0].x||S.y!==p[0].y?[S]:[],...p,...w.x!==p[p.length-1].x||w.y!==p[p.length-1].y?[w]:[],a],m,g,L,y]}function OO(t,e,a,o){let r=Math.min(Eb(t,e)/2,Eb(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function bi({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[f,c,h,p,m]=BO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${f[0].x} ${f[0].y}`;for(let x=1;x<f.length-1;x++)g+=OO(f[x-1],f[x],f[x+1],s);return g+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[g,c,h,p,m]}function Bb(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function Yb(t){let{sourceNode:e,targetNode:a}=t;if(!Bb(e)||!Bb(a))return null;let o=e.internals.handleBounds||Ob(e.handles),r=a.internals.handleBounds||Ob(a.handles),n=Fb(o?.source??[],t.sourceHandle),s=Fb(t.connectionMode===Oo.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",_t.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||re.Bottom,l=s?.position||re.Top,u=No(e,n,i),d=No(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Ob(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function No(t,e,a=re.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ba(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case re.Top:return{x:r+s/2,y:n};case re.Right:return{x:r+s,y:n+i/2};case re.Bottom:return{x:r+s/2,y:n+i};case re.Left:return{x:r,y:n+i/2}}}function Fb(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function Xd(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function Jb(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=Xd(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var Qb=1e3,FO=10,Pm={nodeOrigin:[0,0],nodeExtent:zn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},NO={...Pm,checkEquality:!0};function Dm(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function eI(t,e,a){let o=Dm(Pm,a);for(let r of t.values())if(r.parentId)Tm(r,t,e,o);else{let n=yi(r,o.nodeOrigin),s=qr(r.extent)?r.extent:o.nodeExtent,i=Hr(n,s,Ba(r));r.internals.positionAbsolute=i}}function HO(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function Rm(t){return t==="manual"}function Kd(t,e,a,o={}){let r=Dm(NO,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!Rm(r.zIndexMode)?Qb:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let f=s.get(d.id);if(r.checkEquality&&d===f?.internals.userNode)e.set(d.id,f);else{let c=yi(d,r.nodeOrigin),h=qr(d.extent)?d.extent:r.nodeExtent,p=Hr(c,h,Ba(d));f={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:HO(d,f),z:tI(d,i,r.zIndexMode),userNode:d}},e.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(l=!1),d.parentId&&Tm(f,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function _O(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function Tm(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=Dm(Pm,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}_O(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*FO),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let f=n&&!Rm(l)?Qb:0,{x:c,y:h,z:p}=qO(t,d,s,i,f,l),{positionAbsolute:m}=t.internals,g=c!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:c,y:h}:m,z:p}})}function tI(t,e,a){let o=Zt(t.zIndex)?t.zIndex:0;return Rm(a)?o:o+(t.selected?e:0)}function qO(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ba(t),u=yi(t,a),d=qr(t.extent)?Hr(u,t.extent,l):u,f=Hr({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(f=Gb(f,l,e));let c=tI(t,r,n),h=e.internals.z??0;return{x:f.x,y:f.y,z:h>=c?h+1:c}}function jd(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??zr(i),u=ym(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ba(i),f=i.origin??o,c=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*f[0],x=(m-d.height)*f[1];(c>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-c+g,y:i.position.y-h+x}}),a.get(l)?.forEach(C=>{t.some(L=>L.id===C.id)||r.push({id:C.id,type:"position",position:{x:C.position.x+c,y:C.position.y+h}})})),(d.width<s.width||d.height<s.height||c||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(c?f[0]*c-g:0),height:m+(h?f[1]*h-x:0)}})}),r}function aI(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:f}=new window.DOMMatrixReadOnly(d.transform),c=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=Vd(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let C=h.nodeElement.getBoundingClientRect(),L=qr(p.extent)?p.extent:n,{positionAbsolute:y}=p.internals;p.parentId&&p.extent==="parent"?y=Gb(y,m,e.get(p.parentId)):L&&(y=Hr(y,L,m));let S={...p,measured:m,internals:{...p.internals,positionAbsolute:y,handleBounds:{source:Db("source",h.nodeElement,C,f,p.id),target:Db("target",h.nodeElement,C,f,p.id)}}};e.set(p.id,S),p.parentId&&Tm(S,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&c.push({id:p.id,parentId:p.parentId,rect:zr(S,r)}))}}if(c.length>0){let h=jd(c,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function oI({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function Nb(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function Em(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;Nb("source",l,d,t,r,s),Nb("target",l,u,t,n,i),e.set(o.id,o)}}function rI(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:rI(a,e):!1}function Hb(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function zO(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!rI(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function lm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function UO({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=Wn(n,e);return{x:s.x-n.x,y:s.y-n.y}}function nI({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,f=!1,c=null,h=!1,p=!1,m=null;function g({noDragClassName:C,handleSelector:L,domNode:y,isSelectable:S,nodeId:w,nodeClickDistance:b=0}){c=tt(y);function I({x:T,y:H}){let{nodeLookup:v,nodeExtent:M,snapGrid:P,snapToGrid:R,nodeOrigin:E,onNodeDrag:O,onSelectionDrag:k,onError:q,updateNodePositions:F}=e();n={x:T,y:H};let G=!1,_=i.size>1,B=_&&M?fm(Un(i)):null,U=_&&R?UO({dragItems:i,snapGrid:P,x:T,y:H}):null;for(let[X,z]of i){if(!v.has(X))continue;let $={x:T-z.distance.x,y:H-z.distance.y};R&&($=U?{x:Math.round($.x+U.x),y:Math.round($.y+U.y)}:Wn($,P));let ie=null;if(_&&M&&!z.extent&&B){let{positionAbsolute:ne}=z.internals,ue=ne.x-B.x+M[0][0],Ie=ne.x+z.measured.width-B.x2+M[1][0],Ue=ne.y-B.y+M[0][1],St=ne.y+z.measured.height-B.y2+M[1][1];ie=[[ue,Ue],[Ie,St]]}let{position:se,positionAbsolute:oe}=Cm({nodeId:X,nextPosition:$,nodeLookup:v,nodeExtent:ie||M,nodeOrigin:E,onError:q});G=G||z.position.x!==se.x||z.position.y!==se.y,z.position=se,z.internals.positionAbsolute=oe}if(p=p||G,!!G&&(F(i,!0),m&&(o||O||!w&&k))){let[X,z]=lm({nodeId:w,dragItems:i,nodeLookup:v});o?.(m,i,X,z),O?.(m,X,z),w||k?.(m,z)}}async function A(){if(!d)return;let{transform:T,panBy:H,autoPanSpeed:v,autoPanOnNodeDrag:M}=e();if(!M){l=!1,cancelAnimationFrame(s);return}let[P,R]=_d(u,d,v);(P!==0||R!==0)&&(n.x=(n.x??0)-P/T[2],n.y=(n.y??0)-R/T[2],await H({x:P,y:R})&&I(n)),s=requestAnimationFrame(A)}function N(T){let{nodeLookup:H,multiSelectionActive:v,nodesDraggable:M,transform:P,snapGrid:R,snapToGrid:E,selectNodesOnDrag:O,onNodeDragStart:k,onSelectionDragStart:q,unselectNodesAndEdges:F}=e();f=!0,(!O||!S)&&!v&&w&&(H.get(w)?.selected||F()),S&&O&&w&&t?.(w);let G=Ci(T.sourceEvent,{transform:P,snapGrid:R,snapToGrid:E,containerBounds:d});if(n=G,i=zO(H,M,G,w),i.size>0&&(a||k||!w&&q)){let[_,B]=lm({nodeId:w,dragItems:i,nodeLookup:H});a?.(T.sourceEvent,i,_,B),k?.(T.sourceEvent,_,B),w||q?.(T.sourceEvent,B)}}let D=hd().clickDistance(b).on("start",T=>{let{domNode:H,nodeDragThreshold:v,transform:M,snapGrid:P,snapToGrid:R}=e();d=H?.getBoundingClientRect()||null,h=!1,p=!1,m=T.sourceEvent,v===0&&N(T),n=Ci(T.sourceEvent,{transform:M,snapGrid:P,snapToGrid:R,containerBounds:d}),u=Yt(T.sourceEvent,d)}).on("drag",T=>{let{autoPanOnNodeDrag:H,transform:v,snapGrid:M,snapToGrid:P,nodeDragThreshold:R,nodeLookup:E}=e(),O=Ci(T.sourceEvent,{transform:v,snapGrid:M,snapToGrid:P,containerBounds:d});if(m=T.sourceEvent,(T.sourceEvent.type==="touchmove"&&T.sourceEvent.touches.length>1||w&&!E.has(w))&&(h=!0),!h){if(!l&&H&&f&&(l=!0,A()),!f){let k=Yt(T.sourceEvent,d),q=k.x-u.x,F=k.y-u.y;Math.sqrt(q*q+F*F)>R&&N(T)}(n.x!==O.xSnapped||n.y!==O.ySnapped)&&i&&f&&(u=Yt(T.sourceEvent,d),I(O))}}).on("end",T=>{if(!f||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,f=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:H,updateNodePositions:v,onNodeDragStop:M,onSelectionDragStop:P}=e();if(p&&(v(i,!1),p=!1),r||M||!w&&P){let[R,E]=lm({nodeId:w,dragItems:i,nodeLookup:H,dragging:!1});r?.(T.sourceEvent,i,R,E),M?.(T.sourceEvent,R,E),w||P?.(T.sourceEvent,E)}}}).filter(T=>{let H=T.target;return!T.button&&(!C||!Hb(H,`.${C}`,y))&&(!L||Hb(H,L,y))});c.call(D)}function x(){c?.on(".drag",null)}return{update:g,destroy:x}}function VO(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())Vn(r,zr(n))>0&&o.push(n);return o}var WO=250;function GO(t,e,a,o){let r=[],n=1/0,s=VO(t,a,e+WO);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:f}=No(i,u,u.position,!0),c=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(f-t.y,2));c>e||(c<n?(r=[{...u,x:d,y:f}],n=c):c===n&&r.push({...u,x:d,y:f}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function sI(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...No(s,l,l.position,!0)}:l}function iI(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function $O(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var lI=()=>!0;function XO(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:c,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=lI,onReconnectEnd:C,updateConnection:L,getTransform:y,getFromHandle:S,autoPanSpeed:w,dragThreshold:b=1,handleDomNode:I}){let A=vm(t.target),N=0,D,{x:T,y:H}=Yt(t),v=iI(n,I),M=i?.getBoundingClientRect(),P=!1;if(!M||!v)return;let R=sI(r,v,o,l,e);if(!R)return;let E=Yt(t,M),O=!1,k=null,q=!1,F=null;function G(){if(!d||!M)return;let[se,oe]=_d(E,M,w);c({x:se,y:oe}),N=requestAnimationFrame(G)}let _={...R,nodeId:r,type:v,position:R.position},B=l.get(r),X={inProgress:!0,isValid:null,from:No(B,_,re.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:B,to:E,toHandle:null,toPosition:Mb[_.position],toNode:null,pointer:E};function z(){P=!0,L(X),p?.(t,{nodeId:r,handleId:o,handleType:v})}b===0&&z();function $(se){if(!P){let{x:St,y:$a}=Yt(se),Ia=St-T,Sa=$a-H;if(!(Ia*Ia+Sa*Sa>b*b))return;z()}if(!S()||!_){ie(se);return}let oe=y();E=Yt(se,M),D=GO(Ur(E,oe,!1,[1,1]),a,l,_),O||(G(),O=!0);let ne=uI(se,{handle:D,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:A,lib:u,flowId:f,nodeLookup:l});F=ne.handleDomNode,k=ne.connection,q=$O(!!D,ne.isValid);let ue=l.get(r),Ie=ue?No(ue,_,re.Left,!0):X.from,Ue={...X,from:Ie,isValid:q,to:ne.toHandle&&q?_r({x:ne.toHandle.x,y:ne.toHandle.y},oe):E,toHandle:ne.toHandle,toPosition:q&&ne.toHandle?ne.toHandle.position:Mb[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:E};L(Ue),X=Ue}function ie(se){if(!("touches"in se&&se.touches.length>0)){if(P){(D||F)&&k&&q&&m?.(k);let{inProgress:oe,...ne}=X,ue={...ne,toPosition:X.toHandle?X.toPosition:null};g?.(se,ue),n&&C?.(se,ue)}h(),cancelAnimationFrame(N),O=!1,q=!1,k=null,F=null,A.removeEventListener("mousemove",$),A.removeEventListener("mouseup",ie),A.removeEventListener("touchmove",$),A.removeEventListener("touchend",ie)}}A.addEventListener("mousemove",$),A.addEventListener("mouseup",ie),A.addEventListener("touchmove",$),A.addEventListener("touchend",ie)}function uI(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=lI,nodeLookup:d}){let f=n==="target",c=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=Yt(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:c,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let C=iI(void 0,g),L=g.getAttribute("data-nodeid"),y=g.getAttribute("data-handleid"),S=g.classList.contains("connectable"),w=g.classList.contains("connectableend");if(!L||!C)return x;let b={source:f?L:o,sourceHandle:f?y:r,target:f?o:L,targetHandle:f?r:y};x.connection=b;let A=S&&w&&(a===Oo.Strict?f&&C==="source"||!f&&C==="target":L!==o||y!==r);x.isValid=A&&u(b),x.toHandle=sI(L,C,y,d,a,!0)}return x}var Zd={onPointerDown:XO,isValid:uI};function dI({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=tt(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:f=!0,zoomable:c=!0,inversePan:h=!1}){let p=L=>{if(L.sourceEvent.type!=="wheel"||!e)return;let y=a(),S=L.sourceEvent.ctrlKey&&Gn()?10:1,w=-L.sourceEvent.deltaY*(L.sourceEvent.deltaMode===1?.05:L.sourceEvent.deltaMode?1:.002)*d,b=y[2]*Math.pow(2,w*S);e.scaleTo(b)},m=[0,0],g=L=>{(L.sourceEvent.type==="mousedown"||L.sourceEvent.type==="touchstart")&&(m=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY])},x=L=>{let y=a();if(L.sourceEvent.type!=="mousemove"&&L.sourceEvent.type!=="touchmove"||!e)return;let S=[L.sourceEvent.clientX??L.sourceEvent.touches[0].clientX,L.sourceEvent.clientY??L.sourceEvent.touches[0].clientY],w=[S[0]-m[0],S[1]-m[1]];m=S;let b=o()*Math.max(y[2],Math.log(y[2]))*(h?-1:1),I={x:y[0]-w[0]*b,y:y[1]-w[1]*b},A=[[0,0],[l,u]];e.setViewportConstrained({x:I.x,y:I.y,zoom:y[2]},A,i)},C=Bd().on("start",g).on("zoom",f?x:null).on("zoom.wheel",c?p:null);r.call(C,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:Ct}}var Yd=t=>({x:t.x,y:t.y,zoom:t.k}),um=({x:t,y:e,zoom:a})=>Fr.translate(t,e).scale(a),_n=(t,e)=>t.target.closest(`.${e}`),fI=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),KO=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,dm=(t,e=0,a=KO,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},cI=t=>{let e=t.ctrlKey&&Gn()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function jO({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(_n(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=Ct(d),x=cI(d),C=f*Math.pow(2,x);o.scaleTo(a,C,g,d);return}let c=d.deltaMode===1?20:1,h=r===so.Vertical?0:d.deltaX*c,p=r===so.Horizontal?0:d.deltaY*c;!Gn()&&d.shiftKey&&r!==so.Vertical&&(h=d.deltaY*c,p=0),o.translateBy(a,-(h/f)*n,-(p/f)*n,{internal:!0});let m=Yd(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function ZO({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=_n(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function YO({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=Yd(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function JO({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&fI(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,Yd(n.transform))}}function QO({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&fI(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=Yd(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function eF({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let c=t||e,h=a&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(_n(f,`${u}-flow__node`)||_n(f,`${u}-flow__edge`)))return!0;if(!o&&!c&&!r&&!n&&!a||s||d&&!p||_n(f,i)&&p||_n(f,l)&&(!p||r&&p&&!t)||!a&&f.ctrlKey&&p)return!1;if(!a&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!c&&!r&&!h&&p||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&m}}function hI({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),f=Bd().scaleExtent([e,a]).translateExtent(o),c=tt(t).call(f);C({x:r.x,y:r.y,zoom:qn(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=c.on("wheel.zoom"),p=c.on("dblclick.zoom");f.wheelDelta(cI);async function m(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).transform(dm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}function g({noWheelClassName:D,noPanClassName:T,onPaneContextMenu:H,userSelectionActive:v,panOnScroll:M,panOnDrag:P,panOnScrollMode:R,panOnScrollSpeed:E,preventScrolling:O,zoomOnPinch:k,zoomOnScroll:q,zoomOnDoubleClick:F,zoomActivationKeyPressed:G,lib:_,onTransformChange:B,connectionInProgress:U,paneClickDistance:X,selectionOnDrag:z}){v&&!u.isZoomingOrPanning&&x();let $=M&&!G&&!v;f.clickDistance(z?1/0:!Zt(X)||X<0?0:X);let ie=$?jO({zoomPanValues:u,noWheelClassName:D,d3Selection:c,d3Zoom:f,panOnScrollMode:R,panOnScrollSpeed:E,zoomOnPinch:k,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):ZO({noWheelClassName:D,preventScrolling:O,d3ZoomHandler:h});c.on("wheel.zoom",ie,{passive:!1});let se=YO({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});f.on("start",se);let oe=JO({zoomPanValues:u,panOnDrag:P,onPaneContextMenu:!!H,onPanZoom:n,onTransformChange:B});f.on("zoom",oe);let ne=QO({zoomPanValues:u,panOnDrag:P,panOnScroll:M,onPaneContextMenu:H,onPanZoomEnd:i,onDraggingChange:l});f.on("end",ne);let ue=eF({zoomActivationKeyPressed:G,panOnDrag:P,zoomOnScroll:q,panOnScroll:M,zoomOnDoubleClick:F,zoomOnPinch:k,userSelectionActive:v,noPanClassName:T,noWheelClassName:D,lib:_,connectionInProgress:U});f.filter(ue),F?c.on("dblclick.zoom",p):c.on("dblclick.zoom",null)}function x(){f.on("zoom",null)}async function C(D,T,H){let v=um(D),M=f?.constrain()(v,T,H);return M&&await m(M),M}async function L(D,T){let H=um(D);return await m(H,T),H}function y(D){if(c){let T=um(D),H=c.property("__zoom");(H.k!==D.zoom||H.x!==D.x||H.y!==D.y)&&f?.transform(c,T,null,{sync:!0})}}function S(){let D=c?Li(c.node()):{x:0,y:0,k:1};return{x:D.x,y:D.y,zoom:D.k}}async function w(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).scaleTo(dm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}async function b(D,T){return c?new Promise(H=>{f?.interpolate(T?.interpolate==="linear"?ro:Er).scaleBy(dm(c,T?.duration,T?.ease,()=>H(!0)),D)}):!1}function I(D){f?.scaleExtent(D)}function A(D){f?.translateExtent(D)}function N(D){let T=!Zt(D)||D<0?0:D;f?.clickDistance(T)}return{update:g,destroy:x,setViewport:L,setViewportConstrained:C,getViewport:S,scaleTo:w,scaleBy:b,setScaleExtent:I,setTranslateExtent:A,syncViewport:y,setClickDistance:N}}var Ho;(function(t){t.Line="line",t.Handle="handle"})(Ho||(Ho={}));function tF({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function _b(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function Eo(t,e){return Math.max(0,e-t)}function Bo(t,e){return Math.max(0,t-e)}function Fd(t,e,a){return Math.max(0,e-t,t-a)}function qb(t,e){return t?!e:e}function aF(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:f}=e,c=d&&f,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:C}=o,{x:L,y,width:S,height:w,aspectRatio:b}=t,I=Math.floor(d?h-t.pointerX:0),A=Math.floor(f?p-t.pointerY:0),N=S+(l?-I:I),D=w+(u?-A:A),T=-n[0]*S,H=-n[1]*w,v=Fd(N,m,g),M=Fd(D,x,C);if(s){let E=0,O=0;l&&I<0?E=Eo(L+I+T,s[0][0]):!l&&I>0&&(E=Bo(L+N+T,s[1][0])),u&&A<0?O=Eo(y+A+H,s[0][1]):!u&&A>0&&(O=Bo(y+D+H,s[1][1])),v=Math.max(v,E),M=Math.max(M,O)}if(i){let E=0,O=0;l&&I>0?E=Bo(L+I,i[0][0]):!l&&I<0&&(E=Eo(L+N,i[1][0])),u&&A>0?O=Bo(y+A,i[0][1]):!u&&A<0&&(O=Eo(y+D,i[1][1])),v=Math.max(v,E),M=Math.max(M,O)}if(r){if(d){let E=Fd(N/b,x,C)*b;if(v=Math.max(v,E),s){let O=0;!l&&!u||l&&!u&&c?O=Bo(y+H+N/b,s[1][1])*b:O=Eo(y+H+(l?I:-I)/b,s[0][1])*b,v=Math.max(v,O)}if(i){let O=0;!l&&!u||l&&!u&&c?O=Eo(y+N/b,i[1][1])*b:O=Bo(y+(l?I:-I)/b,i[0][1])*b,v=Math.max(v,O)}}if(f){let E=Fd(D*b,m,g)/b;if(M=Math.max(M,E),s){let O=0;!l&&!u||u&&!l&&c?O=Bo(L+D*b+T,s[1][0])/b:O=Eo(L+(u?A:-A)*b+T,s[0][0])/b,M=Math.max(M,O)}if(i){let O=0;!l&&!u||u&&!l&&c?O=Eo(L+D*b,i[1][0])/b:O=Bo(L+(u?A:-A)*b,i[0][0])/b,M=Math.max(M,O)}}}A=A+(A<0?M:-M),I=I+(I<0?v:-v),r&&(c?N>D*b?A=(qb(l,u)?-I:I)/b:I=(qb(l,u)?-A:A)*b:d?(A=I/b,u=l):(I=A*b,l=u));let P=l?L+I:L,R=u?y+A:y;return{width:S+(l?-I:I),height:w+(u?-A:A),x:n[0]*I*(l?-1:1)+P,y:n[1]*A*(u?-1:1)+R}}var pI={width:0,height:0,x:0,y:0},oF={...pI,pointerX:0,pointerY:0,aspectRatio:1};function rF(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function mI({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=tt(t),s={controlDirection:_b("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:c,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...pI},C={...oF};s={boundaries:d,resizeDirection:c,keepAspectRatio:f,controlDirection:_b(u)};let L,y=null,S=[],w,b,I,A=!1,N=hd().on("start",D=>{let{nodeLookup:T,transform:H,snapGrid:v,snapToGrid:M,nodeOrigin:P,paneDomNode:R}=a();if(L=T.get(e),!L)return;y=R?.getBoundingClientRect()??null;let{xSnapped:E,ySnapped:O}=Ci(D.sourceEvent,{transform:H,snapGrid:v,snapToGrid:M,containerBounds:y});x={width:L.measured.width??0,height:L.measured.height??0,x:L.position.x??0,y:L.position.y??0},C={...x,pointerX:E,pointerY:O,aspectRatio:x.width/x.height},w=void 0,b=qr(L.extent)?L.extent:void 0,L.parentId&&(L.extent==="parent"||L.expandParent)&&(w=T.get(L.parentId)),w&&L.extent==="parent"&&(b=[[0,0],[w.measured.width,w.measured.height]]),S=[],I=void 0;for(let[k,q]of T)if(q.parentId===e&&(S.push({id:k,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){let F=rF(q,L,q.origin??P);I?I=[[Math.min(F[0][0],I[0][0]),Math.min(F[0][1],I[0][1])],[Math.max(F[1][0],I[1][0]),Math.max(F[1][1],I[1][1])]]:I=F}h?.(D,{...x})}).on("drag",D=>{let{transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M}=a(),P=Ci(D.sourceEvent,{transform:T,snapGrid:H,snapToGrid:v,containerBounds:y}),R=[];if(!L)return;let{x:E,y:O,width:k,height:q}=x,F={},G=L.origin??M,{width:_,height:B,x:U,y:X}=aF(C,s.controlDirection,P,s.boundaries,s.keepAspectRatio,G,b,I),z=_!==k,$=B!==q,ie=U!==E&&z,se=X!==O&&$;if(!ie&&!se&&!z&&!$)return;if((ie||se||G[0]===1||G[1]===1)&&(F.x=ie?U:x.x,F.y=se?X:x.y,x.x=F.x,x.y=F.y,S.length>0)){let Ie=U-E,Ue=X-O;for(let St of S)St.position={x:St.position.x-Ie+G[0]*(_-k),y:St.position.y-Ue+G[1]*(B-q)},R.push(St)}if((z||$)&&(F.width=z&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,F.height=$&&(!s.resizeDirection||s.resizeDirection==="vertical")?B:x.height,x.width=F.width,x.height=F.height),w&&L.expandParent){let Ie=G[0]*(F.width??0);F.x&&F.x<Ie&&(x.x=Ie,C.x=C.x-(F.x-Ie));let Ue=G[1]*(F.height??0);F.y&&F.y<Ue&&(x.y=Ue,C.y=C.y-(F.y-Ue))}let oe=tF({width:x.width,prevWidth:k,height:x.height,prevHeight:q,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:oe};g?.(D,ne)!==!1&&(A=!0,p?.(D,ne),o(F,R))}).on("end",D=>{A&&(m?.(D,{...x}),r?.({...x}),A=!1)});n.call(N)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var AI=EM(II(),1);import bF from"react";var SI=t=>{let e,a=new Set,o=(d,f)=>{let c=typeof d=="function"?d(e):d;if(!Object.is(c,e)){let h=e;e=f??(typeof c!="object"||c===null)?c:Object.assign({},e,c),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},vI=t=>t?SI(t):SI;var{useDebugValue:IF}=bF,{useSyncExternalStoreWithSelector:SF}=AI.default,vF=t=>t;function Om(t,e=vF,a){let o=SF(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return IF(o),o}var kI=(t,e)=>{let a=vI(t),o=(r,n=e)=>Om(a,r,n);return Object.assign(o,a),o},MI=(t,e)=>t?kI(t,e):kI;function De(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as XK}from"react-dom";var af=_m(null),AF=af.Provider,QI=_t.error001("react");function xe(t,e){let a=Si(af);if(a===null)throw new Error(QI);return Om(a,t,e)}function Oe(){let t=Si(af);if(t===null)throw new Error(QI);return La(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var PI={display:"none"},MF={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},eS="react-flow__node-desc",tS="react-flow__edge-desc",PF="react-flow__aria-live",DF=t=>t.ariaLiveMessage,RF=t=>t.ariaLabelConfig;function TF({rfId:t}){let e=xe(DF);return W("div",{id:`${PF}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:MF,children:e})}function EF({rfId:t,disableKeyboardA11y:e}){let a=xe(RF);return lt(lo,{children:[W("div",{id:`${eS}-${t}`,style:PI,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),W("div",{id:`${tS}-${t}`,style:PI,children:a["edge.a11yDescription.default"]}),!e&&W(TF,{rfId:t})]})}var of=JI(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return W("div",{className:_e(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});of.displayName="Panel";function BF({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:W(of,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:W("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var OF=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},Qd=t=>t.id;function FF(t,e){return De(t.selectedNodes.map(Qd),e.selectedNodes.map(Qd))&&De(t.selectedEdges.map(Qd),e.selectedEdges.map(Qd))}function NF({onSelectionChange:t}){let e=Oe(),{selectedNodes:a,selectedEdges:o}=xe(OF,FF);return ke(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var HF=t=>!!t.onSelectionChangeHandlers;function _F({onSelectionChange:t}){let e=xe(HF);return t||e?W(NF,{onSelectionChange:t}):null}var aS=[0,0],qF={x:0,y:0,zoom:1},zF=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],DI=[...zF,"rfId"],UF=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),RI={translateExtent:zn,nodeOrigin:aS,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function VF(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=xe(UF,De),u=Oe();ke(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=RI,i()}),[]);let d=we(RI);return ke(()=>{for(let f of DI){let c=t[f],h=d.current[f];c!==h&&(typeof t[f]>"u"||(f==="nodes"?e(c):f==="edges"?a(c):f==="minZoom"?o(c):f==="maxZoom"?r(c):f==="translateExtent"?n(c):f==="nodeExtent"?s(c):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:Xb(c)}):f==="fitView"?u.setState({fitViewQueued:c}):f==="fitViewOptions"?u.setState({fitViewOptions:c}):u.setState({[f]:c})))}d.current=t},DI.map(f=>t[f])),null}function TI(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function WF(t){let[e,a]=Fa(t==="system"?null:t);return ke(()=>{if(t!=="system"){a(t);return}let o=TI(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:TI()?.matches?"dark":"light"}var EI=typeof document<"u"?document:null;function Ii(t=null,e={target:EI,actInsideInputWithModifier:!0}){let[a,o]=Fa(!1),r=we(!1),n=we(new Set([])),[s,i]=La(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
22
22
|
`).replace(`
|
|
23
23
|
|
|
24
24
|
`,`
|
|
25
25
|
+`).split(`
|
|
26
|
-
`)),d=u.reduce((f,c)=>f.concat(...c),[]);return[u,d]}return[[],[]]},[t]);return ke(()=>{let l=e?.target??TI,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&Sm(h))return!1;let m=BI(h.code,i);if(n.current.add(h[m]),EI(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},f=h=>{let p=BI(h.code,i);EI(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},c=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",f),window.addEventListener("blur",c),window.addEventListener("contextmenu",c),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",f),window.removeEventListener("blur",c),window.removeEventListener("contextmenu",c)}}},[t,o]),a}function EI(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function BI(t,e){return e.includes(t)?"code":"key"}var WF=()=>{let t=Oe();return La(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=wi(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,f=a.snapToGrid??n;return Ur(u,o,f,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=_r(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function aS(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)GF(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function GF(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function $F(t,e){return aS(t,e)}function XF(t,e){return aS(t,e)}function Vr(t,e){return{id:t,type:"select",selected:e}}function Xn(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(Vr(n.id,s)))}return o}function OI({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function FI(t){return{id:t.id,type:"remove"}}var KF=ym("React Flow","https://reactflow.dev/");function jF(t,e,a={}){return jb(t,e,{...a,onError:a.onError??KF})}var NI=t=>qb(t),ZF=t=>pm(t);function oS(t){return YI(t)}var YF=typeof window<"u"?vF:ke;function HI(t){let[e,a]=Fa(BigInt(0)),[o]=Fa(()=>JF(()=>a(r=>r+BigInt(1))));return YF(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function JF(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var rS=Nm(null);function QF({children:t}){let e=Oe(),a=Na(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:c,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=OI({items:m,lookup:c});for(let x of p.values())g=x(g);d&&u(m),g.length>0?f?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:C,setNodes:L}=e.getState();x&&L(C)})},[]),o=HI(a),r=Na(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:c}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):f&&f(OI({items:h,lookup:c}))},[]),n=HI(r),s=La(()=>({nodeQueue:o,edgeQueue:n}),[]);return W(rS.Provider,{value:s,children:t})}function eN(){let t=Si(rS);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var tN=t=>!!t.panZoom;function vi(){let t=WF(),e=Oe(),a=eN(),o=xe(tN),r=La(()=>{let n=f=>e.getState().nodeLookup.get(f),s=f=>{a.nodeQueue.push(f)},i=f=>{a.edgeQueue.push(f)},l=f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState(),p=NI(f)?f:c.get(f.id),m=p.parentId?wm(p.position,p.measured,p.parentId,c,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return zr(g)},u=(f,c,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&NI(g)?g:{...m,...g}}return m}))},d=(f,c,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&ZF(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(f=>({...f})),getNode:f=>n(f)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:f=[]}=e.getState();return f.map(c=>({...c}))},getEdge:f=>e.getState().edgeLookup.get(f),setNodes:s,setEdges:i,addNodes:f=>{let c=Array.isArray(f)?f:[f];a.nodeQueue.push(h=>[...h,...c])},addEdges:f=>{let c=Array.isArray(f)?f:[f];a.edgeQueue.push(h=>[...h,...c])},toObject:()=>{let{nodes:f=[],edges:c=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:f.map(x=>({...x})),edges:c.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:f=[],edges:c=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:C,onDelete:L,onBeforeDelete:y}=e.getState(),{nodes:S,edges:w}=await Vb({nodesToRemove:f,edgesToRemove:c,nodes:h,edges:p,onBeforeDelete:y}),b=w.length>0,I=S.length>0;if(b){let A=w.map(FI);g?.(w),C(A)}if(I){let A=S.map(FI);m?.(S),x(A)}return(I||b)&&L?.({nodes:S,edges:w}),{deletedNodes:S,deletedEdges:w}},getIntersectingNodes:(f,c=!0,h)=>{let p=Cm(f),m=p?f:l(f),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let C=e.getState().nodeLookup.get(x.id);if(C&&!p&&(x.id===f.id||!C.internals.positionAbsolute))return!1;let L=zr(g?x:C),y=Vn(L,m);return c&&y>0||y>=L.width*L.height||y>=m.width*m.height}):[]},isNodeIntersecting:(f,c,h=!0)=>{let m=Cm(f)?f:l(f);if(!m)return!1;let g=Vn(m,c);return h&&g>0||g>=c.width*c.height||g>=m.width*m.height},updateNode:u,updateNodeData:(f,c,h={replace:!1})=>{u(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(f,c,h={replace:!1})=>{d(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState();return gm(f,{nodeLookup:c,nodeOrigin:h})},getHandleConnections:({type:f,id:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${f}${c?`-${c}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${f?c?`-${f}-${c}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{let c=e.getState().fitViewResolver??Gb();return e.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:c}),a.nodeQueue.push(h=>[...h]),c.promise}}},[]);return La(()=>({...r,...t,viewportInitialized:o}),[o])}var _I=t=>t.selected,aN=typeof window<"u"?window:void 0;function oN({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=Oe(),{deleteElements:o}=vi(),r=Ii(t,{actInsideInputWithModifier:!1}),n=Ii(e,{target:aN});ke(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(_I),edges:s.filter(_I)}),a.setState({nodesSelectionActive:!1})}},[r]),ke(()=>{a.setState({multiSelectionActive:n})},[n])}function rN(t){let e=Oe();ke(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=Vd(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",_t.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var rf={position:"absolute",width:"100%",height:"100%",top:0,left:0},nN=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function sN({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=so.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:c,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:C,paneClickDistance:L,selectionOnDrag:y}){let S=Oe(),w=we(null),{userSelectionActive:b,lib:I,connectionInProgress:A}=xe(nN,De),N=Ii(c),D=we();rN(w);let T=Na(H=>{x?.({x:H[0],y:H[1],zoom:H[2]}),C||S.setState({transform:H})},[x,C]);return ke(()=>{if(w.current){D.current=cI({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:P=>S.setState(R=>R.paneDragging===P?R:{paneDragging:P}),onPanZoomStart:(P,R)=>{let{onViewportChangeStart:E,onMoveStart:O}=S.getState();O?.(P,R),E?.(R)},onPanZoom:(P,R)=>{let{onViewportChange:E,onMove:O}=S.getState();O?.(P,R),E?.(R)},onPanZoomEnd:(P,R)=>{let{onViewportChangeEnd:E,onMoveEnd:O}=S.getState();O?.(P,R),E?.(R)}});let{x:H,y:v,zoom:M}=D.current.getViewport();return S.setState({panZoom:D.current,transform:[H,v,M],domNode:w.current.closest(".react-flow")}),()=>{D.current?.destroy()}}},[]),ke(()=>{D.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:N,preventScrolling:h,noPanClassName:g,userSelectionActive:b,noWheelClassName:m,lib:I,onTransformChange:T,connectionInProgress:A,selectionOnDrag:y,paneClickDistance:L})},[t,e,a,o,r,n,s,i,N,h,g,b,m,I,T,A,y,L]),W("div",{className:"react-flow__renderer",ref:w,style:rf,children:p})}var iN=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function lN(){let{userSelectionActive:t,userSelectionRect:e}=xe(iN,De);return t&&e?W("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var Bm=(t,e)=>a=>{a.target===e.current&&t?.(a)},uN=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function dN({isSelecting:t,selectionKeyPressed:e,selectionMode:a=Nr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:c,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=we(0),x=Oe(),{userSelectionActive:C,elementsSelectable:L,dragging:y,connectionInProgress:S,panBy:w,autoPanSpeed:b}=xe(uN,De),I=L&&(t||C),A=we(null),N=we(),D=we(new Set),T=we(new Set),H=we(!1),v=we({x:0,y:0}),M=we(!1),P=z=>{if(H.current||S){H.current=!1;return}u?.(z),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},R=z=>{if(Array.isArray(o)&&o?.includes(2)){z.preventDefault();return}d?.(z)},E=f?z=>f(z):void 0,O=z=>{H.current&&(z.stopPropagation(),H.current=!1)},k=z=>{let{domNode:$,transform:ie}=x.getState();if(N.current=$?.getBoundingClientRect(),!N.current)return;let se=z.target===A.current;if(!se&&!!z.target.closest(".nokey")||!t||!(s&&se||e)||z.button!==0||!z.isPrimary)return;z.target?.setPointerCapture?.(z.pointerId),H.current=!1;let{x:ue,y:Ie}=Yt(z.nativeEvent,N.current),Ue=Ur({x:ue,y:Ie},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Ue.x,startY:Ue.y,x:ue,y:Ie}}),se||(z.stopPropagation(),z.preventDefault())};function q(z,$){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:se,nodeLookup:oe,edgeLookup:ne,connectionLookup:ue,triggerNodeChanges:Ie,triggerEdgeChanges:Ue,defaultEdgeOptions:It}=x.getState(),$a={x:ie.startX,y:ie.startY},{x:Ia,y:Sa}=_r($a,se),Xa={startX:$a.x,startY:$a.y,x:z<Ia?z:Ia,y:$<Sa?$:Sa,width:Math.abs(z-Ia),height:Math.abs($-Sa)},is=D.current,Qo=T.current;D.current=new Set(Hd(oe,Xa,se,a===Nr.Partial,!0).map(oa=>oa.id)),T.current=new Set;let er=It?.selectable??!0;for(let oa of D.current){let Ka=ue.get(oa);if(Ka)for(let{edgeId:ja}of Ka.values()){let tr=ne.get(ja);tr&&(tr.selectable??er)&&T.current.add(ja)}}if(!bm(is,D.current)){let oa=Xn(oe,D.current,!0);Ie(oa)}if(!bm(Qo,T.current)){let oa=Xn(ne,T.current);Ue(oa)}x.setState({userSelectionRect:Xa,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!r||!N.current)return;let[z,$]=_d(v.current,N.current,b);w({x:z,y:$}).then(ie=>{if(!H.current||!ie){g.current=requestAnimationFrame(F);return}let{x:se,y:oe}=v.current;q(se,oe),g.current=requestAnimationFrame(F)})}let G=()=>{cancelAnimationFrame(g.current),g.current=0,M.current=!1};ke(()=>()=>G(),[]);let _=z=>{let{userSelectionRect:$,transform:ie,resetSelectedElements:se}=x.getState();if(!N.current||!$)return;let{x:oe,y:ne}=Yt(z.nativeEvent,N.current);v.current={x:oe,y:ne};let ue=_r({x:$.startX,y:$.startY},ie);if(!H.current){let Ie=e?0:n;if(Math.hypot(oe-ue.x,ne-ue.y)<=Ie)return;se(),i?.(z)}H.current=!0,M.current||(F(),M.current=!0),q(oe,ne)},B=z=>{z.button===0&&(z.target?.releasePointerCapture?.(z.pointerId),!C&&z.target===A.current&&x.getState().userSelectionRect&&P?.(z),x.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(l?.(z),x.setState({nodesSelectionActive:D.current.size>0})),G())},U=z=>{z.target?.releasePointerCapture?.(z.pointerId),G()},X=o===!0||Array.isArray(o)&&o.includes(0);return lt("div",{className:_e(["react-flow__pane",{draggable:X,dragging:y,selection:t}]),onClick:I?void 0:Bm(P,A),onContextMenu:Bm(R,A),onWheel:Bm(E,A),onPointerEnter:I?void 0:c,onPointerMove:I?_:h,onPointerUp:I?B:void 0,onPointerCancel:I?U:void 0,onPointerDownCapture:I?k:void 0,onClickCapture:I?O:void 0,onPointerLeave:p,ref:A,style:rf,children:[m,W(lN,{})]})}function Fm({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",_t.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function nS({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=Oe(),[l,u]=Fa(!1),d=we();return ke(()=>{d.current=rI({getStoreItems:()=>i.getState(),onNodeMouseDown:f=>{Fm({id:f,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),ke(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var fN=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function sS(){let t=Oe();return Na(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),f=new Map,c=fN(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!c(x))continue;let C={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(C=Wn(C,n));let{position:L,positionAbsolute:y}=xm({nodeId:x.id,nextPosition:C,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=L,x.internals.positionAbsolute=y,f.set(x.id,x)}l(f)},[])}var Hm=Nm(null),cN=Hm.Provider;Hm.Consumer;var iS=()=>Si(Hm),hN=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),pN=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===Bo.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function mN({type:t="source",position:e=re.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:f,...c},h){let p=s||null,m=t==="target",g=Oe(),x=iS(),{connectOnClick:C,noPanClassName:L,rfId:y}=xe(hN,De),{connectingFrom:S,connectingTo:w,clickConnecting:b,isPossibleEndHandle:I,connectionInProcess:A,clickConnectionInProcess:N,valid:D}=xe(pN(x,p,t),De);x||g.getState().onError?.("010",_t.error010());let T=M=>{let{defaultEdgeOptions:P,onConnect:R,hasDefaultEdges:E}=g.getState(),O={...P,...M};if(E){let{edges:k,setEdges:q,onError:F}=g.getState();q(jF(O,k,{onError:F}))}R?.(O),i?.(O)},H=M=>{if(!x)return;let P=vm(M.nativeEvent);if(r&&(P&&M.button===0||!P)){let R=g.getState();Zd.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:R.autoPanOnConnect,connectionMode:R.connectionMode,connectionRadius:R.connectionRadius,domNode:R.domNode,nodeLookup:R.nodeLookup,lib:R.lib,isTarget:m,handleId:p,nodeId:x,flowId:R.rfId,panBy:R.panBy,cancelConnection:R.cancelConnection,onConnectStart:R.onConnectStart,onConnectEnd:(...E)=>g.getState().onConnectEnd?.(...E),updateConnection:R.updateConnection,onConnect:T,isValidConnection:a||((...E)=>g.getState().isValidConnection?.(...E)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:R.autoPanSpeed,dragThreshold:R.connectionDragThreshold})}P?d?.(M):f?.(M)},v=M=>{let{onClickConnectStart:P,onClickConnectEnd:R,connectionClickStartHandle:E,connectionMode:O,isValidConnection:k,lib:q,rfId:F,nodeLookup:G,connection:_}=g.getState();if(!x||!E&&!r)return;if(!E){P?.(M.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let B=Im(M.target),U=a||k,{connection:X,isValid:z}=Zd.isValid(M.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:O,fromNodeId:E.nodeId,fromHandleId:E.id||null,fromType:E.type,isValidConnection:U,flowId:F,doc:B,lib:q,nodeLookup:G});z&&X&&T(X);let $=structuredClone(_);delete $.inProgress,$.toPosition=$.toHandle?$.toHandle.position:null,R?.(M,$),g.setState({connectionClickStartHandle:null})};return W("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${y}-${x}-${p}-${t}`,className:_e(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",L,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:b,connectingfrom:S,connectingto:w,valid:D,connectionindicator:o&&(!A||I)&&(A||N?n:r)}]),onMouseDown:H,onTouchStart:H,onClick:C?v:void 0,ref:h,...c,children:l})}var io=Ge(oS(mN));function gN({data:t,isConnectable:e,sourcePosition:a=re.Bottom}){return lt(lo,{children:[t?.label,W(io,{type:"source",position:a,isConnectable:e})]})}function xN({data:t,isConnectable:e,targetPosition:a=re.Top,sourcePosition:o=re.Bottom}){return lt(lo,{children:[W(io,{type:"target",position:a,isConnectable:e}),t?.label,W(io,{type:"source",position:o,isConnectable:e})]})}function LN(){return null}function CN({data:t,isConnectable:e,targetPosition:a=re.Top}){return lt(lo,{children:[W(io,{type:"target",position:a,isConnectable:e}),t?.label]})}var tf={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},qI={input:gN,default:xN,output:CN,group:LN};function yN(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var wN=t=>{let{width:e,height:a,x:o,y:r}=Un(t.nodeLookup,{filter:n=>!!n.selected});return{width:Zt(e)?e:null,height:Zt(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function bN({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=Oe(),{width:r,height:n,transformString:s,userSelectionActive:i}=xe(wN,De),l=sS(),u=we(null);ke(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if(nS({nodeRef:u,disabled:!d}),!d)return null;let f=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,c=h=>{Object.prototype.hasOwnProperty.call(tf,h.key)&&(h.preventDefault(),l({direction:tf[h.key],factor:h.shiftKey?4:1}))};return W("div",{className:_e(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:W("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:a?void 0:-1,onKeyDown:a?void 0:c,style:{width:r,height:n}})})}var zI=typeof window<"u"?window:void 0,IN=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function lS({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:y,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:I,autoPanOnSelection:A,defaultViewport:N,translateExtent:D,minZoom:T,maxZoom:H,preventScrolling:v,onSelectionContextMenu:M,noWheelClassName:P,noPanClassName:R,disableKeyboardA11y:E,onViewportChange:O,isControlledViewport:k}){let{nodesSelectionActive:q,userSelectionActive:F}=xe(IN,De),G=Ii(u,{target:zI}),_=Ii(m,{target:zI}),B=_||I,U=_||y,X=d&&B!==!0,z=G||F||X;return oN({deleteKeyCode:l,multiSelectionKeyCode:p}),W(sN,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:U,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:!G&&B,defaultViewport:N,translateExtent:D,minZoom:T,maxZoom:H,zoomActivationKeyCode:g,preventScrolling:v,noWheelClassName:P,noPanClassName:R,onViewportChange:O,isControlledViewport:k,paneClickDistance:i,selectionOnDrag:X,children:lt(dN,{onSelectionStart:c,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:B,autoPanOnSelection:A,isSelecting:!!z,selectionMode:f,selectionKeyPressed:G,paneClickDistance:i,selectionOnDrag:X,children:[t,q&&W(bN,{onSelectionContextMenu:M,noPanClassName:R,disableKeyboardA11y:E})]})})}lS.displayName="FlowRenderer";var SN=Ge(lS),vN=t=>e=>t?Hd(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function kN(t){return xe(Na(vN(t),[t]),De)}var AN=t=>t.updateNodeInternals;function MN(){let t=xe(AN),[e]=Fa(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return ke(()=>()=>{e?.disconnect()},[e]),e}function PN({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=Oe(),n=we(null),s=we(null),i=we(t.sourcePosition),l=we(t.targetPosition),u=we(e),d=a&&!!t.internals.handleBounds;return ke(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),ke(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),ke(()=>{if(n.current){let f=u.current!==e,c=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(f||c||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function DN({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:c,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:C}){let{node:L,internals:y,isParent:S}=xe(z=>{let $=z.nodeLookup.get(t),ie=z.parentLookup.has(t);return{node:$,internals:$.internals,isParent:ie}},De),w=L.type||"default",b=g?.[w]||qI[w];b===void 0&&(C?.("003",_t.error003(w)),w="default",b=g?.default||qI.default);let I=!!(L.draggable||i&&typeof L.draggable>"u"),A=!!(L.selectable||l&&typeof L.selectable>"u"),N=!!(L.connectable||u&&typeof L.connectable>"u"),D=!!(L.focusable||d&&typeof L.focusable>"u"),T=Oe(),H=Ud(L),v=PN({node:L,nodeType:w,hasDimensions:H,resizeObserver:f}),M=nS({nodeRef:v,disabled:L.hidden||!I,noDragClassName:c,handleSelector:L.dragHandle,nodeId:t,isSelectable:A,nodeClickDistance:x}),P=sS();if(L.hidden)return null;let R=Ba(L),E=yN(L),O=A||I||e||a||o||r,k=a?z=>a(z,{...y.userNode}):void 0,q=o?z=>o(z,{...y.userNode}):void 0,F=r?z=>r(z,{...y.userNode}):void 0,G=n?z=>n(z,{...y.userNode}):void 0,_=s?z=>s(z,{...y.userNode}):void 0,B=z=>{let{selectNodesOnDrag:$,nodeDragThreshold:ie}=T.getState();A&&(!$||!I||ie>0)&&Fm({id:t,store:T,nodeRef:v}),e&&e(z,{...y.userNode})},U=z=>{if(!(Sm(z.nativeEvent)||p)){if(dm.includes(z.key)&&A){let $=z.key==="Escape";Fm({id:t,store:T,unselect:$,nodeRef:v})}else if(I&&L.selected&&Object.prototype.hasOwnProperty.call(tf,z.key)){z.preventDefault();let{ariaLabelConfig:$}=T.getState();T.setState({ariaLiveMessage:$["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),P({direction:tf[z.key],factor:z.shiftKey?4:1})}}},X=()=>{if(p||!v.current?.matches(":focus-visible"))return;let{transform:z,width:$,height:ie,autoPanOnNodeFocus:se,setCenter:oe}=T.getState();if(!se)return;Hd(new Map([[t,L]]),{x:0,y:0,width:$,height:ie},z,!0).length>0||oe(L.position.x+R.width/2,L.position.y+R.height/2,{zoom:z[2]})};return W("div",{className:_e(["react-flow__node",`react-flow__node-${w}`,{[h]:I},L.className,{selected:L.selected,selectable:A,parent:S,draggable:I,dragging:M}]),ref:v,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:O?"all":"none",visibility:H?"visible":"hidden",...L.style,...E},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:k,onMouseMove:q,onMouseLeave:F,onContextMenu:G,onClick:B,onDoubleClick:_,onKeyDown:D?U:void 0,tabIndex:D?0:void 0,onFocus:D?X:void 0,role:L.ariaRole??(D?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${QI}-${m}`,"aria-label":L.ariaLabel,...L.domAttributes,children:W(cN,{value:t,children:W(b,{id:t,data:L.data,type:w,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:L.selected??!1,selectable:A,draggable:I,deletable:L.deletable??!0,isConnectable:N,sourcePosition:L.sourcePosition,targetPosition:L.targetPosition,dragging:M,dragHandle:L.dragHandle,zIndex:y.z,parentId:L.parentId,...R})})})}var RN=Ge(DN),TN=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function uS(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=xe(TN,De),s=kN(t.onlyRenderVisibleElements),i=MN();return W("div",{className:"react-flow__nodes",style:rf,children:s.map(l=>W(RN,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}uS.displayName="NodeRenderer";var EN=Ge(uS);function BN(t){return xe(Na(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&Kb({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),De)}var ON=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return W("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},FN=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return W("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},UI={[Oo.Arrow]:ON,[Oo.ArrowClosed]:FN};function NN(t){let e=Oe();return La(()=>Object.prototype.hasOwnProperty.call(UI,t)?UI[t]:(e.getState().onError?.("009",_t.error009(t)),null),[t])}var HN=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=NN(e);return l?W("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:W(l,{color:a,strokeWidth:s})}):null},dS=({defaultColor:t,rfId:e})=>{let a=xe(n=>n.edges),o=xe(n=>n.defaultEdgeOptions),r=La(()=>Yb(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?W("svg",{className:"react-flow__marker","aria-hidden":"true",children:W("defs",{children:r.map(n=>W(HN,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};dS.displayName="MarkerDefinitions";var _N=Ge(dS);function fS({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[f,c]=Fa({x:1,y:0,width:0,height:0}),h=_e(["react-flow__edge-textwrapper",u]),p=we(null);return ke(()=>{if(p.current){let m=p.current.getBBox();c({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?lt("g",{transform:`translate(${t-f.width/2} ${e-f.height/2})`,className:h,visibility:f.width?"visible":"hidden",...d,children:[r&&W("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),W("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}fS.displayName="EdgeText";var qN=Ge(fS);function nf({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return lt(lo,{children:[W("path",{...d,d:t,fill:"none",className:_e(["react-flow__edge-path",d.className])}),u?W("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&Zt(e)&&Zt(a)?W(qN,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function VI({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===re.Left||t===re.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function cS({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top}){let[s,i]=VI({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=VI({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,f,c,h]=Wd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,f,c,h]}function hS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[C,L,y]=cS({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),S=t.isInternal?void 0:e;return W(nf,{id:S,path:C,labelX:L,labelY:y,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var zN=hS({isInternal:!1}),pS=hS({isInternal:!0});zN.displayName="SimpleBezierEdge";pS.displayName="SimpleBezierEdgeInternal";function mS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,sourcePosition:h=re.Bottom,targetPosition:p=re.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=bi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),w=t.isInternal?void 0:e;return W(nf,{id:w,path:L,labelX:y,labelY:S,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:m,markerStart:g,interactionWidth:C})})}var gS=mS({isInternal:!1}),xS=mS({isInternal:!0});gS.displayName="SmoothStepEdge";xS.displayName="SmoothStepEdgeInternal";function LS(t){return Ge(({id:e,...a})=>{let o=t.isInternal?void 0:e;return W(gS,{...a,id:o,pathOptions:La(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var UN=LS({isInternal:!1}),CS=LS({isInternal:!0});UN.displayName="StepEdge";CS.displayName="StepEdgeInternal";function yS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,C]=$d({sourceX:a,sourceY:o,targetX:r,targetY:n}),L=t.isInternal?void 0:e;return W(nf,{id:L,path:g,labelX:x,labelY:C,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})})}var VN=yS({isInternal:!1}),wS=yS({isInternal:!0});VN.displayName="StraightEdge";wS.displayName="StraightEdgeInternal";function bS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=re.Bottom,targetPosition:i=re.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=Gd({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),w=t.isInternal?void 0:e;return W(nf,{id:w,path:L,labelX:y,labelY:S,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:C})})}var WN=bS({isInternal:!1}),IS=bS({isInternal:!0});WN.displayName="BezierEdge";IS.displayName="BezierEdgeInternal";var WI={default:IS,straight:wS,step:CS,smoothstep:xS,simplebezier:pS},GI={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},GN=(t,e,a)=>a===re.Left?t-e:a===re.Right?t+e:t,$N=(t,e,a)=>a===re.Top?t-e:a===re.Bottom?t+e:t,$I="react-flow__edgeupdater";function XI({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return W("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:_e([$I,`${$I}-${i}`]),cx:GN(e,o,t),cy:$N(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function XN({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:c,setUpdateHover:h}){let p=Oe(),m=(y,S)=>{if(y.button!==0)return;let{autoPanOnConnect:w,domNode:b,connectionMode:I,connectionRadius:A,lib:N,onConnectStart:D,cancelConnection:T,nodeLookup:H,rfId:v,panBy:M,updateConnection:P}=p.getState(),R=S.type==="target",E=(q,F)=>{c(!1),f?.(q,a,S.type,F)},O=q=>u?.(a,q),k=(q,F)=>{c(!0),d?.(y,a,S.type),D?.(q,F)};Zd.onPointerDown(y.nativeEvent,{autoPanOnConnect:w,connectionMode:I,connectionRadius:A,domNode:b,handleId:S.id,nodeId:S.nodeId,nodeLookup:H,isTarget:R,edgeUpdaterType:S.type,lib:N,flowId:v,cancelConnection:T,panBy:M,isValidConnection:(...q)=>p.getState().isValidConnection?.(...q)??!0,onConnect:O,onConnectStart:k,onConnectEnd:(...q)=>p.getState().onConnectEnd?.(...q),onReconnectEnd:E,updateConnection:P,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},g=y=>m(y,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=y=>m(y,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),C=()=>h(!0),L=()=>h(!1);return lt(lo,{children:[(t===!0||t==="source")&&W(XI,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:C,onMouseOut:L,type:"source"}),(t===!0||t==="target")&&W(XI,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:C,onMouseOut:L,type:"target"})]})}function KN({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:C}){let L=xe(oe=>oe.edgeLookup.get(t)),y=xe(oe=>oe.defaultEdgeOptions);L=y?{...y,...L}:L;let S=L.type||"default",w=m?.[S]||WI[S];w===void 0&&(x?.("011",_t.error011(S)),S="default",w=m?.default||WI.default);let b=!!(L.focusable||e&&typeof L.focusable>"u"),I=typeof f<"u"&&(L.reconnectable||a&&typeof L.reconnectable>"u"),A=!!(L.selectable||o&&typeof L.selectable>"u"),N=we(null),[D,T]=Fa(!1),[H,v]=Fa(!1),M=Oe(),{zIndex:P,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F}=xe(Na(oe=>{let ne=oe.nodeLookup.get(L.source),ue=oe.nodeLookup.get(L.target);if(!ne||!ue)return{zIndex:L.zIndex,...GI};let Ie=Zb({id:t,sourceNode:ne,targetNode:ue,sourceHandle:L.sourceHandle||null,targetHandle:L.targetHandle||null,connectionMode:oe.connectionMode,onError:x});return{zIndex:Xb({selected:L.selected,zIndex:L.zIndex,sourceNode:ne,targetNode:ue,elevateOnSelect:oe.elevateEdgesOnSelect,zIndexMode:oe.zIndexMode}),...Ie||GI}},[L.source,L.target,L.sourceHandle,L.targetHandle,L.selected,L.zIndex]),De),G=La(()=>L.markerStart?`url('#${Xd(L.markerStart,p)}')`:void 0,[L.markerStart,p]),_=La(()=>L.markerEnd?`url('#${Xd(L.markerEnd,p)}')`:void 0,[L.markerEnd,p]);if(L.hidden||R===null||E===null||O===null||k===null)return null;let B=oe=>{let{addSelectedEdges:ne,unselectNodesAndEdges:ue,multiSelectionActive:Ie}=M.getState();A&&(M.setState({nodesSelectionActive:!1}),L.selected&&Ie?(ue({nodes:[],edges:[L]}),N.current?.blur()):ne([t])),r&&r(oe,L)},U=n?oe=>{n(oe,{...L})}:void 0,X=s?oe=>{s(oe,{...L})}:void 0,z=i?oe=>{i(oe,{...L})}:void 0,$=l?oe=>{l(oe,{...L})}:void 0,ie=u?oe=>{u(oe,{...L})}:void 0,se=oe=>{if(!C&&dm.includes(oe.key)&&A){let{unselectNodesAndEdges:ne,addSelectedEdges:ue}=M.getState();oe.key==="Escape"?(N.current?.blur(),ne({edges:[L]})):ue([t])}};return W("svg",{style:{zIndex:P},children:lt("g",{className:_e(["react-flow__edge",`react-flow__edge-${S}`,L.className,g,{selected:L.selected,animated:L.animated,inactive:!A&&!r,updating:D,selectable:A}]),onClick:B,onDoubleClick:U,onContextMenu:X,onMouseEnter:z,onMouseMove:$,onMouseLeave:ie,onKeyDown:b?se:void 0,tabIndex:b?0:void 0,role:L.ariaRole??(b?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":L.ariaLabel===null?void 0:L.ariaLabel||`Edge from ${L.source} to ${L.target}`,"aria-describedby":b?`${eS}-${p}`:void 0,ref:N,...L.domAttributes,children:[!H&&W(w,{id:t,source:L.source,target:L.target,type:L.type,selected:L.selected,animated:L.animated,selectable:A,deletable:L.deletable??!0,label:L.label,labelStyle:L.labelStyle,labelShowBg:L.labelShowBg,labelBgStyle:L.labelBgStyle,labelBgPadding:L.labelBgPadding,labelBgBorderRadius:L.labelBgBorderRadius,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F,data:L.data,style:L.style,sourceHandleId:L.sourceHandle,targetHandleId:L.targetHandle,markerStart:G,markerEnd:_,pathOptions:"pathOptions"in L?L.pathOptions:void 0,interactionWidth:L.interactionWidth}),I&&W(XN,{edge:L,isReconnectable:I,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F,setUpdateHover:T,setReconnecting:v})]})})}var jN=Ge(KN),ZN=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function SS({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,onError:L}=xe(ZN,De),y=BN(e);return lt("div",{className:"react-flow__edges",children:[W(_N,{defaultColor:t,rfId:a}),y.map(S=>W(jN,{id:S,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:L,edgeTypes:o,disableKeyboardA11y:m},S))]})}SS.displayName="EdgeRenderer";var YN=Ge(SS),JN=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function QN({children:t}){let e=xe(JN);return W("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function eH(t){let e=vi(),a=we(!1);ke(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var tH=t=>t.panZoom?.syncViewport;function aH(t){let e=xe(tH),a=Oe();return ke(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function KI(t){return t.connection.inProgress?{...t.connection,to:Ur(t.connection.to,t.transform)}:{...t.connection}}function oH(t){return t?a=>{let o=KI(a);return t(o)}:KI}function rH(t){let e=oH(t);return xe(e,De)}var nH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function sH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=xe(nH,De);return!(n&&r&&l)?null:W("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:W("g",{className:_e(["react-flow__connection",hm(i)]),children:W(vS,{style:e,type:a,CustomComponent:o,isValid:i})})})}var vS=({style:t,type:e=Ea.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:c,pointer:h}=rH();if(!r)return;if(a)return W(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:c,connectionStatus:hm(o),toNode:d,toHandle:f,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:c};switch(e){case Ea.Bezier:[p]=Gd(m);break;case Ea.SimpleBezier:[p]=cS(m);break;case Ea.Step:[p]=bi({...m,borderRadius:0});break;case Ea.SmoothStep:[p]=bi(m);break;default:[p]=$d(m)}return W("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};vS.displayName="ConnectionLine";var iH={};function jI(t=iH){let e=we(t),a=Oe();ke(()=>{},[t])}function lH(){let t=Oe(),e=we(!1);ke(()=>{},[])}function kS({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:c,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,deleteKeyCode:I,onlyRenderVisibleElements:A,elementsSelectable:N,defaultViewport:D,translateExtent:T,minZoom:H,maxZoom:v,preventScrolling:M,defaultMarkerColor:P,zoomOnScroll:R,zoomOnPinch:E,panOnScroll:O,panOnScrollSpeed:k,panOnScrollMode:q,zoomOnDoubleClick:F,panOnDrag:G,autoPanOnSelection:_,onPaneClick:B,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneScroll:$,onPaneContextMenu:ie,paneClickDistance:se,nodeClickDistance:oe,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ue,reconnectRadius:It,onReconnect:$a,onReconnectStart:Ia,onReconnectEnd:Sa,noDragClassName:Xa,noWheelClassName:is,noPanClassName:Qo,disableKeyboardA11y:er,nodeExtent:oa,rfId:Ka,viewport:ja,onViewportChange:tr}){return jI(t),jI(e),lH(),eH(a),aH(ja),W(SN,{onPaneClick:B,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneContextMenu:ie,onPaneScroll:$,paneClickDistance:se,deleteKeyCode:I,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:R,zoomOnPinch:E,zoomOnDoubleClick:F,panOnScroll:O,panOnScrollSpeed:k,panOnScrollMode:q,panOnDrag:G,autoPanOnSelection:_,defaultViewport:D,translateExtent:T,minZoom:H,maxZoom:v,onSelectionContextMenu:f,preventScrolling:M,noDragClassName:Xa,noWheelClassName:is,noPanClassName:Qo,disableKeyboardA11y:er,onViewportChange:tr,isControlledViewport:!!ja,children:lt(QN,{children:[W(YN,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:$a,onReconnectStart:Ia,onReconnectEnd:Sa,onlyRenderVisibleElements:A,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ue,reconnectRadius:It,defaultMarkerColor:P,noPanClassName:Qo,disableKeyboardA11y:er,rfId:Ka}),W(sH,{style:m,type:p,component:g,containerStyle:x}),W("div",{className:"react-flow__edgelabel-renderer"}),W(EN,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:oe,onlyRenderVisibleElements:A,noPanClassName:Qo,noDragClassName:Xa,disableKeyboardA11y:er,nodeExtent:oa,rfId:Ka}),W("div",{className:"react-flow__viewport-portal"})]})})}kS.displayName="GraphView";var uH=Ge(kS),dH=ym("React Flow","https://reactflow.dev/"),ZI=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:c="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],C=a??t??[],L=d??[0,0],y=f??zn;Rm(m,g,x);let{nodesInitialized:S}=Kd(C,h,p,{nodeOrigin:L,nodeExtent:y,zIndexMode:c}),w=[0,0,1];if(s&&r&&n){let b=Un(h,{filter:D=>!!((D.width||D.initialWidth)&&(D.height||D.initialHeight))}),{x:I,y:A,zoom:N}=wi(b,r,n,l,u,i?.padding??.1);w=[I,A,N]}return{rfId:"1",width:r??0,height:n??0,transform:w,nodes:C,nodesInitialized:S,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:zn,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Bo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:L,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{...cm},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:dH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:fm,zIndexMode:c,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},fH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c})=>AI((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:C,fitViewResolver:L,width:y,height:S,minZoom:w,maxZoom:b}=p();x&&(await Ub({nodes:g,width:y,height:S,panZoom:x,minZoom:w,maxZoom:b},C),L?.resolve(!0),h({fitViewResolver:null}))}return{...ZI({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:a,defaultEdges:o,zIndexMode:c}),setNodes:g=>{let{nodeLookup:x,parentLookup:C,nodeOrigin:L,elevateNodesOnSelect:y,fitViewQueued:S,zIndexMode:w,nodesSelectionActive:b}=p(),{nodesInitialized:I,hasSelectedNodes:A}=Kd(g,x,C,{nodeOrigin:L,nodeExtent:f,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:w}),N=b&&A;S&&I?(m(),h({nodes:g,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:N})):h({nodes:g,nodesInitialized:I,nodesSelectionActive:N})},setEdges:g=>{let{connectionLookup:x,edgeLookup:C}=p();Rm(x,C,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:C}=p();C(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:C}=p();C(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:C,parentLookup:L,domNode:y,nodeOrigin:S,nodeExtent:w,debug:b,fitViewQueued:I,zIndexMode:A}=p(),{changes:N,updatedInternals:D}=tI(g,C,L,y,S,w,A);D&&(Qb(C,L,{nodeOrigin:S,nodeExtent:w,zIndexMode:A}),I?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),N?.length>0&&(b&&console.log("React Flow: trigger node changes",N),x?.(N)))},updateNodePositions:(g,x=!1)=>{let C=[],L=[],{nodeLookup:y,triggerNodeChanges:S,connection:w,updateConnection:b,onNodesChangeMiddlewareMap:I}=p();for(let[A,N]of g){let D=y.get(A),T=!!(D?.expandParent&&D?.parentId&&N?.position),H={id:A,type:"position",position:T?{x:Math.max(0,N.position.x),y:Math.max(0,N.position.y)}:N.position,dragging:x};if(D&&w.inProgress&&w.fromNode.id===D.id){let v=Fo(D,w.fromHandle,re.Left,!0);b({...w,from:v})}T&&D.parentId&&C.push({id:A,parentId:D.parentId,rect:{...N.internals.positionAbsolute,width:N.measured.width??0,height:N.measured.height??0}}),L.push(H)}if(C.length>0){let{parentLookup:A,nodeOrigin:N}=p(),D=jd(C,y,A,N);L.push(...D)}for(let A of I.values())L=A(L);S(L)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:C,nodes:L,hasDefaultNodes:y,debug:S}=p();if(g?.length){if(y){let w=$F(g,L);C(w)}S&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:C,edges:L,hasDefaultEdges:y,debug:S}=p();if(g?.length){if(y){let w=XF(g,L);C(w)}S&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>Vr(b,!0));y(w);return}y(Xn(L,new Set([...g]),!0)),S(Xn(C))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>Vr(b,!0));S(w);return}S(Xn(C,new Set([...g]))),y(Xn(L,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:C,nodes:L,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=p(),b=g||L,I=x||C,A=[];for(let D of b){if(!D.selected)continue;let T=y.get(D.id);T&&(T.selected=!1),A.push(Vr(D.id,!1))}let N=[];for(let D of I)D.selected&&N.push(Vr(D.id,!1));S(A),w(N)},setMinZoom:g=>{let{panZoom:x,maxZoom:C}=p();x?.setScaleExtent([g,C]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:C}=p();x?.setScaleExtent([C,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:C,triggerEdgeChanges:L,elementsSelectable:y}=p();if(!y)return;let S=x.reduce((b,I)=>I.selected?[...b,Vr(I.id,!1)]:b,[]),w=g.reduce((b,I)=>I.selected?[...b,Vr(I.id,!1)]:b,[]);C(S),L(w)},setNodeExtent:g=>{let{nodes:x,nodeLookup:C,parentLookup:L,nodeOrigin:y,elevateNodesOnSelect:S,nodeExtent:w,zIndexMode:b}=p();g[0][0]===w[0][0]&&g[0][1]===w[0][1]&&g[1][0]===w[1][0]&&g[1][1]===w[1][1]||(Kd(x,C,L,{nodeOrigin:y,nodeExtent:g,elevateNodesOnSelect:S,checkEquality:!1,zIndexMode:b}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:C,height:L,panZoom:y,translateExtent:S}=p();return aI({delta:g,panZoom:y,transform:x,translateExtent:S,width:C,height:L})},setCenter:async(g,x,C)=>{let{width:L,height:y,maxZoom:S,panZoom:w}=p();if(!w)return!1;let b=typeof C?.zoom<"u"?C.zoom:S;return await w.setViewport({x:L/2-g*b,y:y/2-x*b,zoom:b},{duration:C?.duration,ease:C?.ease,interpolate:C?.interpolate}),!0},cancelConnection:()=>{h({connection:{...cm}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...ZI()})}},Object.is);function _m({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c,children:h}){let[p]=Fa(()=>fH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:c}));return W(kF,{value:p,children:W(QF,{children:h})})}function cH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h}){return Si(af)?W(lo,{children:t}):W(_m,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h,children:t})}var hH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function pH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:c,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:A,onNodesDelete:N,onEdgesDelete:D,onDelete:T,onSelectionChange:H,onSelectionDragStart:v,onSelectionDrag:M,onSelectionDragStop:P,onSelectionContextMenu:R,onSelectionStart:E,onSelectionEnd:O,onBeforeDelete:k,connectionMode:q,connectionLineType:F=Ea.Bezier,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:B,deleteKeyCode:U="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:z=!1,selectionMode:$=Nr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:se=Gn()?"Meta":"Control",zoomActivationKeyCode:oe=Gn()?"Meta":"Control",snapToGrid:ne,snapGrid:ue,onlyRenderVisibleElements:Ie=!1,selectNodesOnDrag:Ue,nodesDraggable:It,autoPanOnNodeFocus:$a,nodesConnectable:Ia,nodesFocusable:Sa,nodeOrigin:Xa=tS,edgesFocusable:is,edgesReconnectable:Qo,elementsSelectable:er=!0,defaultViewport:oa=_F,minZoom:Ka=.5,maxZoom:ja=2,translateExtent:tr=zn,preventScrolling:bA=!0,nodeExtent:zf,defaultMarkerColor:IA="#b1b1b7",zoomOnScroll:SA=!0,zoomOnPinch:vA=!0,panOnScroll:kA=!1,panOnScrollSpeed:AA=.5,panOnScrollMode:MA=so.Free,zoomOnDoubleClick:PA=!0,panOnDrag:DA=!0,onPaneClick:RA,onPaneMouseEnter:TA,onPaneMouseMove:EA,onPaneMouseLeave:BA,onPaneScroll:OA,onPaneContextMenu:FA,paneClickDistance:NA=1,nodeClickDistance:HA=0,children:_A,onReconnect:qA,onReconnectStart:zA,onReconnectEnd:UA,onEdgeContextMenu:VA,onEdgeDoubleClick:WA,onEdgeMouseEnter:GA,onEdgeMouseMove:$A,onEdgeMouseLeave:XA,reconnectRadius:KA=10,onNodesChange:jA,onEdgesChange:ZA,noDragClassName:YA="nodrag",noWheelClassName:JA="nowheel",noPanClassName:Qg="nopan",fitView:ex,fitViewOptions:tx,connectOnClick:QA,attributionPosition:eM,proOptions:tM,defaultEdgeOptions:aM,elevateNodesOnSelect:oM=!0,elevateEdgesOnSelect:rM=!1,disableKeyboardA11y:ax=!1,autoPanOnConnect:nM,autoPanOnNodeDrag:sM,autoPanOnSelection:iM=!0,autoPanSpeed:lM,connectionRadius:uM,isValidConnection:dM,onError:fM,style:cM,id:ox,nodeDragThreshold:hM,connectionDragThreshold:pM,viewport:mM,onViewportChange:gM,width:xM,height:LM,colorMode:CM="light",debug:yM,onScroll:rx,ariaLabelConfig:wM,zIndexMode:nx="basic",...bM},IM){let Uf=ox||"1",SM=VF(CM),vM=Na(sx=>{sx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),rx?.(sx)},[rx]);return W("div",{"data-testid":"rf__wrapper",...bM,onScroll:vM,style:{...cM,...hH},ref:IM,className:_e(["react-flow",r,SM]),id:ox,role:"application",children:lt(cH,{nodes:t,edges:e,width:xM,height:LM,fitView:ex,fitViewOptions:tx,minZoom:Ka,maxZoom:ja,nodeOrigin:Xa,nodeExtent:zf,zIndexMode:nx,children:[W(UF,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:It,autoPanOnNodeFocus:$a,nodesConnectable:Ia,nodesFocusable:Sa,edgesFocusable:is,edgesReconnectable:Qo,elementsSelectable:er,elevateNodesOnSelect:oM,elevateEdgesOnSelect:rM,minZoom:Ka,maxZoom:ja,nodeExtent:zf,onNodesChange:jA,onEdgesChange:ZA,snapToGrid:ne,snapGrid:ue,connectionMode:q,translateExtent:tr,connectOnClick:QA,defaultEdgeOptions:aM,fitView:ex,fitViewOptions:tx,onNodesDelete:N,onEdgesDelete:D,onDelete:T,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:A,onSelectionDrag:M,onSelectionDragStart:v,onSelectionDragStop:P,onMove:d,onMoveStart:f,onMoveEnd:c,noPanClassName:Qg,nodeOrigin:Xa,rfId:Uf,autoPanOnConnect:nM,autoPanOnNodeDrag:sM,autoPanSpeed:lM,onError:fM,connectionRadius:uM,isValidConnection:dM,selectNodesOnDrag:Ue,nodeDragThreshold:hM,connectionDragThreshold:pM,onBeforeDelete:k,debug:yM,ariaLabelConfig:wM,zIndexMode:nx}),W(uH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,nodeTypes:n,edgeTypes:s,connectionLineType:F,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:B,selectionKeyCode:X,selectionOnDrag:z,selectionMode:$,deleteKeyCode:U,multiSelectionKeyCode:se,panActivationKeyCode:ie,zoomActivationKeyCode:oe,onlyRenderVisibleElements:Ie,defaultViewport:oa,translateExtent:tr,minZoom:Ka,maxZoom:ja,preventScrolling:bA,zoomOnScroll:SA,zoomOnPinch:vA,zoomOnDoubleClick:PA,panOnScroll:kA,panOnScrollSpeed:AA,panOnScrollMode:MA,panOnDrag:DA,autoPanOnSelection:iM,onPaneClick:RA,onPaneMouseEnter:TA,onPaneMouseMove:EA,onPaneMouseLeave:BA,onPaneScroll:OA,onPaneContextMenu:FA,paneClickDistance:NA,nodeClickDistance:HA,onSelectionContextMenu:R,onSelectionStart:E,onSelectionEnd:O,onReconnect:qA,onReconnectStart:zA,onReconnectEnd:UA,onEdgeContextMenu:VA,onEdgeDoubleClick:WA,onEdgeMouseEnter:GA,onEdgeMouseMove:$A,onEdgeMouseLeave:XA,reconnectRadius:KA,defaultMarkerColor:IA,noDragClassName:YA,noWheelClassName:JA,noPanClassName:Qg,rfId:Uf,disableKeyboardA11y:ax,nodeExtent:zf,viewport:mM,onViewportChange:gM}),W(HF,{onSelectionChange:H}),_A,W(EF,{proOptions:tM,position:eM}),W(TF,{rfId:Uf,disableKeyboardA11y:ax})]})})}var AS=oS(pH);var mH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!Ud(a.userNode))return!1;return!0};function MS(t={includeHiddenNodes:!1}){return xe(mH(t))}var XK=_t.error014();function gH({dimensions:t,lineWidth:e,variant:a,className:o}){return W("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:_e(["react-flow__background-pattern",a,o])})}function xH({radius:t,className:e}){return W("circle",{cx:t,cy:t,r:t,className:_e(["react-flow__background-pattern","dots",e])})}var Oa;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Oa||(Oa={}));var LH={[Oa.Dots]:1,[Oa.Lines]:1,[Oa.Cross]:6},CH=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function PS({id:t,variant:e=Oa.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let f=we(null),{transform:c,patternId:h}=xe(CH,De),p=o||LH[e],m=e===Oa.Dots,g=e===Oa.Cross,x=Array.isArray(a)?a:[a,a],C=[x[0]*c[2]||1,x[1]*c[2]||1],L=p*c[2],y=Array.isArray(n)?n:[n,n],S=g?[L,L]:C,w=[y[0]*c[2]||1+S[0]/2,y[1]*c[2]||1+S[1]/2],b=`${h}${t||""}`;return lt("svg",{className:_e(["react-flow__background",u]),style:{...l,...rf,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[W("pattern",{id:b,x:c[0]%C[0],y:c[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:m?W(xH,{radius:L/2,className:d}):W(gH,{dimensions:S,lineWidth:r,variant:e,className:d})}),W("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${b})`})]})}PS.displayName="Background";var DS=Ge(PS);function yH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:W("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function wH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:W("path",{d:"M0 0h32v4.2H0z"})})}function bH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:W("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function IH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function SH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ef({children:t,className:e,...a}){return W("button",{type:"button",className:_e(["react-flow__controls-button",e]),...a,children:t})}var vH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function RS({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:f="bottom-left",orientation:c="vertical","aria-label":h}){let p=Oe(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:C}=xe(vH,De),{zoomIn:L,zoomOut:y,fitView:S}=vi(),w=()=>{L(),n?.()},b=()=>{y(),s?.()},I=()=>{S(r),i?.()},A=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return lt(of,{className:_e(["react-flow__controls",c==="horizontal"?"horizontal":"vertical",u]),position:f,style:t,"data-testid":"rf__controls","aria-label":h??C["controls.ariaLabel"],children:[e&<(lo,{children:[W(ef,{onClick:w,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:x,children:W(yH,{})}),W(ef,{onClick:b,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:g,children:W(wH,{})})]}),a&&W(ef,{className:"react-flow__controls-fitview",onClick:I,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:W(bH,{})}),o&&W(ef,{className:"react-flow__controls-interactive",onClick:A,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:m?W(SH,{}):W(IH,{})}),d]})}RS.displayName="Controls";var TS=Ge(RS);function kH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:c,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return W("rect",{className:_e(["react-flow__minimap-node",{selected:c},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:f,onClick:h?x=>h(x,t):void 0})}var AH=Ge(kH),MH=t=>t.nodes.map(e=>e.id),Om=t=>t instanceof Function?t:()=>t;function PH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=AH,onClick:s}){let i=xe(MH,De),l=Om(e),u=Om(t),d=Om(a),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return W(lo,{children:i.map(c=>W(RH,{id:c,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:f},c))})}function DH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:f,width:c,height:h}=xe(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y:C}=m.internals.positionAbsolute,{width:L,height:y}=Ba(g);return{node:g,x,y:C,width:L,height:y}},De);return!u||u.hidden||!Ud(u)?null:W(i,{x:d,y:f,width:c,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var RH=Ge(DH),TH=Ge(PH),EH=200,BH=150,OH=t=>!t.hidden,FH=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?Lm(Un(t.nodeLookup,{filter:OH}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},NH="react-flow__minimap-desc";function ES({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:c="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:C,zoomStep:L=1,offsetScale:y=5}){let S=Oe(),w=we(null),{boundingRect:b,viewBB:I,rfId:A,panZoom:N,translateExtent:D,flowWidth:T,flowHeight:H,ariaLabelConfig:v}=xe(FH,De),M=t?.width??EH,P=t?.height??BH,R=b.width/M,E=b.height/P,O=Math.max(R,E),k=O*M,q=O*P,F=y*O,G=b.x-(k-b.width)/2-F,_=b.y-(q-b.height)/2-F,B=k+F*2,U=q+F*2,X=`${NH}-${A}`,z=we(0),$=we();z.current=O,ke(()=>{if(w.current&&N)return $.current=uI({domNode:w.current,panZoom:N,getTransform:()=>S.getState().transform,getViewScale:()=>z.current}),()=>{$.current?.destroy()}},[N]),ke(()=>{$.current?.update({translateExtent:D,width:T,height:H,inversePan:C,pannable:m,zoomStep:L,zoomable:g})},[m,g,C,L,D,T,H]);let ie=h?ne=>{let[ue,Ie]=$.current?.pointer(ne)||[0,0];h(ne,{x:ue,y:Ie})}:void 0,se=p?Na((ne,ue)=>{let Ie=S.getState().nodeLookup.get(ue).internals.userNode;p(ne,Ie)},[]):void 0,oe=x??v["minimap.ariaLabel"];return W(of,{position:c,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*O:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:_e(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:lt("svg",{width:M,height:P,viewBox:`${G} ${_} ${B} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:w,onClick:ie,children:[oe&&W("title",{id:X,children:oe}),W(TH,{onClick:se,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),W("path",{className:"react-flow__minimap-mask",d:`M${G-F},${_-F}h${B+F*2}v${U+F*2}h${-B-F*2}z
|
|
27
|
-
M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}ES.displayName="MiniMap";var KK=Ge(ES),HH=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,_H={[No.Line]:"right",[No.Handle]:"bottom-right"};function qH({nodeId:t,position:e,variant:a=No.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:c,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let C=iS(),L=typeof t=="string"?t:C,y=Oe(),S=we(null),w=a===No.Handle,b=xe(Na(HH(w&&h),[w,h]),De),I=we(null),A=e??_H[a];ke(()=>{if(!(!S.current||!L))return I.current||(I.current=pI({domNode:S.current,nodeId:L,getStoreItems:()=>{let{nodeLookup:D,transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M,domNode:P}=y.getState();return{nodeLookup:D,transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M,paneDomNode:P}},onChange:(D,T)=>{let{triggerNodeChanges:H,nodeLookup:v,parentLookup:M,nodeOrigin:P}=y.getState(),R=[],E={x:D.x,y:D.y},O=v.get(L);if(O&&O.expandParent&&O.parentId){let k=O.origin??P,q=D.width??O.measured.width??0,F=D.height??O.measured.height??0,G={id:O.id,parentId:O.parentId,rect:{width:q,height:F,...wm({x:D.x??O.position.x,y:D.y??O.position.y},{width:q,height:F},O.parentId,v,k)}},_=jd([G],v,M,P);R.push(..._),E.x=D.x?Math.max(k[0]*q,D.x):void 0,E.y=D.y?Math.max(k[1]*F,D.y):void 0}if(E.x!==void 0&&E.y!==void 0){let k={id:L,type:"position",position:{...E}};R.push(k)}if(D.width!==void 0&&D.height!==void 0){let q={id:L,type:"dimensions",resizing:!0,setAttributes:c?c==="horizontal"?"width":"height":!0,dimensions:{width:D.width,height:D.height}};R.push(q)}for(let k of T){let q={...k,type:"position"};R.push(q)}H(R)},onEnd:({width:D,height:T})=>{let H={id:L,type:"dimensions",resizing:!1,dimensions:{width:D,height:T}};y.getState().triggerNodeChanges([H])}})),I.current.update({controlPosition:A,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:c,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{I.current?.destroy()}},[A,i,l,u,d,f,m,g,x,p]);let N=A.split("-");return W("div",{className:_e(["react-flow__resize-control","nodrag",...N,a,o]),ref:S,style:{...r,scale:b,...s&&{[w?"backgroundColor":"borderColor"]:s}},children:n})}var jK=Ge(qH);import{forwardRef as GH,createElement as $H}from"react";var sf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var BS=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var OS=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var qm=t=>{let e=OS(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as WH,createElement as HS}from"react";var lf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var FS=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as zH,useContext as UH,useMemo as s9,createElement as i9}from"react";var VH=zH({});var NS=()=>UH(VH);var _S=WH(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=NS()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return HS("svg",{ref:l,...lf,width:e??u??lf.width,height:e??u??lf.height,stroke:t??c,strokeWidth:p,className:sf("lucide",h,r),...!n&&!FS(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>HS(m,g)),...Array.isArray(n)?n:[n]])});var Ho=(t,e)=>{let a=GH(({className:o,...r},n)=>$H(_S,{ref:n,iconNode:e,className:sf(`lucide-${BS(qm(t))}`,`lucide-${t}`,o),...r}));return a.displayName=qm(t),a};var XH=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],ki=Ho("database",XH);var KH=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ai=Ho("file-text",KH);var jH=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Mi=Ho("key-round",jH);var ZH=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Pi=Ho("link-2",ZH);import{Fragment as vv,jsx as Rt,jsxs as _a}from"react/jsx-runtime";var QS=Object.defineProperty,YH=(t,e,a)=>e in t?QS(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,JH=(t,e)=>{for(var a in e)QS(t,a,{get:e[a],enumerable:!0})},QH=(t,e,a)=>YH(t,typeof e!="symbol"?e+"":e,a),ev={};JH(ev,{Graph:()=>Jt,alg:()=>Km,json:()=>av,version:()=>a_});var e_=Object.defineProperty,tv=(t,e)=>{for(var a in e)e_(t,a,{get:e[a],enumerable:!0})},Jt=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Di(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=t_(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,qS(this._preds[n],r),qS(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?zm(this._isDirected,t):Di(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?zm(this._isDirected,t):Di(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?zm(this._isDirected,t):Di(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],zS(this._preds[s],n),zS(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function qS(t,e){t[e]?t[e]++:t[e]=1}function zS(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Di(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function t_(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function zm(t,e){return Di(t,e.v,e.w,e.name)}var a_="4.0.1",av={};tv(av,{read:()=>s_,write:()=>o_});function o_(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r_(t),edges:n_(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function r_(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function n_(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function s_(t){let e=new Jt(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var Km={};tv(Km,{CycleException:()=>df,bellmanFord:()=>ov,components:()=>u_,dijkstra:()=>uf,dijkstraAll:()=>c_,findCycles:()=>h_,floydWarshall:()=>m_,isAcyclic:()=>x_,postorder:()=>C_,preorder:()=>y_,prim:()=>w_,shortestPaths:()=>b_,tarjan:()=>nv,topsort:()=>sv});var i_=()=>1;function ov(t,e,a,o){return l_(t,String(e),a||i_,o||function(r){return t.outEdges(r)})}function l_(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(f){let c=a(f);r[f.v].distance+c<r[f.w].distance&&(r[f.w]={distance:r[f.v].distance+c,predecessor:f.v},n=!0)},u=function(){i.forEach(function(f){o(f).forEach(function(c){let h=c.v===f?c.v:c.w,p=h===c.v?c.w:c.v;l({v:h,w:p})})})};i.forEach(function(f){let c=f===e?0:Number.POSITIVE_INFINITY;r[f]={distance:c,predecessor:""}});let d=i.length;for(let f=1;f<d&&(n=!1,s++,u(),!!n);f++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function u_(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var rv=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},d_=()=>1;function uf(t,e,a,o){let r=function(n){return t.outEdges(n)};return f_(t,String(e),a||d_,o||r)}function f_(t,e,a,o){let r={},n=new rv,s,i,l=function(u){let d=u.v!==s?u.v:u.w,f=r[d],c=a(u),h=i.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+c);h<f.distance&&(f.distance=h,f.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function c_(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=uf(t,r,e,a),o},{})}function nv(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function h_(t){return nv(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var p_=()=>1;function m_(t,e,a){return g_(t,e||p_,a||function(o){return t.outEdges(o)})}function g_(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],f=s[u],c=l[u],h=d.distance+f.distance;h<c.distance&&(c.distance=h,c.predecessor=f.predecessor)})})}),o}var df=class extends Error{constructor(...t){super(...t)}};function sv(t){let e={},a={},o=[];function r(n){if(n in a)throw new df;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new df;return o}function x_(t){try{sv(t)}catch(e){if(e instanceof df)return!1;throw e}return!0}function L_(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=iv(t,i,a==="post",s,n,o,r)}),r}function iv(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=iv(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function lv(t,e,a){return L_(t,e,a,function(o,r){return o.push(r),o},[])}function C_(t,e){return lv(t,e,"post")}function y_(t,e){return lv(t,e,"pre")}function w_(t,e){let a=new Jt,o={},r=new rv,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let f=e(l);f<d&&(o[u]=n,r.decrease(u,f))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function b_(t,e,a,o){return I_(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function I_(t,e,a,o){if(a===void 0)return uf(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,f=d===u.v?u.w:u.v;a({v:d,w:f})<0&&(r=!0)}if(r)return ov(t,e,a,o)}return uf(t,e,a,o)}function jn(t,e,a,o){let r=o;for(;t.hasNode(r);)r=jm(o);return a.dummy=e,t.setNode(r,a),r}function S_(t){let e=new Jt().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function uv(t){let e=new Jt({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function US(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Ti(t){let e=Ri(fv(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function v_(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=Ha(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function k_(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=Ha(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function VS(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),jn(t,"border",r,e)}function A_(t,e=dv){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var dv=65535;function Ha(t,e){if(e.length>dv){let a=A_(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function fv(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return Ha(Math.max,e)}function M_(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function cv(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function hv(t,e){return e()}var P_=0;function jm(t){let e=++P_;return t+(""+e)}function Ri(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function ff(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function cf(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function D_(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var hf="\0",R_="3.0.0",T_=class{constructor(){QH(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return WS(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&WS(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,E_)),a=a._prev;return"["+t.join(", ")+"]"}};function WS(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function E_(t,e){if(t!=="_next"&&t!=="_prev")return e}var B_=T_,O_=()=>1;function F_(t,e){if(t.nodeCount()<=1)return[];let a=H_(t,e||O_);return N_(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function N_(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)Um(t,e,a,i);for(;i=n.dequeue();)Um(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(Um(t,e,a,i,!0)||[]);break}}}return r}function Um(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,Xm(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,Xm(e,a,d)}),t.removeNode(o.v),s}function H_(t,e){let a=new Jt,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let f=a.node(i.v),c=a.node(i.w);r=Math.max(r,f.out+=u),o=Math.max(o,c.in+=u)});let n=__(r+o+3).map(()=>new B_),s=o+1;return a.nodes().forEach(i=>{Xm(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function Xm(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function __(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function q_(t){(t.graph().acyclicer==="greedy"?F_(t,e(t)):z_(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,jm("rev"))});function e(a){return o=>a.edge(o).weight}}function z_(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function U_(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function V_(t){t.graph().dummyChains=[],t.edges().forEach(e=>W_(t,e))}function W_(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,f;for(f=0,++o;o<n;++f,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=jn(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),f===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function G_(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function Zm(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=Ha(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function Kn(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var pv=$_;function $_(t){let e=new Jt({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;X_(e,t)<r&&(n=K_(e,t),!!n);)s=e.hasNode(n.v)?Kn(t,n):-Kn(t,n),j_(e,t,s);return e}function X_(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!Kn(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function K_(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=Kn(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function j_(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:Z_,postorder:Y_}=Km,J_=Wr;Wr.initLowLimValues=Jm;Wr.initCutValues=Ym;Wr.calcCutValue=mv;Wr.leaveEdge=xv;Wr.enterEdge=Lv;Wr.exchangeEdges=Cv;function Wr(t){t=S_(t),Zm(t);let e=pv(t);Jm(e),Ym(e,t);let a,o;for(;a=xv(e);)o=Lv(e,t,a),Cv(e,t,a,o)}function Ym(t,e){let a=Y_(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>Q_(t,e,o))}function Q_(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=mv(t,e,a)}function mv(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let f=u===r,c=e.edge(l).weight;if(s+=f?c:-c,tq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=f?-h:h}}}),s}function Jm(t,e){arguments.length<2&&(e=t.nodes()[0]),gv(t,{},1,e)}function gv(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=gv(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function xv(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function Lv(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===GS(t,t.node(u.v),i)&&l!==GS(t,t.node(u.w),i)).reduce((u,d)=>Kn(e,d)<Kn(e,u)?d:u)}function Cv(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),Jm(t),Ym(t,e),eq(t,e)}function eq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=Z_(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function tq(t,e,a){return t.hasEdge(e,a)}function GS(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var aq=oq;function oq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":$S(t);break;case"tight-tree":nq(t);break;case"longest-path":rq(t);break;case"none":break;default:$S(t)}}var rq=Zm;function nq(t){Zm(t),pv(t)}function $S(t){J_(t)}var sq=iq;function iq(t){let e=uq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=lq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function lq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function uq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(hf).forEach(o),e}function dq(t){let e=jn(t,"root",{},"_root"),a=fq(t),o=Object.values(a),r=Ha(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=cq(t)+1;t.children(hf).forEach(i=>yv(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function yv(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=VS(t,"_bt"),d=VS(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(d,s),f.borderBottom=d,l.forEach(c=>{var h;yv(t,e,a,o,r,n,c);let p=t.node(c),m=p.borderTop?p.borderTop:c,g=p.borderBottom?p.borderBottom:c,x=p.borderTop?o:2*o,C=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:C,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:C,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function fq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(hf).forEach(o=>a(o,1)),e}function cq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function hq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var pq=mq;function mq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)XS(t,"borderLeft","_bl",a,r,n),XS(t,"borderRight","_br",a,r,n)}}t.children(hf).forEach(e)}function XS(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=jn(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function gq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&wv(t)}function xq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&Lq(t),(a==="lr"||a==="rl")&&(Cq(t),wv(t))}function wv(t){t.nodes().forEach(e=>KS(t.node(e))),t.edges().forEach(e=>KS(t.edge(e)))}function KS(t){let e=t.width;t.width=t.height,t.height=e}function Lq(t){t.nodes().forEach(e=>Vm(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(Vm),Object.hasOwn(o,"y")&&Vm(o)})}function Vm(t){t.y=-t.y}function Cq(t){t.nodes().forEach(e=>Wm(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(Wm),Object.hasOwn(o,"x")&&Wm(o)})}function Wm(t){let e=t.x;t.x=t.y,t.y=e}function yq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=Ha(Math.max,o),n=Ri(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function wq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=bq(t,e[o-1],e[o]);return a}function bq(t,e,a){let o=D_(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(f=>({pos:o[f.w],weight:t.edge(f).weight})).sort((f,c)=>f.pos-c.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*f}),l}function Iq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function Sq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return vq(o)}function vq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&kq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>ff(r,["vs","i","barycenter","weight"]))}function kq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function Aq(t,e){let a=M_(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,f)=>f.i-d.i),n=[],s=0,i=0,l=0;o.sort(Mq(!!e)),l=jS(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=jS(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function jS(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function Mq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function bv(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(c=>c!==s&&c!==i));let u=Iq(t,r);u.forEach(c=>{if(t.children(c.v).length){let h=bv(t,c.v,a,o);l[c.v]=h,Object.hasOwn(h,"barycenter")&&Dq(c,h)}});let d=Sq(u,a);Pq(d,l);let f=Aq(d,o);if(s&&i){f.vs=[s,f.vs,i].flat(1);let c=t.predecessors(s);if(c&&c.length){let h=t.node(c[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+h.order+m.order)/(f.weight+2),f.weight+=2}}return f}function Pq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function Dq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Rq(t,e,a,o){o||(o=t.nodes());let r=Tq(t),n=new Jt({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let f=d.v===s?d.w:d.v,c=n.edge(f,s),h=c!==void 0?c.weight:0;n.setEdge(f,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Tq(t){let e;for(;t.hasNode(e=jm("_root")););return e}function Eq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function Iv(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,Iv);return}let a=fv(t),o=ZS(t,Ri(1,a+1),"inEdges"),r=ZS(t,Ri(a-1,-1,-1),"outEdges"),n=yq(t);if(YS(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){Bq(u%2?o:r,u%4>=2,l),n=Ti(t);let f=wq(t,n);f<s?(d=0,i=Object.assign({},n),s=f):f===s&&(i=structuredClone(n))}YS(t,i)}function ZS(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Rq(t,n,a,o.get(n)||[])})}function Bq(t,e,a){let o=new Jt;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=bv(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Eq(r,o,s.vs)})}function YS(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function Oq(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,f)=>{let c=Nq(t,d),h=c?t.node(c).order:l;(c||d===u)&&(n.slice(i,f+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),C=x.order;(C<s||h<C)&&!(x.dummy&&t.node(p).dummy)&&Sv(a,g,p)})}),i=f+1,s=h)}),n}return e.length&&e.reduce(o),a}function Fq(t,e){let a={};function o(n,s,i,l,u){Ri(s,i).forEach(d=>{let f=n[d];if(f!==void 0&&t.node(f).dummy){let c=t.predecessors(f);c&&c.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&Sv(a,h,f)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,f)=>{if(t.node(d).dummy==="border"){let c=t.predecessors(d);if(c&&c.length){let h=c[0];if(h===void 0)return;l=t.node(h).order,o(s,u,f,i,l),u=f,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function Nq(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function Sv(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function Hq(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function _q(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let f=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),c=(f.length-1)/2;for(let h=Math.floor(c),p=Math.ceil(c);h<=p;++h){let m=f[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!Hq(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function qq(t,e,a,o,r=!1){let n={},s=zq(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let C of p(x))m.push(C)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let C=(x=n[g.v])!=null?x:0,L=s.edge(g);return Math.max(m,C+(L!==void 0?L:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,C)=>{let L=n[C.w],y=s.edge(C);return Math.min(x,(L!==void 0?L:0)-(y!==void 0?y:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function f(h){return s.predecessors(h)||[]}function c(h){return s.successors(h)||[]}return l(u,f),l(d,c),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function zq(t,e,a,o){let r=new Jt,n=t.graph(),s=$q(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let f=a[l];if(f!==void 0){let c=r.edge(f,d);r.setEdge(f,d,Math.max(s(t,u,l),c||0))}}l=u}})}),r}function Uq(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=Xq(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function Vq(t,e){let a=Object.values(e),o=Ha(Math.min,a),r=Ha(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-Ha(Math.min,u);s!=="l"&&(d=r-Ha(Math.max,u)),d&&(t[i]=cf(l,f=>f+d))})})}function Wq(t,e=void 0){let a=t.ul;return a?cf(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function Gq(t){let e=Ti(t),a=Object.assign(Oq(t,e),Fq(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=_q(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=qq(t,r,l.root,l.align,i==="r");i==="r"&&(u=cf(u,d=>-d)),o[s+i]=u})});let n=Uq(t,o);return Vq(o,n),Wq(o,t.graph().align)}function $q(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function Xq(t,e){return t.node(e).width}function Kq(t){t=uv(t),jq(t),Object.entries(Gq(t)).forEach(([e,a])=>t.node(e).x=a)}function jq(t){let e=Ti(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let f=(d=t.node(u).height)!=null?d:0;return l>f?l:f},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function Zq(t,e={}){let a=e.debugTiming?cv:hv;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>sz(t));return a(" runLayout",()=>Yq(o,a,e)),a(" updateInputGraph",()=>Jq(t,o)),o})}function Yq(t,e,a){e(" makeSpaceForEdgeLabels",()=>iz(t)),e(" removeSelfEdges",()=>gz(t)),e(" acyclic",()=>q_(t)),e(" nestingGraph.run",()=>dq(t)),e(" rank",()=>aq(uv(t))),e(" injectEdgeLabelProxies",()=>lz(t)),e(" removeEmptyRanks",()=>k_(t)),e(" nestingGraph.cleanup",()=>hq(t)),e(" normalizeRanks",()=>v_(t)),e(" assignRankMinMax",()=>uz(t)),e(" removeEdgeLabelProxies",()=>dz(t)),e(" normalize.run",()=>V_(t)),e(" parentDummyChains",()=>sq(t)),e(" addBorderSegments",()=>pq(t)),e(" order",()=>Iv(t,a)),e(" insertSelfEdges",()=>xz(t)),e(" adjustCoordinateSystem",()=>gq(t)),e(" position",()=>Kq(t)),e(" positionSelfEdges",()=>Lz(t)),e(" removeBorderNodes",()=>mz(t)),e(" normalize.undo",()=>G_(t)),e(" fixupEdgeLabelCoords",()=>hz(t)),e(" undoCoordinateSystem",()=>xq(t)),e(" translateGraph",()=>fz(t)),e(" assignNodeIntersects",()=>cz(t)),e(" reversePoints",()=>pz(t)),e(" acyclic.undo",()=>U_(t))}function Jq(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var Qq=["nodesep","edgesep","ranksep","marginx","marginy"],ez={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},tz=["acyclicer","ranker","rankdir","align","rankalign"],az=["width","height","rank"],JS={width:0,height:0},oz=["minlen","weight","width","height","labeloffset"],rz={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nz=["labelpos"];function sz(t){let e=new Jt({multigraph:!0,compound:!0}),a=$m(t.graph());return e.setGraph(Object.assign({},ez,Gm(a,Qq),ff(a,tz))),t.nodes().forEach(o=>{let r=$m(t.node(o)),n=Gm(r,az);Object.keys(JS).forEach(i=>{n[i]===void 0&&(n[i]=JS[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=$m(t.edge(o));e.setEdge(o,Object.assign({},rz,Gm(r,oz),ff(r,nz)))}),e}function iz(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function lz(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};jn(t,"edge-proxy",r,"_ep")}})}function uz(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function dz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function fz(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,f=u.y,c=u.width,h=u.height;e=Math.min(e,d-c/2),a=Math.max(a,d+c/2),o=Math.min(o,f-h/2),r=Math.max(r,f+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(f=>{f.x-=e,f.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function cz(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(US(o,n)),a.points.push(US(r,s))})}function hz(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function pz(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function mz(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function gz(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function xz(t){Ti(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{jn(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function Lz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function Gm(t,e){return cf(ff(t,e),Number)}function $m(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function Cz(t){let e=Ti(t),a=new Jt({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var yz={graphlib:ev,version:R_,layout:Zq,debug:Cz,util:{time:cv,notime:hv}},Qm=yz;import{jsx as uo,jsxs as Pz}from"react/jsx-runtime";function kv({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return _a("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[_a("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[_a("div",{className:"flex min-w-0 items-center gap-2",children:[Rt(ki,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),Rt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),Rt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),Rt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?Rt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",f=r.has(s.displayName);return _a("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",f?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?_a(vv,{children:[Rt(io,{id:`target-${s.displayName}-left`,type:"target",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Rt(io,{id:`target-${s.displayName}-right`,type:"target",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?_a(vv,{children:[Rt(io,{id:`source-${s.displayName}-left`,type:"source",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Rt(io,{id:`source-${s.displayName}-right`,type:"source",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,_a("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?Rt(Mi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?Rt(Pi,{className:["h-3 w-3 shrink-0",f?"text-blue-300":"text-blue-400"].join(" ")}):null,d?Rt(Ai,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,Rt("span",{className:"truncate",children:s.displayName})]}),Rt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),_a("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[_a("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),_a("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var eg=260,Av=150,Mv=26,ag=390;function Pv(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function Zn(t,e){return`${t}:${e}`}function Dv(t){return t.kind??(t.target?"relation":"scalar")}function wz(t){let e=Dv(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function bz(t){let e=t.map(wz);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function Rv(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function Iz(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function Sz(t){let e=Iz(t),a=new Set([Rv(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function vz(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=Rv(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>Sz(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function kz(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function Az(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function tg(t){return Math.max(Av,74+t.fields.length*Mv)}function Mz(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new Qm.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:eg,height:tg(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));Qm.layout(l);for(let u of o){let d=l.node(u.id),f=tg(u);u.position={x:d.x-eg/2,y:d.y-f/2},s=Math.max(s,u.position.x+eg),i=Math.max(i,u.position.y+f)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+ag:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,f=0,c=0;for(let h of r)h.position={x:d,y:f},f+=tg(h)+48,c+=1,c>=u&&(c=0,f=0,d+=ag)}}function Tv(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function Ev(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((f,c)=>f.name.localeCompare(c.name)),d=0;u.forEach(f=>{let c=Zn(i.name,f.name),h=f.fields??[],p=bz(h);a.push({id:c,cartridge:i.name,entity:f.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*ag,y:d}}),d+=Math.max(Av,74+p.length*Mv)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=Zn(i.name,l.name),d=r.get(u);for(let f of l.fields??[]){let c=Dv(f)==="relation"&&!!f.target,h=c?null:vz(f.name,a);if(!c&&!h)continue;let p=c?f.targetCart??i.name:h?.cartridge,m=c?f.target:h?.entity;if(!p||!m)continue;let g=Zn(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),L=x?.fields.find(b=>b.displayName.toLowerCase()==="id")?.displayName??"__entity",S=d?.fields.find(b=>b.name===f.name||b.displayName===f.name)?.displayName??f.fkField??f.name,w=`${u}:${S}->${g}:${L}`;s.has(w)||(s.add(w),!c&&x&&kz(d,S,x),n.push({id:`${u}:${f.name}->${g}`,source:u,target:g,sourceField:S,targetField:L,label:f.name,relationKind:f.relationKind??(c?void 0:"inferred"),fkField:f.fkField??(c?void 0:f.name)}))}}return Az(a),{nodes:a,edges:n,totals:Tv(a,n)}}function Bv(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return Mz(a,r),{nodes:a,edges:r,totals:Tv(a,r)}}var Dz={entity:kv},Rz=({fitKey:t})=>{let e=MS(),{fitView:a}=vi();return ct.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),null};function Tz(){let{apiBaseUrl:t}=st(),[e,a]=ct.useState([]),[o,r]=ct.useState(!0),[n,s]=ct.useState(null);return ct.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:js()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function Ez(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var og=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=Tz(),n=ct.useMemo(()=>Ev(Pv(a)),[a]),s=ct.useMemo(()=>Ez(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),uo("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return uo(Bz,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},Bz=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=Wp(e),[n,s]=ct.useState(null),i=ct.useMemo(()=>Bv(t,a),[t,a]);ct.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=ct.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(C,L)=>{let y=g.get(C)??new Set;y.add(L),g.set(C,y)};for(let C of i.edges)C.source!==n&&C.target!==n||(m.add(C.id),p.add(C.source),p.add(C.target),x(C.source,C.sourceField),x(C.target,C.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=ct.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=ct.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),C=p.get(g.target),L=x&&C&&x.position.x>C.position.x?"left":"right",y=L==="left"?"right":"left",S=`${g.target}:${g.targetField}:${y}`,w=m.get(S)??0;m.set(S,w+1);let b=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${L}`,targetHandle:`target-${g.targetField}-${y}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+w%5*12},markerEnd:{type:Oo.ArrowClosed,color:b?"#2563eb":"#64748b"},style:{strokeWidth:n&&b?2.5:1.5,stroke:b?"#2563eb":"#64748b",opacity:b?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),f=ct.useCallback((p,m)=>{let g=m.data,x=Zn(g.cartridge,g.entity);s(C=>C===x?null:x),o?.(g.cartridge,g.entity)},[o]),c=ct.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(Zn(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=ct.useCallback(()=>s(null),[]);return uo("div",{className:"flex h-full min-h-0 w-full flex-col",children:uo("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?uo("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):uo(_m,{children:Pz(AS,{colorMode:"dark",nodes:u,edges:d,nodeTypes:Dz,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:f,onNodeContextMenu:c,onPaneClick:h,proOptions:{hideAttribution:!0},children:[uo(Rz,{fitKey:[...a].sort().join("|")}),uo(DS,{variant:Oa.Dots,gap:16,size:1,color:"#3f3f46"}),uo(TS,{showInteractive:!1})]})})})})};import co from"react";function Ov(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Ov(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Fv(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Ov(t))&&(o&&(o+=" "),o+=e);return o}var Oz=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},Fz=(t,e)=>({classGroupId:t,validator:e}),Uv=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Nv=[],Nz="arbitrary..",Hz=t=>{let e=qz(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return _z(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Vv(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?Oz(u,l):l:u||Nv}return a[s]||Nv}}},Vv=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Vv(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},_z=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?Nz+o:void 0})(),qz=t=>{let{theme:e,classGroups:a}=t;return zz(a,e)},zz=(t,e)=>{let a=Uv();for(let o in t){let r=t[o];ng(r,a,o,e)}return a},ng=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];Uz(s,e,a,o)}},Uz=(t,e,a,o)=>{if(typeof t=="string"){Vz(t,e,a);return}if(typeof t=="function"){Wz(t,e,a,o);return}Gz(t,e,a,o)},Vz=(t,e,a)=>{let o=t===""?e:Wv(e,t);o.classGroupId=a},Wz=(t,e,a,o)=>{if($z(t)){ng(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(Fz(a,t))},Gz=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];ng(l,Wv(e,i),a,o)}},Wv=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Uv(),a.nextPart.set(s,i)),a=i}return a},$z=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Xz=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var Kz=[],Hv=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),jz=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Hv(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Hv(Kz,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},Zz=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},Yz=t=>({cache:Xz(t.cacheSize),parseClassName:jz(t),sortModifiers:Zz(t),postfixLookupClassGroupIds:Jz(t),...Hz(t)}),Jz=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},Qz=/\s+/,eU=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(Qz),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},tU=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Gv(a))&&(r&&(r+=" "),r+=o);return r},Gv=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Gv(t[o]))&&(a&&(a+=" "),a+=e);return a},aU=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=Yz(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=eU(l,a);return r(l,d),d};return n=s,(...l)=>n(tU(...l))},oU=[],Je=t=>{let e=a=>a[t]||oU;return e.isThemeGetter=!0,e},$v=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,rU=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,nU=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,sU=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,iU=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,lU=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,uU=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_o=t=>rU.test(t),ce=t=>!!t&&!Number.isNaN(Number(t)),qa=t=>!!t&&Number.isInteger(Number(t)),rg=t=>t.endsWith("%")&&ce(t.slice(0,-1)),fo=t=>nU.test(t),Kv=()=>!0,dU=t=>sU.test(t)&&!iU.test(t),sg=()=>!1,fU=t=>lU.test(t),cU=t=>uU.test(t),hU=t=>!Q(t)&&!te(t),pU=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),mU=t=>qo(t,Yv,sg),Q=t=>$v.test(t),Gr=t=>qo(t,Jv,dU),_v=t=>qo(t,IU,ce),gU=t=>qo(t,ek,Kv),xU=t=>qo(t,Qv,sg),qv=t=>qo(t,jv,sg),LU=t=>qo(t,Zv,cU),pf=t=>qo(t,tk,fU),te=t=>Xv.test(t),Ei=t=>$r(t,Jv),CU=t=>$r(t,Qv),zv=t=>$r(t,jv),yU=t=>$r(t,Yv),wU=t=>$r(t,Zv),mf=t=>$r(t,tk,!0),bU=t=>$r(t,ek,!0),qo=(t,e,a)=>{let o=$v.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},$r=(t,e,a=!1)=>{let o=Xv.exec(t);return o?o[1]?e(o[1]):a:!1},jv=t=>t==="position"||t==="percentage",Zv=t=>t==="image"||t==="url",Yv=t=>t==="length"||t==="size"||t==="bg-size",Jv=t=>t==="length",IU=t=>t==="number",Qv=t=>t==="family-name",ek=t=>t==="number"||t==="weight",tk=t=>t==="shadow";var SU=()=>{let t=Je("color"),e=Je("font"),a=Je("text"),o=Je("font-weight"),r=Je("tracking"),n=Je("leading"),s=Je("breakpoint"),i=Je("container"),l=Je("spacing"),u=Je("radius"),d=Je("shadow"),f=Je("inset-shadow"),c=Je("text-shadow"),h=Je("drop-shadow"),p=Je("blur"),m=Je("perspective"),g=Je("aspect"),x=Je("ease"),C=Je("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),te,Q],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[te,Q,l],A=()=>[_o,"full","auto",...I()],N=()=>[qa,"none","subgrid",te,Q],D=()=>["auto",{span:["full",qa,te,Q]},qa,te,Q],T=()=>[qa,"auto",te,Q],H=()=>["auto","min","max","fr",te,Q],v=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...I()],R=()=>[_o,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[_o,"screen","full","dvw","lvw","svw","min","max","fit",...I()],O=()=>[_o,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],k=()=>[t,te,Q],q=()=>[...y(),zv,qv,{position:[te,Q]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",yU,mU,{size:[te,Q]}],_=()=>[rg,Ei,Gr],B=()=>["","none","full",u,te,Q],U=()=>["",ce,Ei,Gr],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[ce,rg,zv,qv],ie=()=>["","none",p,te,Q],se=()=>["none",ce,te,Q],oe=()=>["none",ce,te,Q],ne=()=>[ce,te,Q],ue=()=>[_o,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[fo],breakpoint:[fo],color:[Kv],container:[fo],"drop-shadow":[fo],ease:["in","out","in-out"],font:[hU],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[fo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[fo],shadow:[fo],spacing:["px",ce],text:[fo],"text-shadow":[fo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",_o,Q,te,g]}],container:["container"],"container-type":[{"@container":["","normal","size",te,Q]}],"container-named":[pU],columns:[{columns:[ce,Q,te,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[qa,"auto",te,Q]}],basis:[{basis:[_o,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ce,_o,"auto","initial","none",Q]}],grow:[{grow:["",ce,te,Q]}],shrink:[{shrink:["",ce,te,Q]}],order:[{order:[qa,"first","last","none",te,Q]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...v(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...v()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":v()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:R()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...O()]}],"min-block-size":[{"min-block":["auto",...O()]}],"max-block-size":[{"max-block":["none",...O()]}],w:[{w:[i,"screen",...R()]}],"min-w":[{"min-w":[i,"screen","none",...R()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...R()]}],h:[{h:["screen","lh",...R()]}],"min-h":[{"min-h":["screen","lh","none",...R()]}],"max-h":[{"max-h":["screen","lh",...R()]}],"font-size":[{text:["base",a,Ei,Gr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,bU,gU]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",rg,Q]}],"font-family":[{font:[CU,xU,e]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,te,Q]}],"line-clamp":[{"line-clamp":[ce,"none",te,_v]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",te,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",te,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[ce,"from-font","auto",te,Gr]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[ce,"auto",te,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[qa,te,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",te,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",te,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qa,te,Q],radial:["",te,Q],conic:[qa,te,Q]},wU,LU]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ce,te,Q]}],"outline-w":[{outline:["",ce,Ei,Gr]}],"outline-color":[{outline:k()}],shadow:[{shadow:["","none",d,mf,pf]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":["none",f,mf,pf]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[ce,Gr]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":["none",c,mf,pf]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[ce,te,Q]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ce]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[te,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[ce]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",te,Q]}],filter:[{filter:["","none",te,Q]}],blur:[{blur:ie()}],brightness:[{brightness:[ce,te,Q]}],contrast:[{contrast:[ce,te,Q]}],"drop-shadow":[{"drop-shadow":["","none",h,mf,pf]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:["",ce,te,Q]}],"hue-rotate":[{"hue-rotate":[ce,te,Q]}],invert:[{invert:["",ce,te,Q]}],saturate:[{saturate:[ce,te,Q]}],sepia:[{sepia:["",ce,te,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",te,Q]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[ce,te,Q]}],"backdrop-contrast":[{"backdrop-contrast":[ce,te,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ce,te,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ce,te,Q]}],"backdrop-invert":[{"backdrop-invert":["",ce,te,Q]}],"backdrop-opacity":[{"backdrop-opacity":[ce,te,Q]}],"backdrop-saturate":[{"backdrop-saturate":[ce,te,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",ce,te,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",te,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ce,"initial",te,Q]}],ease:[{ease:["linear","initial",x,te,Q]}],delay:[{delay:[ce,te,Q]}],animate:[{animate:["none",C,te,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,te,Q]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[te,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[qa,te,Q]}],accent:[{accent:k()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",te,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",te,Q]}],fill:[{fill:["none",...k()]}],"stroke-w":[{stroke:[ce,Ei,Gr,_v]}],stroke:[{stroke:["none",...k()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var ak=aU(SU);import Yn from"react";import{createPortal as vU}from"react-dom";import{Fragment as ok,jsx as Ca,jsxs as zo}from"react/jsx-runtime";import{jsx as bt,jsxs as Jn}from"react/jsx-runtime";function Vo(...t){return ak(Fv(t))}var rk=420,sk=new Set([$u,Xu,Ku,ju,Zu,Yu,Ju,Qu]),ik=new Set([ed,td]);function kU(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-rk-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:rk}}function AU(t,e){if(e===Zs)return{value:t==="true"};if(sk.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(ik.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var MU=({data:t,onClose:e})=>{let{apiBaseUrl:a}=st(),[o,r]=Yn.useState(!1),[n,s]=Yn.useState(t.value),[i,l]=Yn.useState(!1),[u,d]=Yn.useState(null);Yn.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),Yn.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let f=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},c=async()=>{let m=AU(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===Zs,p=sk.has(t.colType)||ik.has(t.colType);return vU(zo(ok,{children:[Ca("div",{className:"fixed inset-0 z-[60]",onClick:e}),zo("div",{className:Vo("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:kU(t.rect),onClick:m=>m.stopPropagation(),children:[zo("div",{className:"mb-2 flex items-center justify-between gap-3",children:[zo("div",{className:"min-w-0",children:[Ca("div",{className:"truncate font-medium text-foreground",children:t.colName}),zo("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),zo("div",{className:"flex shrink-0 items-center gap-1.5",children:[Ca("button",{type:"button",onClick:f,className:Vo("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Ca("button",{type:"button",onClick:c,disabled:i,className:Vo("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?zo(ok,{children:[h?zo("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Ca("option",{value:"true",children:"true"}),Ca("option",{value:"false",children:"false"})]}):p?Ca("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&c()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Ca("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Ca("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Ca("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Ca("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},ug=MU,Uo=22,nk=6,PU=80,ig=32,DU=new Set(["id","createdAt","updatedAt"]),RU=new Set([ad,od]);function lg(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max(PU,Math.min(240,t.length*9+24))}var TU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=Gp(t,e),n=co.useRef(null),[s,i]=co.useState(0),[l,u]=co.useState(0),[d,f]=co.useState(""),[c,h]=co.useState(null),[p,m]=co.useState(null),[g,x]=co.useState(0);co.useEffect(()=>(r.setOnRender(()=>x(M=>M+1)),()=>r.setOnRender(null)),[r]),co.useEffect(()=>{let M=n.current;if(!M)return;let P=new ResizeObserver(()=>u(M.clientHeight));return P.observe(M),u(M.clientHeight),()=>P.disconnect()},[]);let C=r.store.rows,L=r.columns,y=C.length*Uo,S=Math.max(0,Math.floor(s/Uo)-nk),w=Math.max(0,Math.ceil(l/Uo)+nk*2),b=Math.min(C.length,S+w),I=M=>{M.key==="Enter"?r.search(d.trim()):M.key==="Escape"&&(f(""),r.clearSearch())},A=M=>{let P=C[M];if(!P)return;let R={};for(let E=0;E<L.length;E++)R[L[E].name]=P[E]??"";o(R)},N=a.length===0,D=ig+L.reduce((M,P)=>M+lg(P.name),0),T=L.findIndex(M=>M.name==="id"),H=M=>{let P=n.current;if(!P)return;let R=M*Uo;R<P.scrollTop?P.scrollTop=R:R+Uo>P.scrollTop+P.clientHeight&&(P.scrollTop=R+Uo-P.clientHeight)},v=M=>{if(C.length===0||L.length===0)return;if((M.metaKey||M.ctrlKey)&&(M.key==="c"||M.key==="C")){if(!c)return;let O=C[c.r]?.[c.c]??"";navigator.clipboard?.writeText(O),M.preventDefault();return}let P=c??{r:S,c:0},{r:R,c:E}=P;if(M.key==="ArrowUp")R--;else if(M.key==="ArrowDown")R++;else if(M.key==="ArrowLeft")E--;else if(M.key==="ArrowRight")E++;else return;M.preventDefault(),R=Math.max(0,Math.min(C.length-1,R)),E=Math.max(0,Math.min(L.length-1,E)),h({r:R,c:E}),m(null),H(R)};return Jn("div",{className:"flex h-full flex-col bg-background",children:[Jn("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[bt("input",{type:"text",value:d,disabled:N,onChange:M=>f(M.target.value),onKeyDown:I,placeholder:N?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:Vo("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",N&&"opacity-50 cursor-not-allowed")}),bt("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?bt("span",{className:"text-red-400",children:r.error}):r.connected?Jn("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]}):bt("span",{children:"connecting\u2026"})})]}),L.length===0?bt("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):bt("div",{ref:n,tabIndex:0,onKeyDown:v,onScroll:M=>{i(M.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:Jn("div",{style:{width:D},children:[Jn("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] uppercase tracking-wider text-muted-foreground",style:{width:D},children:[bt("div",{style:{width:ig},className:"shrink-0 border-r border-border"}),L.map(M=>bt("div",{style:{width:lg(M.name)},className:"flex items-center overflow-hidden border-r border-border px-2",children:bt("span",{className:"truncate",children:M.name})},M.name))]}),bt("div",{style:{height:y,width:D,position:"relative"},children:C.slice(S,b).map((M,P)=>{let R=S+P;return Jn("div",{style:{top:R*Uo,height:Uo,width:D},className:Vo("absolute left-0 flex text-[12px] leading-none",R%2===0?"bg-background":"bg-muted/20"),children:[bt("button",{type:"button",title:"Open row detail",onClick:()=>A(R),style:{width:ig},className:Vo("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:R+1}),L.map((E,O)=>{let k=c?.r===R&&c?.c===O;return bt("div",{"data-selected":k,onClick:q=>{q.stopPropagation(),h({r:R,c:O}),m(null)},onDoubleClick:q=>{q.stopPropagation(),h({r:R,c:O});let F=T>=0&&!DU.has(E.name)&&!RU.has(E.type);m({r:R,c:O,colName:E.name,value:M[O]??"",rect:q.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:T>=0?M[T]??"":"",colType:E.type,editable:F})},style:{width:lg(E.name)},className:Vo("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:M[O],children:bt("span",{className:"truncate",children:M[O]})},E.name)})]},R)})})]})}),p?bt(ug,{data:p,onClose:()=>m(null)}):null,g<0&&bt("span",{})]})},Bi=TU;import{useEffect as EU,useState as gf}from"react";function BU(t){let e={},a=new Set;for(let o of t){let r=o.cartridge;if(!r||!o.owns)continue;let n=[];for(let[s,i]of Object.entries(o.owns)){let l=Array.isArray(i?.searchFields)?i.searchFields:[];n.push({name:s,route:`/_ws/bulk/${r}/${s.toLowerCase()}`,searchFields:l})}n.length>0&&(e[r]=n,o.core&&a.add(r))}return{reg:e,core:a}}function lk(){let{apiBaseUrl:t}=st(),[e,a]=gf({}),[o,r]=gf(new Set),[n,s]=gf(!0),[i,l]=gf(null);EU(()=>{let d=new AbortController,f=!1;return s(!0),l(null),(async()=>{try{let c=await fetch(`${t}/_console/contracts`,{signal:d.signal,credentials:"include",headers:js()});if(!c.ok)throw new Error(`HTTP ${c.status}`);let h=await c.json();if(!Array.isArray(h))throw new Error("malformed contracts response");if(f)return;let{reg:p,core:m}=BU(h);a(p),r(m)}catch(c){if(f||c.name==="AbortError")return;l(c instanceof Error?c.message:String(c))}finally{f||s(!1)}})(),()=>{f=!0,d.abort()}},[t]);let u=Object.keys(e).sort();return{registry:e,carts:u,coreCarts:o,loading:n,error:i}}import ze,{useEffect as dg}from"react";import{jsx as NU}from"react/jsx-runtime";var uk=ze.createContext(null),dk="nimbit-devtools:v1",OU={info:!0,warn:!0,error:!0,plain:!0};function FU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(dk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var fg=({children:t,defaultActiveTab:e})=>{let[a,o]=ze.useState(!1),[r,n]=ze.useState("bottom"),[s,i]=ze.useState(e??null),[l,u]=ze.useState({h:320,w:480}),[d,f]=ze.useState(!1),[c,h]=ze.useState(null),[p,m]=ze.useState(null),[g,x]=ze.useState("table"),[C,L]=ze.useState(null),[y,S]=ze.useState(()=>new Set),[w,b]=ze.useState(176),[I,A]=ze.useState(440),[N,D]=ze.useState(OU),[T,H]=ze.useState(!1),[v,M]=ze.useState(null),[P,R]=ze.useState(null),[E,O]=ze.useState(200),[k,q]=ze.useState(!1),F=ze.useCallback(()=>o(_=>!_),[]);dg(()=>{let _=FU();_.open!=null&&o(_.open),_.dock!=null&&n(_.dock),_.activeTab!=null&&i(_.activeTab),_.size!=null&&u(_.size),_.maximized!=null&&f(_.maximized),_.dataCart!=null&&h(_.dataCart),_.dataEntity!=null&&m(_.dataEntity),_.view!=null&&x(_.view),_.graphCarts!=null&&L(new Set(_.graphCarts)),_.hiddenEntities!=null&&S(new Set(_.hiddenEntities)),_.graphLeftW!=null&&b(_.graphLeftW),_.graphRightW!=null&&A(_.graphRightW),_.consoleFilter!=null&&D(_.consoleFilter),_.consolePaused!=null&&H(_.consolePaused),_.sourcesCart!=null&&M(_.sourcesCart),_.sourcesFile!=null&&R(_.sourcesFile),_.sourcesTreeW!=null&&O(_.sourcesTreeW),q(!0)},[]),dg(()=>{if(typeof window>"u"||!k)return;let _={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:c,dataEntity:p,view:g,graphCarts:C?[...C]:null,hiddenEntities:[...y],graphLeftW:w,graphRightW:I,consoleFilter:N,consolePaused:T,sourcesCart:v,sourcesFile:P,sourcesTreeW:E};try{window.localStorage.setItem(dk,JSON.stringify(_))}catch{}},[k,a,r,s,l,d,c,p,g,C,y,w,I,N,T,v,P,E]);let G=ze.useMemo(()=>({open:a,setOpen:o,toggle:F,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:f,dataCart:c,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:C,setGraphCarts:L,hiddenEntities:y,setHiddenEntities:S,graphLeftW:w,setGraphLeftW:b,graphRightW:I,setGraphRightW:A,consoleFilter:N,setConsoleFilter:D,consolePaused:T,setConsolePaused:H,sourcesCart:v,setSourcesCart:M,sourcesFile:P,setSourcesFile:R,sourcesTreeW:E,setSourcesTreeW:O}),[a,F,r,s,l,d,c,p,g,C,y,w,I,N,T,v,P,E]);return dg(()=>{let _=U=>{U.ctrlKey&&(U.key==="F12"||U.code==="F12")&&(U.preventDefault(),F())},B=()=>F();return window.addEventListener("keydown",_),window.addEventListener("devtools-toggle",B),()=>{window.removeEventListener("keydown",_),window.removeEventListener("devtools-toggle",B)}},[F]),NU(uk.Provider,{value:G,children:t})};function ho(){let t=ze.useContext(uk);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import Jo from"react";import{createPortal as tG}from"react-dom";import{forwardRef as UU,createElement as VU}from"react";var xf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var fk=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var ck=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var cg=t=>{let e=ck(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as zU,createElement as mk}from"react";var Lf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var hk=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as HU,useContext as _U,useMemo as Sj,createElement as vj}from"react";var qU=HU({});var pk=()=>_U(qU);var gk=zU(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=pk()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return mk("svg",{ref:l,...Lf,width:e??u??Lf.width,height:e??u??Lf.height,stroke:t??c,strokeWidth:p,className:xf("lucide",h,r),...!n&&!hk(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>mk(m,g)),...Array.isArray(n)?n:[n]])});var ge=(t,e)=>{let a=UU(({className:o,...r},n)=>VU(gk,{ref:n,iconNode:e,className:xf(`lucide-${fk(cg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=cg(t),a};var WU=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Oi=ge("chevron-right",WU);var GU=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Wo=ge("ellipsis",GU);var $U=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],Go=ge("file-plus-corner",$U);var XU=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],po=ge("loader-circle",XU);var KU=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Fi=ge("lock",KU);var jU=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Ni=ge("maximize-2",jU);var ZU=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Hi=ge("minimize-2",ZU);var YU=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],_i=ge("network",YU);var JU=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],qi=ge("panel-bottom",JU);var QU=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],zi=ge("panel-right",QU);var eV=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ui=ge("pause",eV);var tV=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Xr=ge("play",tV);var aV=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Vi=ge("plus",aV);var oV=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Wi=ge("save",oV);var rV=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Gi=ge("shield-alert",rV);var nV=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],$i=ge("table-2",nV);var sV=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Xi=ge("trash-2",sV);var iV=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],mo=ge("x",iV);function xk(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=xk(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Cf(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=xk(t))&&(o&&(o+=" "),o+=e);return o}var lV=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},uV=(t,e)=>({classGroupId:t,validator:e}),Ik=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Lk=[],dV="arbitrary..",fV=t=>{let e=hV(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return cV(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Sk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?lV(u,l):l:u||Lk}return a[s]||Lk}}},Sk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Sk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},cV=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?dV+o:void 0})(),hV=t=>{let{theme:e,classGroups:a}=t;return pV(a,e)},pV=(t,e)=>{let a=Ik();for(let o in t){let r=t[o];pg(r,a,o,e)}return a},pg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];mV(s,e,a,o)}},mV=(t,e,a,o)=>{if(typeof t=="string"){gV(t,e,a);return}if(typeof t=="function"){xV(t,e,a,o);return}LV(t,e,a,o)},gV=(t,e,a)=>{let o=t===""?e:vk(e,t);o.classGroupId=a},xV=(t,e,a,o)=>{if(CV(t)){pg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(uV(a,t))},LV=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];pg(l,vk(e,i),a,o)}},vk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Ik(),a.nextPart.set(s,i)),a=i}return a},CV=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,yV=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var wV=[],Ck=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),bV=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Ck(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Ck(wV,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},IV=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},SV=t=>({cache:yV(t.cacheSize),parseClassName:bV(t),sortModifiers:IV(t),postfixLookupClassGroupIds:vV(t),...fV(t)}),vV=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},kV=/\s+/,AV=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(kV),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},MV=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=kk(a))&&(r&&(r+=" "),r+=o);return r},kk=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=kk(t[o]))&&(a&&(a+=" "),a+=e);return a},PV=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=SV(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=AV(l,a);return r(l,d),d};return n=s,(...l)=>n(MV(...l))},DV=[],Qe=t=>{let e=a=>a[t]||DV;return e.isThemeGetter=!0,e},Ak=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Mk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,RV=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,TV=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,EV=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,BV=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,OV=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,FV=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$o=t=>RV.test(t),he=t=>!!t&&!Number.isNaN(Number(t)),za=t=>!!t&&Number.isInteger(Number(t)),hg=t=>t.endsWith("%")&&he(t.slice(0,-1)),go=t=>TV.test(t),Pk=()=>!0,NV=t=>EV.test(t)&&!BV.test(t),mg=()=>!1,HV=t=>OV.test(t),_V=t=>FV.test(t),qV=t=>!ee(t)&&!ae(t),zV=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),UV=t=>Xo(t,Tk,mg),ee=t=>Ak.test(t),Kr=t=>Xo(t,Ek,NV),yk=t=>Xo(t,ZV,he),VV=t=>Xo(t,Ok,Pk),WV=t=>Xo(t,Bk,mg),wk=t=>Xo(t,Dk,mg),GV=t=>Xo(t,Rk,_V),yf=t=>Xo(t,Fk,HV),ae=t=>Mk.test(t),Ki=t=>jr(t,Ek),$V=t=>jr(t,Bk),bk=t=>jr(t,Dk),XV=t=>jr(t,Tk),KV=t=>jr(t,Rk),wf=t=>jr(t,Fk,!0),jV=t=>jr(t,Ok,!0),Xo=(t,e,a)=>{let o=Ak.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},jr=(t,e,a=!1)=>{let o=Mk.exec(t);return o?o[1]?e(o[1]):a:!1},Dk=t=>t==="position"||t==="percentage",Rk=t=>t==="image"||t==="url",Tk=t=>t==="length"||t==="size"||t==="bg-size",Ek=t=>t==="length",ZV=t=>t==="number",Bk=t=>t==="family-name",Ok=t=>t==="number"||t==="weight",Fk=t=>t==="shadow";var YV=()=>{let t=Qe("color"),e=Qe("font"),a=Qe("text"),o=Qe("font-weight"),r=Qe("tracking"),n=Qe("leading"),s=Qe("breakpoint"),i=Qe("container"),l=Qe("spacing"),u=Qe("radius"),d=Qe("shadow"),f=Qe("inset-shadow"),c=Qe("text-shadow"),h=Qe("drop-shadow"),p=Qe("blur"),m=Qe("perspective"),g=Qe("aspect"),x=Qe("ease"),C=Qe("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),ae,ee],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[ae,ee,l],A=()=>[$o,"full","auto",...I()],N=()=>[za,"none","subgrid",ae,ee],D=()=>["auto",{span:["full",za,ae,ee]},za,ae,ee],T=()=>[za,"auto",ae,ee],H=()=>["auto","min","max","fr",ae,ee],v=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...I()],R=()=>[$o,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[$o,"screen","full","dvw","lvw","svw","min","max","fit",...I()],O=()=>[$o,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],k=()=>[t,ae,ee],q=()=>[...y(),bk,wk,{position:[ae,ee]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",XV,UV,{size:[ae,ee]}],_=()=>[hg,Ki,Kr],B=()=>["","none","full",u,ae,ee],U=()=>["",he,Ki,Kr],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[he,hg,bk,wk],ie=()=>["","none",p,ae,ee],se=()=>["none",he,ae,ee],oe=()=>["none",he,ae,ee],ne=()=>[he,ae,ee],ue=()=>[$o,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[go],breakpoint:[go],color:[Pk],container:[go],"drop-shadow":[go],ease:["in","out","in-out"],font:[qV],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[go],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[go],shadow:[go],spacing:["px",he],text:[go],"text-shadow":[go],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$o,ee,ae,g]}],container:["container"],"container-type":[{"@container":["","normal","size",ae,ee]}],"container-named":[zV],columns:[{columns:[he,ee,ae,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[za,"auto",ae,ee]}],basis:[{basis:[$o,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[he,$o,"auto","initial","none",ee]}],grow:[{grow:["",he,ae,ee]}],shrink:[{shrink:["",he,ae,ee]}],order:[{order:[za,"first","last","none",ae,ee]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...v(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...v()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":v()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:R()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...O()]}],"min-block-size":[{"min-block":["auto",...O()]}],"max-block-size":[{"max-block":["none",...O()]}],w:[{w:[i,"screen",...R()]}],"min-w":[{"min-w":[i,"screen","none",...R()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...R()]}],h:[{h:["screen","lh",...R()]}],"min-h":[{"min-h":["screen","lh","none",...R()]}],"max-h":[{"max-h":["screen","lh",...R()]}],"font-size":[{text:["base",a,Ki,Kr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,jV,VV]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hg,ee]}],"font-family":[{font:[$V,WV,e]}],"font-features":[{"font-features":[ee]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,ae,ee]}],"line-clamp":[{"line-clamp":[he,"none",ae,yk]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",ae,ee]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ae,ee]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[he,"from-font","auto",ae,Kr]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[he,"auto",ae,ee]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[za,ae,ee]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ae,ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ae,ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},za,ae,ee],radial:["",ae,ee],conic:[za,ae,ee]},KV,GV]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[he,ae,ee]}],"outline-w":[{outline:["",he,Ki,Kr]}],"outline-color":[{outline:k()}],shadow:[{shadow:["","none",d,wf,yf]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":["none",f,wf,yf]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[he,Kr]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":["none",c,wf,yf]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[he,ae,ee]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[he]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[ae,ee]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[he]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ae,ee]}],filter:[{filter:["","none",ae,ee]}],blur:[{blur:ie()}],brightness:[{brightness:[he,ae,ee]}],contrast:[{contrast:[he,ae,ee]}],"drop-shadow":[{"drop-shadow":["","none",h,wf,yf]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:["",he,ae,ee]}],"hue-rotate":[{"hue-rotate":[he,ae,ee]}],invert:[{invert:["",he,ae,ee]}],saturate:[{saturate:[he,ae,ee]}],sepia:[{sepia:["",he,ae,ee]}],"backdrop-filter":[{"backdrop-filter":["","none",ae,ee]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[he,ae,ee]}],"backdrop-contrast":[{"backdrop-contrast":[he,ae,ee]}],"backdrop-grayscale":[{"backdrop-grayscale":["",he,ae,ee]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[he,ae,ee]}],"backdrop-invert":[{"backdrop-invert":["",he,ae,ee]}],"backdrop-opacity":[{"backdrop-opacity":[he,ae,ee]}],"backdrop-saturate":[{"backdrop-saturate":[he,ae,ee]}],"backdrop-sepia":[{"backdrop-sepia":["",he,ae,ee]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ae,ee]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[he,"initial",ae,ee]}],ease:[{ease:["linear","initial",x,ae,ee]}],delay:[{delay:[he,ae,ee]}],animate:[{animate:["none",C,ae,ee]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,ae,ee]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[ae,ee,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[za,ae,ee]}],accent:[{accent:k()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ae,ee]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ae,ee]}],fill:[{fill:["none",...k()]}],"stroke-w":[{stroke:[he,Ki,Kr,yk]}],stroke:[{stroke:["none",...k()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Nk=PV(YV);function Ce(...t){return Nk(Cf(t))}import Ko from"react";import{Fragment as tW,jsx as Tt,jsxs as ji}from"react/jsx-runtime";var JV=({children:t})=>{let{apiBaseUrl:e}=st(),[a,o]=Ko.useState(null),[r,n]=Ko.useState(!0),s=Ko.useCallback(async i=>{n(!0);try{let l=await Fp(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return Ko.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?ji(QV,{children:[Tt(po,{className:"size-4 animate-spin"}),Tt("span",{children:"Checking access\u2026"})]}):a?.isAdmin?Tt(tW,{children:t}):Tt(eW,{onSignedIn:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},QV=({children:t})=>Tt("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),eW=({onSignedIn:t,loggedInButNotAdmin:e})=>{let{apiBaseUrl:a}=st(),[o,r]=Ko.useState(""),[n,s]=Ko.useState(""),[i,l]=Ko.useState(!1),[u,d]=Ko.useState(null);return Tt("div",{className:"flex h-full items-center justify-center p-4",children:ji("form",{onSubmit:async c=>{c.preventDefault(),l(!0),d(null);try{await Np(a,o,n),t()}catch(h){d(h instanceof Error?h.message:String(h))}finally{l(!1)}},className:"w-full max-w-64 space-y-2.5",children:[ji("div",{className:"space-y-0.5",children:[Tt("div",{className:"text-[13px] font-medium text-foreground",children:"Sign in to devtools"}),Tt("div",{className:"text-[11px] text-muted-foreground",children:"Console-operator access required."})]}),e?ji("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[Tt(Gi,{className:"mt-px size-3.5 shrink-0"}),Tt("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,Tt("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:o,onChange:c=>r(c.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),Tt("input",{type:"password",required:!0,autoComplete:"current-password",placeholder:"Password",value:n,onChange:c=>s(c.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),u?Tt("div",{className:"text-[11px] text-red-400",children:u}):null,ji("button",{type:"submit",disabled:i,className:Ce("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",i?"opacity-60":"hover:opacity-90"),children:[i?Tt(po,{className:"size-3.5 animate-spin"}):null,"Sign in"]})]})})},Hk=JV;import Et from"react";import{jsx as Me,jsxs as Qn}from"react/jsx-runtime";var _k=5e3,qk=500,aW=5e3;function oW(t,e){return`${kr(t)}${e}`}function rW(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:Uk(),raw:t.raw,level:a,parsed:e}}catch{}return{id:Uk(),raw:t.raw,level:"plain",parsed:null}}var zk=0;function Uk(){return zk+=1,zk}var Wk={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},nW=()=>{let{apiBaseUrl:t}=st(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=ho(),[n,s]=Et.useState([]),[i,l]=Et.useState({}),u=Et.useRef(null),d=Et.useRef(!0),f=Et.useRef(o);f.current=o,Et.useEffect(()=>{let x=!0,C=null,L=qk,y=null,S=()=>{if(x){try{C=new WebSocket(oW(t,"/_console/logs/ws"),Hp("nimbit-logs"))}catch{w();return}C.onopen=()=>{L=qk},C.onmessage=b=>{if(f.current||typeof b.data!="string")return;let I;try{I=JSON.parse(b.data)}catch{return}if(!I.lines||I.lines.length===0)return;let A=I.lines.map(rW);s(N=>{let D=N.concat(A);return D.length>_k?D.slice(D.length-_k):D})},C.onerror=()=>{},C.onclose=()=>{C=null,w()}}},w=()=>{x&&(y=setTimeout(()=>{L=Math.min(L*2,aW),S()},L))};return S(),()=>{x=!1,y&&clearTimeout(y),C&&C.close()}},[t]);let c=Et.useCallback(()=>{let x=u.current;if(!x)return;let C=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=C},[]),h=Et.useRef(0);Et.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),Et.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=Et.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=Et.useCallback(x=>a(C=>({...C,[x]:!C[x]})),[]),g=Et.useCallback(x=>{let C=x.target;for(;C&&C!==x.currentTarget;){let L=C.dataset.rowId;if(L){let y=Number(L);Number.isFinite(y)&&l(S=>({...S,[y]:!S[y]}));return}C=C.parentElement}},[]);return Qn("div",{className:"flex h-full flex-col",children:[Qn("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Me(Vk,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Me(Xr,{className:"size-3.5"}):Me(Ui,{className:"size-3.5"})}),Me(Vk,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Me(Xi,{className:"size-3.5"})}),Me("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Me(sW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Me("div",{className:"flex-1"}),Qn("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Me("div",{ref:u,onScroll:c,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Me("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Me("ul",{onClick:g,children:p.map(x=>Me(lW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},Vk=({className:t,children:e,...a})=>Me("button",{type:"button",className:Ce("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),sW=({label:t,level:e,active:a,onClick:o})=>Me("button",{type:"button",onClick:o,"data-active":a,className:Ce("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",Wk[e]),children:t}),iW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Me("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return Qn("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[Qn("div",{className:Ce("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Me(Oi,{className:Ce("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Me("span",{className:"inline-block size-3 shrink-0"}),Me("span",{className:Ce("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",Wk[t.level]),children:t.level}),a.ts&&Me("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Me("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Me("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>Qn("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Me("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Me("span",{className:"text-zinc-500",children:" @ "}),Me("span",{children:r.file}),Me("span",{className:"text-zinc-500",children:":"}),Me("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},lW=Et.memo(iW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),Gk=nW;import{jsx as dW}from"react/jsx-runtime";var uW=()=>dW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),$k=uW;import aa from"react";import*as Jk from"react";import*as Qk from"react-dom";var If={};lx(If,{Root:()=>cW,Slot:()=>cW,Slottable:()=>hW,createSlot:()=>es,createSlottable:()=>Yk});import*as ut from"react";import*as Kk from"react";function Xk(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function fW(...t){return e=>{let a=!1,o=t.map(r=>{let n=Xk(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():Xk(t[r],null)}}}}function ya(...t){return Kk.useCallback(fW(...t),t)}function es(t){let e=ut.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];jk(r)&&typeof bf=="function"&&(r=bf(r._payload)),ut.Children.forEach(r,c=>{if(xW(c)){i=!0;let h=c,p="child"in h.props?h.props.child:h.props.children;jk(p)&&typeof bf=="function"&&(p=bf(p._payload)),s=pW(h,p),l.push(s?.props?.children)}else l.push(c)}),s?s=ut.cloneElement(s,void 0,l):!i&&ut.Children.count(r)===1&&ut.isValidElement(r)&&(s=r);let u=s?gW(s):void 0,d=ya(o,u);if(!s){if(r||r===0)throw new Error(i?wW(t):yW(t));return r}let f=mW(n,s.props??{});return s.type!==ut.Fragment&&(f.ref=o?d:u),ut.cloneElement(s,f)});return e.displayName=`${t}.Slot`,e}var cW=es("Slot"),Zk=Symbol.for("radix.slottable");function Yk(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=Zk,e}var hW=Yk("Slottable"),pW=(t,e)=>{if("child"in t.props){let a=t.props.child;return ut.isValidElement(a)?ut.cloneElement(a,void 0,t.props.children(a.props.children)):null}return ut.isValidElement(e)?e:null};function mW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function gW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function xW(t){return ut.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Zk}var LW=Symbol.for("react.lazy");function jk(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===LW&&"_payload"in t&&CW(t._payload)}function CW(t){return typeof t=="object"&&t!==null&&"then"in t}var yW=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,wW=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,bf=ut[" use ".trim().toString()];import{jsx as bW}from"react/jsx-runtime";var IW=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],qt=IW.reduce((t,e)=>{let a=es(`Primitive.${e}`),o=Jk.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),bW(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function e1(t,e){t&&Qk.flushSync(()=>t.dispatchEvent(e))}import*as Qt from"react";import{jsx as t1}from"react/jsx-runtime";function a1(t,e){let a=Qt.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=Qt.useMemo(()=>i,Object.values(i));return t1(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=Qt.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function o1(t,e=[]){let a=[];function o(n,s){let i=Qt.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=f=>{let{scope:c,children:h,...p}=f,m=c?.[t]?.[l]||i,g=Qt.useMemo(()=>p,Object.values(p));return t1(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(f,c){let h=c?.[t]?.[l]||i,p=Qt.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${f}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>Qt.createContext(s));return function(i){let l=i?.[t]||n;return Qt.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,SW(r,...e)]}function SW(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let f=l(n)[`__scope${u}`];return{...i,...f}},{});return Qt.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var gZ=!!(typeof window<"u"&&window.document&&window.document.createElement);function Ua(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as ea from"react";import*as r1 from"react";var xo=globalThis?.document?r1.useLayoutEffect:()=>{};import*as Sf from"react";var vW=ea[" useInsertionEffect ".trim().toString()]||xo;function n1({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=kW({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=ea.useRef(t!==void 0);ea.useEffect(()=>{let f=d.current;f!==i&&console.warn(`${o} is changing from ${f?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=ea.useCallback(d=>{if(i){let f=AW(d)?d(t):d;f!==t&&s.current?.(f)}else n(d)},[i,t,n,s]);return[l,u]}function kW({defaultProp:t,onChange:e}){let[a,o]=ea.useState(t),r=ea.useRef(a),n=ea.useRef(e);return vW(()=>{n.current=e},[e]),ea.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function AW(t){return typeof t=="function"}import*as ht from"react";import*as i1 from"react";function MW(t,e){return i1.useReducer((a,o)=>e[a][o]??a,t)}var Zi=t=>{let{present:e,children:a}=t,o=PW(e),r=typeof a=="function"?a({present:o.isPresent}):ht.Children.only(a),n=DW(o.ref,RW(r));return typeof a=="function"||o.isPresent?ht.cloneElement(r,{ref:n}):null};Zi.displayName="Presence";function PW(t){let[e,a]=ht.useState(),o=ht.useRef(null),r=ht.useRef(t),n=ht.useRef("none"),s=t?"mounted":"unmounted",[i,l]=MW(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return ht.useEffect(()=>{let u=vf(o.current);n.current=i==="mounted"?u:"none"},[i]),xo(()=>{let u=o.current,d=r.current;if(d!==t){let c=n.current,h=vf(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&c!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),xo(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,f=h=>{let m=vf(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},c=h=>{h.target===e&&(n.current=vf(o.current))};return e.addEventListener("animationstart",c),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",c),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:ht.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function s1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function DW(...t){let e=ht.useRef(t);return e.current=t,ht.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=s1(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():s1(o[s],null)}}},[])}function vf(t){return t?.animationName||"none"}function RW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as gg from"react";var TW=gg[" useId ".trim().toString()]||(()=>{}),EW=0;function kf(t){let[e,a]=gg.useState(TW());return xo(()=>{t||a(o=>o??String(EW++))},[t]),t||(e?`radix-${e}`:"")}var Va={};lx(Va,{Close:()=>q3,Content:()=>N3,Description:()=>_3,Dialog:()=>Hg,DialogClose:()=>Xg,DialogContent:()=>Vg,DialogDescription:()=>$g,DialogOverlay:()=>Ug,DialogPortal:()=>zg,DialogTitle:()=>Gg,DialogTrigger:()=>_g,Overlay:()=>F3,Portal:()=>O3,Root:()=>E3,Title:()=>H3,Trigger:()=>B3,WarningProvider:()=>P3,createDialogScope:()=>b3});import*as Pe from"react";import*as Fe from"react";import*as ts from"react";function jo(t){let e=ts.useRef(t);return ts.useEffect(()=>{e.current=t}),ts.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as l1 from"react";function u1(t,e=globalThis?.document){let a=jo(t);l1.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as c1}from"react/jsx-runtime";var BW="DismissableLayer",xg="dismissableLayer.update",OW="dismissableLayer.pointerDownOutside",FW="dismissableLayer.focusOutside",d1,h1=Fe.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Lg=Fe.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=Fe.useContext(h1),[d,f]=Fe.useState(null),c=d?.ownerDocument??globalThis?.document,[,h]=Fe.useState({}),p=ya(e,b=>f(b)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),C=d?m.indexOf(d):-1,L=u.layersWithOutsidePointerEventsDisabled.size>0,y=C>=x,S=_W(b=>{let I=b.target,A=[...u.branches].some(N=>N.contains(I));!y||A||(r?.(b),s?.(b),b.defaultPrevented||i?.())},c),w=qW(b=>{let I=b.target;[...u.branches].some(N=>N.contains(I))||(n?.(b),s?.(b),b.defaultPrevented||i?.())},c);return u1(b=>{C===u.layers.size-1&&(o?.(b),!b.defaultPrevented&&i&&(b.preventDefault(),i()))},c),Fe.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(d1=c.body.style.pointerEvents,c.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),f1(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(c.body.style.pointerEvents=d1))}},[d,c,a,u]),Fe.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),f1())},[d,u]),Fe.useEffect(()=>{let b=()=>h({});return document.addEventListener(xg,b),()=>document.removeEventListener(xg,b)},[]),c1(qt.div,{...l,ref:p,style:{pointerEvents:L?y?"auto":"none":void 0,...t.style},onFocusCapture:Ua(t.onFocusCapture,w.onFocusCapture),onBlurCapture:Ua(t.onBlurCapture,w.onBlurCapture),onPointerDownCapture:Ua(t.onPointerDownCapture,S.onPointerDownCapture)})});Lg.displayName=BW;var NW="DismissableLayerBranch",HW=Fe.forwardRef((t,e)=>{let a=Fe.useContext(h1),o=Fe.useRef(null),r=ya(e,o);return Fe.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),c1(qt.div,{...t,ref:r})});HW.displayName=NW;function _W(t,e=globalThis?.document){let a=jo(t),o=Fe.useRef(!1),r=Fe.useRef(()=>{});return Fe.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){p1(OW,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function qW(t,e=globalThis?.document){let a=jo(t),o=Fe.useRef(!1);return Fe.useEffect(()=>{let r=n=>{n.target&&!o.current&&p1(FW,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function f1(){let t=new CustomEvent(xg);document.dispatchEvent(t)}function p1(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?e1(r,n):r.dispatchEvent(n)}import*as ta from"react";import{jsx as zW}from"react/jsx-runtime";var Cg="focusScope.autoFocusOnMount",yg="focusScope.autoFocusOnUnmount",m1={bubbles:!1,cancelable:!0},UW="FocusScope",wg=ta.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=ta.useState(null),u=jo(r),d=jo(n),f=ta.useRef(null),c=ya(e,m=>l(m)),h=ta.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ta.useEffect(()=>{if(o){let C=function(w){if(h.paused||!i)return;let b=w.target;i.contains(b)?f.current=b:Zo(f.current,{select:!0})},L=function(w){if(h.paused||!i)return;let b=w.relatedTarget;b!==null&&(i.contains(b)||Zo(f.current,{select:!0}))},y=function(w){if(document.activeElement===document.body)for(let I of w)I.removedNodes.length>0&&Zo(i)};var m=C,g=L,x=y;document.addEventListener("focusin",C),document.addEventListener("focusout",L);let S=new MutationObserver(y);return i&&S.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",L),S.disconnect()}}},[o,i,h.paused]),ta.useEffect(()=>{if(i){x1.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(Cg,m1);i.addEventListener(Cg,u),i.dispatchEvent(x),x.defaultPrevented||(VW(KW(C1(i)),{select:!0}),document.activeElement===m&&Zo(i))}return()=>{i.removeEventListener(Cg,u),setTimeout(()=>{let x=new CustomEvent(yg,m1);i.addEventListener(yg,d),i.dispatchEvent(x),x.defaultPrevented||Zo(m??document.body,{select:!0}),i.removeEventListener(yg,d),x1.remove(h)},0)}}},[i,u,d,h]);let p=ta.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let C=m.currentTarget,[L,y]=WW(C);L&&y?!m.shiftKey&&x===y?(m.preventDefault(),a&&Zo(L,{select:!0})):m.shiftKey&&x===L&&(m.preventDefault(),a&&Zo(y,{select:!0})):x===C&&m.preventDefault()}},[a,o,h.paused]);return zW(qt.div,{tabIndex:-1,...s,ref:c,onKeyDown:p})});wg.displayName=UW;function VW(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(Zo(o,{select:e}),document.activeElement!==a)return}function WW(t){let e=C1(t),a=g1(e,t),o=g1(e.reverse(),t);return[a,o]}function C1(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function g1(t,e){for(let a of t)if(!GW(a,{upTo:e}))return a}function GW(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function $W(t){return t instanceof HTMLInputElement&&"select"in t}function Zo(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&$W(t)&&e&&t.select()}}var x1=XW();function XW(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=L1(t,e),t.unshift(e)},remove(e){t=L1(t,e),t[0]?.resume()}}}function L1(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function KW(t){return t.filter(e=>e.tagName!=="A")}import*as Af from"react";import*as y1 from"react-dom";import{jsx as jW}from"react/jsx-runtime";var ZW="Portal",bg=Af.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=Af.useState(!1);xo(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?y1.createPortal(jW(qt.div,{...o,ref:e}),s):null});bg.displayName=ZW;import*as b1 from"react";var Mf=0,as=null;function I1(){b1.useEffect(()=>{as||(as={start:w1(),end:w1()});let{start:t,end:e}=as;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),Mf++,()=>{Mf===1&&(as?.start.remove(),as?.end.remove(),as=null),Mf=Math.max(0,Mf-1)}},[])}function w1(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Bt=function(){return Bt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Bt.apply(this,arguments)};function Pf(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function S1(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as Bf from"react";import*as pt from"react";var Zr="right-scroll-bar-position",Yr="width-before-scroll-bar",Ig="with-scroll-bars-hidden",Sg="--removed-body-scroll-bar-size";function Df(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as YW}from"react";function v1(t,e){var a=YW(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as Rf from"react";var JW=typeof window<"u"?Rf.useLayoutEffect:Rf.useEffect,k1=new WeakMap;function vg(t,e){var a=v1(e||null,function(o){return t.forEach(function(r){return Df(r,o)})});return JW(function(){var o=k1.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||Df(i,null)}),n.forEach(function(i){r.has(i)||Df(i,s)})}k1.set(a,t)},[t]),a}function QW(t){return t}function e3(t,e){e===void 0&&(e=QW);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function kg(t){t===void 0&&(t={});var e=e3(null);return e.options=Bt({async:!0,ssr:!1},t),e}import*as A1 from"react";var M1=function(t){var e=t.sideCar,a=Pf(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return A1.createElement(o,Bt({},a))};M1.isSideCarExport=!0;function Ag(t,e){return t.useMedium(e),M1}var Tf=kg();var Mg=function(){},Yi=pt.forwardRef(function(t,e){var a=pt.useRef(null),o=pt.useState({onScrollCapture:Mg,onWheelCapture:Mg,onTouchMoveCapture:Mg}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,f=t.shards,c=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,C=x===void 0?"div":x,L=t.gapMode,y=Pf(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=c,w=vg([a,e]),b=Bt(Bt({},y),r);return pt.createElement(pt.Fragment,null,d&&pt.createElement(S,{sideCar:Tf,removeScrollBar:u,shards:f,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:L}),s?pt.cloneElement(pt.Children.only(i),Bt(Bt({},b),{ref:w})):pt.createElement(C,Bt({},b,{className:l,ref:w}),i))});Yi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Yi.classNames={fullWidth:Yr,zeroRight:Zr};import*as Re from"react";import*as rs from"react";import*as R1 from"react";var P1;var D1=function(){if(P1)return P1;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function t3(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=D1();return e&&t.setAttribute("nonce",e),t}function a3(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function o3(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var Pg=function(){var t=0,e=null;return{add:function(a){t==0&&(e=t3())&&(a3(e,a),o3(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var Dg=function(){var t=Pg();return function(e,a){R1.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var Ji=function(){var t=Dg(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var r3={left:0,top:0,right:0,gap:0},Rg=function(t){return parseInt(t||"",10)||0},n3=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[Rg(a),Rg(o),Rg(r)]},Tg=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return r3;var e=n3(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var s3=Ji(),os="data-scroll-locked",i3=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
|
|
28
|
-
.`.concat(
|
|
26
|
+
`)),d=u.reduce((f,c)=>f.concat(...c),[]);return[u,d]}return[[],[]]},[t]);return ke(()=>{let l=e?.target??EI,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&km(h))return!1;let m=OI(h.code,i);if(n.current.add(h[m]),BI(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},f=h=>{let p=OI(h.code,i);BI(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},c=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",f),window.addEventListener("blur",c),window.addEventListener("contextmenu",c),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",f),window.removeEventListener("blur",c),window.removeEventListener("contextmenu",c)}}},[t,o]),a}function BI(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function OI(t,e){return e.includes(t)?"code":"key"}var GF=()=>{let t=Oe();return La(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=wi(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,f=a.snapToGrid??n;return Ur(u,o,f,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=_r(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function oS(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)$F(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function $F(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function XF(t,e){return oS(t,e)}function KF(t,e){return oS(t,e)}function Vr(t,e){return{id:t,type:"select",selected:e}}function Xn(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(Vr(n.id,s)))}return o}function FI({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function NI(t){return{id:t.id,type:"remove"}}var jF=bm("React Flow","https://reactflow.dev/");function ZF(t,e,a={}){return Zb(t,e,{...a,onError:a.onError??jF})}var HI=t=>zb(t),YF=t=>gm(t);function rS(t){return JI(t)}var JF=typeof window<"u"?kF:ke;function _I(t){let[e,a]=Fa(BigInt(0)),[o]=Fa(()=>QF(()=>a(r=>r+BigInt(1))));return JF(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function QF(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var nS=_m(null);function eN({children:t}){let e=Oe(),a=Na(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:c,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=FI({items:m,lookup:c});for(let x of p.values())g=x(g);d&&u(m),g.length>0?f?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:C,setNodes:L}=e.getState();x&&L(C)})},[]),o=_I(a),r=Na(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:c}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):f&&f(FI({items:h,lookup:c}))},[]),n=_I(r),s=La(()=>({nodeQueue:o,edgeQueue:n}),[]);return W(nS.Provider,{value:s,children:t})}function tN(){let t=Si(nS);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var aN=t=>!!t.panZoom;function vi(){let t=GF(),e=Oe(),a=tN(),o=xe(aN),r=La(()=>{let n=f=>e.getState().nodeLookup.get(f),s=f=>{a.nodeQueue.push(f)},i=f=>{a.edgeQueue.push(f)},l=f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState(),p=HI(f)?f:c.get(f.id),m=p.parentId?Im(p.position,p.measured,p.parentId,c,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return zr(g)},u=(f,c,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&HI(g)?g:{...m,...g}}return m}))},d=(f,c,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===f){let g=typeof c=="function"?c(m):c;return h.replace&&YF(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(f=>({...f})),getNode:f=>n(f)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:f=[]}=e.getState();return f.map(c=>({...c}))},getEdge:f=>e.getState().edgeLookup.get(f),setNodes:s,setEdges:i,addNodes:f=>{let c=Array.isArray(f)?f:[f];a.nodeQueue.push(h=>[...h,...c])},addEdges:f=>{let c=Array.isArray(f)?f:[f];a.edgeQueue.push(h=>[...h,...c])},toObject:()=>{let{nodes:f=[],edges:c=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:f.map(x=>({...x})),edges:c.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:f=[],edges:c=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:C,onDelete:L,onBeforeDelete:y}=e.getState(),{nodes:S,edges:w}=await Wb({nodesToRemove:f,edgesToRemove:c,nodes:h,edges:p,onBeforeDelete:y}),b=w.length>0,I=S.length>0;if(b){let A=w.map(NI);g?.(w),C(A)}if(I){let A=S.map(NI);m?.(S),x(A)}return(I||b)&&L?.({nodes:S,edges:w}),{deletedNodes:S,deletedEdges:w}},getIntersectingNodes:(f,c=!0,h)=>{let p=wm(f),m=p?f:l(f),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let C=e.getState().nodeLookup.get(x.id);if(C&&!p&&(x.id===f.id||!C.internals.positionAbsolute))return!1;let L=zr(g?x:C),y=Vn(L,m);return c&&y>0||y>=L.width*L.height||y>=m.width*m.height}):[]},isNodeIntersecting:(f,c,h=!0)=>{let m=wm(f)?f:l(f);if(!m)return!1;let g=Vn(m,c);return h&&g>0||g>=c.width*c.height||g>=m.width*m.height},updateNode:u,updateNodeData:(f,c,h={replace:!1})=>{u(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(f,c,h={replace:!1})=>{d(f,p=>{let m=typeof c=="function"?c(p):c;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:f=>{let{nodeLookup:c,nodeOrigin:h}=e.getState();return Lm(f,{nodeLookup:c,nodeOrigin:h})},getHandleConnections:({type:f,id:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${f}${c?`-${c}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:c,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${f?c?`-${f}-${c}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{let c=e.getState().fitViewResolver??$b();return e.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:c}),a.nodeQueue.push(h=>[...h]),c.promise}}},[]);return La(()=>({...r,...t,viewportInitialized:o}),[o])}var qI=t=>t.selected,oN=typeof window<"u"?window:void 0;function rN({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=Oe(),{deleteElements:o}=vi(),r=Ii(t,{actInsideInputWithModifier:!1}),n=Ii(e,{target:oN});ke(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(qI),edges:s.filter(qI)}),a.setState({nodesSelectionActive:!1})}},[r]),ke(()=>{a.setState({multiSelectionActive:n})},[n])}function nN(t){let e=Oe();ke(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=Vd(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",_t.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var rf={position:"absolute",width:"100%",height:"100%",top:0,left:0},sN=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function iN({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=so.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:c,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:C,paneClickDistance:L,selectionOnDrag:y}){let S=Oe(),w=we(null),{userSelectionActive:b,lib:I,connectionInProgress:A}=xe(sN,De),N=Ii(c),D=we();nN(w);let T=Na(H=>{x?.({x:H[0],y:H[1],zoom:H[2]}),C||S.setState({transform:H})},[x,C]);return ke(()=>{if(w.current){D.current=hI({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:P=>S.setState(R=>R.paneDragging===P?R:{paneDragging:P}),onPanZoomStart:(P,R)=>{let{onViewportChangeStart:E,onMoveStart:O}=S.getState();O?.(P,R),E?.(R)},onPanZoom:(P,R)=>{let{onViewportChange:E,onMove:O}=S.getState();O?.(P,R),E?.(R)},onPanZoomEnd:(P,R)=>{let{onViewportChangeEnd:E,onMoveEnd:O}=S.getState();O?.(P,R),E?.(R)}});let{x:H,y:v,zoom:M}=D.current.getViewport();return S.setState({panZoom:D.current,transform:[H,v,M],domNode:w.current.closest(".react-flow")}),()=>{D.current?.destroy()}}},[]),ke(()=>{D.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:N,preventScrolling:h,noPanClassName:g,userSelectionActive:b,noWheelClassName:m,lib:I,onTransformChange:T,connectionInProgress:A,selectionOnDrag:y,paneClickDistance:L})},[t,e,a,o,r,n,s,i,N,h,g,b,m,I,T,A,y,L]),W("div",{className:"react-flow__renderer",ref:w,style:rf,children:p})}var lN=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function uN(){let{userSelectionActive:t,userSelectionRect:e}=xe(lN,De);return t&&e?W("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var Fm=(t,e)=>a=>{a.target===e.current&&t?.(a)},dN=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function fN({isSelecting:t,selectionKeyPressed:e,selectionMode:a=Nr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:c,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=we(0),x=Oe(),{userSelectionActive:C,elementsSelectable:L,dragging:y,connectionInProgress:S,panBy:w,autoPanSpeed:b}=xe(dN,De),I=L&&(t||C),A=we(null),N=we(),D=we(new Set),T=we(new Set),H=we(!1),v=we({x:0,y:0}),M=we(!1),P=z=>{if(H.current||S){H.current=!1;return}u?.(z),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},R=z=>{if(Array.isArray(o)&&o?.includes(2)){z.preventDefault();return}d?.(z)},E=f?z=>f(z):void 0,O=z=>{H.current&&(z.stopPropagation(),H.current=!1)},k=z=>{let{domNode:$,transform:ie}=x.getState();if(N.current=$?.getBoundingClientRect(),!N.current)return;let se=z.target===A.current;if(!se&&!!z.target.closest(".nokey")||!t||!(s&&se||e)||z.button!==0||!z.isPrimary)return;z.target?.setPointerCapture?.(z.pointerId),H.current=!1;let{x:ue,y:Ie}=Yt(z.nativeEvent,N.current),Ue=Ur({x:ue,y:Ie},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Ue.x,startY:Ue.y,x:ue,y:Ie}}),se||(z.stopPropagation(),z.preventDefault())};function q(z,$){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:se,nodeLookup:oe,edgeLookup:ne,connectionLookup:ue,triggerNodeChanges:Ie,triggerEdgeChanges:Ue,defaultEdgeOptions:St}=x.getState(),$a={x:ie.startX,y:ie.startY},{x:Ia,y:Sa}=_r($a,se),Xa={startX:$a.x,startY:$a.y,x:z<Ia?z:Ia,y:$<Sa?$:Sa,width:Math.abs(z-Ia),height:Math.abs($-Sa)},is=D.current,Qo=T.current;D.current=new Set(Hd(oe,Xa,se,a===Nr.Partial,!0).map(oa=>oa.id)),T.current=new Set;let er=St?.selectable??!0;for(let oa of D.current){let Ka=ue.get(oa);if(Ka)for(let{edgeId:ja}of Ka.values()){let tr=ne.get(ja);tr&&(tr.selectable??er)&&T.current.add(ja)}}if(!Sm(is,D.current)){let oa=Xn(oe,D.current,!0);Ie(oa)}if(!Sm(Qo,T.current)){let oa=Xn(ne,T.current);Ue(oa)}x.setState({userSelectionRect:Xa,userSelectionActive:!0,nodesSelectionActive:!1})}function F(){if(!r||!N.current)return;let[z,$]=_d(v.current,N.current,b);w({x:z,y:$}).then(ie=>{if(!H.current||!ie){g.current=requestAnimationFrame(F);return}let{x:se,y:oe}=v.current;q(se,oe),g.current=requestAnimationFrame(F)})}let G=()=>{cancelAnimationFrame(g.current),g.current=0,M.current=!1};ke(()=>()=>G(),[]);let _=z=>{let{userSelectionRect:$,transform:ie,resetSelectedElements:se}=x.getState();if(!N.current||!$)return;let{x:oe,y:ne}=Yt(z.nativeEvent,N.current);v.current={x:oe,y:ne};let ue=_r({x:$.startX,y:$.startY},ie);if(!H.current){let Ie=e?0:n;if(Math.hypot(oe-ue.x,ne-ue.y)<=Ie)return;se(),i?.(z)}H.current=!0,M.current||(F(),M.current=!0),q(oe,ne)},B=z=>{z.button===0&&(z.target?.releasePointerCapture?.(z.pointerId),!C&&z.target===A.current&&x.getState().userSelectionRect&&P?.(z),x.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(l?.(z),x.setState({nodesSelectionActive:D.current.size>0})),G())},U=z=>{z.target?.releasePointerCapture?.(z.pointerId),G()},X=o===!0||Array.isArray(o)&&o.includes(0);return lt("div",{className:_e(["react-flow__pane",{draggable:X,dragging:y,selection:t}]),onClick:I?void 0:Fm(P,A),onContextMenu:Fm(R,A),onWheel:Fm(E,A),onPointerEnter:I?void 0:c,onPointerMove:I?_:h,onPointerUp:I?B:void 0,onPointerCancel:I?U:void 0,onPointerDownCapture:I?k:void 0,onClickCapture:I?O:void 0,onPointerLeave:p,ref:A,style:rf,children:[m,W(uN,{})]})}function Hm({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",_t.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function sS({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=Oe(),[l,u]=Fa(!1),d=we();return ke(()=>{d.current=nI({getStoreItems:()=>i.getState(),onNodeMouseDown:f=>{Hm({id:f,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),ke(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var cN=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function iS(){let t=Oe();return Na(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),f=new Map,c=cN(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!c(x))continue;let C={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(C=Wn(C,n));let{position:L,positionAbsolute:y}=Cm({nodeId:x.id,nextPosition:C,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=L,x.internals.positionAbsolute=y,f.set(x.id,x)}l(f)},[])}var qm=_m(null),hN=qm.Provider;qm.Consumer;var lS=()=>Si(qm),pN=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),mN=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===Oo.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function gN({type:t="source",position:e=re.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:f,...c},h){let p=s||null,m=t==="target",g=Oe(),x=lS(),{connectOnClick:C,noPanClassName:L,rfId:y}=xe(pN,De),{connectingFrom:S,connectingTo:w,clickConnecting:b,isPossibleEndHandle:I,connectionInProcess:A,clickConnectionInProcess:N,valid:D}=xe(mN(x,p,t),De);x||g.getState().onError?.("010",_t.error010());let T=M=>{let{defaultEdgeOptions:P,onConnect:R,hasDefaultEdges:E}=g.getState(),O={...P,...M};if(E){let{edges:k,setEdges:q,onError:F}=g.getState();q(ZF(O,k,{onError:F}))}R?.(O),i?.(O)},H=M=>{if(!x)return;let P=Am(M.nativeEvent);if(r&&(P&&M.button===0||!P)){let R=g.getState();Zd.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:R.autoPanOnConnect,connectionMode:R.connectionMode,connectionRadius:R.connectionRadius,domNode:R.domNode,nodeLookup:R.nodeLookup,lib:R.lib,isTarget:m,handleId:p,nodeId:x,flowId:R.rfId,panBy:R.panBy,cancelConnection:R.cancelConnection,onConnectStart:R.onConnectStart,onConnectEnd:(...E)=>g.getState().onConnectEnd?.(...E),updateConnection:R.updateConnection,onConnect:T,isValidConnection:a||((...E)=>g.getState().isValidConnection?.(...E)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:R.autoPanSpeed,dragThreshold:R.connectionDragThreshold})}P?d?.(M):f?.(M)},v=M=>{let{onClickConnectStart:P,onClickConnectEnd:R,connectionClickStartHandle:E,connectionMode:O,isValidConnection:k,lib:q,rfId:F,nodeLookup:G,connection:_}=g.getState();if(!x||!E&&!r)return;if(!E){P?.(M.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let B=vm(M.target),U=a||k,{connection:X,isValid:z}=Zd.isValid(M.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:O,fromNodeId:E.nodeId,fromHandleId:E.id||null,fromType:E.type,isValidConnection:U,flowId:F,doc:B,lib:q,nodeLookup:G});z&&X&&T(X);let $=structuredClone(_);delete $.inProgress,$.toPosition=$.toHandle?$.toHandle.position:null,R?.(M,$),g.setState({connectionClickStartHandle:null})};return W("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${y}-${x}-${p}-${t}`,className:_e(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",L,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:b,connectingfrom:S,connectingto:w,valid:D,connectionindicator:o&&(!A||I)&&(A||N?n:r)}]),onMouseDown:H,onTouchStart:H,onClick:C?v:void 0,ref:h,...c,children:l})}var io=Ge(rS(gN));function xN({data:t,isConnectable:e,sourcePosition:a=re.Bottom}){return lt(lo,{children:[t?.label,W(io,{type:"source",position:a,isConnectable:e})]})}function LN({data:t,isConnectable:e,targetPosition:a=re.Top,sourcePosition:o=re.Bottom}){return lt(lo,{children:[W(io,{type:"target",position:a,isConnectable:e}),t?.label,W(io,{type:"source",position:o,isConnectable:e})]})}function CN(){return null}function yN({data:t,isConnectable:e,targetPosition:a=re.Top}){return lt(lo,{children:[W(io,{type:"target",position:a,isConnectable:e}),t?.label]})}var tf={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},zI={input:xN,default:LN,output:yN,group:CN};function wN(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var bN=t=>{let{width:e,height:a,x:o,y:r}=Un(t.nodeLookup,{filter:n=>!!n.selected});return{width:Zt(e)?e:null,height:Zt(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function IN({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=Oe(),{width:r,height:n,transformString:s,userSelectionActive:i}=xe(bN,De),l=iS(),u=we(null);ke(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if(sS({nodeRef:u,disabled:!d}),!d)return null;let f=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,c=h=>{Object.prototype.hasOwnProperty.call(tf,h.key)&&(h.preventDefault(),l({direction:tf[h.key],factor:h.shiftKey?4:1}))};return W("div",{className:_e(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:W("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:a?void 0:-1,onKeyDown:a?void 0:c,style:{width:r,height:n}})})}var UI=typeof window<"u"?window:void 0,SN=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function uS({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:y,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:I,autoPanOnSelection:A,defaultViewport:N,translateExtent:D,minZoom:T,maxZoom:H,preventScrolling:v,onSelectionContextMenu:M,noWheelClassName:P,noPanClassName:R,disableKeyboardA11y:E,onViewportChange:O,isControlledViewport:k}){let{nodesSelectionActive:q,userSelectionActive:F}=xe(SN,De),G=Ii(u,{target:UI}),_=Ii(m,{target:UI}),B=_||I,U=_||y,X=d&&B!==!0,z=G||F||X;return rN({deleteKeyCode:l,multiSelectionKeyCode:p}),W(iN,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:C,zoomOnPinch:L,panOnScroll:U,panOnScrollSpeed:S,panOnScrollMode:w,zoomOnDoubleClick:b,panOnDrag:!G&&B,defaultViewport:N,translateExtent:D,minZoom:T,maxZoom:H,zoomActivationKeyCode:g,preventScrolling:v,noWheelClassName:P,noPanClassName:R,onViewportChange:O,isControlledViewport:k,paneClickDistance:i,selectionOnDrag:X,children:lt(fN,{onSelectionStart:c,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:B,autoPanOnSelection:A,isSelecting:!!z,selectionMode:f,selectionKeyPressed:G,paneClickDistance:i,selectionOnDrag:X,children:[t,q&&W(IN,{onSelectionContextMenu:M,noPanClassName:R,disableKeyboardA11y:E})]})})}uS.displayName="FlowRenderer";var vN=Ge(uS),kN=t=>e=>t?Hd(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function AN(t){return xe(Na(kN(t),[t]),De)}var MN=t=>t.updateNodeInternals;function PN(){let t=xe(MN),[e]=Fa(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return ke(()=>()=>{e?.disconnect()},[e]),e}function DN({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=Oe(),n=we(null),s=we(null),i=we(t.sourcePosition),l=we(t.targetPosition),u=we(e),d=a&&!!t.internals.handleBounds;return ke(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),ke(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),ke(()=>{if(n.current){let f=u.current!==e,c=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(f||c||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function RN({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:c,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:C}){let{node:L,internals:y,isParent:S}=xe(z=>{let $=z.nodeLookup.get(t),ie=z.parentLookup.has(t);return{node:$,internals:$.internals,isParent:ie}},De),w=L.type||"default",b=g?.[w]||zI[w];b===void 0&&(C?.("003",_t.error003(w)),w="default",b=g?.default||zI.default);let I=!!(L.draggable||i&&typeof L.draggable>"u"),A=!!(L.selectable||l&&typeof L.selectable>"u"),N=!!(L.connectable||u&&typeof L.connectable>"u"),D=!!(L.focusable||d&&typeof L.focusable>"u"),T=Oe(),H=Ud(L),v=DN({node:L,nodeType:w,hasDimensions:H,resizeObserver:f}),M=sS({nodeRef:v,disabled:L.hidden||!I,noDragClassName:c,handleSelector:L.dragHandle,nodeId:t,isSelectable:A,nodeClickDistance:x}),P=iS();if(L.hidden)return null;let R=Ba(L),E=wN(L),O=A||I||e||a||o||r,k=a?z=>a(z,{...y.userNode}):void 0,q=o?z=>o(z,{...y.userNode}):void 0,F=r?z=>r(z,{...y.userNode}):void 0,G=n?z=>n(z,{...y.userNode}):void 0,_=s?z=>s(z,{...y.userNode}):void 0,B=z=>{let{selectNodesOnDrag:$,nodeDragThreshold:ie}=T.getState();A&&(!$||!I||ie>0)&&Hm({id:t,store:T,nodeRef:v}),e&&e(z,{...y.userNode})},U=z=>{if(!(km(z.nativeEvent)||p)){if(cm.includes(z.key)&&A){let $=z.key==="Escape";Hm({id:t,store:T,unselect:$,nodeRef:v})}else if(I&&L.selected&&Object.prototype.hasOwnProperty.call(tf,z.key)){z.preventDefault();let{ariaLabelConfig:$}=T.getState();T.setState({ariaLiveMessage:$["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),P({direction:tf[z.key],factor:z.shiftKey?4:1})}}},X=()=>{if(p||!v.current?.matches(":focus-visible"))return;let{transform:z,width:$,height:ie,autoPanOnNodeFocus:se,setCenter:oe}=T.getState();if(!se)return;Hd(new Map([[t,L]]),{x:0,y:0,width:$,height:ie},z,!0).length>0||oe(L.position.x+R.width/2,L.position.y+R.height/2,{zoom:z[2]})};return W("div",{className:_e(["react-flow__node",`react-flow__node-${w}`,{[h]:I},L.className,{selected:L.selected,selectable:A,parent:S,draggable:I,dragging:M}]),ref:v,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:O?"all":"none",visibility:H?"visible":"hidden",...L.style,...E},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:k,onMouseMove:q,onMouseLeave:F,onContextMenu:G,onClick:B,onDoubleClick:_,onKeyDown:D?U:void 0,tabIndex:D?0:void 0,onFocus:D?X:void 0,role:L.ariaRole??(D?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${eS}-${m}`,"aria-label":L.ariaLabel,...L.domAttributes,children:W(hN,{value:t,children:W(b,{id:t,data:L.data,type:w,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:L.selected??!1,selectable:A,draggable:I,deletable:L.deletable??!0,isConnectable:N,sourcePosition:L.sourcePosition,targetPosition:L.targetPosition,dragging:M,dragHandle:L.dragHandle,zIndex:y.z,parentId:L.parentId,...R})})})}var TN=Ge(RN),EN=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function dS(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=xe(EN,De),s=AN(t.onlyRenderVisibleElements),i=PN();return W("div",{className:"react-flow__nodes",style:rf,children:s.map(l=>W(TN,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}dS.displayName="NodeRenderer";var BN=Ge(dS);function ON(t){return xe(Na(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&jb({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),De)}var FN=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return W("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},NN=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return W("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},VI={[Fo.Arrow]:FN,[Fo.ArrowClosed]:NN};function HN(t){let e=Oe();return La(()=>Object.prototype.hasOwnProperty.call(VI,t)?VI[t]:(e.getState().onError?.("009",_t.error009(t)),null),[t])}var _N=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=HN(e);return l?W("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:W(l,{color:a,strokeWidth:s})}):null},fS=({defaultColor:t,rfId:e})=>{let a=xe(n=>n.edges),o=xe(n=>n.defaultEdgeOptions),r=La(()=>Jb(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?W("svg",{className:"react-flow__marker","aria-hidden":"true",children:W("defs",{children:r.map(n=>W(_N,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};fS.displayName="MarkerDefinitions";var qN=Ge(fS);function cS({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[f,c]=Fa({x:1,y:0,width:0,height:0}),h=_e(["react-flow__edge-textwrapper",u]),p=we(null);return ke(()=>{if(p.current){let m=p.current.getBBox();c({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?lt("g",{transform:`translate(${t-f.width/2} ${e-f.height/2})`,className:h,visibility:f.width?"visible":"hidden",...d,children:[r&&W("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),W("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}cS.displayName="EdgeText";var zN=Ge(cS);function nf({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return lt(lo,{children:[W("path",{...d,d:t,fill:"none",className:_e(["react-flow__edge-path",d.className])}),u?W("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&Zt(e)&&Zt(a)?W(zN,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function WI({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===re.Left||t===re.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function hS({sourceX:t,sourceY:e,sourcePosition:a=re.Bottom,targetX:o,targetY:r,targetPosition:n=re.Top}){let[s,i]=WI({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=WI({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,f,c,h]=Wd({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,f,c,h]}function pS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[C,L,y]=hS({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),S=t.isInternal?void 0:e;return W(nf,{id:S,path:C,labelX:L,labelY:y,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var UN=pS({isInternal:!1}),mS=pS({isInternal:!0});UN.displayName="SimpleBezierEdge";mS.displayName="SimpleBezierEdgeInternal";function gS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,sourcePosition:h=re.Bottom,targetPosition:p=re.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=bi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),w=t.isInternal?void 0:e;return W(nf,{id:w,path:L,labelX:y,labelY:S,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:m,markerStart:g,interactionWidth:C})})}var xS=gS({isInternal:!1}),LS=gS({isInternal:!0});xS.displayName="SmoothStepEdge";LS.displayName="SmoothStepEdgeInternal";function CS(t){return Ge(({id:e,...a})=>{let o=t.isInternal?void 0:e;return W(xS,{...a,id:o,pathOptions:La(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var VN=CS({isInternal:!1}),yS=CS({isInternal:!0});VN.displayName="StepEdge";yS.displayName="StepEdgeInternal";function wS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,C]=$d({sourceX:a,sourceY:o,targetX:r,targetY:n}),L=t.isInternal?void 0:e;return W(nf,{id:L,path:g,labelX:x,labelY:C,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:c,markerEnd:h,markerStart:p,interactionWidth:m})})}var WN=wS({isInternal:!1}),bS=wS({isInternal:!0});WN.displayName="StraightEdge";bS.displayName="StraightEdgeInternal";function IS(t){return Ge(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=re.Bottom,targetPosition:i=re.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:C})=>{let[L,y,S]=Gd({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),w=t.isInternal?void 0:e;return W(nf,{id:w,path:L,labelX:y,labelY:S,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:c,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:C})})}var GN=IS({isInternal:!1}),SS=IS({isInternal:!0});GN.displayName="BezierEdge";SS.displayName="BezierEdgeInternal";var GI={default:SS,straight:bS,step:yS,smoothstep:LS,simplebezier:mS},$I={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},$N=(t,e,a)=>a===re.Left?t-e:a===re.Right?t+e:t,XN=(t,e,a)=>a===re.Top?t-e:a===re.Bottom?t+e:t,XI="react-flow__edgeupdater";function KI({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return W("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:_e([XI,`${XI}-${i}`]),cx:$N(e,o,t),cy:XN(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function KN({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:c,setUpdateHover:h}){let p=Oe(),m=(y,S)=>{if(y.button!==0)return;let{autoPanOnConnect:w,domNode:b,connectionMode:I,connectionRadius:A,lib:N,onConnectStart:D,cancelConnection:T,nodeLookup:H,rfId:v,panBy:M,updateConnection:P}=p.getState(),R=S.type==="target",E=(q,F)=>{c(!1),f?.(q,a,S.type,F)},O=q=>u?.(a,q),k=(q,F)=>{c(!0),d?.(y,a,S.type),D?.(q,F)};Zd.onPointerDown(y.nativeEvent,{autoPanOnConnect:w,connectionMode:I,connectionRadius:A,domNode:b,handleId:S.id,nodeId:S.nodeId,nodeLookup:H,isTarget:R,edgeUpdaterType:S.type,lib:N,flowId:v,cancelConnection:T,panBy:M,isValidConnection:(...q)=>p.getState().isValidConnection?.(...q)??!0,onConnect:O,onConnectStart:k,onConnectEnd:(...q)=>p.getState().onConnectEnd?.(...q),onReconnectEnd:E,updateConnection:P,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},g=y=>m(y,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=y=>m(y,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),C=()=>h(!0),L=()=>h(!1);return lt(lo,{children:[(t===!0||t==="source")&&W(KI,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:C,onMouseOut:L,type:"source"}),(t===!0||t==="target")&&W(KI,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:C,onMouseOut:L,type:"target"})]})}function jN({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:C}){let L=xe(oe=>oe.edgeLookup.get(t)),y=xe(oe=>oe.defaultEdgeOptions);L=y?{...y,...L}:L;let S=L.type||"default",w=m?.[S]||GI[S];w===void 0&&(x?.("011",_t.error011(S)),S="default",w=m?.default||GI.default);let b=!!(L.focusable||e&&typeof L.focusable>"u"),I=typeof f<"u"&&(L.reconnectable||a&&typeof L.reconnectable>"u"),A=!!(L.selectable||o&&typeof L.selectable>"u"),N=we(null),[D,T]=Fa(!1),[H,v]=Fa(!1),M=Oe(),{zIndex:P,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F}=xe(Na(oe=>{let ne=oe.nodeLookup.get(L.source),ue=oe.nodeLookup.get(L.target);if(!ne||!ue)return{zIndex:L.zIndex,...$I};let Ie=Yb({id:t,sourceNode:ne,targetNode:ue,sourceHandle:L.sourceHandle||null,targetHandle:L.targetHandle||null,connectionMode:oe.connectionMode,onError:x});return{zIndex:Kb({selected:L.selected,zIndex:L.zIndex,sourceNode:ne,targetNode:ue,elevateOnSelect:oe.elevateEdgesOnSelect,zIndexMode:oe.zIndexMode}),...Ie||$I}},[L.source,L.target,L.sourceHandle,L.targetHandle,L.selected,L.zIndex]),De),G=La(()=>L.markerStart?`url('#${Xd(L.markerStart,p)}')`:void 0,[L.markerStart,p]),_=La(()=>L.markerEnd?`url('#${Xd(L.markerEnd,p)}')`:void 0,[L.markerEnd,p]);if(L.hidden||R===null||E===null||O===null||k===null)return null;let B=oe=>{let{addSelectedEdges:ne,unselectNodesAndEdges:ue,multiSelectionActive:Ie}=M.getState();A&&(M.setState({nodesSelectionActive:!1}),L.selected&&Ie?(ue({nodes:[],edges:[L]}),N.current?.blur()):ne([t])),r&&r(oe,L)},U=n?oe=>{n(oe,{...L})}:void 0,X=s?oe=>{s(oe,{...L})}:void 0,z=i?oe=>{i(oe,{...L})}:void 0,$=l?oe=>{l(oe,{...L})}:void 0,ie=u?oe=>{u(oe,{...L})}:void 0,se=oe=>{if(!C&&cm.includes(oe.key)&&A){let{unselectNodesAndEdges:ne,addSelectedEdges:ue}=M.getState();oe.key==="Escape"?(N.current?.blur(),ne({edges:[L]})):ue([t])}};return W("svg",{style:{zIndex:P},children:lt("g",{className:_e(["react-flow__edge",`react-flow__edge-${S}`,L.className,g,{selected:L.selected,animated:L.animated,inactive:!A&&!r,updating:D,selectable:A}]),onClick:B,onDoubleClick:U,onContextMenu:X,onMouseEnter:z,onMouseMove:$,onMouseLeave:ie,onKeyDown:b?se:void 0,tabIndex:b?0:void 0,role:L.ariaRole??(b?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":L.ariaLabel===null?void 0:L.ariaLabel||`Edge from ${L.source} to ${L.target}`,"aria-describedby":b?`${tS}-${p}`:void 0,ref:N,...L.domAttributes,children:[!H&&W(w,{id:t,source:L.source,target:L.target,type:L.type,selected:L.selected,animated:L.animated,selectable:A,deletable:L.deletable??!0,label:L.label,labelStyle:L.labelStyle,labelShowBg:L.labelShowBg,labelBgStyle:L.labelBgStyle,labelBgPadding:L.labelBgPadding,labelBgBorderRadius:L.labelBgBorderRadius,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F,data:L.data,style:L.style,sourceHandleId:L.sourceHandle,targetHandleId:L.targetHandle,markerStart:G,markerEnd:_,pathOptions:"pathOptions"in L?L.pathOptions:void 0,interactionWidth:L.interactionWidth}),I&&W(KN,{edge:L,isReconnectable:I,reconnectRadius:d,onReconnect:f,onReconnectStart:c,onReconnectEnd:h,sourceX:R,sourceY:E,targetX:O,targetY:k,sourcePosition:q,targetPosition:F,setUpdateHover:T,setReconnecting:v})]})})}var ZN=Ge(jN),YN=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function vS({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,onError:L}=xe(YN,De),y=ON(e);return lt("div",{className:"react-flow__edges",children:[W(qN,{defaultColor:t,rfId:a}),y.map(S=>W(ZN,{id:S,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:C,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:c,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:L,edgeTypes:o,disableKeyboardA11y:m},S))]})}vS.displayName="EdgeRenderer";var JN=Ge(vS),QN=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function eH({children:t}){let e=xe(QN);return W("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function tH(t){let e=vi(),a=we(!1);ke(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var aH=t=>t.panZoom?.syncViewport;function oH(t){let e=xe(aH),a=Oe();return ke(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function jI(t){return t.connection.inProgress?{...t.connection,to:Ur(t.connection.to,t.transform)}:{...t.connection}}function rH(t){return t?a=>{let o=jI(a);return t(o)}:jI}function nH(t){let e=rH(t);return xe(e,De)}var sH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function iH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=xe(sH,De);return!(n&&r&&l)?null:W("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:W("g",{className:_e(["react-flow__connection",mm(i)]),children:W(kS,{style:e,type:a,CustomComponent:o,isValid:i})})})}var kS=({style:t,type:e=Ea.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:c,pointer:h}=nH();if(!r)return;if(a)return W(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:c,connectionStatus:mm(o),toNode:d,toHandle:f,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:c};switch(e){case Ea.Bezier:[p]=Gd(m);break;case Ea.SimpleBezier:[p]=hS(m);break;case Ea.Step:[p]=bi({...m,borderRadius:0});break;case Ea.SmoothStep:[p]=bi(m);break;default:[p]=$d(m)}return W("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};kS.displayName="ConnectionLine";var lH={};function ZI(t=lH){let e=we(t),a=Oe();ke(()=>{},[t])}function uH(){let t=Oe(),e=we(!1);ke(()=>{},[])}function AS({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:c,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,deleteKeyCode:I,onlyRenderVisibleElements:A,elementsSelectable:N,defaultViewport:D,translateExtent:T,minZoom:H,maxZoom:v,preventScrolling:M,defaultMarkerColor:P,zoomOnScroll:R,zoomOnPinch:E,panOnScroll:O,panOnScrollSpeed:k,panOnScrollMode:q,zoomOnDoubleClick:F,panOnDrag:G,autoPanOnSelection:_,onPaneClick:B,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneScroll:$,onPaneContextMenu:ie,paneClickDistance:se,nodeClickDistance:oe,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ue,reconnectRadius:St,onReconnect:$a,onReconnectStart:Ia,onReconnectEnd:Sa,noDragClassName:Xa,noWheelClassName:is,noPanClassName:Qo,disableKeyboardA11y:er,nodeExtent:oa,rfId:Ka,viewport:ja,onViewportChange:tr}){return ZI(t),ZI(e),uH(),tH(a),oH(ja),W(vN,{onPaneClick:B,onPaneMouseEnter:U,onPaneMouseMove:X,onPaneMouseLeave:z,onPaneContextMenu:ie,onPaneScroll:$,paneClickDistance:se,deleteKeyCode:I,selectionKeyCode:C,selectionOnDrag:L,selectionMode:y,onSelectionStart:c,onSelectionEnd:h,multiSelectionKeyCode:S,panActivationKeyCode:w,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:R,zoomOnPinch:E,zoomOnDoubleClick:F,panOnScroll:O,panOnScrollSpeed:k,panOnScrollMode:q,panOnDrag:G,autoPanOnSelection:_,defaultViewport:D,translateExtent:T,minZoom:H,maxZoom:v,onSelectionContextMenu:f,preventScrolling:M,noDragClassName:Xa,noWheelClassName:is,noPanClassName:Qo,disableKeyboardA11y:er,onViewportChange:tr,isControlledViewport:!!ja,children:lt(eH,{children:[W(JN,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:$a,onReconnectStart:Ia,onReconnectEnd:Sa,onlyRenderVisibleElements:A,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:Ie,onEdgeMouseLeave:Ue,reconnectRadius:St,defaultMarkerColor:P,noPanClassName:Qo,disableKeyboardA11y:er,rfId:Ka}),W(iH,{style:m,type:p,component:g,containerStyle:x}),W("div",{className:"react-flow__edgelabel-renderer"}),W(BN,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:oe,onlyRenderVisibleElements:A,noPanClassName:Qo,noDragClassName:Xa,disableKeyboardA11y:er,nodeExtent:oa,rfId:Ka}),W("div",{className:"react-flow__viewport-portal"})]})})}AS.displayName="GraphView";var dH=Ge(AS),fH=bm("React Flow","https://reactflow.dev/"),YI=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:c="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],C=a??t??[],L=d??[0,0],y=f??zn;Em(m,g,x);let{nodesInitialized:S}=Kd(C,h,p,{nodeOrigin:L,nodeExtent:y,zIndexMode:c}),w=[0,0,1];if(s&&r&&n){let b=Un(h,{filter:D=>!!((D.width||D.initialWidth)&&(D.height||D.initialHeight))}),{x:I,y:A,zoom:N}=wi(b,r,n,l,u,i?.padding??.1);w=[I,A,N]}return{rfId:"1",width:r??0,height:n??0,transform:w,nodes:C,nodesInitialized:S,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:zn,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Oo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:L,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{...pm},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:fH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:hm,zIndexMode:c,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},cH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c})=>MI((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:C,fitViewResolver:L,width:y,height:S,minZoom:w,maxZoom:b}=p();x&&(await Vb({nodes:g,width:y,height:S,panZoom:x,minZoom:w,maxZoom:b},C),L?.resolve(!0),h({fitViewResolver:null}))}return{...YI({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:a,defaultEdges:o,zIndexMode:c}),setNodes:g=>{let{nodeLookup:x,parentLookup:C,nodeOrigin:L,elevateNodesOnSelect:y,fitViewQueued:S,zIndexMode:w,nodesSelectionActive:b}=p(),{nodesInitialized:I,hasSelectedNodes:A}=Kd(g,x,C,{nodeOrigin:L,nodeExtent:f,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:w}),N=b&&A;S&&I?(m(),h({nodes:g,nodesInitialized:I,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:N})):h({nodes:g,nodesInitialized:I,nodesSelectionActive:N})},setEdges:g=>{let{connectionLookup:x,edgeLookup:C}=p();Em(x,C,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:C}=p();C(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:C}=p();C(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:C,parentLookup:L,domNode:y,nodeOrigin:S,nodeExtent:w,debug:b,fitViewQueued:I,zIndexMode:A}=p(),{changes:N,updatedInternals:D}=aI(g,C,L,y,S,w,A);D&&(eI(C,L,{nodeOrigin:S,nodeExtent:w,zIndexMode:A}),I?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),N?.length>0&&(b&&console.log("React Flow: trigger node changes",N),x?.(N)))},updateNodePositions:(g,x=!1)=>{let C=[],L=[],{nodeLookup:y,triggerNodeChanges:S,connection:w,updateConnection:b,onNodesChangeMiddlewareMap:I}=p();for(let[A,N]of g){let D=y.get(A),T=!!(D?.expandParent&&D?.parentId&&N?.position),H={id:A,type:"position",position:T?{x:Math.max(0,N.position.x),y:Math.max(0,N.position.y)}:N.position,dragging:x};if(D&&w.inProgress&&w.fromNode.id===D.id){let v=No(D,w.fromHandle,re.Left,!0);b({...w,from:v})}T&&D.parentId&&C.push({id:A,parentId:D.parentId,rect:{...N.internals.positionAbsolute,width:N.measured.width??0,height:N.measured.height??0}}),L.push(H)}if(C.length>0){let{parentLookup:A,nodeOrigin:N}=p(),D=jd(C,y,A,N);L.push(...D)}for(let A of I.values())L=A(L);S(L)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:C,nodes:L,hasDefaultNodes:y,debug:S}=p();if(g?.length){if(y){let w=XF(g,L);C(w)}S&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:C,edges:L,hasDefaultEdges:y,debug:S}=p();if(g?.length){if(y){let w=KF(g,L);C(w)}S&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>Vr(b,!0));y(w);return}y(Xn(L,new Set([...g]),!0)),S(Xn(C))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:C,nodeLookup:L,triggerNodeChanges:y,triggerEdgeChanges:S}=p();if(x){let w=g.map(b=>Vr(b,!0));S(w);return}S(Xn(C,new Set([...g]))),y(Xn(L,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:C,nodes:L,nodeLookup:y,triggerNodeChanges:S,triggerEdgeChanges:w}=p(),b=g||L,I=x||C,A=[];for(let D of b){if(!D.selected)continue;let T=y.get(D.id);T&&(T.selected=!1),A.push(Vr(D.id,!1))}let N=[];for(let D of I)D.selected&&N.push(Vr(D.id,!1));S(A),w(N)},setMinZoom:g=>{let{panZoom:x,maxZoom:C}=p();x?.setScaleExtent([g,C]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:C}=p();x?.setScaleExtent([C,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:C,triggerEdgeChanges:L,elementsSelectable:y}=p();if(!y)return;let S=x.reduce((b,I)=>I.selected?[...b,Vr(I.id,!1)]:b,[]),w=g.reduce((b,I)=>I.selected?[...b,Vr(I.id,!1)]:b,[]);C(S),L(w)},setNodeExtent:g=>{let{nodes:x,nodeLookup:C,parentLookup:L,nodeOrigin:y,elevateNodesOnSelect:S,nodeExtent:w,zIndexMode:b}=p();g[0][0]===w[0][0]&&g[0][1]===w[0][1]&&g[1][0]===w[1][0]&&g[1][1]===w[1][1]||(Kd(x,C,L,{nodeOrigin:y,nodeExtent:g,elevateNodesOnSelect:S,checkEquality:!1,zIndexMode:b}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:C,height:L,panZoom:y,translateExtent:S}=p();return oI({delta:g,panZoom:y,transform:x,translateExtent:S,width:C,height:L})},setCenter:async(g,x,C)=>{let{width:L,height:y,maxZoom:S,panZoom:w}=p();if(!w)return!1;let b=typeof C?.zoom<"u"?C.zoom:S;return await w.setViewport({x:L/2-g*b,y:y/2-x*b,zoom:b},{duration:C?.duration,ease:C?.ease,interpolate:C?.interpolate}),!0},cancelConnection:()=>{h({connection:{...pm}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...YI()})}},Object.is);function zm({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:c,children:h}){let[p]=Fa(()=>cH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:c}));return W(AF,{value:p,children:W(eN,{children:h})})}function hH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h}){return Si(af)?W(lo,{children:t}):W(zm,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:c,zIndexMode:h,children:t})}var pH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function mH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:c,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:A,onNodesDelete:N,onEdgesDelete:D,onDelete:T,onSelectionChange:H,onSelectionDragStart:v,onSelectionDrag:M,onSelectionDragStop:P,onSelectionContextMenu:R,onSelectionStart:E,onSelectionEnd:O,onBeforeDelete:k,connectionMode:q,connectionLineType:F=Ea.Bezier,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:B,deleteKeyCode:U="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:z=!1,selectionMode:$=Nr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:se=Gn()?"Meta":"Control",zoomActivationKeyCode:oe=Gn()?"Meta":"Control",snapToGrid:ne,snapGrid:ue,onlyRenderVisibleElements:Ie=!1,selectNodesOnDrag:Ue,nodesDraggable:St,autoPanOnNodeFocus:$a,nodesConnectable:Ia,nodesFocusable:Sa,nodeOrigin:Xa=aS,edgesFocusable:is,edgesReconnectable:Qo,elementsSelectable:er=!0,defaultViewport:oa=qF,minZoom:Ka=.5,maxZoom:ja=2,translateExtent:tr=zn,preventScrolling:IA=!0,nodeExtent:zf,defaultMarkerColor:SA="#b1b1b7",zoomOnScroll:vA=!0,zoomOnPinch:kA=!0,panOnScroll:AA=!1,panOnScrollSpeed:MA=.5,panOnScrollMode:PA=so.Free,zoomOnDoubleClick:DA=!0,panOnDrag:RA=!0,onPaneClick:TA,onPaneMouseEnter:EA,onPaneMouseMove:BA,onPaneMouseLeave:OA,onPaneScroll:FA,onPaneContextMenu:NA,paneClickDistance:HA=1,nodeClickDistance:_A=0,children:qA,onReconnect:zA,onReconnectStart:UA,onReconnectEnd:VA,onEdgeContextMenu:WA,onEdgeDoubleClick:GA,onEdgeMouseEnter:$A,onEdgeMouseMove:XA,onEdgeMouseLeave:KA,reconnectRadius:jA=10,onNodesChange:ZA,onEdgesChange:YA,noDragClassName:JA="nodrag",noWheelClassName:QA="nowheel",noPanClassName:tx="nopan",fitView:ax,fitViewOptions:ox,connectOnClick:eM,attributionPosition:tM,proOptions:aM,defaultEdgeOptions:oM,elevateNodesOnSelect:rM=!0,elevateEdgesOnSelect:nM=!1,disableKeyboardA11y:rx=!1,autoPanOnConnect:sM,autoPanOnNodeDrag:iM,autoPanOnSelection:lM=!0,autoPanSpeed:uM,connectionRadius:dM,isValidConnection:fM,onError:cM,style:hM,id:nx,nodeDragThreshold:pM,connectionDragThreshold:mM,viewport:gM,onViewportChange:xM,width:LM,height:CM,colorMode:yM="light",debug:wM,onScroll:sx,ariaLabelConfig:bM,zIndexMode:ix="basic",...IM},SM){let Uf=nx||"1",vM=WF(yM),kM=Na(lx=>{lx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),sx?.(lx)},[sx]);return W("div",{"data-testid":"rf__wrapper",...IM,onScroll:kM,style:{...hM,...pH},ref:SM,className:_e(["react-flow",r,vM]),id:nx,role:"application",children:lt(hH,{nodes:t,edges:e,width:LM,height:CM,fitView:ax,fitViewOptions:ox,minZoom:Ka,maxZoom:ja,nodeOrigin:Xa,nodeExtent:zf,zIndexMode:ix,children:[W(VF,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:St,autoPanOnNodeFocus:$a,nodesConnectable:Ia,nodesFocusable:Sa,edgesFocusable:is,edgesReconnectable:Qo,elementsSelectable:er,elevateNodesOnSelect:rM,elevateEdgesOnSelect:nM,minZoom:Ka,maxZoom:ja,nodeExtent:zf,onNodesChange:ZA,onEdgesChange:YA,snapToGrid:ne,snapGrid:ue,connectionMode:q,translateExtent:tr,connectOnClick:eM,defaultEdgeOptions:oM,fitView:ax,fitViewOptions:ox,onNodesDelete:N,onEdgesDelete:D,onDelete:T,onNodeDragStart:b,onNodeDrag:I,onNodeDragStop:A,onSelectionDrag:M,onSelectionDragStart:v,onSelectionDragStop:P,onMove:d,onMoveStart:f,onMoveEnd:c,noPanClassName:tx,nodeOrigin:Xa,rfId:Uf,autoPanOnConnect:sM,autoPanOnNodeDrag:iM,autoPanSpeed:uM,onError:cM,connectionRadius:dM,isValidConnection:fM,selectNodesOnDrag:Ue,nodeDragThreshold:pM,connectionDragThreshold:mM,onBeforeDelete:k,debug:wM,ariaLabelConfig:bM,zIndexMode:ix}),W(dH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:C,onNodeMouseMove:L,onNodeMouseLeave:y,onNodeContextMenu:S,onNodeDoubleClick:w,nodeTypes:n,edgeTypes:s,connectionLineType:F,connectionLineStyle:G,connectionLineComponent:_,connectionLineContainerStyle:B,selectionKeyCode:X,selectionOnDrag:z,selectionMode:$,deleteKeyCode:U,multiSelectionKeyCode:se,panActivationKeyCode:ie,zoomActivationKeyCode:oe,onlyRenderVisibleElements:Ie,defaultViewport:oa,translateExtent:tr,minZoom:Ka,maxZoom:ja,preventScrolling:IA,zoomOnScroll:vA,zoomOnPinch:kA,zoomOnDoubleClick:DA,panOnScroll:AA,panOnScrollSpeed:MA,panOnScrollMode:PA,panOnDrag:RA,autoPanOnSelection:lM,onPaneClick:TA,onPaneMouseEnter:EA,onPaneMouseMove:BA,onPaneMouseLeave:OA,onPaneScroll:FA,onPaneContextMenu:NA,paneClickDistance:HA,nodeClickDistance:_A,onSelectionContextMenu:R,onSelectionStart:E,onSelectionEnd:O,onReconnect:zA,onReconnectStart:UA,onReconnectEnd:VA,onEdgeContextMenu:WA,onEdgeDoubleClick:GA,onEdgeMouseEnter:$A,onEdgeMouseMove:XA,onEdgeMouseLeave:KA,reconnectRadius:jA,defaultMarkerColor:SA,noDragClassName:JA,noWheelClassName:QA,noPanClassName:tx,rfId:Uf,disableKeyboardA11y:rx,nodeExtent:zf,viewport:gM,onViewportChange:xM}),W(_F,{onSelectionChange:H}),qA,W(BF,{proOptions:aM,position:tM}),W(EF,{rfId:Uf,disableKeyboardA11y:rx})]})})}var MS=rS(mH);var gH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!Ud(a.userNode))return!1;return!0};function PS(t={includeHiddenNodes:!1}){return xe(gH(t))}var KK=_t.error014();function xH({dimensions:t,lineWidth:e,variant:a,className:o}){return W("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:_e(["react-flow__background-pattern",a,o])})}function LH({radius:t,className:e}){return W("circle",{cx:t,cy:t,r:t,className:_e(["react-flow__background-pattern","dots",e])})}var Oa;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Oa||(Oa={}));var CH={[Oa.Dots]:1,[Oa.Lines]:1,[Oa.Cross]:6},yH=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function DS({id:t,variant:e=Oa.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let f=we(null),{transform:c,patternId:h}=xe(yH,De),p=o||CH[e],m=e===Oa.Dots,g=e===Oa.Cross,x=Array.isArray(a)?a:[a,a],C=[x[0]*c[2]||1,x[1]*c[2]||1],L=p*c[2],y=Array.isArray(n)?n:[n,n],S=g?[L,L]:C,w=[y[0]*c[2]||1+S[0]/2,y[1]*c[2]||1+S[1]/2],b=`${h}${t||""}`;return lt("svg",{className:_e(["react-flow__background",u]),style:{...l,...rf,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[W("pattern",{id:b,x:c[0]%C[0],y:c[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:m?W(LH,{radius:L/2,className:d}):W(xH,{dimensions:S,lineWidth:r,variant:e,className:d})}),W("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${b})`})]})}DS.displayName="Background";var RS=Ge(DS);function wH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:W("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function bH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:W("path",{d:"M0 0h32v4.2H0z"})})}function IH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:W("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function SH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function vH(){return W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:W("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ef({children:t,className:e,...a}){return W("button",{type:"button",className:_e(["react-flow__controls-button",e]),...a,children:t})}var kH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function TS({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:f="bottom-left",orientation:c="vertical","aria-label":h}){let p=Oe(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:C}=xe(kH,De),{zoomIn:L,zoomOut:y,fitView:S}=vi(),w=()=>{L(),n?.()},b=()=>{y(),s?.()},I=()=>{S(r),i?.()},A=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return lt(of,{className:_e(["react-flow__controls",c==="horizontal"?"horizontal":"vertical",u]),position:f,style:t,"data-testid":"rf__controls","aria-label":h??C["controls.ariaLabel"],children:[e&<(lo,{children:[W(ef,{onClick:w,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:x,children:W(wH,{})}),W(ef,{onClick:b,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:g,children:W(bH,{})})]}),a&&W(ef,{className:"react-flow__controls-fitview",onClick:I,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:W(IH,{})}),o&&W(ef,{className:"react-flow__controls-interactive",onClick:A,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:m?W(vH,{}):W(SH,{})}),d]})}TS.displayName="Controls";var ES=Ge(TS);function AH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:c,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return W("rect",{className:_e(["react-flow__minimap-node",{selected:c},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:f,onClick:h?x=>h(x,t):void 0})}var MH=Ge(AH),PH=t=>t.nodes.map(e=>e.id),Nm=t=>t instanceof Function?t:()=>t;function DH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=MH,onClick:s}){let i=xe(PH,De),l=Nm(e),u=Nm(t),d=Nm(a),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return W(lo,{children:i.map(c=>W(TH,{id:c,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:f},c))})}function RH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:f,width:c,height:h}=xe(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y:C}=m.internals.positionAbsolute,{width:L,height:y}=Ba(g);return{node:g,x,y:C,width:L,height:y}},De);return!u||u.hidden||!Ud(u)?null:W(i,{x:d,y:f,width:c,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var TH=Ge(RH),EH=Ge(DH),BH=200,OH=150,FH=t=>!t.hidden,NH=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?ym(Un(t.nodeLookup,{filter:FH}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},HH="react-flow__minimap-desc";function BS({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:c="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:C,zoomStep:L=1,offsetScale:y=5}){let S=Oe(),w=we(null),{boundingRect:b,viewBB:I,rfId:A,panZoom:N,translateExtent:D,flowWidth:T,flowHeight:H,ariaLabelConfig:v}=xe(NH,De),M=t?.width??BH,P=t?.height??OH,R=b.width/M,E=b.height/P,O=Math.max(R,E),k=O*M,q=O*P,F=y*O,G=b.x-(k-b.width)/2-F,_=b.y-(q-b.height)/2-F,B=k+F*2,U=q+F*2,X=`${HH}-${A}`,z=we(0),$=we();z.current=O,ke(()=>{if(w.current&&N)return $.current=dI({domNode:w.current,panZoom:N,getTransform:()=>S.getState().transform,getViewScale:()=>z.current}),()=>{$.current?.destroy()}},[N]),ke(()=>{$.current?.update({translateExtent:D,width:T,height:H,inversePan:C,pannable:m,zoomStep:L,zoomable:g})},[m,g,C,L,D,T,H]);let ie=h?ne=>{let[ue,Ie]=$.current?.pointer(ne)||[0,0];h(ne,{x:ue,y:Ie})}:void 0,se=p?Na((ne,ue)=>{let Ie=S.getState().nodeLookup.get(ue).internals.userNode;p(ne,Ie)},[]):void 0,oe=x??v["minimap.ariaLabel"];return W(of,{position:c,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*O:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:_e(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:lt("svg",{width:M,height:P,viewBox:`${G} ${_} ${B} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:w,onClick:ie,children:[oe&&W("title",{id:X,children:oe}),W(EH,{onClick:se,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),W("path",{className:"react-flow__minimap-mask",d:`M${G-F},${_-F}h${B+F*2}v${U+F*2}h${-B-F*2}z
|
|
27
|
+
M${I.x},${I.y}h${I.width}v${I.height}h${-I.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}BS.displayName="MiniMap";var jK=Ge(BS),_H=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,qH={[Ho.Line]:"right",[Ho.Handle]:"bottom-right"};function zH({nodeId:t,position:e,variant:a=Ho.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:c,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let C=lS(),L=typeof t=="string"?t:C,y=Oe(),S=we(null),w=a===Ho.Handle,b=xe(Na(_H(w&&h),[w,h]),De),I=we(null),A=e??qH[a];ke(()=>{if(!(!S.current||!L))return I.current||(I.current=mI({domNode:S.current,nodeId:L,getStoreItems:()=>{let{nodeLookup:D,transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M,domNode:P}=y.getState();return{nodeLookup:D,transform:T,snapGrid:H,snapToGrid:v,nodeOrigin:M,paneDomNode:P}},onChange:(D,T)=>{let{triggerNodeChanges:H,nodeLookup:v,parentLookup:M,nodeOrigin:P}=y.getState(),R=[],E={x:D.x,y:D.y},O=v.get(L);if(O&&O.expandParent&&O.parentId){let k=O.origin??P,q=D.width??O.measured.width??0,F=D.height??O.measured.height??0,G={id:O.id,parentId:O.parentId,rect:{width:q,height:F,...Im({x:D.x??O.position.x,y:D.y??O.position.y},{width:q,height:F},O.parentId,v,k)}},_=jd([G],v,M,P);R.push(..._),E.x=D.x?Math.max(k[0]*q,D.x):void 0,E.y=D.y?Math.max(k[1]*F,D.y):void 0}if(E.x!==void 0&&E.y!==void 0){let k={id:L,type:"position",position:{...E}};R.push(k)}if(D.width!==void 0&&D.height!==void 0){let q={id:L,type:"dimensions",resizing:!0,setAttributes:c?c==="horizontal"?"width":"height":!0,dimensions:{width:D.width,height:D.height}};R.push(q)}for(let k of T){let q={...k,type:"position"};R.push(q)}H(R)},onEnd:({width:D,height:T})=>{let H={id:L,type:"dimensions",resizing:!1,dimensions:{width:D,height:T}};y.getState().triggerNodeChanges([H])}})),I.current.update({controlPosition:A,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:c,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{I.current?.destroy()}},[A,i,l,u,d,f,m,g,x,p]);let N=A.split("-");return W("div",{className:_e(["react-flow__resize-control","nodrag",...N,a,o]),ref:S,style:{...r,scale:b,...s&&{[w?"backgroundColor":"borderColor"]:s}},children:n})}var ZK=Ge(zH);import{forwardRef as $H,createElement as XH}from"react";var sf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var OS=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var FS=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var Um=t=>{let e=FS(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as GH,createElement as _S}from"react";var lf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var NS=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as UH,useContext as VH,useMemo as i9,createElement as l9}from"react";var WH=UH({});var HS=()=>VH(WH);var qS=GH(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=HS()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return _S("svg",{ref:l,...lf,width:e??u??lf.width,height:e??u??lf.height,stroke:t??c,strokeWidth:p,className:sf("lucide",h,r),...!n&&!NS(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>_S(m,g)),...Array.isArray(n)?n:[n]])});var _o=(t,e)=>{let a=$H(({className:o,...r},n)=>XH(qS,{ref:n,iconNode:e,className:sf(`lucide-${OS(Um(t))}`,`lucide-${t}`,o),...r}));return a.displayName=Um(t),a};var KH=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],ki=_o("database",KH);var jH=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ai=_o("file-text",jH);var ZH=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Mi=_o("key-round",ZH);var YH=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Pi=_o("link-2",YH);import{Fragment as kv,jsx as Tt,jsxs as _a}from"react/jsx-runtime";var ev=Object.defineProperty,JH=(t,e,a)=>e in t?ev(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,QH=(t,e)=>{for(var a in e)ev(t,a,{get:e[a],enumerable:!0})},e_=(t,e,a)=>JH(t,typeof e!="symbol"?e+"":e,a),tv={};QH(tv,{Graph:()=>Jt,alg:()=>Zm,json:()=>ov,version:()=>o_});var t_=Object.defineProperty,av=(t,e)=>{for(var a in e)t_(t,a,{get:e[a],enumerable:!0})},Jt=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Di(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=a_(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,zS(this._preds[n],r),zS(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?Vm(this._isDirected,t):Di(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?Vm(this._isDirected,t):Di(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?Vm(this._isDirected,t):Di(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],US(this._preds[s],n),US(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function zS(t,e){t[e]?t[e]++:t[e]=1}function US(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Di(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function a_(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function Vm(t,e){return Di(t,e.v,e.w,e.name)}var o_="4.0.1",ov={};av(ov,{read:()=>i_,write:()=>r_});function r_(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:n_(t),edges:s_(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function n_(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function s_(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function i_(t){let e=new Jt(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var Zm={};av(Zm,{CycleException:()=>df,bellmanFord:()=>rv,components:()=>d_,dijkstra:()=>uf,dijkstraAll:()=>h_,findCycles:()=>p_,floydWarshall:()=>g_,isAcyclic:()=>L_,postorder:()=>y_,preorder:()=>w_,prim:()=>b_,shortestPaths:()=>I_,tarjan:()=>sv,topsort:()=>iv});var l_=()=>1;function rv(t,e,a,o){return u_(t,String(e),a||l_,o||function(r){return t.outEdges(r)})}function u_(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(f){let c=a(f);r[f.v].distance+c<r[f.w].distance&&(r[f.w]={distance:r[f.v].distance+c,predecessor:f.v},n=!0)},u=function(){i.forEach(function(f){o(f).forEach(function(c){let h=c.v===f?c.v:c.w,p=h===c.v?c.w:c.v;l({v:h,w:p})})})};i.forEach(function(f){let c=f===e?0:Number.POSITIVE_INFINITY;r[f]={distance:c,predecessor:""}});let d=i.length;for(let f=1;f<d&&(n=!1,s++,u(),!!n);f++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function d_(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var nv=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},f_=()=>1;function uf(t,e,a,o){let r=function(n){return t.outEdges(n)};return c_(t,String(e),a||f_,o||r)}function c_(t,e,a,o){let r={},n=new nv,s,i,l=function(u){let d=u.v!==s?u.v:u.w,f=r[d],c=a(u),h=i.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+c);h<f.distance&&(f.distance=h,f.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function h_(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=uf(t,r,e,a),o},{})}function sv(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function p_(t){return sv(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var m_=()=>1;function g_(t,e,a){return x_(t,e||m_,a||function(o){return t.outEdges(o)})}function x_(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],f=s[u],c=l[u],h=d.distance+f.distance;h<c.distance&&(c.distance=h,c.predecessor=f.predecessor)})})}),o}var df=class extends Error{constructor(...t){super(...t)}};function iv(t){let e={},a={},o=[];function r(n){if(n in a)throw new df;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new df;return o}function L_(t){try{iv(t)}catch(e){if(e instanceof df)return!1;throw e}return!0}function C_(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=lv(t,i,a==="post",s,n,o,r)}),r}function lv(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=lv(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function uv(t,e,a){return C_(t,e,a,function(o,r){return o.push(r),o},[])}function y_(t,e){return uv(t,e,"post")}function w_(t,e){return uv(t,e,"pre")}function b_(t,e){let a=new Jt,o={},r=new nv,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let f=e(l);f<d&&(o[u]=n,r.decrease(u,f))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function I_(t,e,a,o){return S_(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function S_(t,e,a,o){if(a===void 0)return uf(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,f=d===u.v?u.w:u.v;a({v:d,w:f})<0&&(r=!0)}if(r)return rv(t,e,a,o)}return uf(t,e,a,o)}function jn(t,e,a,o){let r=o;for(;t.hasNode(r);)r=Ym(o);return a.dummy=e,t.setNode(r,a),r}function v_(t){let e=new Jt().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function dv(t){let e=new Jt({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function VS(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Ti(t){let e=Ri(cv(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function k_(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=Ha(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function A_(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=Ha(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function WS(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),jn(t,"border",r,e)}function M_(t,e=fv){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var fv=65535;function Ha(t,e){if(e.length>fv){let a=M_(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function cv(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return Ha(Math.max,e)}function P_(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function hv(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function pv(t,e){return e()}var D_=0;function Ym(t){let e=++D_;return t+(""+e)}function Ri(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function ff(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function cf(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function R_(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var hf="\0",T_="3.0.0",E_=class{constructor(){e_(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return GS(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&GS(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,B_)),a=a._prev;return"["+t.join(", ")+"]"}};function GS(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function B_(t,e){if(t!=="_next"&&t!=="_prev")return e}var O_=E_,F_=()=>1;function N_(t,e){if(t.nodeCount()<=1)return[];let a=__(t,e||F_);return H_(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function H_(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)Wm(t,e,a,i);for(;i=n.dequeue();)Wm(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(Wm(t,e,a,i,!0)||[]);break}}}return r}function Wm(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,jm(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,jm(e,a,d)}),t.removeNode(o.v),s}function __(t,e){let a=new Jt,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let f=a.node(i.v),c=a.node(i.w);r=Math.max(r,f.out+=u),o=Math.max(o,c.in+=u)});let n=q_(r+o+3).map(()=>new O_),s=o+1;return a.nodes().forEach(i=>{jm(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function jm(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function q_(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function z_(t){(t.graph().acyclicer==="greedy"?N_(t,e(t)):U_(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,Ym("rev"))});function e(a){return o=>a.edge(o).weight}}function U_(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function V_(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function W_(t){t.graph().dummyChains=[],t.edges().forEach(e=>G_(t,e))}function G_(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,f;for(f=0,++o;o<n;++f,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=jn(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),f===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function $_(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function Jm(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=Ha(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function Kn(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var mv=X_;function X_(t){let e=new Jt({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;K_(e,t)<r&&(n=j_(e,t),!!n);)s=e.hasNode(n.v)?Kn(t,n):-Kn(t,n),Z_(e,t,s);return e}function K_(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!Kn(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function j_(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=Kn(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function Z_(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:Y_,postorder:J_}=Zm,Q_=Wr;Wr.initLowLimValues=eg;Wr.initCutValues=Qm;Wr.calcCutValue=gv;Wr.leaveEdge=Lv;Wr.enterEdge=Cv;Wr.exchangeEdges=yv;function Wr(t){t=v_(t),Jm(t);let e=mv(t);eg(e),Qm(e,t);let a,o;for(;a=Lv(e);)o=Cv(e,t,a),yv(e,t,a,o)}function Qm(t,e){let a=J_(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>eq(t,e,o))}function eq(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=gv(t,e,a)}function gv(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let f=u===r,c=e.edge(l).weight;if(s+=f?c:-c,aq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=f?-h:h}}}),s}function eg(t,e){arguments.length<2&&(e=t.nodes()[0]),xv(t,{},1,e)}function xv(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=xv(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function Lv(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function Cv(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===$S(t,t.node(u.v),i)&&l!==$S(t,t.node(u.w),i)).reduce((u,d)=>Kn(e,d)<Kn(e,u)?d:u)}function yv(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),eg(t),Qm(t,e),tq(t,e)}function tq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=Y_(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function aq(t,e,a){return t.hasEdge(e,a)}function $S(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var oq=rq;function rq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":XS(t);break;case"tight-tree":sq(t);break;case"longest-path":nq(t);break;case"none":break;default:XS(t)}}var nq=Jm;function sq(t){Jm(t),mv(t)}function XS(t){Q_(t)}var iq=lq;function lq(t){let e=dq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=uq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function uq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function dq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(hf).forEach(o),e}function fq(t){let e=jn(t,"root",{},"_root"),a=cq(t),o=Object.values(a),r=Ha(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=hq(t)+1;t.children(hf).forEach(i=>wv(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function wv(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=WS(t,"_bt"),d=WS(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(d,s),f.borderBottom=d,l.forEach(c=>{var h;wv(t,e,a,o,r,n,c);let p=t.node(c),m=p.borderTop?p.borderTop:c,g=p.borderBottom?p.borderBottom:c,x=p.borderTop?o:2*o,C=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:C,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:C,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function cq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(hf).forEach(o=>a(o,1)),e}function hq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function pq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var mq=gq;function gq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)KS(t,"borderLeft","_bl",a,r,n),KS(t,"borderRight","_br",a,r,n)}}t.children(hf).forEach(e)}function KS(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=jn(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function xq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&bv(t)}function Lq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&Cq(t),(a==="lr"||a==="rl")&&(yq(t),bv(t))}function bv(t){t.nodes().forEach(e=>jS(t.node(e))),t.edges().forEach(e=>jS(t.edge(e)))}function jS(t){let e=t.width;t.width=t.height,t.height=e}function Cq(t){t.nodes().forEach(e=>Gm(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(Gm),Object.hasOwn(o,"y")&&Gm(o)})}function Gm(t){t.y=-t.y}function yq(t){t.nodes().forEach(e=>$m(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach($m),Object.hasOwn(o,"x")&&$m(o)})}function $m(t){let e=t.x;t.x=t.y,t.y=e}function wq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=Ha(Math.max,o),n=Ri(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function bq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=Iq(t,e[o-1],e[o]);return a}function Iq(t,e,a){let o=R_(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(f=>({pos:o[f.w],weight:t.edge(f).weight})).sort((f,c)=>f.pos-c.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*f}),l}function Sq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function vq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return kq(o)}function kq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&Aq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>ff(r,["vs","i","barycenter","weight"]))}function Aq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function Mq(t,e){let a=P_(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,f)=>f.i-d.i),n=[],s=0,i=0,l=0;o.sort(Pq(!!e)),l=ZS(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=ZS(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function ZS(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function Pq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function Iv(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(c=>c!==s&&c!==i));let u=Sq(t,r);u.forEach(c=>{if(t.children(c.v).length){let h=Iv(t,c.v,a,o);l[c.v]=h,Object.hasOwn(h,"barycenter")&&Rq(c,h)}});let d=vq(u,a);Dq(d,l);let f=Mq(d,o);if(s&&i){f.vs=[s,f.vs,i].flat(1);let c=t.predecessors(s);if(c&&c.length){let h=t.node(c[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+h.order+m.order)/(f.weight+2),f.weight+=2}}return f}function Dq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function Rq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Tq(t,e,a,o){o||(o=t.nodes());let r=Eq(t),n=new Jt({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let f=d.v===s?d.w:d.v,c=n.edge(f,s),h=c!==void 0?c.weight:0;n.setEdge(f,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Eq(t){let e;for(;t.hasNode(e=Ym("_root")););return e}function Bq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function Sv(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,Sv);return}let a=cv(t),o=YS(t,Ri(1,a+1),"inEdges"),r=YS(t,Ri(a-1,-1,-1),"outEdges"),n=wq(t);if(JS(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){Oq(u%2?o:r,u%4>=2,l),n=Ti(t);let f=bq(t,n);f<s?(d=0,i=Object.assign({},n),s=f):f===s&&(i=structuredClone(n))}JS(t,i)}function YS(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Tq(t,n,a,o.get(n)||[])})}function Oq(t,e,a){let o=new Jt;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=Iv(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Bq(r,o,s.vs)})}function JS(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function Fq(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,f)=>{let c=Hq(t,d),h=c?t.node(c).order:l;(c||d===u)&&(n.slice(i,f+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),C=x.order;(C<s||h<C)&&!(x.dummy&&t.node(p).dummy)&&vv(a,g,p)})}),i=f+1,s=h)}),n}return e.length&&e.reduce(o),a}function Nq(t,e){let a={};function o(n,s,i,l,u){Ri(s,i).forEach(d=>{let f=n[d];if(f!==void 0&&t.node(f).dummy){let c=t.predecessors(f);c&&c.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&vv(a,h,f)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,f)=>{if(t.node(d).dummy==="border"){let c=t.predecessors(d);if(c&&c.length){let h=c[0];if(h===void 0)return;l=t.node(h).order,o(s,u,f,i,l),u=f,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function Hq(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function vv(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function _q(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function qq(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let f=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),c=(f.length-1)/2;for(let h=Math.floor(c),p=Math.ceil(c);h<=p;++h){let m=f[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!_q(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function zq(t,e,a,o,r=!1){let n={},s=Uq(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let C of p(x))m.push(C)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let C=(x=n[g.v])!=null?x:0,L=s.edge(g);return Math.max(m,C+(L!==void 0?L:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,C)=>{let L=n[C.w],y=s.edge(C);return Math.min(x,(L!==void 0?L:0)-(y!==void 0?y:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function f(h){return s.predecessors(h)||[]}function c(h){return s.successors(h)||[]}return l(u,f),l(d,c),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function Uq(t,e,a,o){let r=new Jt,n=t.graph(),s=Xq(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let f=a[l];if(f!==void 0){let c=r.edge(f,d);r.setEdge(f,d,Math.max(s(t,u,l),c||0))}}l=u}})}),r}function Vq(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=Kq(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function Wq(t,e){let a=Object.values(e),o=Ha(Math.min,a),r=Ha(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-Ha(Math.min,u);s!=="l"&&(d=r-Ha(Math.max,u)),d&&(t[i]=cf(l,f=>f+d))})})}function Gq(t,e=void 0){let a=t.ul;return a?cf(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function $q(t){let e=Ti(t),a=Object.assign(Fq(t,e),Nq(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=qq(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=zq(t,r,l.root,l.align,i==="r");i==="r"&&(u=cf(u,d=>-d)),o[s+i]=u})});let n=Vq(t,o);return Wq(o,n),Gq(o,t.graph().align)}function Xq(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function Kq(t,e){return t.node(e).width}function jq(t){t=dv(t),Zq(t),Object.entries($q(t)).forEach(([e,a])=>t.node(e).x=a)}function Zq(t){let e=Ti(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let f=(d=t.node(u).height)!=null?d:0;return l>f?l:f},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function Yq(t,e={}){let a=e.debugTiming?hv:pv;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>iz(t));return a(" runLayout",()=>Jq(o,a,e)),a(" updateInputGraph",()=>Qq(t,o)),o})}function Jq(t,e,a){e(" makeSpaceForEdgeLabels",()=>lz(t)),e(" removeSelfEdges",()=>xz(t)),e(" acyclic",()=>z_(t)),e(" nestingGraph.run",()=>fq(t)),e(" rank",()=>oq(dv(t))),e(" injectEdgeLabelProxies",()=>uz(t)),e(" removeEmptyRanks",()=>A_(t)),e(" nestingGraph.cleanup",()=>pq(t)),e(" normalizeRanks",()=>k_(t)),e(" assignRankMinMax",()=>dz(t)),e(" removeEdgeLabelProxies",()=>fz(t)),e(" normalize.run",()=>W_(t)),e(" parentDummyChains",()=>iq(t)),e(" addBorderSegments",()=>mq(t)),e(" order",()=>Sv(t,a)),e(" insertSelfEdges",()=>Lz(t)),e(" adjustCoordinateSystem",()=>xq(t)),e(" position",()=>jq(t)),e(" positionSelfEdges",()=>Cz(t)),e(" removeBorderNodes",()=>gz(t)),e(" normalize.undo",()=>$_(t)),e(" fixupEdgeLabelCoords",()=>pz(t)),e(" undoCoordinateSystem",()=>Lq(t)),e(" translateGraph",()=>cz(t)),e(" assignNodeIntersects",()=>hz(t)),e(" reversePoints",()=>mz(t)),e(" acyclic.undo",()=>V_(t))}function Qq(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var ez=["nodesep","edgesep","ranksep","marginx","marginy"],tz={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},az=["acyclicer","ranker","rankdir","align","rankalign"],oz=["width","height","rank"],QS={width:0,height:0},rz=["minlen","weight","width","height","labeloffset"],nz={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},sz=["labelpos"];function iz(t){let e=new Jt({multigraph:!0,compound:!0}),a=Km(t.graph());return e.setGraph(Object.assign({},tz,Xm(a,ez),ff(a,az))),t.nodes().forEach(o=>{let r=Km(t.node(o)),n=Xm(r,oz);Object.keys(QS).forEach(i=>{n[i]===void 0&&(n[i]=QS[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=Km(t.edge(o));e.setEdge(o,Object.assign({},nz,Xm(r,rz),ff(r,sz)))}),e}function lz(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function uz(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};jn(t,"edge-proxy",r,"_ep")}})}function dz(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function fz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function cz(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,f=u.y,c=u.width,h=u.height;e=Math.min(e,d-c/2),a=Math.max(a,d+c/2),o=Math.min(o,f-h/2),r=Math.max(r,f+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(f=>{f.x-=e,f.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function hz(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(VS(o,n)),a.points.push(VS(r,s))})}function pz(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function mz(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function gz(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function xz(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function Lz(t){Ti(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{jn(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function Cz(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function Xm(t,e){return cf(ff(t,e),Number)}function Km(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function yz(t){let e=Ti(t),a=new Jt({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var wz={graphlib:tv,version:T_,layout:Yq,debug:yz,util:{time:hv,notime:pv}},tg=wz;import{jsx as uo,jsxs as Dz}from"react/jsx-runtime";function Av({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return _a("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[_a("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[_a("div",{className:"flex min-w-0 items-center gap-2",children:[Tt(ki,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),Tt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),Tt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),Tt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?Tt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",f=r.has(s.displayName);return _a("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",f?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?_a(kv,{children:[Tt(io,{id:`target-${s.displayName}-left`,type:"target",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Tt(io,{id:`target-${s.displayName}-right`,type:"target",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?_a(kv,{children:[Tt(io,{id:`source-${s.displayName}-left`,type:"source",position:re.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Tt(io,{id:`source-${s.displayName}-right`,type:"source",position:re.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,_a("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?Tt(Mi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?Tt(Pi,{className:["h-3 w-3 shrink-0",f?"text-blue-300":"text-blue-400"].join(" ")}):null,d?Tt(Ai,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,Tt("span",{className:"truncate",children:s.displayName})]}),Tt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),_a("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[_a("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),_a("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var ag=260,Mv=150,Pv=26,rg=390;function Dv(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function Zn(t,e){return`${t}:${e}`}function Rv(t){return t.kind??(t.target?"relation":"scalar")}function bz(t){let e=Rv(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function Iz(t){let e=t.map(bz);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function Tv(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function Sz(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function vz(t){let e=Sz(t),a=new Set([Tv(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function kz(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=Tv(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>vz(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function Az(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function Mz(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function og(t){return Math.max(Mv,74+t.fields.length*Pv)}function Pz(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new tg.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:ag,height:og(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));tg.layout(l);for(let u of o){let d=l.node(u.id),f=og(u);u.position={x:d.x-ag/2,y:d.y-f/2},s=Math.max(s,u.position.x+ag),i=Math.max(i,u.position.y+f)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+rg:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,f=0,c=0;for(let h of r)h.position={x:d,y:f},f+=og(h)+48,c+=1,c>=u&&(c=0,f=0,d+=rg)}}function Ev(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function Bv(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((f,c)=>f.name.localeCompare(c.name)),d=0;u.forEach(f=>{let c=Zn(i.name,f.name),h=f.fields??[],p=Iz(h);a.push({id:c,cartridge:i.name,entity:f.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*rg,y:d}}),d+=Math.max(Mv,74+p.length*Pv)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=Zn(i.name,l.name),d=r.get(u);for(let f of l.fields??[]){let c=Rv(f)==="relation"&&!!f.target,h=c?null:kz(f.name,a);if(!c&&!h)continue;let p=c?f.targetCart??i.name:h?.cartridge,m=c?f.target:h?.entity;if(!p||!m)continue;let g=Zn(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),L=x?.fields.find(b=>b.displayName.toLowerCase()==="id")?.displayName??"__entity",S=d?.fields.find(b=>b.name===f.name||b.displayName===f.name)?.displayName??f.fkField??f.name,w=`${u}:${S}->${g}:${L}`;s.has(w)||(s.add(w),!c&&x&&Az(d,S,x),n.push({id:`${u}:${f.name}->${g}`,source:u,target:g,sourceField:S,targetField:L,label:f.name,relationKind:f.relationKind??(c?void 0:"inferred"),fkField:f.fkField??(c?void 0:f.name)}))}}return Mz(a),{nodes:a,edges:n,totals:Ev(a,n)}}function Ov(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return Pz(a,r),{nodes:a,edges:r,totals:Ev(a,r)}}var Rz={entity:Av},Tz=({fitKey:t})=>{let e=PS(),{fitView:a}=vi();return ct.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),null};function Ez(){let{apiBaseUrl:t}=st(),[e,a]=ct.useState([]),[o,r]=ct.useState(!0),[n,s]=ct.useState(null);return ct.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:js()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function Bz(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var ng=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=Ez(),n=ct.useMemo(()=>Bv(Dv(a)),[a]),s=ct.useMemo(()=>Bz(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),uo("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return uo(Oz,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},Oz=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=$p(e),[n,s]=ct.useState(null),i=ct.useMemo(()=>Ov(t,a),[t,a]);ct.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=ct.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(C,L)=>{let y=g.get(C)??new Set;y.add(L),g.set(C,y)};for(let C of i.edges)C.source!==n&&C.target!==n||(m.add(C.id),p.add(C.source),p.add(C.target),x(C.source,C.sourceField),x(C.target,C.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=ct.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=ct.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),C=p.get(g.target),L=x&&C&&x.position.x>C.position.x?"left":"right",y=L==="left"?"right":"left",S=`${g.target}:${g.targetField}:${y}`,w=m.get(S)??0;m.set(S,w+1);let b=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${L}`,targetHandle:`target-${g.targetField}-${y}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+w%5*12},markerEnd:{type:Fo.ArrowClosed,color:b?"#2563eb":"#64748b"},style:{strokeWidth:n&&b?2.5:1.5,stroke:b?"#2563eb":"#64748b",opacity:b?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),f=ct.useCallback((p,m)=>{let g=m.data,x=Zn(g.cartridge,g.entity);s(C=>C===x?null:x),o?.(g.cartridge,g.entity)},[o]),c=ct.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(Zn(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=ct.useCallback(()=>s(null),[]);return uo("div",{className:"flex h-full min-h-0 w-full flex-col",children:uo("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?uo("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):uo(zm,{children:Dz(MS,{colorMode:"dark",nodes:u,edges:d,nodeTypes:Rz,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:f,onNodeContextMenu:c,onPaneClick:h,proOptions:{hideAttribution:!0},children:[uo(Tz,{fitKey:[...a].sort().join("|")}),uo(RS,{variant:Oa.Dots,gap:16,size:1,color:"#3f3f46"}),uo(ES,{showInteractive:!1})]})})})})};import co from"react";function Fv(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Fv(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Nv(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Fv(t))&&(o&&(o+=" "),o+=e);return o}var Fz=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},Nz=(t,e)=>({classGroupId:t,validator:e}),Vv=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Hv=[],Hz="arbitrary..",_z=t=>{let e=zz(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return qz(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Wv(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?Fz(u,l):l:u||Hv}return a[s]||Hv}}},Wv=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Wv(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},qz=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?Hz+o:void 0})(),zz=t=>{let{theme:e,classGroups:a}=t;return Uz(a,e)},Uz=(t,e)=>{let a=Vv();for(let o in t){let r=t[o];ig(r,a,o,e)}return a},ig=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];Vz(s,e,a,o)}},Vz=(t,e,a,o)=>{if(typeof t=="string"){Wz(t,e,a);return}if(typeof t=="function"){Gz(t,e,a,o);return}$z(t,e,a,o)},Wz=(t,e,a)=>{let o=t===""?e:Gv(e,t);o.classGroupId=a},Gz=(t,e,a,o)=>{if(Xz(t)){ig(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(Nz(a,t))},$z=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];ig(l,Gv(e,i),a,o)}},Gv=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Vv(),a.nextPart.set(s,i)),a=i}return a},Xz=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Kz=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var jz=[],_v=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),Zz=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return _v(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):_v(jz,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},Yz=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},Jz=t=>({cache:Kz(t.cacheSize),parseClassName:Zz(t),sortModifiers:Yz(t),postfixLookupClassGroupIds:Qz(t),..._z(t)}),Qz=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},eU=/\s+/,tU=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(eU),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},aU=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=$v(a))&&(r&&(r+=" "),r+=o);return r},$v=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=$v(t[o]))&&(a&&(a+=" "),a+=e);return a},oU=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=Jz(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=tU(l,a);return r(l,d),d};return n=s,(...l)=>n(aU(...l))},rU=[],Je=t=>{let e=a=>a[t]||rU;return e.isThemeGetter=!0,e},Xv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Kv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,nU=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,sU=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,iU=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,lU=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,uU=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dU=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,qo=t=>nU.test(t),ce=t=>!!t&&!Number.isNaN(Number(t)),qa=t=>!!t&&Number.isInteger(Number(t)),sg=t=>t.endsWith("%")&&ce(t.slice(0,-1)),fo=t=>sU.test(t),jv=()=>!0,fU=t=>iU.test(t)&&!lU.test(t),lg=()=>!1,cU=t=>uU.test(t),hU=t=>dU.test(t),pU=t=>!Q(t)&&!te(t),mU=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),gU=t=>zo(t,Jv,lg),Q=t=>Xv.test(t),Gr=t=>zo(t,Qv,fU),qv=t=>zo(t,SU,ce),xU=t=>zo(t,tk,jv),LU=t=>zo(t,ek,lg),zv=t=>zo(t,Zv,lg),CU=t=>zo(t,Yv,hU),pf=t=>zo(t,ak,cU),te=t=>Kv.test(t),Ei=t=>$r(t,Qv),yU=t=>$r(t,ek),Uv=t=>$r(t,Zv),wU=t=>$r(t,Jv),bU=t=>$r(t,Yv),mf=t=>$r(t,ak,!0),IU=t=>$r(t,tk,!0),zo=(t,e,a)=>{let o=Xv.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},$r=(t,e,a=!1)=>{let o=Kv.exec(t);return o?o[1]?e(o[1]):a:!1},Zv=t=>t==="position"||t==="percentage",Yv=t=>t==="image"||t==="url",Jv=t=>t==="length"||t==="size"||t==="bg-size",Qv=t=>t==="length",SU=t=>t==="number",ek=t=>t==="family-name",tk=t=>t==="number"||t==="weight",ak=t=>t==="shadow";var vU=()=>{let t=Je("color"),e=Je("font"),a=Je("text"),o=Je("font-weight"),r=Je("tracking"),n=Je("leading"),s=Je("breakpoint"),i=Je("container"),l=Je("spacing"),u=Je("radius"),d=Je("shadow"),f=Je("inset-shadow"),c=Je("text-shadow"),h=Je("drop-shadow"),p=Je("blur"),m=Je("perspective"),g=Je("aspect"),x=Je("ease"),C=Je("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),te,Q],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[te,Q,l],A=()=>[qo,"full","auto",...I()],N=()=>[qa,"none","subgrid",te,Q],D=()=>["auto",{span:["full",qa,te,Q]},qa,te,Q],T=()=>[qa,"auto",te,Q],H=()=>["auto","min","max","fr",te,Q],v=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...I()],R=()=>[qo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[qo,"screen","full","dvw","lvw","svw","min","max","fit",...I()],O=()=>[qo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],k=()=>[t,te,Q],q=()=>[...y(),Uv,zv,{position:[te,Q]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",wU,gU,{size:[te,Q]}],_=()=>[sg,Ei,Gr],B=()=>["","none","full",u,te,Q],U=()=>["",ce,Ei,Gr],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[ce,sg,Uv,zv],ie=()=>["","none",p,te,Q],se=()=>["none",ce,te,Q],oe=()=>["none",ce,te,Q],ne=()=>[ce,te,Q],ue=()=>[qo,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[fo],breakpoint:[fo],color:[jv],container:[fo],"drop-shadow":[fo],ease:["in","out","in-out"],font:[pU],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[fo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[fo],shadow:[fo],spacing:["px",ce],text:[fo],"text-shadow":[fo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",qo,Q,te,g]}],container:["container"],"container-type":[{"@container":["","normal","size",te,Q]}],"container-named":[mU],columns:[{columns:[ce,Q,te,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[qa,"auto",te,Q]}],basis:[{basis:[qo,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ce,qo,"auto","initial","none",Q]}],grow:[{grow:["",ce,te,Q]}],shrink:[{shrink:["",ce,te,Q]}],order:[{order:[qa,"first","last","none",te,Q]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...v(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...v()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":v()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:R()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...O()]}],"min-block-size":[{"min-block":["auto",...O()]}],"max-block-size":[{"max-block":["none",...O()]}],w:[{w:[i,"screen",...R()]}],"min-w":[{"min-w":[i,"screen","none",...R()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...R()]}],h:[{h:["screen","lh",...R()]}],"min-h":[{"min-h":["screen","lh","none",...R()]}],"max-h":[{"max-h":["screen","lh",...R()]}],"font-size":[{text:["base",a,Ei,Gr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,IU,xU]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",sg,Q]}],"font-family":[{font:[yU,LU,e]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,te,Q]}],"line-clamp":[{"line-clamp":[ce,"none",te,qv]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",te,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",te,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[ce,"from-font","auto",te,Gr]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[ce,"auto",te,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[qa,te,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",te,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",te,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qa,te,Q],radial:["",te,Q],conic:[qa,te,Q]},bU,CU]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ce,te,Q]}],"outline-w":[{outline:["",ce,Ei,Gr]}],"outline-color":[{outline:k()}],shadow:[{shadow:["","none",d,mf,pf]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":["none",f,mf,pf]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[ce,Gr]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":["none",c,mf,pf]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[ce,te,Q]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ce]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[te,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[ce]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",te,Q]}],filter:[{filter:["","none",te,Q]}],blur:[{blur:ie()}],brightness:[{brightness:[ce,te,Q]}],contrast:[{contrast:[ce,te,Q]}],"drop-shadow":[{"drop-shadow":["","none",h,mf,pf]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:["",ce,te,Q]}],"hue-rotate":[{"hue-rotate":[ce,te,Q]}],invert:[{invert:["",ce,te,Q]}],saturate:[{saturate:[ce,te,Q]}],sepia:[{sepia:["",ce,te,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",te,Q]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[ce,te,Q]}],"backdrop-contrast":[{"backdrop-contrast":[ce,te,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ce,te,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ce,te,Q]}],"backdrop-invert":[{"backdrop-invert":["",ce,te,Q]}],"backdrop-opacity":[{"backdrop-opacity":[ce,te,Q]}],"backdrop-saturate":[{"backdrop-saturate":[ce,te,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",ce,te,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",te,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ce,"initial",te,Q]}],ease:[{ease:["linear","initial",x,te,Q]}],delay:[{delay:[ce,te,Q]}],animate:[{animate:["none",C,te,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,te,Q]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[te,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[qa,te,Q]}],accent:[{accent:k()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",te,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",te,Q]}],fill:[{fill:["none",...k()]}],"stroke-w":[{stroke:[ce,Ei,Gr,qv]}],stroke:[{stroke:["none",...k()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var ok=oU(vU);import Yn from"react";import{createPortal as kU}from"react-dom";import{Fragment as rk,jsx as Ca,jsxs as Uo}from"react/jsx-runtime";import{jsx as bt,jsxs as Jn}from"react/jsx-runtime";function Wo(...t){return ok(Nv(t))}var nk=420,ik=new Set([$u,Xu,Ku,ju,Zu,Yu,Ju,Qu]),lk=new Set([ed,td]);function AU(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-nk-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:nk}}function MU(t,e){if(e===Zs)return{value:t==="true"};if(ik.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(lk.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var PU=({data:t,onClose:e})=>{let{apiBaseUrl:a}=st(),[o,r]=Yn.useState(!1),[n,s]=Yn.useState(t.value),[i,l]=Yn.useState(!1),[u,d]=Yn.useState(null);Yn.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),Yn.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let f=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},c=async()=>{let m=MU(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===Zs,p=ik.has(t.colType)||lk.has(t.colType);return kU(Uo(rk,{children:[Ca("div",{className:"fixed inset-0 z-[60]",onClick:e}),Uo("div",{className:Wo("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:AU(t.rect),onClick:m=>m.stopPropagation(),children:[Uo("div",{className:"mb-2 flex items-center justify-between gap-3",children:[Uo("div",{className:"min-w-0",children:[Ca("div",{className:"truncate font-medium text-foreground",children:t.colName}),Uo("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),Uo("div",{className:"flex shrink-0 items-center gap-1.5",children:[Ca("button",{type:"button",onClick:f,className:Wo("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Ca("button",{type:"button",onClick:c,disabled:i,className:Wo("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?Uo(rk,{children:[h?Uo("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Ca("option",{value:"true",children:"true"}),Ca("option",{value:"false",children:"false"})]}):p?Ca("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&c()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Ca("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Ca("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Ca("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Ca("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},fg=PU,Vo=22,sk=6,DU=80,ug=32,RU=new Set(["id","createdAt","updatedAt"]),TU=new Set([ad,od]);function dg(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max(DU,Math.min(240,t.length*9+24))}var EU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=Xp(t,e),n=co.useRef(null),[s,i]=co.useState(0),[l,u]=co.useState(0),[d,f]=co.useState(""),[c,h]=co.useState(null),[p,m]=co.useState(null),[g,x]=co.useState(0);co.useEffect(()=>(r.setOnRender(()=>x(M=>M+1)),()=>r.setOnRender(null)),[r]),co.useEffect(()=>{let M=n.current;if(!M)return;let P=new ResizeObserver(()=>u(M.clientHeight));return P.observe(M),u(M.clientHeight),()=>P.disconnect()},[]);let C=r.store.rows,L=r.columns,y=C.length*Vo,S=Math.max(0,Math.floor(s/Vo)-sk),w=Math.max(0,Math.ceil(l/Vo)+sk*2),b=Math.min(C.length,S+w),I=M=>{M.key==="Enter"?r.search(d.trim()):M.key==="Escape"&&(f(""),r.clearSearch())},A=M=>{let P=C[M];if(!P)return;let R={};for(let E=0;E<L.length;E++)R[L[E].name]=P[E]??"";o(R)},N=a.length===0,D=ug+L.reduce((M,P)=>M+dg(P.name),0),T=L.findIndex(M=>M.name==="id"),H=M=>{let P=n.current;if(!P)return;let R=M*Vo;R<P.scrollTop?P.scrollTop=R:R+Vo>P.scrollTop+P.clientHeight&&(P.scrollTop=R+Vo-P.clientHeight)},v=M=>{if(C.length===0||L.length===0)return;if((M.metaKey||M.ctrlKey)&&(M.key==="c"||M.key==="C")){if(!c)return;let O=C[c.r]?.[c.c]??"";navigator.clipboard?.writeText(O),M.preventDefault();return}let P=c??{r:S,c:0},{r:R,c:E}=P;if(M.key==="ArrowUp")R--;else if(M.key==="ArrowDown")R++;else if(M.key==="ArrowLeft")E--;else if(M.key==="ArrowRight")E++;else return;M.preventDefault(),R=Math.max(0,Math.min(C.length-1,R)),E=Math.max(0,Math.min(L.length-1,E)),h({r:R,c:E}),m(null),H(R)};return Jn("div",{className:"flex h-full flex-col bg-background",children:[Jn("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[bt("input",{type:"text",value:d,disabled:N,onChange:M=>f(M.target.value),onKeyDown:I,placeholder:N?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:Wo("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",N&&"opacity-50 cursor-not-allowed")}),bt("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?bt("span",{className:"text-red-400",children:r.error}):r.connected?Jn("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]}):bt("span",{children:"connecting\u2026"})})]}),L.length===0?bt("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):bt("div",{ref:n,tabIndex:0,onKeyDown:v,onScroll:M=>{i(M.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:Jn("div",{style:{width:D},children:[Jn("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] uppercase tracking-wider text-muted-foreground",style:{width:D},children:[bt("div",{style:{width:ug},className:"shrink-0 border-r border-border"}),L.map(M=>bt("div",{style:{width:dg(M.name)},className:"flex items-center overflow-hidden border-r border-border px-2",children:bt("span",{className:"truncate",children:M.name})},M.name))]}),bt("div",{style:{height:y,width:D,position:"relative"},children:C.slice(S,b).map((M,P)=>{let R=S+P;return Jn("div",{style:{top:R*Vo,height:Vo,width:D},className:Wo("absolute left-0 flex text-[12px] leading-none",R%2===0?"bg-background":"bg-muted/20"),children:[bt("button",{type:"button",title:"Open row detail",onClick:()=>A(R),style:{width:ug},className:Wo("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:R+1}),L.map((E,O)=>{let k=c?.r===R&&c?.c===O;return bt("div",{"data-selected":k,onClick:q=>{q.stopPropagation(),h({r:R,c:O}),m(null)},onDoubleClick:q=>{q.stopPropagation(),h({r:R,c:O});let F=T>=0&&!RU.has(E.name)&&!TU.has(E.type);m({r:R,c:O,colName:E.name,value:M[O]??"",rect:q.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:T>=0?M[T]??"":"",colType:E.type,editable:F})},style:{width:dg(E.name)},className:Wo("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:M[O],children:bt("span",{className:"truncate",children:M[O]})},E.name)})]},R)})})]})}),p?bt(fg,{data:p,onClose:()=>m(null)}):null,g<0&&bt("span",{})]})},Bi=EU;import{useEffect as BU,useState as gf}from"react";function OU(t){let e={},a=new Set;for(let o of t){let r=o.cartridge;if(!r||!o.owns)continue;let n=[];for(let[s,i]of Object.entries(o.owns)){let l=Array.isArray(i?.searchFields)?i.searchFields:[];n.push({name:s,route:`/_ws/bulk/${r}/${s.toLowerCase()}`,searchFields:l})}n.length>0&&(e[r]=n,o.core&&a.add(r))}return{reg:e,core:a}}function uk(){let{apiBaseUrl:t}=st(),[e,a]=gf({}),[o,r]=gf(new Set),[n,s]=gf(!0),[i,l]=gf(null);BU(()=>{let d=new AbortController,f=!1;return s(!0),l(null),(async()=>{try{let c=await fetch(`${t}/_console/contracts`,{signal:d.signal,credentials:"include",headers:js()});if(!c.ok)throw new Error(`HTTP ${c.status}`);let h=await c.json();if(!Array.isArray(h))throw new Error("malformed contracts response");if(f)return;let{reg:p,core:m}=OU(h);a(p),r(m)}catch(c){if(f||c.name==="AbortError")return;l(c instanceof Error?c.message:String(c))}finally{f||s(!1)}})(),()=>{f=!0,d.abort()}},[t]);let u=Object.keys(e).sort();return{registry:e,carts:u,coreCarts:o,loading:n,error:i}}import ze,{useEffect as cg}from"react";import{jsx as HU}from"react/jsx-runtime";var dk=ze.createContext(null),fk="nimbit-devtools:v1",FU={info:!0,warn:!0,error:!0,plain:!0};function NU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(fk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var hg=({children:t,defaultActiveTab:e})=>{let[a,o]=ze.useState(!1),[r,n]=ze.useState("bottom"),[s,i]=ze.useState(e??null),[l,u]=ze.useState({h:320,w:480}),[d,f]=ze.useState(!1),[c,h]=ze.useState(null),[p,m]=ze.useState(null),[g,x]=ze.useState("table"),[C,L]=ze.useState(null),[y,S]=ze.useState(()=>new Set),[w,b]=ze.useState(176),[I,A]=ze.useState(440),[N,D]=ze.useState(FU),[T,H]=ze.useState(!1),[v,M]=ze.useState(null),[P,R]=ze.useState(null),[E,O]=ze.useState(200),[k,q]=ze.useState(!1),F=ze.useCallback(()=>o(_=>!_),[]);cg(()=>{let _=NU();_.open!=null&&o(_.open),_.dock!=null&&n(_.dock),_.activeTab!=null&&i(_.activeTab),_.size!=null&&u(_.size),_.maximized!=null&&f(_.maximized),_.dataCart!=null&&h(_.dataCart),_.dataEntity!=null&&m(_.dataEntity),_.view!=null&&x(_.view),_.graphCarts!=null&&L(new Set(_.graphCarts)),_.hiddenEntities!=null&&S(new Set(_.hiddenEntities)),_.graphLeftW!=null&&b(_.graphLeftW),_.graphRightW!=null&&A(_.graphRightW),_.consoleFilter!=null&&D(_.consoleFilter),_.consolePaused!=null&&H(_.consolePaused),_.sourcesCart!=null&&M(_.sourcesCart),_.sourcesFile!=null&&R(_.sourcesFile),_.sourcesTreeW!=null&&O(_.sourcesTreeW),q(!0)},[]),cg(()=>{if(typeof window>"u"||!k)return;let _={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:c,dataEntity:p,view:g,graphCarts:C?[...C]:null,hiddenEntities:[...y],graphLeftW:w,graphRightW:I,consoleFilter:N,consolePaused:T,sourcesCart:v,sourcesFile:P,sourcesTreeW:E};try{window.localStorage.setItem(fk,JSON.stringify(_))}catch{}},[k,a,r,s,l,d,c,p,g,C,y,w,I,N,T,v,P,E]);let G=ze.useMemo(()=>({open:a,setOpen:o,toggle:F,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:f,dataCart:c,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:C,setGraphCarts:L,hiddenEntities:y,setHiddenEntities:S,graphLeftW:w,setGraphLeftW:b,graphRightW:I,setGraphRightW:A,consoleFilter:N,setConsoleFilter:D,consolePaused:T,setConsolePaused:H,sourcesCart:v,setSourcesCart:M,sourcesFile:P,setSourcesFile:R,sourcesTreeW:E,setSourcesTreeW:O}),[a,F,r,s,l,d,c,p,g,C,y,w,I,N,T,v,P,E]);return cg(()=>{let _=U=>{U.ctrlKey&&(U.key==="F12"||U.code==="F12")&&(U.preventDefault(),F())},B=()=>F();return window.addEventListener("keydown",_),window.addEventListener("devtools-toggle",B),()=>{window.removeEventListener("keydown",_),window.removeEventListener("devtools-toggle",B)}},[F]),HU(dk.Provider,{value:G,children:t})};function ho(){let t=ze.useContext(dk);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import Jo from"react";import{createPortal as aG}from"react-dom";import{forwardRef as VU,createElement as WU}from"react";var xf=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var ck=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var hk=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var pg=t=>{let e=hk(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as UU,createElement as gk}from"react";var Lf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var pk=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as _U,useContext as qU,useMemo as vj,createElement as kj}from"react";var zU=_U({});var mk=()=>qU(zU);var xk=UU(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:c="currentColor",className:h=""}=mk()??{},p=o??f?Number(a??d)*24/Number(e??u):a??d;return gk("svg",{ref:l,...Lf,width:e??u??Lf.width,height:e??u??Lf.height,stroke:t??c,strokeWidth:p,className:xf("lucide",h,r),...!n&&!pk(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>gk(m,g)),...Array.isArray(n)?n:[n]])});var ge=(t,e)=>{let a=VU(({className:o,...r},n)=>WU(xk,{ref:n,iconNode:e,className:xf(`lucide-${ck(pg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=pg(t),a};var GU=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Oi=ge("chevron-right",GU);var $U=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Go=ge("ellipsis",$U);var XU=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],$o=ge("file-plus-corner",XU);var KU=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],po=ge("loader-circle",KU);var jU=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Fi=ge("lock",jU);var ZU=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Ni=ge("maximize-2",ZU);var YU=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Hi=ge("minimize-2",YU);var JU=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],_i=ge("network",JU);var QU=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],qi=ge("panel-bottom",QU);var eV=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],zi=ge("panel-right",eV);var tV=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Ui=ge("pause",tV);var aV=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Xr=ge("play",aV);var oV=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Vi=ge("plus",oV);var rV=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Wi=ge("save",rV);var nV=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Gi=ge("shield-alert",nV);var sV=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],$i=ge("table-2",sV);var iV=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Xi=ge("trash-2",iV);var lV=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],mo=ge("x",lV);function Lk(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Lk(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Cf(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Lk(t))&&(o&&(o+=" "),o+=e);return o}var uV=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},dV=(t,e)=>({classGroupId:t,validator:e}),Sk=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Ck=[],fV="arbitrary..",cV=t=>{let e=pV(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return hV(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return vk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?uV(u,l):l:u||Ck}return a[s]||Ck}}},vk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=vk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},hV=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?fV+o:void 0})(),pV=t=>{let{theme:e,classGroups:a}=t;return mV(a,e)},mV=(t,e)=>{let a=Sk();for(let o in t){let r=t[o];gg(r,a,o,e)}return a},gg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];gV(s,e,a,o)}},gV=(t,e,a,o)=>{if(typeof t=="string"){xV(t,e,a);return}if(typeof t=="function"){LV(t,e,a,o);return}CV(t,e,a,o)},xV=(t,e,a)=>{let o=t===""?e:kk(e,t);o.classGroupId=a},LV=(t,e,a,o)=>{if(yV(t)){gg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(dV(a,t))},CV=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];gg(l,kk(e,i),a,o)}},kk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Sk(),a.nextPart.set(s,i)),a=i}return a},yV=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,wV=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var bV=[],yk=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),IV=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let f=n.length===0?r:r.slice(l),c=f,h=!1;f.endsWith("!")?(c=f.slice(0,-1),h=!0):f.startsWith("!")&&(c=f.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return yk(n,h,c,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):yk(bV,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},SV=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},vV=t=>({cache:wV(t.cacheSize),parseClassName:IV(t),sortModifiers:SV(t),postfixLookupClassGroupIds:kV(t),...cV(t)}),kV=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},AV=/\s+/,MV=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(AV),u="";for(let d=l.length-1;d>=0;d-=1){let f=l[d],{isExternal:c,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(f);if(c){u=f+(u.length>0?" "+u:u);continue}let x=!!g,C;if(x){let b=m.substring(0,g);C=o(b);let I=C&&s[C]?o(m):void 0;I&&I!==C&&(C=I,x=!1)}else C=o(m);if(!C){if(!x){u=f+(u.length>0?" "+u:u);continue}if(C=o(m),!C){u=f+(u.length>0?" "+u:u);continue}x=!1}let L=h.length===0?"":h.length===1?h[0]:n(h).join(":"),y=p?L+"!":L,S=y+C;if(i.indexOf(S)>-1)continue;i.push(S);let w=r(C,x);for(let b=0;b<w.length;++b){let I=w[b];i.push(y+I)}u=f+(u.length>0?" "+u:u)}return u},PV=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Ak(a))&&(r&&(r+=" "),r+=o);return r},Ak=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Ak(t[o]))&&(a&&(a+=" "),a+=e);return a},DV=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,f)=>f(d),t());return a=vV(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=MV(l,a);return r(l,d),d};return n=s,(...l)=>n(PV(...l))},RV=[],Qe=t=>{let e=a=>a[t]||RV;return e.isThemeGetter=!0,e},Mk=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,TV=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,EV=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,BV=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,OV=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,FV=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,NV=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Xo=t=>TV.test(t),he=t=>!!t&&!Number.isNaN(Number(t)),za=t=>!!t&&Number.isInteger(Number(t)),mg=t=>t.endsWith("%")&&he(t.slice(0,-1)),go=t=>EV.test(t),Dk=()=>!0,HV=t=>BV.test(t)&&!OV.test(t),xg=()=>!1,_V=t=>FV.test(t),qV=t=>NV.test(t),zV=t=>!ee(t)&&!ae(t),UV=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),VV=t=>Ko(t,Ek,xg),ee=t=>Mk.test(t),Kr=t=>Ko(t,Bk,HV),wk=t=>Ko(t,YV,he),WV=t=>Ko(t,Fk,Dk),GV=t=>Ko(t,Ok,xg),bk=t=>Ko(t,Rk,xg),$V=t=>Ko(t,Tk,qV),yf=t=>Ko(t,Nk,_V),ae=t=>Pk.test(t),Ki=t=>jr(t,Bk),XV=t=>jr(t,Ok),Ik=t=>jr(t,Rk),KV=t=>jr(t,Ek),jV=t=>jr(t,Tk),wf=t=>jr(t,Nk,!0),ZV=t=>jr(t,Fk,!0),Ko=(t,e,a)=>{let o=Mk.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},jr=(t,e,a=!1)=>{let o=Pk.exec(t);return o?o[1]?e(o[1]):a:!1},Rk=t=>t==="position"||t==="percentage",Tk=t=>t==="image"||t==="url",Ek=t=>t==="length"||t==="size"||t==="bg-size",Bk=t=>t==="length",YV=t=>t==="number",Ok=t=>t==="family-name",Fk=t=>t==="number"||t==="weight",Nk=t=>t==="shadow";var JV=()=>{let t=Qe("color"),e=Qe("font"),a=Qe("text"),o=Qe("font-weight"),r=Qe("tracking"),n=Qe("leading"),s=Qe("breakpoint"),i=Qe("container"),l=Qe("spacing"),u=Qe("radius"),d=Qe("shadow"),f=Qe("inset-shadow"),c=Qe("text-shadow"),h=Qe("drop-shadow"),p=Qe("blur"),m=Qe("perspective"),g=Qe("aspect"),x=Qe("ease"),C=Qe("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...y(),ae,ee],w=()=>["auto","hidden","clip","visible","scroll"],b=()=>["auto","contain","none"],I=()=>[ae,ee,l],A=()=>[Xo,"full","auto",...I()],N=()=>[za,"none","subgrid",ae,ee],D=()=>["auto",{span:["full",za,ae,ee]},za,ae,ee],T=()=>[za,"auto",ae,ee],H=()=>["auto","min","max","fr",ae,ee],v=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...I()],R=()=>[Xo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],E=()=>[Xo,"screen","full","dvw","lvw","svw","min","max","fit",...I()],O=()=>[Xo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],k=()=>[t,ae,ee],q=()=>[...y(),Ik,bk,{position:[ae,ee]}],F=()=>["no-repeat",{repeat:["","x","y","space","round"]}],G=()=>["auto","cover","contain",KV,VV,{size:[ae,ee]}],_=()=>[mg,Ki,Kr],B=()=>["","none","full",u,ae,ee],U=()=>["",he,Ki,Kr],X=()=>["solid","dashed","dotted","double"],z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>[he,mg,Ik,bk],ie=()=>["","none",p,ae,ee],se=()=>["none",he,ae,ee],oe=()=>["none",he,ae,ee],ne=()=>[he,ae,ee],ue=()=>[Xo,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[go],breakpoint:[go],color:[Dk],container:[go],"drop-shadow":[go],ease:["in","out","in-out"],font:[zV],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[go],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[go],shadow:[go],spacing:["px",he],text:[go],"text-shadow":[go],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Xo,ee,ae,g]}],container:["container"],"container-type":[{"@container":["","normal","size",ae,ee]}],"container-named":[UV],columns:[{columns:[he,ee,ae,i]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[za,"auto",ae,ee]}],basis:[{basis:[Xo,"full","auto",i,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[he,Xo,"auto","initial","none",ee]}],grow:[{grow:["",he,ae,ee]}],shrink:[{shrink:["",he,ae,ee]}],order:[{order:[za,"first","last","none",ae,ee]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...v(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...v()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":v()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:R()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...O()]}],"min-block-size":[{"min-block":["auto",...O()]}],"max-block-size":[{"max-block":["none",...O()]}],w:[{w:[i,"screen",...R()]}],"min-w":[{"min-w":[i,"screen","none",...R()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...R()]}],h:[{h:["screen","lh",...R()]}],"min-h":[{"min-h":["screen","lh","none",...R()]}],"max-h":[{"max-h":["screen","lh",...R()]}],"font-size":[{text:["base",a,Ki,Kr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ZV,WV]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mg,ee]}],"font-family":[{font:[XV,GV,e]}],"font-features":[{"font-features":[ee]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,ae,ee]}],"line-clamp":[{"line-clamp":[he,"none",ae,wk]}],leading:[{leading:[n,...I()]}],"list-image":[{"list-image":["none",ae,ee]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ae,ee]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[he,"from-font","auto",ae,Kr]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[he,"auto",ae,ee]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[za,ae,ee]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ae,ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ae,ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:G()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},za,ae,ee],radial:["",ae,ee],conic:[za,ae,ee]},jV,$V]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[he,ae,ee]}],"outline-w":[{outline:["",he,Ki,Kr]}],"outline-color":[{outline:k()}],shadow:[{shadow:["","none",d,wf,yf]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":["none",f,wf,yf]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[he,Kr]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":["none",c,wf,yf]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[he,ae,ee]}],"mix-blend":[{"mix-blend":[...z(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":z()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[he]}],"mask-image-linear-from-pos":[{"mask-linear-from":$()}],"mask-image-linear-to-pos":[{"mask-linear-to":$()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":$()}],"mask-image-t-to-pos":[{"mask-t-to":$()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":$()}],"mask-image-r-to-pos":[{"mask-r-to":$()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":$()}],"mask-image-b-to-pos":[{"mask-b-to":$()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":$()}],"mask-image-l-to-pos":[{"mask-l-to":$()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":$()}],"mask-image-x-to-pos":[{"mask-x-to":$()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":$()}],"mask-image-y-to-pos":[{"mask-y-to":$()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[ae,ee]}],"mask-image-radial-from-pos":[{"mask-radial-from":$()}],"mask-image-radial-to-pos":[{"mask-radial-to":$()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[he]}],"mask-image-conic-from-pos":[{"mask-conic-from":$()}],"mask-image-conic-to-pos":[{"mask-conic-to":$()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:G()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ae,ee]}],filter:[{filter:["","none",ae,ee]}],blur:[{blur:ie()}],brightness:[{brightness:[he,ae,ee]}],contrast:[{contrast:[he,ae,ee]}],"drop-shadow":[{"drop-shadow":["","none",h,wf,yf]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:["",he,ae,ee]}],"hue-rotate":[{"hue-rotate":[he,ae,ee]}],invert:[{invert:["",he,ae,ee]}],saturate:[{saturate:[he,ae,ee]}],sepia:[{sepia:["",he,ae,ee]}],"backdrop-filter":[{"backdrop-filter":["","none",ae,ee]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[he,ae,ee]}],"backdrop-contrast":[{"backdrop-contrast":[he,ae,ee]}],"backdrop-grayscale":[{"backdrop-grayscale":["",he,ae,ee]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[he,ae,ee]}],"backdrop-invert":[{"backdrop-invert":["",he,ae,ee]}],"backdrop-opacity":[{"backdrop-opacity":[he,ae,ee]}],"backdrop-saturate":[{"backdrop-saturate":[he,ae,ee]}],"backdrop-sepia":[{"backdrop-sepia":["",he,ae,ee]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ae,ee]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[he,"initial",ae,ee]}],ease:[{ease:["linear","initial",x,ae,ee]}],delay:[{delay:[he,ae,ee]}],animate:[{animate:["none",C,ae,ee]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,ae,ee]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[ae,ee,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[za,ae,ee]}],accent:[{accent:k()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ae,ee]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ae,ee]}],fill:[{fill:["none",...k()]}],"stroke-w":[{stroke:[he,Ki,Kr,wk]}],stroke:[{stroke:["none",...k()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Hk=DV(JV);function Ce(...t){return Hk(Cf(t))}import xo from"react";import{Fragment as aW,jsx as It,jsxs as ji}from"react/jsx-runtime";var QV=({children:t})=>{let{apiBaseUrl:e}=st(),[a,o]=xo.useState(null),[r,n]=xo.useState(!0),s=xo.useCallback(async i=>{n(!0);try{let l=await Np(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return xo.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?ji(eW,{children:[It(po,{className:"size-4 animate-spin"}),It("span",{children:"Checking access\u2026"})]}):a?.isAdmin?It(aW,{children:t}):It(tW,{mode:a&&!a.claimed?"signup":"signin",onDone:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},eW=({children:t})=>It("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),tW=({mode:t,onDone:e,loggedInButNotAdmin:a})=>{let{apiBaseUrl:o}=st(),[r,n]=xo.useState(""),[s,i]=xo.useState(""),[l,u]=xo.useState(""),[d,f]=xo.useState(!1),[c,h]=xo.useState(null),p=t==="signup";return It("div",{className:"flex h-full items-center justify-center p-4",children:ji("form",{onSubmit:async g=>{g.preventDefault(),f(!0),h(null);try{p?await _p(o,r,s,l):await Hp(o,s,l),e()}catch(x){h(x instanceof Error?x.message:String(x))}finally{f(!1)}},className:"w-full max-w-64 space-y-2.5",children:[ji("div",{className:"space-y-0.5",children:[It("div",{className:"text-[13px] font-medium text-foreground",children:p?"Claim this instance":"Sign in to devtools"}),It("div",{className:"text-[11px] text-muted-foreground",children:p?"No users yet \u2014 create the first account (becomes console admin).":"Console-operator access required."})]}),a?ji("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[It(Gi,{className:"mt-px size-3.5 shrink-0"}),It("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,p?It("input",{type:"text",required:!0,autoComplete:"name",placeholder:"Name",value:r,onChange:g=>n(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}):null,It("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:s,onChange:g=>i(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),It("input",{type:"password",required:!0,minLength:8,autoComplete:p?"new-password":"current-password",placeholder:p?"Password (min 8)":"Password",value:l,onChange:g=>u(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),c?It("div",{className:"text-[11px] text-red-400",children:c}):null,ji("button",{type:"submit",disabled:d,className:Ce("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",d?"opacity-60":"hover:opacity-90"),children:[d?It(po,{className:"size-3.5 animate-spin"}):null,p?"Create admin account":"Sign in"]})]})})},_k=QV;import Et from"react";import{jsx as Me,jsxs as Qn}from"react/jsx-runtime";var qk=5e3,zk=500,oW=5e3;function rW(t,e){return`${kr(t)}${e}`}function nW(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:Vk(),raw:t.raw,level:a,parsed:e}}catch{}return{id:Vk(),raw:t.raw,level:"plain",parsed:null}}var Uk=0;function Vk(){return Uk+=1,Uk}var Gk={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},sW=()=>{let{apiBaseUrl:t}=st(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=ho(),[n,s]=Et.useState([]),[i,l]=Et.useState({}),u=Et.useRef(null),d=Et.useRef(!0),f=Et.useRef(o);f.current=o,Et.useEffect(()=>{let x=!0,C=null,L=zk,y=null,S=()=>{if(x){try{C=new WebSocket(rW(t,"/_console/logs/ws"),qp("nimbit-logs"))}catch{w();return}C.onopen=()=>{L=zk},C.onmessage=b=>{if(f.current||typeof b.data!="string")return;let I;try{I=JSON.parse(b.data)}catch{return}if(!I.lines||I.lines.length===0)return;let A=I.lines.map(nW);s(N=>{let D=N.concat(A);return D.length>qk?D.slice(D.length-qk):D})},C.onerror=()=>{},C.onclose=()=>{C=null,w()}}},w=()=>{x&&(y=setTimeout(()=>{L=Math.min(L*2,oW),S()},L))};return S(),()=>{x=!1,y&&clearTimeout(y),C&&C.close()}},[t]);let c=Et.useCallback(()=>{let x=u.current;if(!x)return;let C=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=C},[]),h=Et.useRef(0);Et.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),Et.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=Et.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=Et.useCallback(x=>a(C=>({...C,[x]:!C[x]})),[]),g=Et.useCallback(x=>{let C=x.target;for(;C&&C!==x.currentTarget;){let L=C.dataset.rowId;if(L){let y=Number(L);Number.isFinite(y)&&l(S=>({...S,[y]:!S[y]}));return}C=C.parentElement}},[]);return Qn("div",{className:"flex h-full flex-col",children:[Qn("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Me(Wk,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Me(Xr,{className:"size-3.5"}):Me(Ui,{className:"size-3.5"})}),Me(Wk,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Me(Xi,{className:"size-3.5"})}),Me("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Me(iW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Me("div",{className:"flex-1"}),Qn("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Me("div",{ref:u,onScroll:c,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Me("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Me("ul",{onClick:g,children:p.map(x=>Me(uW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},Wk=({className:t,children:e,...a})=>Me("button",{type:"button",className:Ce("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),iW=({label:t,level:e,active:a,onClick:o})=>Me("button",{type:"button",onClick:o,"data-active":a,className:Ce("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",Gk[e]),children:t}),lW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Me("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return Qn("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[Qn("div",{className:Ce("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Me(Oi,{className:Ce("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Me("span",{className:"inline-block size-3 shrink-0"}),Me("span",{className:Ce("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",Gk[t.level]),children:t.level}),a.ts&&Me("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Me("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Me("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>Qn("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Me("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Me("span",{className:"text-zinc-500",children:" @ "}),Me("span",{children:r.file}),Me("span",{className:"text-zinc-500",children:":"}),Me("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},uW=Et.memo(lW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),$k=sW;import{jsx as fW}from"react/jsx-runtime";var dW=()=>fW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),Xk=dW;import aa from"react";import*as Qk from"react";import*as e1 from"react-dom";var If={};dx(If,{Root:()=>hW,Slot:()=>hW,Slottable:()=>pW,createSlot:()=>es,createSlottable:()=>Jk});import*as ut from"react";import*as jk from"react";function Kk(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function cW(...t){return e=>{let a=!1,o=t.map(r=>{let n=Kk(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():Kk(t[r],null)}}}}function ya(...t){return jk.useCallback(cW(...t),t)}function es(t){let e=ut.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];Zk(r)&&typeof bf=="function"&&(r=bf(r._payload)),ut.Children.forEach(r,c=>{if(LW(c)){i=!0;let h=c,p="child"in h.props?h.props.child:h.props.children;Zk(p)&&typeof bf=="function"&&(p=bf(p._payload)),s=mW(h,p),l.push(s?.props?.children)}else l.push(c)}),s?s=ut.cloneElement(s,void 0,l):!i&&ut.Children.count(r)===1&&ut.isValidElement(r)&&(s=r);let u=s?xW(s):void 0,d=ya(o,u);if(!s){if(r||r===0)throw new Error(i?bW(t):wW(t));return r}let f=gW(n,s.props??{});return s.type!==ut.Fragment&&(f.ref=o?d:u),ut.cloneElement(s,f)});return e.displayName=`${t}.Slot`,e}var hW=es("Slot"),Yk=Symbol.for("radix.slottable");function Jk(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=Yk,e}var pW=Jk("Slottable"),mW=(t,e)=>{if("child"in t.props){let a=t.props.child;return ut.isValidElement(a)?ut.cloneElement(a,void 0,t.props.children(a.props.children)):null}return ut.isValidElement(e)?e:null};function gW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function xW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function LW(t){return ut.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Yk}var CW=Symbol.for("react.lazy");function Zk(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===CW&&"_payload"in t&&yW(t._payload)}function yW(t){return typeof t=="object"&&t!==null&&"then"in t}var wW=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,bW=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,bf=ut[" use ".trim().toString()];import{jsx as IW}from"react/jsx-runtime";var SW=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],qt=SW.reduce((t,e)=>{let a=es(`Primitive.${e}`),o=Qk.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),IW(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function t1(t,e){t&&e1.flushSync(()=>t.dispatchEvent(e))}import*as Qt from"react";import{jsx as a1}from"react/jsx-runtime";function o1(t,e){let a=Qt.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=Qt.useMemo(()=>i,Object.values(i));return a1(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=Qt.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function r1(t,e=[]){let a=[];function o(n,s){let i=Qt.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=f=>{let{scope:c,children:h,...p}=f,m=c?.[t]?.[l]||i,g=Qt.useMemo(()=>p,Object.values(p));return a1(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(f,c){let h=c?.[t]?.[l]||i,p=Qt.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${f}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>Qt.createContext(s));return function(i){let l=i?.[t]||n;return Qt.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,vW(r,...e)]}function vW(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let f=l(n)[`__scope${u}`];return{...i,...f}},{});return Qt.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var xZ=!!(typeof window<"u"&&window.document&&window.document.createElement);function Ua(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as ea from"react";import*as n1 from"react";var Lo=globalThis?.document?n1.useLayoutEffect:()=>{};import*as Sf from"react";var kW=ea[" useInsertionEffect ".trim().toString()]||Lo;function s1({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=AW({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=ea.useRef(t!==void 0);ea.useEffect(()=>{let f=d.current;f!==i&&console.warn(`${o} is changing from ${f?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=ea.useCallback(d=>{if(i){let f=MW(d)?d(t):d;f!==t&&s.current?.(f)}else n(d)},[i,t,n,s]);return[l,u]}function AW({defaultProp:t,onChange:e}){let[a,o]=ea.useState(t),r=ea.useRef(a),n=ea.useRef(e);return kW(()=>{n.current=e},[e]),ea.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function MW(t){return typeof t=="function"}import*as ht from"react";import*as l1 from"react";function PW(t,e){return l1.useReducer((a,o)=>e[a][o]??a,t)}var Zi=t=>{let{present:e,children:a}=t,o=DW(e),r=typeof a=="function"?a({present:o.isPresent}):ht.Children.only(a),n=RW(o.ref,TW(r));return typeof a=="function"||o.isPresent?ht.cloneElement(r,{ref:n}):null};Zi.displayName="Presence";function DW(t){let[e,a]=ht.useState(),o=ht.useRef(null),r=ht.useRef(t),n=ht.useRef("none"),s=t?"mounted":"unmounted",[i,l]=PW(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return ht.useEffect(()=>{let u=vf(o.current);n.current=i==="mounted"?u:"none"},[i]),Lo(()=>{let u=o.current,d=r.current;if(d!==t){let c=n.current,h=vf(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&c!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),Lo(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,f=h=>{let m=vf(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},c=h=>{h.target===e&&(n.current=vf(o.current))};return e.addEventListener("animationstart",c),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",c),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:ht.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function i1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function RW(...t){let e=ht.useRef(t);return e.current=t,ht.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=i1(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():i1(o[s],null)}}},[])}function vf(t){return t?.animationName||"none"}function TW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as Lg from"react";var EW=Lg[" useId ".trim().toString()]||(()=>{}),BW=0;function kf(t){let[e,a]=Lg.useState(EW());return Lo(()=>{t||a(o=>o??String(BW++))},[t]),t||(e?`radix-${e}`:"")}var Va={};dx(Va,{Close:()=>z3,Content:()=>H3,Description:()=>q3,Dialog:()=>qg,DialogClose:()=>jg,DialogContent:()=>Gg,DialogDescription:()=>Kg,DialogOverlay:()=>Wg,DialogPortal:()=>Vg,DialogTitle:()=>Xg,DialogTrigger:()=>zg,Overlay:()=>N3,Portal:()=>F3,Root:()=>B3,Title:()=>_3,Trigger:()=>O3,WarningProvider:()=>D3,createDialogScope:()=>I3});import*as Pe from"react";import*as Fe from"react";import*as ts from"react";function jo(t){let e=ts.useRef(t);return ts.useEffect(()=>{e.current=t}),ts.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as u1 from"react";function d1(t,e=globalThis?.document){let a=jo(t);u1.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as h1}from"react/jsx-runtime";var OW="DismissableLayer",Cg="dismissableLayer.update",FW="dismissableLayer.pointerDownOutside",NW="dismissableLayer.focusOutside",f1,p1=Fe.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),yg=Fe.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=Fe.useContext(p1),[d,f]=Fe.useState(null),c=d?.ownerDocument??globalThis?.document,[,h]=Fe.useState({}),p=ya(e,b=>f(b)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),C=d?m.indexOf(d):-1,L=u.layersWithOutsidePointerEventsDisabled.size>0,y=C>=x,S=qW(b=>{let I=b.target,A=[...u.branches].some(N=>N.contains(I));!y||A||(r?.(b),s?.(b),b.defaultPrevented||i?.())},c),w=zW(b=>{let I=b.target;[...u.branches].some(N=>N.contains(I))||(n?.(b),s?.(b),b.defaultPrevented||i?.())},c);return d1(b=>{C===u.layers.size-1&&(o?.(b),!b.defaultPrevented&&i&&(b.preventDefault(),i()))},c),Fe.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(f1=c.body.style.pointerEvents,c.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),c1(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(c.body.style.pointerEvents=f1))}},[d,c,a,u]),Fe.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),c1())},[d,u]),Fe.useEffect(()=>{let b=()=>h({});return document.addEventListener(Cg,b),()=>document.removeEventListener(Cg,b)},[]),h1(qt.div,{...l,ref:p,style:{pointerEvents:L?y?"auto":"none":void 0,...t.style},onFocusCapture:Ua(t.onFocusCapture,w.onFocusCapture),onBlurCapture:Ua(t.onBlurCapture,w.onBlurCapture),onPointerDownCapture:Ua(t.onPointerDownCapture,S.onPointerDownCapture)})});yg.displayName=OW;var HW="DismissableLayerBranch",_W=Fe.forwardRef((t,e)=>{let a=Fe.useContext(p1),o=Fe.useRef(null),r=ya(e,o);return Fe.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),h1(qt.div,{...t,ref:r})});_W.displayName=HW;function qW(t,e=globalThis?.document){let a=jo(t),o=Fe.useRef(!1),r=Fe.useRef(()=>{});return Fe.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){m1(FW,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function zW(t,e=globalThis?.document){let a=jo(t),o=Fe.useRef(!1);return Fe.useEffect(()=>{let r=n=>{n.target&&!o.current&&m1(NW,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function c1(){let t=new CustomEvent(Cg);document.dispatchEvent(t)}function m1(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?t1(r,n):r.dispatchEvent(n)}import*as ta from"react";import{jsx as UW}from"react/jsx-runtime";var wg="focusScope.autoFocusOnMount",bg="focusScope.autoFocusOnUnmount",g1={bubbles:!1,cancelable:!0},VW="FocusScope",Ig=ta.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=ta.useState(null),u=jo(r),d=jo(n),f=ta.useRef(null),c=ya(e,m=>l(m)),h=ta.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ta.useEffect(()=>{if(o){let C=function(w){if(h.paused||!i)return;let b=w.target;i.contains(b)?f.current=b:Zo(f.current,{select:!0})},L=function(w){if(h.paused||!i)return;let b=w.relatedTarget;b!==null&&(i.contains(b)||Zo(f.current,{select:!0}))},y=function(w){if(document.activeElement===document.body)for(let I of w)I.removedNodes.length>0&&Zo(i)};var m=C,g=L,x=y;document.addEventListener("focusin",C),document.addEventListener("focusout",L);let S=new MutationObserver(y);return i&&S.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",L),S.disconnect()}}},[o,i,h.paused]),ta.useEffect(()=>{if(i){L1.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(wg,g1);i.addEventListener(wg,u),i.dispatchEvent(x),x.defaultPrevented||(WW(jW(y1(i)),{select:!0}),document.activeElement===m&&Zo(i))}return()=>{i.removeEventListener(wg,u),setTimeout(()=>{let x=new CustomEvent(bg,g1);i.addEventListener(bg,d),i.dispatchEvent(x),x.defaultPrevented||Zo(m??document.body,{select:!0}),i.removeEventListener(bg,d),L1.remove(h)},0)}}},[i,u,d,h]);let p=ta.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let C=m.currentTarget,[L,y]=GW(C);L&&y?!m.shiftKey&&x===y?(m.preventDefault(),a&&Zo(L,{select:!0})):m.shiftKey&&x===L&&(m.preventDefault(),a&&Zo(y,{select:!0})):x===C&&m.preventDefault()}},[a,o,h.paused]);return UW(qt.div,{tabIndex:-1,...s,ref:c,onKeyDown:p})});Ig.displayName=VW;function WW(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(Zo(o,{select:e}),document.activeElement!==a)return}function GW(t){let e=y1(t),a=x1(e,t),o=x1(e.reverse(),t);return[a,o]}function y1(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function x1(t,e){for(let a of t)if(!$W(a,{upTo:e}))return a}function $W(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function XW(t){return t instanceof HTMLInputElement&&"select"in t}function Zo(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&XW(t)&&e&&t.select()}}var L1=KW();function KW(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=C1(t,e),t.unshift(e)},remove(e){t=C1(t,e),t[0]?.resume()}}}function C1(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function jW(t){return t.filter(e=>e.tagName!=="A")}import*as Af from"react";import*as w1 from"react-dom";import{jsx as ZW}from"react/jsx-runtime";var YW="Portal",Sg=Af.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=Af.useState(!1);Lo(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?w1.createPortal(ZW(qt.div,{...o,ref:e}),s):null});Sg.displayName=YW;import*as I1 from"react";var Mf=0,as=null;function S1(){I1.useEffect(()=>{as||(as={start:b1(),end:b1()});let{start:t,end:e}=as;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),Mf++,()=>{Mf===1&&(as?.start.remove(),as?.end.remove(),as=null),Mf=Math.max(0,Mf-1)}},[])}function b1(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Bt=function(){return Bt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Bt.apply(this,arguments)};function Pf(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function v1(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as Bf from"react";import*as pt from"react";var Zr="right-scroll-bar-position",Yr="width-before-scroll-bar",vg="with-scroll-bars-hidden",kg="--removed-body-scroll-bar-size";function Df(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as JW}from"react";function k1(t,e){var a=JW(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as Rf from"react";var QW=typeof window<"u"?Rf.useLayoutEffect:Rf.useEffect,A1=new WeakMap;function Ag(t,e){var a=k1(e||null,function(o){return t.forEach(function(r){return Df(r,o)})});return QW(function(){var o=A1.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||Df(i,null)}),n.forEach(function(i){r.has(i)||Df(i,s)})}A1.set(a,t)},[t]),a}function e3(t){return t}function t3(t,e){e===void 0&&(e=e3);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function Mg(t){t===void 0&&(t={});var e=t3(null);return e.options=Bt({async:!0,ssr:!1},t),e}import*as M1 from"react";var P1=function(t){var e=t.sideCar,a=Pf(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return M1.createElement(o,Bt({},a))};P1.isSideCarExport=!0;function Pg(t,e){return t.useMedium(e),P1}var Tf=Mg();var Dg=function(){},Yi=pt.forwardRef(function(t,e){var a=pt.useRef(null),o=pt.useState({onScrollCapture:Dg,onWheelCapture:Dg,onTouchMoveCapture:Dg}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,f=t.shards,c=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,C=x===void 0?"div":x,L=t.gapMode,y=Pf(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=c,w=Ag([a,e]),b=Bt(Bt({},y),r);return pt.createElement(pt.Fragment,null,d&&pt.createElement(S,{sideCar:Tf,removeScrollBar:u,shards:f,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:L}),s?pt.cloneElement(pt.Children.only(i),Bt(Bt({},b),{ref:w})):pt.createElement(C,Bt({},b,{className:l,ref:w}),i))});Yi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Yi.classNames={fullWidth:Yr,zeroRight:Zr};import*as Re from"react";import*as rs from"react";import*as T1 from"react";var D1;var R1=function(){if(D1)return D1;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function a3(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=R1();return e&&t.setAttribute("nonce",e),t}function o3(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function r3(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var Rg=function(){var t=0,e=null;return{add:function(a){t==0&&(e=a3())&&(o3(e,a),r3(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var Tg=function(){var t=Rg();return function(e,a){T1.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var Ji=function(){var t=Tg(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var n3={left:0,top:0,right:0,gap:0},Eg=function(t){return parseInt(t||"",10)||0},s3=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[Eg(a),Eg(o),Eg(r)]},Bg=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return n3;var e=s3(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var i3=Ji(),os="data-scroll-locked",l3=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
|
|
28
|
+
.`.concat(vg,` {
|
|
29
29
|
overflow: hidden `).concat(o,`;
|
|
30
30
|
padding-right: `).concat(i,"px ").concat(o,`;
|
|
31
31
|
}
|
|
@@ -59,20 +59,20 @@ var kM=Object.create;var Vf=Object.defineProperty;var AM=Object.getOwnPropertyDe
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
body[`).concat(os,`] {
|
|
62
|
-
`).concat(
|
|
62
|
+
`).concat(kg,": ").concat(i,`px;
|
|
63
63
|
}
|
|
64
|
-
`)},
|
|
64
|
+
`)},E1=function(){var t=parseInt(document.body.getAttribute(os)||"0",10);return isFinite(t)?t:0},u3=function(){rs.useEffect(function(){return document.body.setAttribute(os,(E1()+1).toString()),function(){var t=E1()-1;t<=0?document.body.removeAttribute(os):document.body.setAttribute(os,t.toString())}},[])},Og=function(t){var e=t.noRelative,a=t.noImportant,o=t.gapMode,r=o===void 0?"margin":o;u3();var n=rs.useMemo(function(){return Bg(r)},[r]);return rs.createElement(i3,{styles:l3(n,!e,r,a?"":"!important")})};var Fg=!1;if(typeof window<"u")try{Qi=Object.defineProperty({},"passive",{get:function(){return Fg=!0,!0}}),window.addEventListener("test",Qi,Qi),window.removeEventListener("test",Qi,Qi)}catch{Fg=!1}var Qi,Jr=Fg?{passive:!1}:!1;var d3=function(t){return t.tagName==="TEXTAREA"},B1=function(t,e){if(!(t instanceof Element))return!1;var a=window.getComputedStyle(t);return a[e]!=="hidden"&&!(a.overflowY===a.overflowX&&!d3(t)&&a[e]==="visible")},f3=function(t){return B1(t,"overflowY")},c3=function(t){return B1(t,"overflowX")},Ng=function(t,e){var a=e.ownerDocument,o=e;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=O1(t,o);if(r){var n=F1(t,o),s=n[1],i=n[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},h3=function(t){var e=t.scrollTop,a=t.scrollHeight,o=t.clientHeight;return[e,a,o]},p3=function(t){var e=t.scrollLeft,a=t.scrollWidth,o=t.clientWidth;return[e,a,o]},O1=function(t,e){return t==="v"?f3(e):c3(e)},F1=function(t,e){return t==="v"?h3(e):p3(e)},m3=function(t,e){return t==="h"&&e==="rtl"?-1:1},N1=function(t,e,a,o,r){var n=m3(t,window.getComputedStyle(e).direction),s=n*o,i=a.target,l=e.contains(i),u=!1,d=s>0,f=0,c=0;do{if(!i)break;var h=F1(t,i),p=h[0],m=h[1],g=h[2],x=m-g-n*p;(p||x)&&O1(t,i)&&(f+=x,c+=p);var C=i.parentNode;i=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&(r&&Math.abs(f)<1||!r&&s>f)||!d&&(r&&Math.abs(c)<1||!r&&-s>c))&&(u=!0),u};var Ef=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},H1=function(t){return[t.deltaX,t.deltaY]},_1=function(t){return t&&"current"in t?t.current:t},g3=function(t,e){return t[0]===e[0]&&t[1]===e[1]},x3=function(t){return`
|
|
65
65
|
.block-interactivity-`.concat(t,` {pointer-events: none;}
|
|
66
66
|
.allow-interactivity-`).concat(t,` {pointer-events: all;}
|
|
67
|
-
`)},
|
|
67
|
+
`)},L3=0,ns=[];function q1(t){var e=Re.useRef([]),a=Re.useRef([0,0]),o=Re.useRef(),r=Re.useState(L3++)[0],n=Re.useState(Ji)[0],s=Re.useRef(t);Re.useEffect(function(){s.current=t},[t]),Re.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var m=v1([t.lockRef.current],(t.shards||[]).map(_1),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var i=Re.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var x=Ef(m),C=a.current,L="deltaX"in m?m.deltaX:C[0]-x[0],y="deltaY"in m?m.deltaY:C[1]-x[1],S,w=m.target,b=Math.abs(L)>Math.abs(y)?"h":"v";if("touches"in m&&b==="h"&&w.type==="range")return!1;var I=window.getSelection(),A=I&&I.anchorNode,N=A?A===w||A.contains(w):!1;if(N)return!1;var D=Ng(b,w);if(!D)return!0;if(D?S=b:(S=b==="v"?"h":"v",D=Ng(b,w)),!D)return!1;if(!o.current&&"changedTouches"in m&&(L||y)&&(o.current=S),!S)return!0;var T=o.current||S;return N1(T,g,m,T==="h"?L:y,!0)},[]),l=Re.useCallback(function(m){var g=m;if(!(!ns.length||ns[ns.length-1]!==n)){var x="deltaY"in g?H1(g):Ef(g),C=e.current.filter(function(S){return S.name===g.type&&(S.target===g.target||g.target===S.shadowParent)&&g3(S.delta,x)})[0];if(C&&C.should){g.cancelable&&g.preventDefault();return}if(!C){var L=(s.current.shards||[]).map(_1).filter(Boolean).filter(function(S){return S.contains(g.target)}),y=L.length>0?i(g,L[0]):!s.current.noIsolation;y&&g.cancelable&&g.preventDefault()}}},[]),u=Re.useCallback(function(m,g,x,C){var L={name:m,delta:g,target:x,should:C,shadowParent:C3(x)};e.current.push(L),setTimeout(function(){e.current=e.current.filter(function(y){return y!==L})},1)},[]),d=Re.useCallback(function(m){a.current=Ef(m),o.current=void 0},[]),f=Re.useCallback(function(m){u(m.type,H1(m),m.target,i(m,t.lockRef.current))},[]),c=Re.useCallback(function(m){u(m.type,Ef(m),m.target,i(m,t.lockRef.current))},[]);Re.useEffect(function(){return ns.push(n),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:c}),document.addEventListener("wheel",l,Jr),document.addEventListener("touchmove",l,Jr),document.addEventListener("touchstart",d,Jr),function(){ns=ns.filter(function(m){return m!==n}),document.removeEventListener("wheel",l,Jr),document.removeEventListener("touchmove",l,Jr),document.removeEventListener("touchstart",d,Jr)}},[]);var h=t.removeScrollBar,p=t.inert;return Re.createElement(Re.Fragment,null,p?Re.createElement(n,{styles:x3(r)}):null,h?Re.createElement(Og,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function C3(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}var z1=Pg(Tf,q1);var U1=Bf.forwardRef(function(t,e){return Bf.createElement(Yi,Bt({},t,{ref:e,sideCar:z1}))});U1.classNames=Yi.classNames;var Hg=U1;var y3=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},ss=new WeakMap,Of=new WeakMap,Ff={},_g=0,V1=function(t){return t&&(t.host||V1(t.parentNode))},w3=function(t,e){return e.map(function(a){if(t.contains(a))return a;var o=V1(a);return o&&t.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",t,". Doing nothing"),null)}).filter(function(a){return!!a})},b3=function(t,e,a,o){var r=w3(e,Array.isArray(t)?t:[t]);Ff[a]||(Ff[a]=new WeakMap);var n=Ff[a],s=[],i=new Set,l=new Set(r),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};r.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(c){if(i.has(c))d(c);else try{var h=c.getAttribute(o),p=h!==null&&h!=="false",m=(ss.get(c)||0)+1,g=(n.get(c)||0)+1;ss.set(c,m),n.set(c,g),s.push(c),m===1&&p&&Of.set(c,!0),g===1&&c.setAttribute(a,"true"),p||c.setAttribute(o,"true")}catch(x){console.error("aria-hidden: cannot operate on ",c,x)}})};return d(e),i.clear(),_g++,function(){s.forEach(function(f){var c=ss.get(f)-1,h=n.get(f)-1;ss.set(f,c),n.set(f,h),c||(Of.has(f)||f.removeAttribute(o),Of.delete(f)),h||f.removeAttribute(a)}),_g--,_g||(ss=new WeakMap,ss=new WeakMap,Of=new WeakMap,Ff={})}},W1=function(t,e,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(t)?t:[t]),r=e||y3(t);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),b3(o,r,a,"aria-hidden")):function(){return null}};import{Fragment as G1,jsx as $e,jsxs as $1}from"react/jsx-runtime";var Hf="Dialog",[X1,I3]=r1(Hf),[S3,wa]=X1(Hf),qg=t=>{let{__scopeDialog:e,children:a,open:o,defaultOpen:r,onOpenChange:n,modal:s=!0}=t,i=Pe.useRef(null),l=Pe.useRef(null),[u,d]=s1({prop:o,defaultProp:r??!1,onChange:n,caller:Hf});return $e(S3,{scope:e,triggerRef:i,contentRef:l,contentId:kf(),titleId:kf(),descriptionId:kf(),open:u,onOpenChange:d,onOpenToggle:Pe.useCallback(()=>d(f=>!f),[d]),modal:s,children:a})};qg.displayName=Hf;var K1="DialogTrigger",zg=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=wa(K1,a),n=ya(e,r.triggerRef);return $e(qt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Zg(r.open),...o,ref:n,onClick:Ua(t.onClick,r.onOpenToggle)})});zg.displayName=K1;var Ug="DialogPortal",[v3,j1]=X1(Ug,{forceMount:void 0}),Vg=t=>{let{__scopeDialog:e,forceMount:a,children:o,container:r}=t,n=wa(Ug,e);return $e(v3,{scope:e,forceMount:a,children:Pe.Children.map(o,s=>$e(Zi,{present:a||n.open,children:$e(Sg,{asChild:!0,container:r,children:s})}))})};Vg.displayName=Ug;var Nf="DialogOverlay",Wg=Pe.forwardRef((t,e)=>{let a=j1(Nf,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=wa(Nf,t.__scopeDialog);return n.modal?$e(Zi,{present:o||n.open,children:$e(A3,{...r,ref:e})}):null});Wg.displayName=Nf;var k3=es("DialogOverlay.RemoveScroll"),A3=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=wa(Nf,a);return $e(Hg,{as:k3,allowPinchZoom:!0,shards:[r.contentRef],children:$e(qt.div,{"data-state":Zg(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),Qr="DialogContent",Gg=Pe.forwardRef((t,e)=>{let a=j1(Qr,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=wa(Qr,t.__scopeDialog);return $e(Zi,{present:o||n.open,children:n.modal?$e(M3,{...r,ref:e}):$e(P3,{...r,ref:e})})});Gg.displayName=Qr;var M3=Pe.forwardRef((t,e)=>{let a=wa(Qr,t.__scopeDialog),o=Pe.useRef(null),r=ya(e,a.contentRef,o);return Pe.useEffect(()=>{let n=o.current;if(n)return W1(n)},[]),$e(Z1,{...t,ref:r,trapFocus:a.open,disableOutsidePointerEvents:a.open,onCloseAutoFocus:Ua(t.onCloseAutoFocus,n=>{n.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:Ua(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&n.preventDefault()}),onFocusOutside:Ua(t.onFocusOutside,n=>n.preventDefault())})}),P3=Pe.forwardRef((t,e)=>{let a=wa(Qr,t.__scopeDialog),o=Pe.useRef(!1),r=Pe.useRef(!1);return $e(Z1,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(o.current||a.triggerRef.current?.focus(),n.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(o.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=n.target;a.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),Z1=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:n,...s}=t,i=wa(Qr,a),l=Pe.useRef(null),u=ya(e,l);return S1(),$1(G1,{children:[$e(Ig,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:n,children:$e(yg,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":Zg(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),$1(G1,{children:[$e(R3,{titleId:i.titleId}),$e(E3,{contentRef:l,descriptionId:i.descriptionId})]})]})}),$g="DialogTitle",Xg=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=wa($g,a);return $e(qt.h2,{id:r.titleId,...o,ref:e})});Xg.displayName=$g;var Y1="DialogDescription",Kg=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=wa(Y1,a);return $e(qt.p,{id:r.descriptionId,...o,ref:e})});Kg.displayName=Y1;var J1="DialogClose",jg=Pe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=wa(J1,a);return $e(qt.button,{type:"button",...o,ref:e,onClick:Ua(t.onClick,()=>r.onOpenChange(!1))})});jg.displayName=J1;function Zg(t){return t?"open":"closed"}var Q1="DialogTitleWarning",[D3,eA]=o1(Q1,{contentName:Qr,titleName:$g,docsSlug:"dialog"}),R3=({titleId:t})=>{let e=eA(Q1),a=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
|
|
68
68
|
|
|
69
69
|
If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
70
70
|
|
|
71
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Pe.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},R3="DialogDescriptionWarning",T3=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Q1(R3).contentName}}.`;return Pe.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},E3=Hg,B3=_g,O3=zg,F3=Ug,N3=Vg,H3=Gg,_3=$g,q3=Xg;var eA=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,tA=Cf,aA=(t,e)=>a=>{var o;if(e?.variants==null)return tA(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],f=n?.[u];if(d===null)return null;let c=eA(d)||eA(f);return r[u][c]}),i=a&&Object.entries(a).reduce((u,d)=>{let[f,c]=d;return c===void 0||(u[f]=c),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:f,className:c,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,f,c]:u},[]);return tA(t,s,l,a?.class,a?.className)};import{jsx as U3}from"react/jsx-runtime";var z3=aA("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function oA({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?If.Root:"button";return U3(n,{"data-slot":"button","data-variant":e,"data-size":a,className:Ce(z3({variant:e,size:a,className:t})),...r})}import{jsx as Wa,jsxs as jg}from"react/jsx-runtime";function rA({...t}){return Wa(Va.Root,{"data-slot":"sheet",...t})}function V3({...t}){return Wa(Va.Portal,{"data-slot":"sheet-portal",...t})}function W3({className:t,...e}){return Wa(Va.Overlay,{"data-slot":"sheet-overlay",className:Ce("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function nA({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return jg(V3,{children:[Wa(W3,{}),jg(Va.Content,{"data-slot":"sheet-content","data-side":a,className:Ce("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&Wa(Va.Close,{"data-slot":"sheet-close",asChild:!0,children:jg(oA,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[Wa(mo,{}),Wa("span",{className:"sr-only",children:"Close"})]})})]})]})}function sA({className:t,...e}){return Wa("div",{"data-slot":"sheet-header",className:Ce("flex flex-col gap-0.5 p-4",t),...e})}function iA({className:t,...e}){return Wa(Va.Title,{"data-slot":"sheet-title",className:Ce("text-base font-medium text-foreground",t),...e})}function lA({className:t,...e}){return Wa(Va.Description,{"data-slot":"sheet-description",className:Ce("text-sm text-muted-foreground",t),...e})}import{Fragment as $3,jsx as pe,jsxs as at}from"react/jsx-runtime";var G3=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,hiddenEntities:l,setHiddenEntities:u,graphLeftW:d,setGraphLeftW:f,graphRightW:c,setGraphRightW:h}=ho(),p=aa.useRef(null),m=aa.useRef(null),[g,x]=aa.useState(null),[C,L]=aa.useState(null),{registry:y,carts:S,coreCarts:w,loading:b,error:I}=lk(),[A,N]=aa.useState(new Set),[D,T]=aa.useState(!1),H=B=>w.has(B)&&B!=="auth",v=aa.useMemo(()=>S.filter(B=>!H(B)),[S,w]),M=aa.useMemo(()=>S.filter(H),[S,w]),P=aa.useMemo(()=>S.filter(B=>!H(B)||A.has(B)),[S,w,A]),R=s??new Set(v),E=B=>{i(U=>{let X=new Set(U??v);return X.has(B)?X.delete(B):X.add(B),X})},O=B=>{if(N(U=>new Set(U).add(B)),T(!1),r==="table"){e(B);let U=y[B]?.[0];o(U?U.name:null)}else i(U=>new Set(U??v).add(B))},k=B=>{u(U=>{let X=new Set(U);return X.has(B)?X.delete(B):X.add(B),X})},q=aa.useMemo(()=>{let B=new Set;for(let U of S)if(R.has(U))for(let X of y[U]??[])l.has(`${U}:${X.name}`)||B.add(`${U}:${X.name}`);return B},[S,y,s,l]);aa.useEffect(()=>{C&&!q.has(`${C.cart}:${C.entity}`)&&L(null)},[C,q]);let F=t&&y[t]?t:v[0]??S[0]??null,G=F?y[F]??[]:[],_=G.find(B=>B.name===a)??G[0]??null;if(aa.useEffect(()=>{F&&F!==t&&e(F),_&&_.name!==a&&o(_.name),F&&H(F)&&!A.has(F)&&N(B=>new Set(B).add(F))},[F,_,t,a,e,o]),S.length===0){let B="No installed cartridges with entities.";return b?B="Loading cartridges\u2026":I&&(B=`Failed to load cartridges: ${I}`),pe("div",{className:"p-3 text-[12px] text-muted-foreground",children:B})}return pe(Vp,{registry:y,children:at("div",{className:"flex h-full flex-col",children:[at("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[at("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[pe(dA,{active:r==="table",onClick:()=>n("table"),label:"Table",children:pe($i,{className:"size-3"})}),pe(dA,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:pe(_i,{className:"size-3"})})]}),pe("div",{className:"h-4 w-px shrink-0 bg-border"}),P.map(B=>{let U=r==="table"?B===F:R.has(B);return pe("button",{type:"button","data-active":U,onClick:()=>{if(r==="table"){e(B);let X=y[B]?.[0];o(X?X.name:null)}else E(B)},className:Ce("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:B},B)}),M.length>0?at("div",{className:"relative shrink-0",children:[pe("button",{type:"button","aria-label":"More cartridges",title:"Core cartridges","data-active":D,onClick:()=>T(B=>!B),className:Ce("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:pe(Wo,{className:"size-3.5"})}),D?at($3,{children:[pe("div",{className:"fixed inset-0 z-30",onClick:()=>T(!1)}),at("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[pe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"Core cartridges"}),M.map(B=>{let U=r==="table"?B===F:R.has(B);return pe("button",{type:"button","data-active":U,onClick:()=>O(B),className:Ce("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",U?"text-foreground":"text-muted-foreground"),children:B},B)})]})]}):null]}):null]}),at("div",{className:"flex min-h-0 min-w-0 flex-1",children:[at("div",{ref:p,style:{width:d},className:"relative shrink-0 border-r border-border bg-muted/10",children:[pe(uA,{edge:"right",targetRef:p,min:120,max:480,onCommit:f}),pe("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?G.length===0?pe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):G.map(B=>{let U=B.name===_?.name;return pe("button",{type:"button","data-active":U,onClick:()=>o(B.name),className:Ce("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:B.name},B.name)}):S.filter(B=>R.has(B)).length===0?pe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):S.filter(B=>R.has(B)).map(B=>at("div",{className:"mb-1",children:[pe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:B}),(y[B]??[]).map(U=>{let X=`${B}:${U.name}`,z=!l.has(X);return pe("button",{type:"button","data-active":z,onClick:()=>k(X),title:z?`Hide ${U.name}`:`Show ${U.name}`,className:Ce("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",z?"text-foreground":"text-muted-foreground/40 line-through"),children:U.name},X)})]},B))})]}),pe("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?pe(og,{visibleIds:q,onSelectNode:(B,U)=>L({cart:B,entity:U})}):_?pe(Bi,{cart:F,entity:_.name,searchFields:_.searchFields,onSelectRow:B=>x(B)},`${F}:${_.name}`):pe("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?at("div",{ref:m,style:{width:c},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[pe(uA,{edge:"left",targetRef:m,min:280,max:900,onCommit:h}),at("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[at("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[at("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),pe("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>L(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:pe(mo,{className:"size-3.5"})})]}),pe("div",{className:"min-h-0 flex-1",children:pe(Bi,{cart:C.cart,entity:C.entity,searchFields:(y[C.cart]??[]).find(B=>B.name===C.entity)?.searchFields??[],onSelectRow:B=>x(B)},`${C.cart}:${C.entity}`)})]}):null]}),pe(rA,{open:!!g,onOpenChange:B=>!B&&x(null),children:at(nA,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[at(sA,{children:[at(iA,{className:"text-[13px]",children:[F,".",_?.name,g?.id?pe("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:g.id}):null]}),pe(lA,{className:"text-[11px]",children:"Row detail"})]}),pe("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:g?pe("table",{className:"w-full text-[12px]",children:pe("tbody",{children:Object.entries(g).map(([B,U])=>at("tr",{className:"border-b border-border/40 align-top",children:[pe("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:B}),pe("td",{className:"break-all py-1 font-mono",children:U||pe("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},B))})}):null})]})})]})})},uA=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>pe("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,f=d,c=0,h=null,p=()=>{c=0,h!=null&&(f=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let C=x.clientX-u,L=t==="left"?-C:C;h=Math.max(a,Math.min(o,d+L)),c||(c=requestAnimationFrame(p))},g=()=>{c&&cancelAnimationFrame(c),p(),r(f),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:Ce("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),dA=({active:t,onClick:e,label:a,children:o})=>at("button",{type:"button","data-active":t,onClick:e,title:a,className:Ce("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),fA=G3;import{Fragment as K3,jsx as j3}from"react/jsx-runtime";var X3=()=>j3(K3,{}),cA=X3;import Xe from"react";import{useCallback as el,useEffect as Z3,useState as Y3}from"react";function _f(){let{apiBaseUrl:t}=st(),[e,a]=Y3(null);return Z3(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function tl(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function hA(){let{apiBaseUrl:t}=st(),e=el(async()=>(await tl(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=el(async(s,i)=>tl(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=el(async(s,i,l)=>tl(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=el(async s=>tl(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=el(async s=>tl(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return{listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}}import pA from"react";import{jsx as ba,jsxs as en}from"react/jsx-runtime";var mA=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=pA.useState(!1),[l,u]=pA.useState(""),d=()=>{let f=l.trim();/^[a-z][a-z0-9_]*$/.test(f)&&(r(f),u(""),i(!1))};return en("div",{className:"flex h-full min-h-0 flex-col",children:[en("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[ba("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),ba("button",{type:"button",title:"New cartridge",onClick:()=>i(f=>!f),className:"rounded p-0.5 hover:bg-accent",children:ba(Vi,{className:"size-3.5"})})]}),s&&en("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[ba("input",{autoFocus:!0,value:l,onChange:f=>u(f.target.value),onKeyDown:f=>{f.key==="Enter"&&d(),f.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),ba("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),ba("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(f=>en("div",{className:"mb-1",children:[en("div",{className:"flex items-center justify-between px-2 py-0.5",children:[en("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[f.name,!f.writable&&ba(Fi,{className:"size-3 text-muted-foreground","aria-label":f.reason??"read-only"})]}),f.writable&&ba("button",{type:"button",title:"New migration",onClick:()=>n(f.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:ba(Go,{className:"size-3"})})]}),f.files.map(c=>{let h=`${f.name}:${c}`,p=e?.cart===f.name&&e?.path===c;return en("button",{type:"button",onClick:()=>o({cart:f.name,path:c}),"data-active":p,className:Ce("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[ba("span",{className:"truncate",children:c}),a.has(h)&&ba("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},c)})]},f.name))})]})};import{Fragment as eG,jsx as Ga,jsxs as Yo}from"react/jsx-runtime";var tn=t=>`${t.cart}:${t.path}`;function J3(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var Q3=()=>{let{apiBaseUrl:t}=st(),e=_f(),a=hA(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l}=ho(),[u,d]=Xe.useState([]),[f,c]=Xe.useState(new Map),[h,p]=Xe.useState(""),[m,g]=Xe.useState([]),[x,C]=Xe.useState(!1),L=o&&n?{cart:o,path:n}:null,y=Xe.useRef(null);Xe.useEffect(()=>{if(!e?.dev)return;let k=new Uu(`${kr(t)}/_console/dev/lsp`);return k.initialize(`file://${e.projectRoot}`),y.current=k,()=>{k.dispose(),y.current=null}},[e?.dev,e?.projectRoot,t]);let S=Xe.useCallback(()=>{a.listCarts().then(d).catch(k=>p(String(k.message??k)))},[a]);Xe.useEffect(()=>{e?.dev&&S()},[e?.dev,S]);let w=Xe.useCallback(k=>u.find(q=>q.name===k),[u]),b=Xe.useCallback(k=>{r(k.cart),s(k.path),g([]),p("");let q=tn(k);f.has(q)||a.readFile(k.cart,k.path).then(({content:F,writable:G})=>{c(_=>{if(_.has(q))return _;let B=new Map(_);return B.set(q,{saved:F,current:F,writable:G}),B})}).catch(F=>p(String(F.message??F)))},[a,f,r,s]);Xe.useEffect(()=>{L&&u.length>0&&!f.has(tn(L))&&b(L)},[u]);let I=L?f.get(tn(L)):void 0,A=Xe.useMemo(()=>{let k=new Set;for(let[q,F]of f)F.current!==F.saved&&k.add(q);return k},[f]);Xe.useEffect(()=>{if(A.size===0)return;let k=q=>q.preventDefault();return window.addEventListener("beforeunload",k),()=>window.removeEventListener("beforeunload",k)},[A.size]);let N=Xe.useCallback(k=>{if(!L)return;let q=tn(L);c(F=>{let G=F.get(q);if(!G||G.current===k)return F;let _=new Map(F);return _.set(q,{...G,current:k}),_})},[L]),D=Xe.useCallback(k=>{if(!L)return;let q=tn(L);a.writeFile(L.cart,L.path,k).then(F=>{g(F.diagnostics),p(F.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${F.diagnostics.length} problem(s)`),c(G=>{let _=G.get(q);if(!_)return G;let B=new Map(G);return B.set(q,{..._,saved:k,current:k}),B}),S()}).catch(F=>p(`save failed: ${F.message??F}`))},[a,L,S]),T=Xe.useCallback(()=>{L&&(C(!0),p(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>p(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(k=>p(`apply failed: ${k.message??k}`)).finally(()=>C(!1)))},[a,L]),H=Xe.useCallback(k=>{p(`creating ${k}\u2026`),a.scaffoldCart(k).then(()=>{p(`created ${k}`),S(),b({cart:k,path:"schema.nbt"})}).catch(q=>p(`scaffold failed: ${q.message??q}`))},[a,S,b]),v=Xe.useCallback(k=>{let q=`migrations/${J3()}_change/migration.nbt`,F=`${k}:${q}`;c(G=>{let _=new Map(G);return _.set(F,{saved:"",current:`migration change {
|
|
71
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Pe.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},T3="DialogDescriptionWarning",E3=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${eA(T3).contentName}}.`;return Pe.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},B3=qg,O3=zg,F3=Vg,N3=Wg,H3=Gg,_3=Xg,q3=Kg,z3=jg;var tA=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,aA=Cf,oA=(t,e)=>a=>{var o;if(e?.variants==null)return aA(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],f=n?.[u];if(d===null)return null;let c=tA(d)||tA(f);return r[u][c]}),i=a&&Object.entries(a).reduce((u,d)=>{let[f,c]=d;return c===void 0||(u[f]=c),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:f,className:c,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,f,c]:u},[]);return aA(t,s,l,a?.class,a?.className)};import{jsx as V3}from"react/jsx-runtime";var U3=oA("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function rA({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?If.Root:"button";return V3(n,{"data-slot":"button","data-variant":e,"data-size":a,className:Ce(U3({variant:e,size:a,className:t})),...r})}import{jsx as Wa,jsxs as Yg}from"react/jsx-runtime";function nA({...t}){return Wa(Va.Root,{"data-slot":"sheet",...t})}function W3({...t}){return Wa(Va.Portal,{"data-slot":"sheet-portal",...t})}function G3({className:t,...e}){return Wa(Va.Overlay,{"data-slot":"sheet-overlay",className:Ce("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function sA({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return Yg(W3,{children:[Wa(G3,{}),Yg(Va.Content,{"data-slot":"sheet-content","data-side":a,className:Ce("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&Wa(Va.Close,{"data-slot":"sheet-close",asChild:!0,children:Yg(rA,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[Wa(mo,{}),Wa("span",{className:"sr-only",children:"Close"})]})})]})]})}function iA({className:t,...e}){return Wa("div",{"data-slot":"sheet-header",className:Ce("flex flex-col gap-0.5 p-4",t),...e})}function lA({className:t,...e}){return Wa(Va.Title,{"data-slot":"sheet-title",className:Ce("text-base font-medium text-foreground",t),...e})}function uA({className:t,...e}){return Wa(Va.Description,{"data-slot":"sheet-description",className:Ce("text-sm text-muted-foreground",t),...e})}import{Fragment as X3,jsx as pe,jsxs as at}from"react/jsx-runtime";var $3=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,hiddenEntities:l,setHiddenEntities:u,graphLeftW:d,setGraphLeftW:f,graphRightW:c,setGraphRightW:h}=ho(),p=aa.useRef(null),m=aa.useRef(null),[g,x]=aa.useState(null),[C,L]=aa.useState(null),{registry:y,carts:S,coreCarts:w,loading:b,error:I}=uk(),[A,N]=aa.useState(new Set),[D,T]=aa.useState(!1),H=B=>w.has(B)&&B!=="auth",v=aa.useMemo(()=>S.filter(B=>!H(B)),[S,w]),M=aa.useMemo(()=>S.filter(H),[S,w]),P=aa.useMemo(()=>S.filter(B=>!H(B)||A.has(B)),[S,w,A]),R=s??new Set(v),E=B=>{i(U=>{let X=new Set(U??v);return X.has(B)?X.delete(B):X.add(B),X})},O=B=>{if(N(U=>new Set(U).add(B)),T(!1),r==="table"){e(B);let U=y[B]?.[0];o(U?U.name:null)}else i(U=>new Set(U??v).add(B))},k=B=>{u(U=>{let X=new Set(U);return X.has(B)?X.delete(B):X.add(B),X})},q=aa.useMemo(()=>{let B=new Set;for(let U of S)if(R.has(U))for(let X of y[U]??[])l.has(`${U}:${X.name}`)||B.add(`${U}:${X.name}`);return B},[S,y,s,l]);aa.useEffect(()=>{C&&!q.has(`${C.cart}:${C.entity}`)&&L(null)},[C,q]);let F=t&&y[t]?t:v[0]??S[0]??null,G=F?y[F]??[]:[],_=G.find(B=>B.name===a)??G[0]??null;if(aa.useEffect(()=>{F&&F!==t&&e(F),_&&_.name!==a&&o(_.name),F&&H(F)&&!A.has(F)&&N(B=>new Set(B).add(F))},[F,_,t,a,e,o]),S.length===0){let B="No installed cartridges with entities.";return b?B="Loading cartridges\u2026":I&&(B=`Failed to load cartridges: ${I}`),pe("div",{className:"p-3 text-[12px] text-muted-foreground",children:B})}return pe(Gp,{registry:y,children:at("div",{className:"flex h-full flex-col",children:[at("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[at("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[pe(fA,{active:r==="table",onClick:()=>n("table"),label:"Table",children:pe($i,{className:"size-3"})}),pe(fA,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:pe(_i,{className:"size-3"})})]}),pe("div",{className:"h-4 w-px shrink-0 bg-border"}),P.map(B=>{let U=r==="table"?B===F:R.has(B);return pe("button",{type:"button","data-active":U,onClick:()=>{if(r==="table"){e(B);let X=y[B]?.[0];o(X?X.name:null)}else E(B)},className:Ce("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:B},B)}),M.length>0?at("div",{className:"relative shrink-0",children:[pe("button",{type:"button","aria-label":"More cartridges",title:"Core cartridges","data-active":D,onClick:()=>T(B=>!B),className:Ce("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:pe(Go,{className:"size-3.5"})}),D?at(X3,{children:[pe("div",{className:"fixed inset-0 z-30",onClick:()=>T(!1)}),at("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[pe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"Core cartridges"}),M.map(B=>{let U=r==="table"?B===F:R.has(B);return pe("button",{type:"button","data-active":U,onClick:()=>O(B),className:Ce("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",U?"text-foreground":"text-muted-foreground"),children:B},B)})]})]}):null]}):null]}),at("div",{className:"flex min-h-0 min-w-0 flex-1",children:[at("div",{ref:p,style:{width:d},className:"relative shrink-0 border-r border-border bg-muted/10",children:[pe(dA,{edge:"right",targetRef:p,min:120,max:480,onCommit:f}),pe("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?G.length===0?pe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):G.map(B=>{let U=B.name===_?.name;return pe("button",{type:"button","data-active":U,onClick:()=>o(B.name),className:Ce("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:B.name},B.name)}):S.filter(B=>R.has(B)).length===0?pe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):S.filter(B=>R.has(B)).map(B=>at("div",{className:"mb-1",children:[pe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:B}),(y[B]??[]).map(U=>{let X=`${B}:${U.name}`,z=!l.has(X);return pe("button",{type:"button","data-active":z,onClick:()=>k(X),title:z?`Hide ${U.name}`:`Show ${U.name}`,className:Ce("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",z?"text-foreground":"text-muted-foreground/40 line-through"),children:U.name},X)})]},B))})]}),pe("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?pe(ng,{visibleIds:q,onSelectNode:(B,U)=>L({cart:B,entity:U})}):_?pe(Bi,{cart:F,entity:_.name,searchFields:_.searchFields,onSelectRow:B=>x(B)},`${F}:${_.name}`):pe("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?at("div",{ref:m,style:{width:c},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[pe(dA,{edge:"left",targetRef:m,min:280,max:900,onCommit:h}),at("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[at("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[at("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),pe("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>L(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:pe(mo,{className:"size-3.5"})})]}),pe("div",{className:"min-h-0 flex-1",children:pe(Bi,{cart:C.cart,entity:C.entity,searchFields:(y[C.cart]??[]).find(B=>B.name===C.entity)?.searchFields??[],onSelectRow:B=>x(B)},`${C.cart}:${C.entity}`)})]}):null]}),pe(nA,{open:!!g,onOpenChange:B=>!B&&x(null),children:at(sA,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[at(iA,{children:[at(lA,{className:"text-[13px]",children:[F,".",_?.name,g?.id?pe("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:g.id}):null]}),pe(uA,{className:"text-[11px]",children:"Row detail"})]}),pe("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:g?pe("table",{className:"w-full text-[12px]",children:pe("tbody",{children:Object.entries(g).map(([B,U])=>at("tr",{className:"border-b border-border/40 align-top",children:[pe("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:B}),pe("td",{className:"break-all py-1 font-mono",children:U||pe("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},B))})}):null})]})})]})})},dA=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>pe("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,f=d,c=0,h=null,p=()=>{c=0,h!=null&&(f=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let C=x.clientX-u,L=t==="left"?-C:C;h=Math.max(a,Math.min(o,d+L)),c||(c=requestAnimationFrame(p))},g=()=>{c&&cancelAnimationFrame(c),p(),r(f),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:Ce("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),fA=({active:t,onClick:e,label:a,children:o})=>at("button",{type:"button","data-active":t,onClick:e,title:a,className:Ce("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),cA=$3;import{Fragment as j3,jsx as Z3}from"react/jsx-runtime";var K3=()=>Z3(j3,{}),hA=K3;import Xe from"react";import{useCallback as el,useEffect as Y3,useState as J3}from"react";function _f(){let{apiBaseUrl:t}=st(),[e,a]=J3(null);return Y3(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function tl(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function pA(){let{apiBaseUrl:t}=st(),e=el(async()=>(await tl(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=el(async(s,i)=>tl(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=el(async(s,i,l)=>tl(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=el(async s=>tl(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=el(async s=>tl(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return{listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}}import mA from"react";import{jsx as ba,jsxs as en}from"react/jsx-runtime";var gA=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=mA.useState(!1),[l,u]=mA.useState(""),d=()=>{let f=l.trim();/^[a-z][a-z0-9_]*$/.test(f)&&(r(f),u(""),i(!1))};return en("div",{className:"flex h-full min-h-0 flex-col",children:[en("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[ba("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),ba("button",{type:"button",title:"New cartridge",onClick:()=>i(f=>!f),className:"rounded p-0.5 hover:bg-accent",children:ba(Vi,{className:"size-3.5"})})]}),s&&en("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[ba("input",{autoFocus:!0,value:l,onChange:f=>u(f.target.value),onKeyDown:f=>{f.key==="Enter"&&d(),f.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),ba("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),ba("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(f=>en("div",{className:"mb-1",children:[en("div",{className:"flex items-center justify-between px-2 py-0.5",children:[en("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[f.name,!f.writable&&ba(Fi,{className:"size-3 text-muted-foreground","aria-label":f.reason??"read-only"})]}),f.writable&&ba("button",{type:"button",title:"New migration",onClick:()=>n(f.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:ba($o,{className:"size-3"})})]}),f.files.map(c=>{let h=`${f.name}:${c}`,p=e?.cart===f.name&&e?.path===c;return en("button",{type:"button",onClick:()=>o({cart:f.name,path:c}),"data-active":p,className:Ce("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[ba("span",{className:"truncate",children:c}),a.has(h)&&ba("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},c)})]},f.name))})]})};import{Fragment as tG,jsx as Ga,jsxs as Yo}from"react/jsx-runtime";var tn=t=>`${t.cart}:${t.path}`;function Q3(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var eG=()=>{let{apiBaseUrl:t}=st(),e=_f(),a=pA(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l}=ho(),[u,d]=Xe.useState([]),[f,c]=Xe.useState(new Map),[h,p]=Xe.useState(""),[m,g]=Xe.useState([]),[x,C]=Xe.useState(!1),L=o&&n?{cart:o,path:n}:null,y=Xe.useRef(null);Xe.useEffect(()=>{if(!e?.dev)return;let k=new Uu(`${kr(t)}/_console/dev/lsp`);return k.initialize(`file://${e.projectRoot}`),y.current=k,()=>{k.dispose(),y.current=null}},[e?.dev,e?.projectRoot,t]);let S=Xe.useCallback(()=>{a.listCarts().then(d).catch(k=>p(String(k.message??k)))},[a]);Xe.useEffect(()=>{e?.dev&&S()},[e?.dev,S]);let w=Xe.useCallback(k=>u.find(q=>q.name===k),[u]),b=Xe.useCallback(k=>{r(k.cart),s(k.path),g([]),p("");let q=tn(k);f.has(q)||a.readFile(k.cart,k.path).then(({content:F,writable:G})=>{c(_=>{if(_.has(q))return _;let B=new Map(_);return B.set(q,{saved:F,current:F,writable:G}),B})}).catch(F=>p(String(F.message??F)))},[a,f,r,s]);Xe.useEffect(()=>{L&&u.length>0&&!f.has(tn(L))&&b(L)},[u]);let I=L?f.get(tn(L)):void 0,A=Xe.useMemo(()=>{let k=new Set;for(let[q,F]of f)F.current!==F.saved&&k.add(q);return k},[f]);Xe.useEffect(()=>{if(A.size===0)return;let k=q=>q.preventDefault();return window.addEventListener("beforeunload",k),()=>window.removeEventListener("beforeunload",k)},[A.size]);let N=Xe.useCallback(k=>{if(!L)return;let q=tn(L);c(F=>{let G=F.get(q);if(!G||G.current===k)return F;let _=new Map(F);return _.set(q,{...G,current:k}),_})},[L]),D=Xe.useCallback(k=>{if(!L)return;let q=tn(L);a.writeFile(L.cart,L.path,k).then(F=>{g(F.diagnostics),p(F.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${F.diagnostics.length} problem(s)`),c(G=>{let _=G.get(q);if(!_)return G;let B=new Map(G);return B.set(q,{..._,saved:k,current:k}),B}),S()}).catch(F=>p(`save failed: ${F.message??F}`))},[a,L,S]),T=Xe.useCallback(()=>{L&&(C(!0),p(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>p(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(k=>p(`apply failed: ${k.message??k}`)).finally(()=>C(!1)))},[a,L]),H=Xe.useCallback(k=>{p(`creating ${k}\u2026`),a.scaffoldCart(k).then(()=>{p(`created ${k}`),S(),b({cart:k,path:"schema.nbt"})}).catch(q=>p(`scaffold failed: ${q.message??q}`))},[a,S,b]),v=Xe.useCallback(k=>{let q=`migrations/${Q3()}_change/migration.nbt`,F=`${k}:${q}`;c(G=>{let _=new Map(G);return _.set(F,{saved:"",current:`migration change {
|
|
72
72
|
|
|
73
73
|
}
|
|
74
|
-
`,writable:!0}),_}),r(k),s(q)},[r,s]),M=Xe.useCallback((k,q)=>{let F=k.replace(/^file:\/\//,""),G=null;for(let _ of u){if(!_.sourceDir)continue;let B=`${_.sourceDir}/`;F.startsWith(B)&&(!G||B.length>G.cart.length)&&(G={cart:_.name,rel:F.slice(B.length)})}G&&b({cart:G.cart,path:G.rel})},[u,b]),P=Xe.useCallback(k=>{k.preventDefault();let q=k.clientX,F=i,G=k.currentTarget;G.setPointerCapture(k.pointerId);let _=U=>l(Math.max(120,Math.min(480,F+(U.clientX-q)))),B=()=>{G.removeEventListener("pointermove",_),G.removeEventListener("pointerup",B)};G.addEventListener("pointermove",_),G.addEventListener("pointerup",B)},[i,l]);if(!e?.dev)return Ga("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let R=L?w(L.cart):void 0,E=L&&R?.sourceDir?`file://${R.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",O=L?A.has(tn(L)):!1;return Yo("div",{className:"flex h-full min-h-0 flex-col",children:[Yo("div",{className:"flex min-h-0 flex-1",children:[Ga("div",{style:{width:i},className:"shrink-0 border-r border-border",children:Ga(
|
|
75
|
-
`),children:[m.length," problem",m.length>1?"s":""]})]})]})},
|
|
74
|
+
`,writable:!0}),_}),r(k),s(q)},[r,s]),M=Xe.useCallback((k,q)=>{let F=k.replace(/^file:\/\//,""),G=null;for(let _ of u){if(!_.sourceDir)continue;let B=`${_.sourceDir}/`;F.startsWith(B)&&(!G||B.length>G.cart.length)&&(G={cart:_.name,rel:F.slice(B.length)})}G&&b({cart:G.cart,path:G.rel})},[u,b]),P=Xe.useCallback(k=>{k.preventDefault();let q=k.clientX,F=i,G=k.currentTarget;G.setPointerCapture(k.pointerId);let _=U=>l(Math.max(120,Math.min(480,F+(U.clientX-q)))),B=()=>{G.removeEventListener("pointermove",_),G.removeEventListener("pointerup",B)};G.addEventListener("pointermove",_),G.addEventListener("pointerup",B)},[i,l]);if(!e?.dev)return Ga("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let R=L?w(L.cart):void 0,E=L&&R?.sourceDir?`file://${R.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",O=L?A.has(tn(L)):!1;return Yo("div",{className:"flex h-full min-h-0 flex-col",children:[Yo("div",{className:"flex min-h-0 flex-1",children:[Ga("div",{style:{width:i},className:"shrink-0 border-r border-border",children:Ga(gA,{carts:u,selected:L,dirtyKeys:A,onSelect:b,onNewCart:H,onNewMigration:v})}),Ga("div",{onPointerDown:P,style:{touchAction:"none"},className:"w-1 shrink-0 cursor-ew-resize bg-transparent hover:bg-accent/40"}),Ga("div",{className:"min-h-0 min-w-0 flex-1",children:L&&I?Ga(zu,{uri:E,value:I.current,readOnly:!I.writable,lsp:y.current,onChange:N,onSave:D,onGotoDefinition:M},tn(L)):Ga("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Select a file \u2014 or create a cartridge with the + button."})})]}),Yo("div",{className:"flex h-6 shrink-0 items-center gap-2 border-t border-border px-2 text-[11px]",children:[L&&I?.writable&&Yo(tG,{children:[Yo("button",{type:"button",onClick:()=>I&&D(I.current),className:Ce("flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent",O&&"text-amber-400"),title:"Save (Ctrl+S) \u2014 mirrors to your local project folder",children:[Ga(Wi,{className:"size-3"})," Save"]}),Yo("button",{type:"button",onClick:T,disabled:x||O,className:"flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent disabled:opacity-40",title:O?"Save first":"Re-install this cart from disk (runs your pending migrations)",children:[Ga(Xr,{className:"size-3"})," Apply"]})]}),L&&!I?.writable&&Yo("span",{className:"text-muted-foreground",children:["read-only (",R?.reason??"no source mapping",")"]}),Ga("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:h}),m.length>0&&Yo("span",{className:"shrink-0 text-red-400",title:m.map(k=>`${k.line}:${k.col} ${k.message}`).join(`
|
|
75
|
+
`),children:[m.length," problem",m.length>1?"s":""]})]})]})},xA=eG;import{jsx as je,jsxs as qf}from"react/jsx-runtime";var LA=120,CA=240,yA=8,wA=[{id:"console",title:"Console",render:()=>je($k,{})},{id:"network",title:"Network",render:()=>je(Xk,{})},{id:"data",title:"Data",render:()=>je(cA,{})}],oG={id:"sources",title:"Sources",render:()=>je(xA,{})},bA={id:"settings",title:"Settings",render:()=>je(hA,{})},rG=()=>{let{open:t,setOpen:e,dock:a,setDock:o,activeTab:r,setActiveTab:n,size:s,setSize:i,maximized:l,setMaximized:u}=ho(),d=Jo.useRef(null),f=Jo.useRef(!1),c=_f(),h=Jo.useMemo(()=>c?.dev?[...wA,oG,bA]:[...wA,bA],[c?.dev]),[p,m]=Jo.useState(()=>typeof window>"u"?{w:0,h:0}:{w:window.innerWidth,h:window.innerHeight});Jo.useEffect(()=>{let y=()=>m({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),window.visualViewport?.addEventListener("resize",y),()=>{window.removeEventListener("resize",y),window.visualViewport?.removeEventListener("resize",y)}},[]),Jo.useEffect(()=>{r||h.length>0&&n(h[0].id)},[r,n,h]),Jo.useEffect(()=>{let y=d.current;if(!y)return;let S=w=>{let b=w.target;for(;b&&b!==y;){let I=getComputedStyle(b);if(Math.abs(w.deltaY)>=Math.abs(w.deltaX)){if((I.overflowY==="auto"||I.overflowY==="scroll")&&b.scrollHeight>b.clientHeight){let D=b.scrollTop<=0,T=b.scrollTop+b.clientHeight>=b.scrollHeight-1;if(!(w.deltaY<0&&D||w.deltaY>0&&T))return}}else if((I.overflowX==="auto"||I.overflowX==="scroll")&&b.scrollWidth>b.clientWidth){let D=b.scrollLeft<=0,T=b.scrollLeft+b.clientWidth>=b.scrollWidth-1;if(!(w.deltaX<0&&D||w.deltaX>0&&T))return}b=b.parentElement}w.preventDefault()};return y.addEventListener("wheel",S,{passive:!1}),()=>y.removeEventListener("wheel",S)},[t]);let g=Jo.useCallback(y=>{y.preventDefault();let S=d.current;if(!S)return;let w=y.currentTarget;w.setPointerCapture(y.pointerId);let b=y.clientX,I=y.clientY,A=S.offsetHeight,N=S.offsetWidth,D=a==="bottom",T=null,H=D?A:N,v=0,M=()=>{if(v=0,T==null)return;let E=T;T=null,H=E,D?S.style.height=`${E}px`:S.style.width=`${E}px`},P=E=>{if(E.preventDefault(),D){let O=I-E.clientY;T=Math.max(LA,Math.min(window.innerHeight-24,A+O))}else{let O=b-E.clientX;T=Math.max(CA,Math.min(window.innerWidth-24,N+O))}v||(v=requestAnimationFrame(M))},R=()=>{v&&cancelAnimationFrame(v),M(),i(E=>D?E.h===H?E:{...E,h:H}:E.w===H?E:{...E,w:H}),w.removeEventListener("pointermove",P),w.removeEventListener("pointerup",R),w.removeEventListener("pointercancel",R);try{w.releasePointerCapture(y.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor=a==="bottom"?"ns-resize":"ew-resize",w.addEventListener("pointermove",P),w.addEventListener("pointerup",R),w.addEventListener("pointercancel",R)},[a,i]);if(t&&(f.current=!0),!f.current)return null;let x=h.find(y=>y.id===r)??h[0],C=l?"inset-0":a==="bottom"?"inset-x-0 bottom-0":"inset-y-0 right-0",L=l?{}:a==="bottom"?{height:Math.max(LA,Math.min(s.h,p.h-yA))}:{width:Math.max(CA,Math.min(s.w,p.w-yA))};return aG(qf("div",{ref:d,style:L,className:Ce("nimbit-devtools dark fixed z-50 flex flex-col border-border bg-background text-foreground text-[12px] shadow-lg",C,a==="bottom"?"border-t":"border-l",!t&&"hidden"),onMouseDown:y=>y.stopPropagation(),children:[!l&&je("div",{onPointerDown:g,style:{touchAction:"none"},className:Ce("absolute z-10 bg-transparent hover:bg-accent/40",a==="bottom"?"left-0 right-0 -top-px h-1.5 cursor-ns-resize":"top-0 bottom-0 -left-px w-1.5 cursor-ew-resize")}),qf("div",{className:"flex h-7 shrink-0 items-center border-b border-border bg-background pl-1 pr-1 select-none",children:[je("div",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto",children:h.map(y=>{let S=y.id===x?.id;return je("button",{type:"button","data-active":S,onClick:()=>n(y.id),className:Ce("h-5 shrink-0 rounded-md px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:qf("span",{className:"inline-flex items-center gap-1",children:[y.icon,y.title]})},y.id)})}),qf("div",{className:"flex shrink-0 items-center gap-0.5 pl-2",children:[je(Jg,{label:a==="bottom"?"Dock right":"Dock bottom",onClick:()=>o(a==="bottom"?"right":"bottom"),children:a==="bottom"?je(zi,{className:"size-3.5"}):je(qi,{className:"size-3.5"})}),je(Jg,{label:l?"Restore":"Maximize",onClick:()=>u(!l),children:l?je(Hi,{className:"size-3.5"}):je(Ni,{className:"size-3.5"})}),je(Jg,{label:"Close",onClick:()=>e(!1),children:je(mo,{className:"size-3.5"})})]})]}),je("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:je(_k,{children:h.map(y=>je("div",{className:Ce("h-full w-full",y.id!==x?.id&&"hidden"),children:y.render()},y.id))})})]}),document.body)},Jg=({label:t,className:e,children:a,...o})=>je("button",{type:"button","aria-label":t,title:t,className:Ce("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",e),...o,children:a}),Qg=rG;import{jsx as ex}from"react/jsx-runtime";var nG=({apiBaseUrl:t="",defaultActiveTab:e})=>ex(Op,{apiBaseUrl:t,children:ex(hg,{defaultActiveTab:e,children:ex(Qg,{})})}),AQ=nG;function MQ(){window.dispatchEvent(new CustomEvent("devtools-toggle"))}export{Qg as DevTools,hg as DevToolsProvider,nG as NimbitDevTools,AQ as default,MQ as toggleDevTools,ho as useDevTools};
|
|
76
76
|
/*! Bundled license information:
|
|
77
77
|
|
|
78
78
|
use-sync-external-store/cjs/use-sync-external-store-shim.production.js:
|