@teipublisher/pb-components 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- class e{constructor(){}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,t,i){let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),n.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let i=[];return this.decompose(e,t,i,0),n.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),i=new o(this),r=new o(e);for(let e=t,s=t;;){if(i.next(e),r.next(e),e=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(s+=i.value.length,i.done||s>=n)return!0}}iter(e=1){return new o(this,e)}iterRange(e,t=this.length){return new a(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let i=this.line(e).from;n=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new l(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(i){if(0==i.length)throw new RangeError("A document must have at least one line");return 1!=i.length||i[0]?i.length<=32?new t(i):n.from(t.split(i,[])):e.empty}}class t extends e{constructor(e,t=i(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,i){for(let r=0;;r++){let s=this.text[r],o=i+s.length;if((t?n:o)>=e)return new h(i,o,n,s);i=o+1,n++}}decompose(e,n,i,o){let a=e<=0&&n>=this.length?this:new t(s(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(1&o){let e=i.pop(),n=r(a.text,e.text.slice(),0,a.length);if(n.length<=32)i.push(new t(n,e.length+a.length));else{let e=n.length>>1;i.push(new t(n.slice(0,e)),new t(n.slice(e)))}}else i.push(a)}replace(e,i,o){if(!(o instanceof t))return super.replace(e,i,o);let a=r(this.text,r(o.text,s(this.text,0,e)),i),l=this.length+o.length-(i-e);return a.length<=32?new t(a,l):n.from(t.split(a,[]),l)}sliceString(e,t=this.length,n="\n"){let i="";for(let r=0,s=0;r<=t&&s<this.text.length;s++){let o=this.text[s],a=r+o.length;r>e&&s&&(i+=n),e<a&&t>r&&(i+=o.slice(Math.max(0,e-r),t-r)),r=a+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,n){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,32==i.length&&(n.push(new t(i,r)),i=[],r=-1);return r>-1&&n.push(new t(i,r)),n}}class n extends e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,i){for(let r=0;;r++){let s=this.children[r],o=i+s.length,a=n+s.lines-1;if((t?a:o)>=e)return s.lineInner(e,t,n,i);i=o+1,n=a+1}}decompose(e,t,n,i){for(let r=0,s=0;s<=t&&r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e<=a&&t>=s){let r=i&((s<=e?1:0)|(a>=t?2:0));s>=e&&a<=t&&!r?n.push(o):o.decompose(e-s,t-s,n,r)}s=a+1}}replace(e,t,i){if(i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,i),h=this.lines-o.lines+l.lines;if(l.lines<h>>4&&l.lines>h>>6){let s=this.children.slice();return s[r]=l,new n(s,this.length-(t-e)+i.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,n="\n"){let i="";for(let r=0,s=0;r<this.children.length&&s<=t;r++){let o=this.children[r],a=s+o.length;s>e&&r&&(i+=n),e<a&&t>s&&(i+=o.sliceString(e-s,t-s,n)),s=a+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof n))return 0;let i=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return i;let n=this.children[r],l=e.children[s];if(n!=l)return i+n.scanIdentical(l,t);i+=n.length+1}}static from(e,i=e.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let n=[];for(let t of e)t.flatten(n);return new t(n,i)}let s=Math.max(32,r>>5),o=s<<1,a=s>>1,l=[],h=0,c=-1,u=[];function f(e){let i;if(e.lines>o&&e instanceof n)for(let t of e.children)f(t);else e.lines>a&&(h>a||!h)?(d(),l.push(e)):e instanceof t&&h&&(i=u[u.length-1])instanceof t&&e.lines+i.lines<=32?(h+=e.lines,c+=e.length+1,u[u.length-1]=new t(i.text.concat(e.text),i.length+1+e.length)):(h+e.lines>s&&d(),h+=e.lines,c+=e.length+1,u.push(e))}function d(){0!=h&&(l.push(1==u.length?u[0]:n.from(u,c)),c=-1,h=u.length=0)}for(let t of e)f(t);return d(),1==l.length?l[0]:new n(l,i)}}function i(e){let t=-1;for(let n of e)t+=n.length+1;return t}function r(e,t,n=0,i=1e9){for(let r=0,s=0,o=!0;s<e.length&&r<=i;s++){let a=e[s],l=r+a.length;l>=n&&(l>i&&(a=a.slice(0,i-r)),r<n&&(a=a.slice(n-r)),o?(t[t.length-1]+=a,o=!1):t.push(a)),r=l+1}return t}function s(e,t,n){return r(e,[""],t,n)}e.empty=new t([""],0);class o{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,a=r instanceof t?r.text.length:r.children.length;if(o==(n>0?a:0)){if(0==i)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&s)==(n>0?0:1)){if(this.offsets[i]+=n,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof t){let t=r.text[o+(n<0?-1:0)];if(this.offsets[i]+=n,t.length>Math.max(0,e))return this.value=0==e?t:n>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let s=r.children[o+(n<0?-1:0)];e>s.length?(e-=s.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(s),this.offsets.push(n>0?1:(s instanceof t?s.text.length:s.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class a{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new o(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class l{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:i}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(e.prototype[Symbol.iterator]=function(){return this.iter()},o.prototype[Symbol.iterator]=a.prototype[Symbol.iterator]=l.prototype[Symbol.iterator]=function(){return this});class h{constructor(e,t,n,i){this.from=e,this.to=t,this.number=n,this.text=i}get length(){return this.to-this.from}}let c="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=1;e<c.length;e++)c[e]+=c[e-1];function u(e){for(let t=1;t<c.length;t+=2)if(c[t]>e)return c[t-1]<=e;return!1}function f(e){return e>=127462&&e<=127487}const d=8205;function O(e,t,n=!0,i=!0){return(n?p:g)(e,t,i)}function p(e,t,n){if(t==e.length)return t;t&&m(e.charCodeAt(t))&&S(e.charCodeAt(t-1))&&t--;let i=b(e,t);for(t+=x(i);t<e.length;){let r=b(e,t);if(i==d||r==d||n&&u(r))t+=x(r),i=r;else{if(!f(r))break;{let n=0,i=t-2;for(;i>=0&&f(b(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function g(e,t,n){for(;t>0;){let i=p(e,t-2,n);if(i<t)return i;t--}return 0}function m(e){return e>=56320&&e<57344}function S(e){return e>=55296&&e<56320}function b(e,t){let n=e.charCodeAt(t);if(!S(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return m(i)?i-56320+(n-55296<<10)+65536:n}function y(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function x(e){return e<65536?1:2}const v=/\r\n?|\n/;var Q=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(Q||(Q={}));class w{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,i=0;t<this.sections.length;){let r=this.sections[t++],s=this.sections[t++];s<0?(e(n,i,r),i+=r):i+=s,n+=r}}iterChangedRanges(e,t=!1){C(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];i<0?e.push(n,i):e.push(i,n)}return new w(e)}composeDesc(e){return this.empty?e:e.empty?this:A(this,e)}mapDesc(e,t=!1){return e.empty?this:T(this,e,t)}mapPos(e,t=-1,n=Q.Simple){let i=0,r=0;for(let s=0;s<this.sections.length;){let o=this.sections[s++],a=this.sections[s++],l=i+o;if(a<0){if(l>e)return r+(e-i);r+=o}else{if(n!=Q.Simple&&l>=e&&(n==Q.TrackDel&&i<e&&l>e||n==Q.TrackBefore&&i<e||n==Q.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!o)return e==i||t<0?r:r+a;r+=a}i=l}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return r}touchesRange(e,t=e){for(let n=0,i=0;n<this.sections.length&&i<=t;){let r=i+this.sections[n++];if(this.sections[n++]>=0&&i<=t&&r>=e)return!(i<e&&r>t)||"cover";i=r}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+n+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new w(e)}static create(e){return new w(e)}}class k extends w{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return C(this,(t,n,i,r,s)=>e=e.replace(i,i+(n-t),s),!1),e}mapDesc(e,t=!1){return T(this,e,t,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r<n.length;r+=2){let o=n[r],a=n[r+1];if(a>=0){n[r]=a,n[r+1]=o;let l=r>>1;for(;i.length<l;)i.push(e.empty);i.push(o?t.slice(s,s+o):e.empty)}s+=o}return new k(n,i)}compose(e){return this.empty?e:e.empty?this:A(this,e,!0)}map(e,t=!1){return e.empty?this:T(this,e,t,!0)}iterChanges(e,t=!1){C(this,e,t)}get desc(){return w.create(this.sections)}filter(e){let t=[],n=[],i=[],r=new X(this);e:for(let s=0,o=0;;){let a=s==e.length?1e9:e[s++];for(;o<a||o==a&&0==r.len;){if(r.done)break e;let e=Math.min(r.len,a-o);$(i,e,-1);let s=-1==r.ins?-1:0==r.off?r.ins:0;$(t,e,s),s>0&&P(n,t,r.text),r.forward(e),o+=e}let l=e[s++];for(;o<l;){if(r.done)break e;let e=Math.min(r.len,l-o);$(t,e,-1),$(i,e,-1==r.ins?-1:0==r.off?r.ins:0),r.forward(e),o+=e}}return{changes:new k(t,n),filtered:w.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],i=this.sections[t+1];i<0?e.push(n):0==i?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,i){let r=[],s=[],o=0,a=null;function l(e=!1){if(!e&&!r.length)return;o<n&&$(r,n-o,-1);let t=new k(r,s);a=a?a.compose(t.map(a)):t,r=[],s=[],o=0}function h(t){if(Array.isArray(t))for(let e of t)h(e);else if(t instanceof k){if(t.length!=n)throw new RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);l(),a=a?a.compose(t.map(a)):t}else{let{from:a,to:h=a,insert:c}=t;if(a>h||a<0||h>n)throw new RangeError(`Invalid change range ${a} to ${h} (in doc of length ${n})`);let u=c?"string"==typeof c?e.of(c.split(i||v)):c:e.empty,f=u.length;if(a==h&&0==f)return;a<o&&l(),a>o&&$(r,a-o,-1),$(r,h-a,f),P(s,r,u),o=h}}return h(t),l(!a),a}static empty(e){return new k(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;r<t.length;r++){let s=t[r];if("number"==typeof s)n.push(s,-1);else{if(!Array.isArray(s)||"number"!=typeof s[0]||s.some((e,t)=>t&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==s.length)n.push(s[0],0);else{for(;i.length<r;)i.push(e.empty);i[r]=e.of(s.slice(1)),n.push(s[0],i[r].length)}}}return new k(n,i)}static createSet(e,t){return new k(e,t)}}function $(e,t,n,i=!1){if(0==t&&n<=0)return;let r=e.length-2;r>=0&&n<=0&&n==e[r+1]?e[r]+=t:0==t&&0==e[r]?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function P(t,n,i){if(0==i.length)return;let r=n.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<r;)t.push(e.empty);t.push(i)}}function C(t,n,i){let r=t.inserted;for(let s=0,o=0,a=0;a<t.sections.length;){let l=t.sections[a++],h=t.sections[a++];if(h<0)s+=l,o+=l;else{let c=s,u=o,f=e.empty;for(;c+=l,u+=h,h&&r&&(f=f.append(r[a-2>>1])),!(i||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];n(s,c,o,u,f),s=c,o=u}}}function T(e,t,n,i=!1){let r=[],s=i?[]:null,o=new X(e),a=new X(t);for(let e=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);$(r,e,-1),o.forward(e),a.forward(e)}else if(a.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(a.len<o.len||a.len==o.len&&!n))){let t=a.len;for($(r,a.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&($(r,0,o.ins),s&&P(s,r,o.text),e=o.i),o.forward(n),t-=n}a.next()}else{if(!(o.ins>=0)){if(o.done&&a.done)return s?k.createSet(r,s):w.create(r);throw new Error("Mismatched change set lengths")}{let t=0,n=o.len;for(;n;)if(-1==a.ins){let e=Math.min(n,a.len);t+=e,n-=e,a.forward(e)}else{if(!(0==a.ins&&a.len<n))break;n-=a.len,a.next()}$(r,t,e<o.i?o.ins:0),s&&e<o.i&&P(s,r,o.text),e=o.i,o.forward(o.len-n)}}}function A(e,t,n=!1){let i=[],r=n?[]:null,s=new X(e),o=new X(t);for(let e=!1;;){if(s.done&&o.done)return r?k.createSet(i,r):w.create(i);if(0==s.ins)$(i,s.len,0,e),s.next();else if(0!=o.len||o.done){if(s.done||o.done)throw new Error("Mismatched change set lengths");{let t=Math.min(s.len2,o.len),n=i.length;if(-1==s.ins){let n=-1==o.ins?-1:o.off?0:o.ins;$(i,t,n,e),r&&n&&P(r,i,o.text)}else-1==o.ins?($(i,s.off?0:s.len,t,e),r&&P(r,i,s.textBit(t))):($(i,s.off?0:s.len,o.off?0:o.ins,e),r&&!o.off&&P(r,i,o.text));e=(s.ins>t||o.ins>=0&&o.len>t)&&(e||i.length>n),s.forward2(t),o.forward(t)}}else $(i,0,o.ins,e),r&&P(r,i,o.text),o.next()}}class X{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-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length?e.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?e.empty:n[i].slice(this.off,null==t?void 0:this.off+t)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Z{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){let e=3&this.flags;return 3==e?null:e}get goalColumn(){let e=this.flags>>5;return 33554431==e?void 0:e}map(e,t=-1){let n,i;return this.empty?n=i=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),n==this.from&&i==this.to?this:new Z(n,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return W.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return W.range(this.anchor,n)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return W.range(e.anchor,e.head)}static create(e,t,n){return new Z(e,t,n)}}class W{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:W.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new W([this.main],0)}addRange(e,t=!0){return W.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,W.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new W(e.ranges.map(e=>Z.fromJSON(e)),e.main)}static single(e,t=e){return new W([W.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,i=0;i<e.length;i++){let r=e[i];if(r.empty?r.from<=n:r.from<n)return W.normalized(e.slice(),t);n=r.to}return new W(e,t)}static cursor(e,t=0,n,i){return Z.create(e,e,(0==t?0:t<0?4:8)|(null==n?3:Math.min(2,n))|(null!=i?i:33554431)<<5)}static range(e,t,n,i){let r=(null!=n?n:33554431)<<5|(null==i?3:Math.min(2,i));return t<e?Z.create(t,e,24|r):Z.create(e,t,(t>e?4:0)|r)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;n<e.length;n++){let i=e[n],r=e[n-1];if(i.empty?i.from<=r.to:i.from<r.to){let s=r.from,o=Math.max(i.to,r.to);n<=t&&t--,e.splice(--n,2,i.anchor>i.head?W.range(o,s):W.range(s,o))}}return new W(e,t)}}function V(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let R=0;class _{constructor(e,t,n,i,r){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=i,this.id=R++,this.default=e([]),this.extensions="function"==typeof r?r(this):r}static define(e={}){return new _(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:Y),!!e.static,e.enables)}of(e){return new M([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new M(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new M(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function Y(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class M{constructor(e,t,n,i){this.dependencies=e,this.facet=t,this.type=n,this.value=i,this.id=R++}dynamicSlot(e){var t;let n=this.value,i=this.facet.compareInput,r=this.id,s=e[r]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let n of this.dependencies)"doc"==n?a=!0:"selection"==n?l=!0:0==(1&(null!==(t=e[n.id])&&void 0!==t?t:1))&&h.push(e[n.id]);return{create:e=>(e.values[s]=n(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||E(e,h)){let t=n(e);if(o?!q(t,e.values[s],i):!i(t,e.values[s]))return e.values[s]=t,1}return 0},reconfigure:(e,t)=>{let a,l=t.config.address[r];if(null!=l){let r=K(t,l);if(this.dependencies.every(n=>n instanceof _?t.facet(n)===e.facet(n):!(n instanceof j)||t.field(n,!1)==e.field(n,!1))||(o?q(a=n(e),r,i):i(a=n(e),r)))return e.values[s]=r,0}else a=n(e);return e.values[s]=a,1}}}}function q(e,t,n){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(!n(e[i],t[i]))return!1;return!0}function E(e,t){let n=!1;for(let i of t)1&J(e,i)&&(n=!0);return n}function U(e,t,n){let i=n.map(t=>e[t.id]),r=n.map(e=>e.type),s=i.filter(e=>!(1&e)),o=e[t.id]>>1;function a(e){let n=[];for(let t=0;t<i.length;t++){let s=K(e,i[t]);if(2==r[t])for(let e of s)n.push(e);else n.push(s)}return t.combine(n)}return{create(e){for(let t of i)J(e,t);return e.values[o]=a(e),1},update(e,n){if(!E(e,s))return 0;let i=a(e);return t.compare(i,e.values[o])?0:(e.values[o]=i,1)},reconfigure(e,r){let s=E(e,i),l=r.config.facets[t.id],h=r.facet(t);if(l&&!s&&Y(n,l))return e.values[o]=h,0;let c=a(e);return t.compare(c,h)?(e.values[o]=h,0):(e.values[o]=c,1)}}}const D=_.define({static:!0});class j{constructor(e,t,n,i,r){this.id=e,this.createF=t,this.updateF=n,this.compareF=i,this.spec=r,this.provides=void 0}static define(e){let t=new j(R++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(D).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let i=e.values[t],r=this.updateF(i,n);return this.compareF(i,r)?0:(e.values[t]=r,1)},reconfigure:(e,n)=>null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,D.of({field:this,create:e})]}get extension(){return this}}const z={lowest:4,low:3,default:2,high:1,highest:0};function I(e){return t=>new L(t,e)}const B={highest:I(z.highest),high:I(z.high),default:I(z.default),low:I(z.low),lowest:I(z.lowest)};class L{constructor(e,t){this.inner=e,this.prec=t}}class G{of(e){return new N(this,e)}reconfigure(e){return G.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class N{constructor(e,t){this.compartment=e,this.inner=t}}class F{constructor(e,t,n,i,r,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=i,this.staticValues=r,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let i=[],r=Object.create(null),s=new Map;for(let n of H(e,t,s))n instanceof j?i.push(n):(r[n.facet.id]||(r[n.facet.id]=[])).push(n);let o=Object.create(null),a=[],l=[];for(let e of i)o[e.id]=l.length<<1,l.push(t=>e.slot(t));let h=null==n?void 0:n.config.facets;for(let e in r){let t=r[e],i=t[0].facet,s=h&&h[e]||[];if(t.every(e=>0==e.type))if(o[i.id]=a.length<<1|1,Y(s,t))a.push(n.facet(i));else{let e=i.combine(t.map(e=>e.value));a.push(n&&i.compare(e,n.facet(i))?n.facet(i):e)}else{for(let e of t)0==e.type?(o[e.id]=a.length<<1|1,a.push(e.value)):(o[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));o[i.id]=l.length<<1,l.push(e=>U(e,i,t))}}let c=l.map(e=>e(o));return new F(e,s,c,o,a,r)}}function H(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(e,o){let a=r.get(e);if(null!=a){if(a<=o)return;let t=i[a].indexOf(e);t>-1&&i[a].splice(t,1),e instanceof N&&n.delete(e.compartment)}if(r.set(e,o),Array.isArray(e))for(let t of e)s(t,o);else if(e instanceof N){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=t.get(e.compartment)||e.inner;n.set(e.compartment,i),s(i,o)}else if(e instanceof L)s(e.inner,e.prec);else if(e instanceof j)i[o].push(e),e.provides&&s(e.provides,o);else if(e instanceof M)i[o].push(e),e.facet.extensions&&s(e.facet.extensions,z.default);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(t,o)}}return s(e,z.default),i.reduce((e,t)=>e.concat(t))}function J(e,t){if(1&t)return 2;let n=t>>1,i=e.status[n];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function K(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const ee=_.define(),te=_.define({combine:e=>e.some(e=>e),static:!0}),ne=_.define({combine:e=>e.length?e[0]:void 0,static:!0}),ie=_.define(),re=_.define(),se=_.define(),oe=_.define({combine:e=>!!e.length&&e[0]});class ae{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new ae(this,e)}}class he{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new he(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let i of e){let e=i.map(t);e&&n.push(e)}return n}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class ue{constructor(e,t,n,i,r,s){this.startState=e,this.changes=t,this.selection=n,this.effects=i,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,n&&V(n,t.newLength),r.some(e=>e.type==ue.time)||(this.annotations=r.concat(ue.time.of(Date.now())))}static create(e,t,n,i,r,s){return new ue(e,t,n,i,r,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 t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(ue.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function fe(e,t){let n=[];for(let i=0,r=0;;){let s,o;if(i<e.length&&(r==t.length||t[r]>=e[i]))s=e[i++],o=e[i++];else{if(!(r<t.length))return n;s=t[r++],o=t[r++]}!n.length||n[n.length-1]<s?n.push(s,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function de(e,t,n){var i;let r,s,o;return n?(r=t.changes,s=k.empty(t.changes.length),o=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),s=e.changes.mapDesc(t.changes,!0),o=e.changes.compose(r)),{changes:o,selection:t.selection?t.selection.map(s):null===(i=e.selection)||void 0===i?void 0:i.map(r),effects:ce.mapEffects(e.effects,r).concat(ce.mapEffects(t.effects,s)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function Oe(e,t,n){let i=t.selection,r=be(t.annotations);return t.userEvent&&(r=r.concat(ue.userEvent.of(t.userEvent))),{changes:t.changes instanceof k?t.changes:k.of(t.changes||[],n,e.facet(ne)),selection:i&&(i instanceof W?i:W.single(i.anchor,i.head)),effects:be(t.effects),annotations:r,scrollIntoView:!!t.scrollIntoView}}function pe(e,t,n){let i=Oe(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(n=!1);for(let r=1;r<t.length;r++){!1===t[r].filter&&(n=!1);let s=!!t[r].sequential;i=de(i,Oe(e,t[r],s?i.changes.newLength:e.doc.length),s)}let r=ue.create(e,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return me(n?ge(r):r)}function ge(e){let t=e.startState,n=!0;for(let i of t.facet(ie)){let t=i(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:fe(n,t))}if(!0!==n){let i,r;if(!1===n)r=e.changes.invertedDesc,i=k.empty(t.doc.length);else{let t=e.changes.filter(n);i=t.changes,r=t.filtered.mapDesc(t.changes).invertedDesc}e=ue.create(t,i,e.selection&&e.selection.map(r),ce.mapEffects(e.effects,r),e.annotations,e.scrollIntoView)}let i=t.facet(re);for(let n=i.length-1;n>=0;n--){let r=i[n](e);e=r instanceof ue?r:Array.isArray(r)&&1==r.length&&r[0]instanceof ue?r[0]:pe(t,be(r),!1)}return e}function me(e){let t=e.startState,n=t.facet(se),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=de(i,Oe(t,s,e.changes.newLength),!0))}return i==e?e:ue.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}ue.time=ae.define(),ue.userEvent=ae.define(),ue.addToHistory=ae.define(),ue.remote=ae.define();const Se=[];function be(e){return null==e?Se:Array.isArray(e)?e:[e]}var ye=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(ye||(ye={}));const xe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ve;try{ve=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function Qe(e){if(ve)return ve.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>"€"&&(n.toUpperCase()!=n.toLowerCase()||xe.test(n)))return!0}return!1}function we(e){return t=>{if(!/\S/.test(t))return ye.Space;if(Qe(t))return ye.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return ye.Word;return ye.Other}}class ke{constructor(e,t,n,i,r,s){this.config=e,this.doc=t,this.selection=n,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=r,s&&(s._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)J(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(null!=n)return J(this,n),K(this,n);if(t)throw new RangeError("Field is not present in this state")}update(...e){return pe(this,e,!0)}applyTransaction(e){let t,n=this.config,{base:i,compartments:r}=n;for(let t of e.effects)t.is(G.reconfigure)?(n&&(r=new Map,n.compartments.forEach((e,t)=>r.set(t,e)),n=null),r.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(n=null,i=t.value):t.is(ce.appendConfig)&&(n=null,i=be(i).concat(t.value));if(n)t=e.startState.values.slice();else{n=F.resolve(i,r,this),t=new ke(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}new ke(n,e.newDoc,e.newSelection,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:W.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),i=this.changes(n.changes),r=[n.range],s=be(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),a=this.changes(o.changes),l=a.map(i);for(let e=0;e<n;e++)r[e]=r[e].map(l);let h=i.mapDesc(a,!0);r.push(o.range.map(h)),i=i.compose(l),s=ce.mapEffects(s,l).concat(ce.mapEffects(be(o.effects),h))}return{changes:i,selection:W.create(r,t.mainIndex),effects:s}}changes(e=[]){return e instanceof k?e:k.of(e,this.doc.length,this.facet(ke.lineSeparator))}toText(t){return e.of(t.split(this.facet(ke.lineSeparator)||v))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(J(this,t),K(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let i=e[n];i instanceof j&&null!=this.config.address[i.id]&&(t[n]=i.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(n)for(let t in n)if(Object.prototype.hasOwnProperty.call(e,t)){let r=n[t],s=e[t];i.push(r.init(e=>r.spec.fromJSON(s,e)))}return ke.create({doc:e.doc,selection:W.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(t={}){let n=F.resolve(t.extensions||[],new Map),i=t.doc instanceof e?t.doc:e.of((t.doc||"").split(n.staticFacet(ke.lineSeparator)||v)),r=t.selection?t.selection instanceof W?t.selection:W.single(t.selection.anchor,t.selection.head):W.single(0);return V(r,i.length),n.staticFacet(te)||(r=r.asSingle()),new ke(n,i,r,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(ke.tabSize)}get lineBreak(){return this.facet(ke.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet(ke.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let i=+(n||1);return!i||i>t.length?e:t[i-1]})),e}languageDataAt(e,t,n=-1){let i=[];for(let r of this.facet(ee))for(let s of r(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&i.push(s[e]);return i}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),r=this.charCategorizer(e),s=e-n,o=e-n;for(;s>0;){let e=O(t,s,!1);if(r(t.slice(e,s))!=ye.Word)break;s=e}for(;o<i;){let e=O(t,o);if(r(t.slice(o,e))!=ye.Word)break;o=e}return s==o?null:W.range(s+n,o+n)}}function $e(e,t,n={}){let i={};for(let t of e)for(let e of Object.keys(t)){let r=t[e],s=i[e];if(void 0===s)i[e]=r;else if(s===r||void 0===r);else{if(!Object.hasOwnProperty.call(n,e))throw new Error("Config merge conflict for field "+e);i[e]=n[e](s,r)}}for(let e in t)void 0===i[e]&&(i[e]=t[e]);return i}ke.allowMultipleSelections=te,ke.tabSize=_.define({combine:e=>e.length?e[0]:4}),ke.lineSeparator=ne,ke.readOnly=oe,ke.phrases=_.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(n=>e[n]==t[n])}}),ke.languageData=ee,ke.changeFilter=ie,ke.transactionFilter=re,ke.transactionExtender=se,G.reconfigure=ce.define();class Pe{eq(e){return this==e}range(e,t=e){return Ce.create(e,t,this)}}Pe.prototype.startSide=Pe.prototype.endSide=0,Pe.prototype.point=!1,Pe.prototype.mapMode=Q.TrackDel;class Ce{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new Ce(e,t,n)}}function Te(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Ae{constructor(e,t,n,i){this.from=e,this.to=t,this.value=n,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,i=0){let r=n?this.to:this.from;for(let s=i,o=r.length;;){if(s==o)return s;let i=s+o>>1,a=r[i]-e||(n?this.value[i].endSide:this.value[i].startSide)-t;if(i==s)return a>=0?s:o;a>=0?o=i:s=i+1}}between(e,t,n,i){for(let r=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,r);r<s;r++)if(!1===i(this.from[r]+e,this.to[r]+e,this.value[r]))return!1}map(e,t){let n=[],i=[],r=[],s=-1,o=-1;for(let a=0;a<this.value.length;a++){let l,h,c=this.value[a],u=this.from[a]+e,f=this.to[a]+e;if(u==f){let e=t.mapPos(u,c.startSide,c.mapMode);if(null==e)continue;if(l=h=e,c.startSide!=c.endSide&&(h=t.mapPos(u,c.endSide),h<l))continue}else if(l=t.mapPos(u,c.startSide),h=t.mapPos(f,c.endSide),l>h||l==h&&c.startSide>0&&c.endSide<=0)continue;(h-l||c.endSide-c.startSide)<0||(s<0&&(s=l),c.point&&(o=Math.max(o,h-l)),n.push(c),i.push(l-s),r.push(h-s))}return{mapped:n.length?new Ae(i,r,n,o):null,pos:s}}}class Xe{constructor(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}static create(e,t,n,i){return new Xe(e,t,n,i)}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 t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:i=0,filterTo:r=this.length}=e,s=e.filter;if(0==t.length&&!s)return this;if(n&&(t=t.slice().sort(Te)),this.isEmpty)return t.length?Xe.of(t):this;let o=new Re(this,null,-1).goto(0),a=0,l=[],h=new We;for(;o.value||a<t.length;)if(a<t.length&&(o.from-t[a].from||o.startSide-t[a].value.startSide)>=0){let e=t[a++];h.addInner(e.from,e.to,e.value)||l.push(e)}else 1==o.rangeIndex&&o.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(o.chunkIndex)<t[a].from)&&(!s||i>this.chunkEnd(o.chunkIndex)||r<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!s||i>o.to||r<o.from||s(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||l.push(Ce.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!l.length?Xe.empty:this.nextLayer.update({add:l,filter:s,filterFrom:i,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],i=-1;for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r],a=e.touchesRange(s,s+o.length);if(!1===a)i=Math.max(i,o.maxPoint),t.push(o),n.push(e.mapPos(s));else if(!0===a){let{mapped:r,pos:a}=o.map(s,e);r&&(i=Math.max(i,r.maxPoint),t.push(r),n.push(a))}}let r=this.nextLayer.map(e);return 0==t.length?r:new Xe(n,t,r||Xe.empty,i)}between(e,t,n){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let r=this.chunkPos[i],s=this.chunk[i];if(t>=r&&e<=r+s.length&&!1===s.between(r,e-r,t-r,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return _e.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return _e.from(e).goto(t)}static compare(e,t,n,i,r=-1){let s=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r),a=Ve(s,o,n),l=new Me(s,a,r),h=new Me(o,a,r);n.iterGaps((e,t,n)=>qe(l,e,h,t,n,i)),n.empty&&0==n.length&&qe(l,0,h,0,0,i)}static eq(e,t,n=0,i){null==i&&(i=999999999);let r=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),s=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(r.length!=s.length)return!1;if(!r.length)return!0;let o=Ve(r,s),a=new Me(r,o,0).goto(n),l=new Me(s,o,0).goto(n);for(;;){if(a.to!=l.to||!Ee(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>i)return!0;a.next(),l.next()}}static spans(e,t,n,i,r=-1){let s=new Me(e,null,r).goto(t),o=t,a=s.openStart;for(;;){let e=Math.min(s.to,n);if(s.point){let n=s.activeForPoint(s.to),r=s.pointFrom<t?n.length+1:Math.min(n.length,a);i.point(o,e,s.point,n,r,s.pointRank),a=Math.min(s.openEnd(e),n.length)}else e>o&&(i.span(o,e,s.active,a),a=s.openEnd(e));if(s.to>n)return a+(s.point&&s.to>n?1:0);o=s.to,s.next()}}static of(e,t=!1){let n=new We;for(let i of e instanceof Ce?[e]:t?Ze(e):e)n.add(i.from,i.to,i.value);return n.finish()}}function Ze(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let i=e[n];if(Te(t,i)>0)return e.slice().sort(Te);t=i}return e}Xe.empty=new Xe([],[],null,-1),Xe.empty.nextLayer=Xe.empty;class We{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}finishChunk(e){this.chunks.push(new Ae(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=[])}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new We)).add(e,t,n)}addInner(e,t,n){let i=e-this.lastTo||n.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(Xe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Xe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ve(e,t,n){let i=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&i.set(t.chunk[e],t.chunkPos[e]);let r=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let s=i.get(e.chunk[t]);null==s||(n?n.mapPos(s):s)!=e.chunkPos[t]||(null==n?void 0:n.touchesRange(s,s+e.chunk[t].length))||r.add(e.chunk[t])}return r}class Re{constructor(e,t,n,i=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.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}}class _e{constructor(e){this.heap=e}static from(e,t=null,n=-1){let i=[];for(let r=0;r<e.length;r++)for(let s=e[r];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&i.push(new Re(s,t,n,r));return 1==i.length?i[0]:new _e(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ye(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ye(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)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(),Ye(this.heap,0)}}}function Ye(e,t){for(let n=e[t];;){let i=1+(t<<1);if(i>=e.length)break;let r=e[i];if(i+1<e.length&&r.compare(e[i+1])>=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class Me{constructor(e,t,n){this.minPoint=n,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=_e.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ue(this.active,e),Ue(this.activeTo,e),Ue(this.activeRank,e),this.minActive=je(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:i,rank:r}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=r;)t++;De(this.active,t,n),De(this.activeTo,t,i),De(this.activeRank,t,r),e&&De(e,t,this.cursor.from),this.minActive=je(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),n&&Ue(n,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(n),this.cursor.next()}}}if(n){this.openStart=0;for(let t=n.length-1;t>=0&&n[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function qe(e,t,n,i,r,s){e.goto(t),n.goto(i);let o=i+r,a=i,l=i-t;for(;;){let t=e.to+l-n.to||e.endSide-n.endSide,i=t<0?e.to+l:n.to,r=Math.min(i,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&Ee(e.activeForPoint(e.to+l),n.activeForPoint(n.to))||s.comparePoint(a,r,e.point,n.point):r>a&&!Ee(e.active,n.active)&&s.compareRange(a,r,e.active,n.active),i>o)break;a=i,t<=0&&e.next(),t>=0&&n.next()}}function Ee(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!e[n].eq(t[n]))return!1;return!0}function Ue(e,t){for(let n=t,i=e.length-1;n<i;n++)e[n]=e[n+1];e.pop()}function De(e,t,n){for(let n=e.length-1;n>=t;n--)e[n+1]=e[n];e[t]=n}function je(e,t){let n=-1,i=1e9;for(let r=0;r<t.length;r++)(t[r]-i||e[r].endSide-e[n].endSide)<0&&(n=r,i=t[r]);return n}function ze(e,t,n=e.length){let i=0;for(let r=0;r<n;)9==e.charCodeAt(r)?(i+=t-i%t,r++):(i++,r=O(e,r));return i}function Ie(e,t,n,i){for(let i=0,r=0;;){if(r>=t)return i;if(i==e.length)break;r+=9==e.charCodeAt(i)?n-r%n:1,i=O(e,i)}return!0===i?-1:e.length}const Be="ͼ",Le="undefined"==typeof Symbol?"__"+Be:Symbol.for(Be),Ge="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Ne="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Fe{constructor(e,t){this.rules=[];let{finish:n}=t||{};function i(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function r(e,t,s,o){let a=[],l=/^@(\w+)\b/.exec(e[0]),h=l&&"keyframes"==l[1];if(l&&null==t)return s.push(e[0]+";");for(let n in t){let o=t[n];if(/&/.test(n))r(n.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),o,s);else if(o&&"object"==typeof o){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");r(i(n),o,a,h)}else null!=o&&a.push(n.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+o+";")}(a.length||h)&&s.push((!n||l||o?e:e.map(n)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)r(i(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Ne[Le]||1;return Ne[Le]=e+1,Be+e.toString(36)}static mount(e,t){(e[Ge]||new Je(e)).mount(Array.isArray(t)?t:[t])}}let He=null;class Je{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(He)return e.adoptedStyleSheets=[He.sheet].concat(e.adoptedStyleSheets),e[Ge]=He;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),He=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[Ge]=this}mount(e){let t=this.sheet,n=0,i=0;for(let r=0;r<e.length;r++){let s=e[r],o=this.modules.indexOf(s);if(o<i&&o>-1&&(this.modules.splice(o,1),i--,o=-1),-1==o){if(this.modules.splice(i++,0,s),t)for(let e=0;e<s.rules.length;e++)t.insertRule(s.rules[e],n++)}else{for(;i<o;)n+=this.modules[i++].rules.length;n+=s.rules.length,i++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}}for(var Ke={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:"'"},et={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),nt=("undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)),it="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),rt=nt||tt&&+tt[1]<57,st=0;st<10;st++)Ke[48+st]=Ke[96+st]=String(st);for(st=1;st<=24;st++)Ke[st+111]="F"+st;for(st=65;st<=90;st++)Ke[st]=String.fromCharCode(st+32),et[st]=String.fromCharCode(st);for(var ot in Ke)et.hasOwnProperty(ot)||(et[ot]=Ke[ot]);function at(e){var t=!(rt&&(e.ctrlKey||e.altKey||e.metaKey)||it&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Ke)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}function lt(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function ht(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function ct(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function ut(e,t){if(!t.anchorNode)return!1;try{return ht(e,t.anchorNode)}catch(e){return!1}}function ft(e){return 3==e.nodeType?$t(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function dt(e,t,n,i){return!!n&&(pt(e,t,n,i,-1)||pt(e,t,n,i,1))}function Ot(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function pt(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:gt(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=Ot(e)+(r<0?0:1),e=n}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(r<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=r<0?gt(e):0}}}function gt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}const mt={left:0,right:0,top:0,bottom:0};function St(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function bt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function yt(e,t,n,i,r,s,o,a){let l=e.ownerDocument,h=l.defaultView||window;for(let c=e;c;)if(1==c.nodeType){let e,u=c==l.body;if(u)e=bt(h);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let t=c.getBoundingClientRect();e={left:t.left,right:t.left+c.clientWidth,top:t.top,bottom:t.top+c.clientHeight}}let f=0,d=0;if("nearest"==r)t.top<e.top?(d=-(e.top-t.top+o),n>0&&t.bottom>e.bottom+d&&(d=t.bottom-e.bottom+d+o)):t.bottom>e.bottom&&(d=t.bottom-e.bottom+o,n<0&&t.top-d<e.top&&(d=-(e.top+d-t.top+o)));else{let i=t.bottom-t.top,s=e.bottom-e.top;d=("center"==r&&i<=s?t.top+i/2-s/2:"start"==r||"center"==r&&n<0?t.top-o:t.bottom-s+o)-e.top}if("nearest"==i)t.left<e.left?(f=-(e.left-t.left+s),n>0&&t.right>e.right+f&&(f=t.right-e.right+f+s)):t.right>e.right&&(f=t.right-e.right+s,n<0&&t.left<e.left+f&&(f=-(e.left+f-t.left+s)));else{f=("center"==i?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==i==a?t.left-s:t.right-(e.right-e.left)+s)-e.left}if(f||d)if(u)h.scrollBy(f,d);else{let e=0,n=0;if(d){let e=c.scrollTop;c.scrollTop+=d,n=c.scrollTop-e}if(f){let t=c.scrollLeft;c.scrollLeft+=f,e=c.scrollLeft-t}t={left:t.left-e,top:t.top-n,right:t.right-e,bottom:t.bottom-n},e&&Math.abs(e-f)<1&&(i="nearest"),n&&Math.abs(n-d)<1&&(r="nearest")}if(u)break;c=c.assignedSlot||c.parentNode}else{if(11!=c.nodeType)break;c=c.host}}function xt(e){let t=e.ownerDocument;for(let n=e.parentNode;n&&n!=t.body;)if(1==n.nodeType){if(n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)return n;n=n.assignedSlot||n.parentNode}else{if(11!=n.nodeType)break;n=n.host}return null}class vt{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){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,t,n,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=i}}let Qt,wt=null;function kt(e){if(e.setActive)return e.setActive();if(wt)return e.focus(wt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==wt?{get preventScroll(){return wt={preventScroll:!0},!0}}:void 0),!wt){wt=!1;for(let e=0;e<t.length;){let n=t[e++],i=t[e++],r=t[e++];n.scrollTop!=i&&(n.scrollTop=i),n.scrollLeft!=r&&(n.scrollLeft=r)}}}function $t(e,t,n=t){let i=Qt||(Qt=document.createRange());return i.setEnd(e,n),i.setStart(e,t),i}function Pt(e,t,n){let i={key:t,code:t,keyCode:n,which:n,cancelable:!0},r=new KeyboardEvent("keydown",i);r.synthetic=!0,e.dispatchEvent(r);let s=new KeyboardEvent("keyup",i);return s.synthetic=!0,e.dispatchEvent(s),r.defaultPrevented||s.defaultPrevented}function Ct(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function Tt(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function At(e,t){let n=t.focusNode,i=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=i)return!1;for(;;)if(i){if(1!=n.nodeType)return!1;let e=n.childNodes[i-1];"false"==e.contentEditable?i--:(n=e,i=gt(n))}else{if(n==e)return!0;i=Ot(n),n=n.parentNode}}class Xt{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new Xt(e.parentNode,Ot(e),t)}static after(e,t){return new Xt(e.parentNode,Ot(e)+1,t)}}const Zt=[];class Wt{constructor(){this.parent=null,this.dom=null,this.dirty=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}coordsAt(e,t){return null}sync(e,t){if(2&this.dirty){let n,i=this.dom,r=null;for(let s of this.children){if(s.dirty){if(!s.dom&&(n=r?r.nextSibling:i.firstChild)){let e=Wt.get(n);(!e||!e.parent&&e.canReuseDOM(s))&&s.reuseDOM(n)}s.sync(e,t),s.dirty=0}if(n=r?r.nextSibling:i.firstChild,t&&!t.written&&t.node==i&&n!=s.dom&&(t.written=!0),s.dom.parentNode==i)for(;n&&n!=s.dom;)n=Vt(n);else i.insertBefore(s.dom,n);r=s.dom}for(n=r?r.nextSibling:i.firstChild,n&&t&&t.node==i&&(t.written=!0);n;)n=Vt(n)}else if(1&this.dirty)for(let n of this.children)n.dirty&&(n.sync(e,t),n.dirty=0)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let i=0==gt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==i&&t.firstChild!=t.lastChild&&(i=e==t.firstChild?-1:1),e=t}n=i<0?e:e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!Wt.get(n);)n=n.nextSibling;if(!n)return this.length;for(let e=0,t=0;;e++){let i=this.children[e];if(i.dom==n)return t;t+=i.length+i.breakAfter}}domBoundsAround(e,t,n=0){let i=-1,r=-1,s=-1,o=-1;for(let a=0,l=n,h=n;a<this.children.length;a++){let n=this.children[a],c=l+n.length;if(l<e&&c>t)return n.domBoundsAround(e,t,l);if(c>=e&&-1==i&&(i=a,r=l),l>t&&n.dom.parentNode==this.dom){s=a,o=h;break}h=c,l=c+n.breakAfter}return{from:r,to:o<0?n+this.length:o,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.dirty|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.dirty|=2),1&t.dirty)return;t.dirty|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=Zt){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&e.destroy()}this.children.splice(e,t-e,...n);for(let e=0;e<n.length;e++)n[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Rt(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}merge(e,t,n,i,r,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor}getSide(){return 0}destroy(){this.parent=null}}function Vt(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Wt.prototype.breakAfter=0;class Rt{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function _t(e,t,n,i,r,s,o,a,l){let{children:h}=e,c=h.length?h[t]:null,u=s.length?s[s.length-1]:null,f=u?u.breakAfter:o;if(!(t==i&&c&&!o&&!f&&s.length<2&&c.merge(n,r,s.length?u:null,0==n,a,l))){if(i<h.length){let e=h[i];e&&r<e.length?(t==i&&(e=e.split(r),r=0),!f&&u&&e.merge(0,r,u,!0,0,l)?s[s.length-1]=e:(r&&e.merge(0,r,null,!1,0,l),s.push(e))):(null==e?void 0:e.breakAfter)&&(u?u.breakAfter=1:o=1),i++}for(c&&(c.breakAfter=o,n>0&&(!o&&s.length&&c.merge(n,c.length,s[0],!1,a,0)?c.breakAfter=s.shift().breakAfter:(n<c.length||c.children.length&&0==c.children[c.children.length-1].length)&&c.merge(n,c.length,null,!1,a,0),t++));t<i&&s.length;)if(h[i-1].become(s[s.length-1]))i--,s.pop(),l=s.length?0:a;else{if(!h[t].become(s[0]))break;t++,s.shift(),a=s.length?0:l}!s.length&&t&&i<h.length&&!h[t-1].breakAfter&&h[i].merge(0,0,h[t-1],!1,a,l)&&t--,(t<i||s.length)&&e.replaceChildren(t,i,s)}}function Yt(e,t,n,i,r,s){let o=e.childCursor(),{i:a,off:l}=o.findPos(n,1),{i:h,off:c}=o.findPos(t,-1),u=t-n;for(let e of i)u+=e.length;e.length+=u,_t(e,h,c,a,l,i,0,r,s)}let Mt="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},qt="undefined"!=typeof document?document:{documentElement:{style:{}}};const Et=/Edge\/(\d+)/.exec(Mt.userAgent),Ut=/MSIE \d/.test(Mt.userAgent),Dt=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Mt.userAgent),jt=!!(Ut||Dt||Et),zt=!jt&&/gecko\/(\d+)/i.test(Mt.userAgent),It=!jt&&/Chrome\/(\d+)/.exec(Mt.userAgent),Bt="webkitFontSmoothing"in qt.documentElement.style,Lt=!jt&&/Apple Computer/.test(Mt.vendor),Gt=Lt&&(/Mobile\/\w+/.test(Mt.userAgent)||Mt.maxTouchPoints>2);var Nt={mac:Gt||/Mac/.test(Mt.platform),windows:/Win/.test(Mt.platform),linux:/Linux|X11/.test(Mt.platform),ie:jt,ie_version:Ut?qt.documentMode||6:Dt?+Dt[1]:Et?+Et[1]:0,gecko:zt,gecko_version:zt?+(/Firefox\/(\d+)/.exec(Mt.userAgent)||[0,0])[1]:0,chrome:!!It,chrome_version:It?+It[1]:0,ios:Gt,android:/Android\b/.test(Mt.userAgent),webkit:Bt,safari:Lt,webkit_version:Bt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=qt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};const Ft=256;class Ht extends Wt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return(!n||n instanceof Ht&&!(this.length-(t-e)+n.length>Ft))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Ht(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Xt(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Kt(this.dom,e,t)}}class Jt extends Wt{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(Tt(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}sync(e,t){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,i,r,s){return(!n||!(!(n instanceof Jt&&n.mark.eq(this.mark))||e&&r<=0||t<this.length&&s<=0))&&(Yt(this,e,t,n?n.children:[],r-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,i=-1,r=0;for(let s of this.children){let o=n+s.length;o>e&&t.push(n<e?s.split(e-n):s),i<0&&n>=e&&(i=r),n=o,r++}let s=this.length-e;return this.length=e,i>-1&&(this.children.length=i,this.markDirty()),new Jt(this.mark,t,s)}domAtPos(e){return an(this,e)}coordsAt(e,t){return hn(this,e,t)}}function Kt(e,t,n){let i=e.nodeValue.length;t>i&&(t=i);let r=t,s=t,o=0;0==t&&n<0||t==i&&n>=0?Nt.chrome||Nt.gecko||(t?(r--,o=1):s<i&&(s++,o=-1)):n<0?r--:s<i&&s++;let a=$t(e,r,s).getClientRects();if(!a.length)return mt;let l=a[(o?o<0:n>=0)?0:a.length-1];return Nt.safari&&!o&&0==l.width&&(l=Array.prototype.find.call(a,e=>e.width)||l),o?St(l,o<0):l||null}class en extends Wt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}static create(e,t,n){return new(e.customView||en)(e,t,n)}split(e){let t=en.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,i,r,s){return!(n&&(!(n instanceof en&&this.widget.compare(n.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e.length==this.length&&e instanceof en&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.eq(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return e.empty;let t=this;for(;t.parent;)t=t.parent;let{view:n}=t,i=n&&n.state.doc,r=this.posAtStart;return i?i.slice(r,r+this.length):e.empty}domAtPos(e){return 0==e?Xt.before(this.dom):Xt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.dom.getClientRects(),i=null;if(!n.length)return mt;for(let t=e>0?n.length-1:0;i=n[t],!(e>0?0==t:t==n.length-1||i.top<i.bottom);t+=e>0?-1:1);return this.length?i:St(i,this.side>0)}get isEditable(){return!1}get isWidget(){return!0}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class tn extends en{domAtPos(e){let{topView:t,text:n}=this.widget;return t?nn(e,0,t,n,(e,t)=>e.domAtPos(t),e=>new Xt(n,Math.min(e,n.nodeValue.length))):new Xt(n,Math.min(e,n.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,t){let{topView:n,text:i}=this.widget;return n?rn(e,t,n,i):Math.min(t,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,t){let{topView:n,text:i}=this.widget;return n?nn(e,t,n,i,(e,t,n)=>e.coordsAt(t,n),(e,t)=>Kt(i,e,t)):Kt(i,e,t)}destroy(){var e;super.destroy(),null===(e=this.widget.topView)||void 0===e||e.destroy()}get isEditable(){return!0}canReuseDOM(){return!0}}function nn(e,t,n,i,r,s){if(n instanceof Jt){for(let o=n.dom.firstChild;o;o=o.nextSibling){let n=Wt.get(o);if(!n)return s(e,t);let a=ht(o,i),l=n.length+(a?i.nodeValue.length:0);if(e<l||e==l&&n.getSide()<=0)return a?nn(e,t,n,i,r,s):r(n,e,t);e-=l}return r(n,n.length,-1)}return n.dom==i?s(e,t):r(n,e,t)}function rn(e,t,n,i){if(n instanceof Jt)for(let r of n.children){let n=0,s=ht(r.dom,i);if(ht(r.dom,e))return n+(s?rn(e,t,r,i):r.localPosFromDOM(e,t));n+=s?i.nodeValue.length:r.length}else if(n.dom==i)return Math.min(t,i.nodeValue.length);return n.localPosFromDOM(e,t)}class sn extends Wt{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof sn&&e.side==this.side}split(){return new sn(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return Xt.before(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){let t=this.dom.getBoundingClientRect(),n=on(this,this.side>0?-1:1);return n&&n.top<t.bottom&&n.bottom>t.top?{left:t.left,right:t.right,top:n.top,bottom:n.bottom}:t}get overrideDOMText(){return e.empty}}function on(e,t){let n=e.parent,i=n?n.children.indexOf(e):-1;for(;n&&i>=0;)if(t<0?i>0:i<n.children.length){let e=n.children[i+t];if(e instanceof Ht){let n=e.coordsAt(t<0?e.length:0,t);if(n)return n}i+=t}else{if(!(n instanceof Jt&&n.parent)){let e=n.dom.lastChild;if(e&&"BR"==e.nodeName)return e.getClientRects()[0];break}i=n.parent.children.indexOf(n)+(t<0?0:1),n=n.parent}}function an(e,t){let n=e.dom,{children:i}=e,r=0;for(let e=0;r<i.length;r++){let s=i[r],o=e+s.length;if(!(o==e&&s.getSide()<=0)){if(t>e&&t<o&&s.dom.parentNode==n)return s.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=r;e>0;e--){let t=i[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=r;e<i.length;e++){let t=i[e];if(t.dom.parentNode==n)return t.domAtPos(0)}return new Xt(n,0)}function ln(e,t,n){let i,{children:r}=e;n>0&&t instanceof Jt&&r.length&&(i=r[r.length-1])instanceof Jt&&i.mark.eq(t.mark)?ln(i,t.children[0],n-1):(r.push(t),t.setParent(e)),e.length+=t.length}function hn(e,t,n){let i=null,r=-1,s=null,o=-1;function a(e,t){for(let n=0,l=0;n<e.children.length&&l<=t;n++){let h=e.children[n],c=l+h.length;c>=t&&(h.children.length?a(h,t-l):!s&&(c>t||l==c&&h.getSide()>0)?(s=h,o=t-l):(l<t||l==c&&h.getSide()<0)&&(i=h,r=t-l)),l=c}}a(e,t);let l=(n<0?i:s)||i||s;return l?l.coordsAt(Math.max(0,l==i?r:o),n):cn(e)}function cn(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=ft(t);return n[n.length-1]||null}function un(e,t){for(let n in e)"class"==n&&t.class?t.class+=" "+e.class:"style"==n&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}function fn(e,t){if(e==t)return!0;if(!e||!t)return!1;let n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(let r of n)if(-1==i.indexOf(r)||e[r]!==t[r])return!1;return!0}function dn(e,t,n){let i=null;if(t)for(let r in t)n&&r in n||e.removeAttribute(i=r);if(n)for(let r in n)t&&t[r]==n[r]||e.setAttribute(i=r,n[r]);return!!i}Ht.prototype.children=en.prototype.children=sn.prototype.children=Zt;class On{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}ignoreEvent(e){return!0}get customView(){return null}destroy(e){}}var pn=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(pn||(pn={}));class gn extends Pe{constructor(e,t,n,i){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=i}get heightRelevant(){return!1}static mark(e){return new mn(e)}static widget(e){let t=e.side||0,n=!!e.block;return t+=n?t>0?3e8:-4e8:t>0?1e8:-1e8,new bn(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,i=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:r,end:s}=yn(e,i);t=(r?i?-3e8:-1:5e8)-1,n=1+(s?i?2e8:1:-6e8)}return new bn(e,t,n,i,e.widget||null,!0)}static line(e){return new Sn(e)}static set(e,t=!1){return Xe.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}gn.none=Xe.empty;class mn extends gn{constructor(e){let{start:t,end:n}=yn(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof mn&&this.tagName==e.tagName&&this.class==e.class&&fn(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}mn.prototype.point=!1;class Sn extends gn{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Sn&&this.spec.class==e.spec.class&&fn(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Sn.prototype.mapMode=Q.TrackBefore,Sn.prototype.point=!0;class bn extends gn{constructor(e,t,n,i,r,s){super(t,n,r,e),this.block=i,this.isReplace=s,this.mapMode=i?t<=0?Q.TrackBefore:Q.TrackAfter:Q.TrackDel}get type(){return this.startSide<this.endSide?pn.WidgetRange:this.startSide<=0?pn.WidgetBefore:pn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&this.widget.estimatedHeight>=5}eq(e){return e instanceof bn&&xn(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function yn(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return null==n&&(n=e.inclusive),null==i&&(i=e.inclusive),{start:null!=n?n:t,end:null!=i?i:t}}function xn(e,t){return e==t||!!(e&&t&&e.compare(t))}function vn(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}bn.prototype.point=!0;class Qn extends Wt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,i,r,s){if(n){if(!(n instanceof Qn))return!1;this.dom||n.transferDOM(this)}return i&&this.setDeco(n?n.attrs:null),Yt(this,e,t,n?n.children:[],r,s),!0}split(e){let t=new Qn;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:i}=this.childPos(e);i&&(t.append(this.children[n].split(i),0),this.children[n].merge(i,this.children[n].length,null,!1,0,0),n++);for(let e=n;e<this.children.length;e++)t.append(this.children[e],0);for(;n>0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){fn(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){ln(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=un(t,this.attrs||{})),n&&(this.attrs=un({class:n},this.attrs||{}))}domAtPos(e){return an(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.dirty|=6)}sync(e,t){var n;this.dom?4&this.dirty&&(Tt(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(dn(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let i=this.dom.lastChild;for(;i&&Wt.get(i)instanceof Jt;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(n=Wt.get(i))||void 0===n?void 0:n.isEditable)||Nt.ios&&this.children.some(e=>e instanceof Ht)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e=0;for(let t of this.children){if(!(t instanceof Ht)||/[^ -~]/.test(t.text))return null;let n=ft(t.dom);if(1!=n.length)return null;e+=n[0].width}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}:null}coordsAt(e,t){return hn(this,e,t)}become(e){return!1}get type(){return pn.Text}static find(e,t){for(let n=0,i=0;n<e.children.length;n++){let r=e.children[n],s=i+r.length;if(s>=t){if(r instanceof Qn)return r;if(s>t)break}i=s+r.breakAfter}return null}}class wn extends Wt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,i,r,s){return!(n&&(!(n instanceof wn&&this.widget.compare(n.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?Xt.before(this.dom):Xt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new wn(this.widget,t,this.type);return n.breakAfter=this.breakAfter,n}get children(){return Zt}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):e.empty}domBoundsAround(){return null}become(e){return e instanceof wn&&e.type==this.type&&e.widget.constructor==this.widget.constructor&&(e.widget.eq(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class kn{constructor(e,t,n,i){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=i,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof wn&&e.type==pn.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Qn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append($n(new sn(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:i}=this.cursor.next(this.skip);if(this.skip=0,i)throw new Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let i=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append($n(new Ht(this.text.slice(this.textOff,this.textOff+i)),t),n),this.atCursorPos=!0,this.textOff+=i,e-=i,n=0}}span(e,t,n,i){this.buildText(t-e,n,i),this.pos=t,this.openStart<0&&(this.openStart=i)}point(e,t,n,i,r,s){if(this.disallowBlockEffectsFor[s]&&n instanceof bn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(n instanceof bn)if(n.block){let{type:e}=n;e!=pn.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new wn(n.widget||new Pn("div"),o,e))}else{let s=en.create(n.widget||new Pn("span"),o,o?0:n.startSide),a=this.atCursorPos&&!s.isEditable&&r<=i.length&&(e<t||n.startSide>0),l=!s.isEditable&&(e<t||r>i.length||n.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||(this.pendingBuffer=0),this.flushBuffer(i),a&&(h.append($n(new sn(1),i),r),r=i.length+Math.max(0,r-i.length)),h.append($n(s,i),r),this.atCursorPos=l,this.pendingBuffer=l?e<t||r>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=r)}static build(e,t,n,i,r){let s=new kn(e,t,n,r);return s.openEnd=Xe.spans(i,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function $n(e,t){for(let n of t)e=new Jt(n,[e],e.length);return e}class Pn extends On{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}}const Cn=_.define(),Tn=_.define(),An=_.define(),Xn=_.define(),Zn=_.define(),Wn=_.define(),Vn=_.define(),Rn=_.define({combine:e=>e.some(e=>e)}),_n=_.define({combine:e=>e.some(e=>e)});class Yn{constructor(e,t="nearest",n="nearest",i=5,r=5){this.range=e,this.y=t,this.x=n,this.yMargin=i,this.xMargin=r}map(e){return e.empty?this:new Yn(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const Mn=ce.define({map:(e,t)=>e.map(t)});function qn(e,t,n){let i=e.facet(Xn);i.length?i[0](t):window.onerror?window.onerror(String(t),n,void 0,void 0,t):n?console.error(n+":",t):console.error(t)}const En=_.define({combine:e=>!e.length||e[0]});let Un=0;const Dn=_.define();class jn{constructor(e,t,n,i){this.id=e,this.create=t,this.domEventHandlers=n,this.extension=i(this)}static define(e,t){const{eventHandlers:n,provide:i,decorations:r}=t||{};return new jn(Un++,e,n,e=>{let t=[Dn.of(e)];return r&&t.push(Ln.of(t=>{let n=t.plugin(e);return n?r(n):gn.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return jn.define(t=>new e(t),t)}}class zn{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(qn(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){qn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){qn(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const In=_.define(),Bn=_.define(),Ln=_.define(),Gn=_.define(),Nn=_.define(),Fn=_.define();class Hn{constructor(e,t,n,i){this.fromA=e,this.toA=t,this.fromB=n,this.toB=i}join(e){return new Hn(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 t=e.length,n=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>n.toA)){if(i.toA<n.fromA)break;n=n.join(i),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(0==t.length)return e;let n=[];for(let i=0,r=0,s=0,o=0;;i++){let a=i==e.length?null:e[i],l=s-o,h=a?a.fromB:1e9;for(;r<t.length&&t[r]<h;){let e=t[r],i=t[r+1],s=Math.max(o,e),a=Math.min(h,i);if(s<=a&&new Hn(s+l,a+l,s,a).addToSet(n),i>h)break;r+=2}if(!a)return n;new Hn(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),s=a.toA,o=a.toB}}}class Jn{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=k.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let i=[];this.changes.iterChangedRanges((e,t,n,r)=>i.push(new Hn(e,t,n,r))),this.changedRanges=i}static create(e,t,n){return new Jn(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}var Kn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Kn||(Kn={}));const ei=Kn.LTR,ti=Kn.RTL;function ni(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<+e[n]);return t}const ii=ni("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),ri=ni("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),si=Object.create(null),oi=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),n=e.charCodeAt(1);si[t]=n,si[n]=-t}function ai(e){return e<=247?ii[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?ri[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8203?256:64336<=e&&e<=65023?4:8204==e?256:1}const li=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class hi{constructor(e,t,n){this.from=e,this.to=t,this.level=n}get dir(){return this.level%2?ti:ei}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,n,i){let r=-1;for(let s=0;s<e.length;s++){let o=e[s];if(o.from<=t&&o.to>=t){if(o.level==n)return s;(r<0||(0!=i?i<0?o.from<t:o.to>t:e[r].level>o.level))&&(r=s)}}if(r<0)throw new RangeError("Index out of range");return r}}const ci=[];function ui(e,t){let n=e.length,i=t==ei?1:2,r=t==ei?2:1;if(!e||1==i&&!li.test(e))return fi(n);for(let t=0,r=i,s=i;t<n;t++){let n=ai(e.charCodeAt(t));512==n?n=r:8==n&&4==s&&(n=16),ci[t]=4==n?2:n,7&n&&(s=n),r=n}for(let e=0,t=i,r=i;e<n;e++){let i=ci[e];if(128==i)e<n-1&&t==ci[e+1]&&24&t?i=ci[e]=t:ci[e]=256;else if(64==i){let i=e+1;for(;i<n&&64==ci[i];)i++;let s=e&&8==t||i<n&&8==ci[i]?1==r?1:8:256;for(let t=e;t<i;t++)ci[t]=s;e=i-1}else 8==i&&1==r&&(ci[e]=1);t=i,7&i&&(r=i)}for(let t,s,o,a=0,l=0,h=0;a<n;a++)if(s=si[t=e.charCodeAt(a)])if(s<0){for(let e=l-3;e>=0;e-=3)if(oi[e+1]==-s){let t=oi[e+2],n=2&t?i:4&t?1&t?r:i:0;n&&(ci[a]=ci[oi[e]]=n),l=e;break}}else{if(189==oi.length)break;oi[l++]=a,oi[l++]=t,oi[l++]=h}else if(2==(o=ci[a])||1==o){let e=o==i;h=e?0:1;for(let t=l-3;t>=0;t-=3){let n=oi[t+2];if(2&n)break;if(e)oi[t+2]|=2;else{if(4&n)break;oi[t+2]|=4}}}for(let e=0;e<n;e++)if(256==ci[e]){let t=e+1;for(;t<n&&256==ci[t];)t++;let r=1==(e?ci[e-1]:i),s=r==(1==(t<n?ci[t]:i))?r?1:2:i;for(let n=e;n<t;n++)ci[n]=s;e=t-1}let s=[];if(1==i)for(let e=0;e<n;){let t=e,i=1!=ci[e++];for(;e<n&&i==(1!=ci[e]);)e++;if(i)for(let n=e;n>t;){let e=n,i=2!=ci[--n];for(;n>t&&i==(2!=ci[n-1]);)n--;s.push(new hi(n,e,i?2:1))}else s.push(new hi(t,e,0))}else for(let e=0;e<n;){let t=e,i=2==ci[e++];for(;e<n&&i==(2==ci[e]);)e++;s.push(new hi(t,e,i?1:2))}return s}function fi(e){return[new hi(0,e,0)]}let di="";function Oi(e,t,n,i,r){var s;let o=i.head-e.from,a=-1;if(0==o){if(!r||!e.length)return null;t[0].level!=n&&(o=t[0].side(!1,n),a=0)}else if(o==e.length){if(r)return null;let e=t[t.length-1];e.level!=n&&(o=e.side(!0,n),a=t.length-1)}a<0&&(a=hi.find(t,o,null!==(s=i.bidiLevel)&&void 0!==s?s:-1,i.assoc));let l=t[a];o==l.side(r,n)&&(l=t[a+=r?1:-1],o=l.side(!r,n));let h=r==(l.dir==n),c=O(e.text,o,h);if(di=e.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(r,n))return W.cursor(c+e.from,h?-1:1,l.level);let u=a==(r?t.length-1:0)?null:t[a+(r?1:-1)];return u||l.level==n?u&&u.level<l.level?W.cursor(u.side(!r,n)+e.from,r?1:-1,u.level):W.cursor(c+e.from,r?-1:1,l.level):W.cursor(r?e.to:e.from,r?-1:1,n)}const pi="￿";class gi{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ke.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=pi}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let i=e;;){this.findPointBefore(n,i),this.readNode(i);let e=i.nextSibling;if(e==t)break;let r=Wt.get(i),s=Wt.get(e);(r&&s?r.breakAfter:(r?r.breakAfter:mi(i))||mi(e)&&("BR"!=i.nodeName||i.cmIgnore))&&this.lineBreak(),i=e}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let r,s=-1,o=1;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(r=i.exec(t))&&(s=r.index,o=r[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=o-1);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=Wt.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}}function mi(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class Si{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class bi extends Wt{constructor(e){super(),this.view=e,this.compositionDeco=gn.none,this.decorations=[],this.dynamicDecorationMap=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Qn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Hn(0,0,0,e.state.doc.length)],0)}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>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.view.inputState.composing<0?this.compositionDeco=gn.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=Qi(this.view,e.changes)),(Nt.ie||Nt.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let n=Ci(this.decorations,this.updateDeco(),e.changes);return t=Hn.extendWithRanges(t,n),(0!=this.dirty||0!=t.length)&&(this.updateInner(t,e.startState.doc.length),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Nt.chrome||Nt.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.dirty=0,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof wn&&e.widget instanceof xi&&i.push(e.dom);n.updateGaps(i)}updateChildren(e,t){let n=this.childCursor(t);for(let t=e.length-1;;t--){let i=t>=0?e[t]:null;if(!i)break;let{fromA:r,toA:s,fromB:o,toB:a}=i,{content:l,breakAtStart:h,openStart:c,openEnd:u}=kn.build(this.view.state.doc,o,a,this.decorations,this.dynamicDecorationMap),{i:f,off:d}=n.findPos(s,1),{i:O,off:p}=n.findPos(r,-1);_t(this,O,p,f,d,l,h,c,u)}}updateSelection(e=!1,t=!1){if(!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange(),!t&&!this.mayControlSelection())return;let n=this.forceSelection;this.forceSelection=!1;let i=this.view.state.selection.main,r=this.domAtPos(i.anchor),s=i.empty?r:this.domAtPos(i.head);if(Nt.gecko&&i.empty&&yi(r)){let e=document.createTextNode("");this.view.observer.ignore(()=>r.node.insertBefore(e,r.node.childNodes[r.offset]||null)),r=s=new Xt(e,0),n=!0}let o=this.view.observer.selectionRange;!n&&o.focusNode&&dt(r.node,r.offset,o.anchorNode,o.anchorOffset)&&dt(s.node,s.offset,o.focusNode,o.focusOffset)||(this.view.observer.ignore(()=>{Nt.android&&Nt.chrome&&this.dom.contains(o.focusNode)&&Ti(o.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=lt(this.view.root);if(e)if(i.empty){if(Nt.gecko){let e=$i(r.node,r.offset);if(e&&3!=e){let t=ki(r.node,r.offset,1==e?1:-1);t&&(r=new Xt(t,1==e?0:t.nodeValue.length))}}e.collapse(r.node,r.offset),null!=i.bidiLevel&&null!=o.cursorBidiLevel&&(o.cursorBidiLevel=i.bidiLevel)}else if(e.extend){e.collapse(r.node,r.offset);try{e.extend(s.node,s.offset)}catch(e){}}else{let t=document.createRange();i.anchor>i.head&&([r,s]=[s,r]),t.setEnd(s.node,s.offset),t.setStart(r.node,r.offset),e.removeAllRanges(),e.addRange(t)}else;}),this.view.observer.setSelectionRange(r,s)),this.impreciseAnchor=r.precise?null:new Xt(o.anchorNode,o.anchorOffset),this.impreciseHead=s.precise?null:new Xt(o.focusNode,o.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let{view:e}=this,t=e.state.selection.main,n=lt(e.root),{anchorNode:i,anchorOffset:r}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let s=Qn.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);n.collapse(h.node,h.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&n.collapse(i,r)}mayControlSelection(){let e=this.view.root.activeElement;return e==this.dom||ut(this.dom,this.view.observer.selectionRange)&&!(e&&this.dom.contains(e))}nearest(e){for(let t=e;t;){let e=Wt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(n<e.length||e instanceof Qn)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){for(let n=this.length,i=this.children.length-1;;i--){let r=this.children[i],s=n-r.breakAfter-r.length;if(e>s||e==s&&r.type!=pn.WidgetBefore&&r.type!=pn.WidgetAfter&&(!i||2==t||this.children[i-1].breakAfter||this.children[i-1].type==pn.WidgetBefore&&t>-2))return r.coordsAt(e-s,t);n=s}}measureVisibleLineHeights(e){let t=[],{from:n,to:i}=e,r=this.view.contentDOM.clientWidth,s=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Kn.LTR;for(let e=0,l=0;l<this.children.length;l++){let h=this.children[l],c=e+h.length;if(c>i)break;if(e>=n){let n=h.dom.getBoundingClientRect();if(t.push(n.height),s){let t=h.dom.lastChild,i=t?ft(t):[];if(i.length){let t=i[i.length-1],s=a?t.right-n.left:n.right-t.left;s>o&&(o=s,this.minWidth=r,this.minWidthFrom=e,this.minWidthTo=c)}}}e=c+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?Kn.RTL:Kn.LTR}measureTextSize(){for(let e of this.children)if(e instanceof Qn){let t=e.measureTextSize();if(t)return t}let e,t,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(n);let i=ft(n.firstChild)[0];e=n.getBoundingClientRect().height,t=i?i.width/27:7,n.remove()}),{lineHeight:e,charWidth:t}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Rt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,i=0;;i++){let r=i==t.viewports.length?null:t.viewports[i],s=r?r.from-1:this.length;if(s>n){let i=t.lineBlockAt(s).bottom-t.lineBlockAt(n).top;e.push(gn.replace({widget:new xi(i),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!r)break;n=r.to+1}return gn.set(e)}updateDeco(){let e=this.view.state.facet(Ln).map((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.compositionDeco,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let t,{range:n}=e,i=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1);if(!i)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,t.left),top:Math.min(i.top,t.top),right:Math.max(i.right,t.right),bottom:Math.max(i.bottom,t.bottom)});let r=0,s=0,o=0,a=0;for(let e of this.view.state.facet(Nn).map(e=>e(this.view)))if(e){let{left:t,right:n,top:i,bottom:l}=e;null!=t&&(r=Math.max(r,t)),null!=n&&(s=Math.max(s,n)),null!=i&&(o=Math.max(o,i)),null!=l&&(a=Math.max(a,l))}let l={left:i.left-r,top:i.top-o,right:i.right+s,bottom:i.bottom+a};yt(this.view.scrollDOM,l,n.head<n.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Kn.LTR)}}function yi(e){return 1==e.node.nodeType&&e.node.firstChild&&(0==e.offset||"false"==e.node.childNodes[e.offset-1].contentEditable)&&(e.offset==e.node.childNodes.length||"false"==e.node.childNodes[e.offset].contentEditable)}class xi extends On{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function vi(e){let t=e.observer.selectionRange,n=t.focusNode&&ki(t.focusNode,t.focusOffset,0);if(!n)return null;let i=e.docView.nearest(n);if(!i)return null;if(i instanceof Qn){let e=n;for(;e.parentNode!=i.dom;)e=e.parentNode;let t=e.previousSibling;for(;t&&!Wt.get(t);)t=t.previousSibling;let r=t?Wt.get(t).posAtEnd:i.posAtStart;return{from:r,to:r,node:e,text:n}}{for(;;){let{parent:e}=i;if(!e)return null;if(e instanceof Qn)break;i=e}let e=i.posAtStart;return{from:e,to:e+i.length,node:i.dom,text:n}}}function Qi(e,t){let n=vi(e);if(!n)return gn.none;let{from:i,to:r,node:s,text:o}=n,a=t.mapPos(i,1),l=Math.max(a,t.mapPos(r,-1)),{state:h}=e,c=3==s.nodeType?s.nodeValue:new gi([],h).readRange(s.firstChild,null).text;if(l-a<c.length)if(h.doc.sliceString(a,Math.min(h.doc.length,a+c.length),pi)==c)l=a+c.length;else{if(h.doc.sliceString(Math.max(0,l-c.length),l,pi)!=c)return gn.none;a=l-c.length}else if(h.doc.sliceString(a,l,pi)!=c)return gn.none;let u=Wt.get(s);return u instanceof tn?u=u.widget.topView:u&&(u.parent=null),gn.set(gn.replace({widget:new wi(s,o,u),inclusive:!0}).range(a,l))}class wi extends On{constructor(e,t,n){super(),this.top=e,this.text=t,this.topView=n}eq(e){return this.top==e.top&&this.text==e.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return tn}}function ki(e,t,n){for(;;){if(3==e.nodeType)return e;if(1==e.nodeType&&t>0&&n<=0)t=gt(e=e.childNodes[t-1]);else{if(!(1==e.nodeType&&t<e.childNodes.length&&n>=0))return null;e=e.childNodes[t],t=0}}}function $i(e,t){return 1!=e.nodeType?0:(t&&"false"==e.childNodes[t-1].contentEditable?1:0)|(t<e.childNodes.length&&"false"==e.childNodes[t].contentEditable?2:0)}class Pi{constructor(){this.changes=[]}compareRange(e,t){vn(e,t,this.changes)}comparePoint(e,t){vn(e,t,this.changes)}}function Ci(e,t,n){let i=new Pi;return Xe.compare(e,t,n,i),i.changes}function Ti(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}function Ai(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(0==r.length)return W.cursor(t);0==s?n=1:s==r.length&&(n=-1);let o=s,a=s;n<0?o=O(r.text,s,!1):a=O(r.text,s);let l=i(r.text.slice(o,a));for(;o>0;){let e=O(r.text,o,!1);if(i(r.text.slice(e,o))!=l)break;o=e}for(;a<r.length;){let e=O(r.text,a);if(i(r.text.slice(a,e))!=l)break;a=e}return W.range(o+r.from,a+r.from)}function Xi(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function Zi(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Wi(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Vi(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function Ri(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function _i(e,t,n){let i,r,s,o,a,l,h,c,u=!1;for(let f=e.firstChild;f;f=f.nextSibling){let e=ft(f);for(let d=0;d<e.length;d++){let O=e[d];r&&Wi(r,O)&&(O=Vi(Ri(O,r.bottom),r.top));let p=Xi(t,O),g=Zi(n,O);if(0==p&&0==g)return 3==f.nodeType?Yi(f,t,n):_i(f,t,n);if(!i||o>g||o==g&&s>p){i=f,r=O,s=p,o=g;let a=g?n<O.top?-1:1:p?t<O.left?-1:1:0;u=!a||(a>0?d<e.length-1:d>0)}0==p?n>O.bottom&&(!h||h.bottom<O.bottom)?(a=f,h=O):n<O.top&&(!c||c.top>O.top)&&(l=f,c=O):h&&Wi(h,O)?h=Ri(h,O.bottom):c&&Wi(c,O)&&(c=Vi(c,O.top))}}if(h&&h.bottom>=n?(i=a,r=h):c&&c.top<=n&&(i=l,r=c),!i)return{node:e,offset:0};let f=Math.max(r.left,Math.min(r.right,t));return 3==i.nodeType?Yi(i,f,n):u&&"false"!=i.contentEditable?_i(i,f,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,i)+(t>=(r.left+r.right)/2?1:0)}}function Yi(e,t,n){let i=e.nodeValue.length,r=-1,s=1e9,o=0;for(let a=0;a<i;a++){let i=$t(e,a,a+1).getClientRects();for(let l=0;l<i.length;l++){let h=i[l];if(h.top==h.bottom)continue;o||(o=t-h.left);let c=(h.top>n?h.top-n:n-h.bottom)-1;if(h.left-1<=t&&h.right+1>=t&&c<s){let n=t>=(h.left+h.right)/2,i=n;if(Nt.chrome||Nt.gecko){$t(e,a).getBoundingClientRect().left==h.right&&(i=!n)}if(c<=0)return{node:e,offset:a+(i?1:0)};r=a+(i?1:0),s=c}}}return{node:e,offset:r>-1?r:o>0?e.nodeValue.length:0}}function Mi(e,t,n,i=-1){var r;let s,o=e.contentDOM.getBoundingClientRect(),a=o.top+e.viewState.paddingTop,{docHeight:l}=e.viewState,{x:h,y:c}=t,u=c-a;if(u<0)return 0;if(u>l)return e.state.doc.length;for(let t=e.defaultLineHeight/2,r=!1;s=e.elementAtHeight(u),s.type!=pn.Text;)for(;u=i>0?s.bottom+t:s.top-t,!(u>=0&&u<=l);){if(r)return n?null:0;r=!0,i=-i}c=a+u;let f=s.from;if(f<e.viewport.from)return 0==e.viewport.from?0:n?null:qi(e,o,s,h,c);if(f>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:qi(e,o,s,h,c);let d=e.dom.ownerDocument,O=e.root.elementFromPoint?e.root:d,p=O.elementFromPoint(h,c);p&&!e.contentDOM.contains(p)&&(p=null),p||(h=Math.max(o.left+1,Math.min(o.right-1,h)),p=O.elementFromPoint(h,c),p&&!e.contentDOM.contains(p)&&(p=null));let g,m=-1;if(p&&0!=(null===(r=e.docView.nearest(p))||void 0===r?void 0:r.isEditable))if(d.caretPositionFromPoint){let e=d.caretPositionFromPoint(h,c);e&&({offsetNode:g,offset:m}=e)}else if(d.caretRangeFromPoint){let t=d.caretRangeFromPoint(h,c);t&&(({startContainer:g,startOffset:m}=t),(!e.contentDOM.contains(g)||Nt.safari&&Ei(g,m,h)||Nt.chrome&&Ui(g,m,h))&&(g=void 0))}if(!g||!e.docView.dom.contains(g)){let t=Qn.find(e.docView,f);if(!t)return u>s.top+s.height/2?s.to:s.from;({node:g,offset:m}=_i(t.dom,h,c))}let S=e.docView.nearest(g);if(!S)return null;if(S.isWidget){let e=S.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?S.posAtStart:S.posAtEnd}return S.localPosFromDOM(g,m)+S.posAtStart}function qi(e,t,n,i,r){let s=Math.round((i-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>1.5*e.defaultLineHeight){s+=Math.floor((r-n.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(n.from,n.to);return n.from+Ie(o,s,e.state.tabSize)}function Ei(e,t,n){let i;if(3!=e.nodeType||t!=(i=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return $t(e,i-1,i).getBoundingClientRect().left>n}function Ui(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return n-(1==e.nodeType?e.getBoundingClientRect():$t(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function Di(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=i&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head):null;if(s){let t=e.dom.getBoundingClientRect(),i=e.textDirectionAt(r.from),o=e.posAtCoords({x:n==(i==Kn.LTR)?t.right-1:t.left+1,y:(s.top+s.bottom)/2});if(null!=o)return W.cursor(o,n?-1:1)}let o=Qn.find(e.docView,t.head),a=o?n?o.posAtEnd:o.posAtStart:n?r.to:r.from;return W.cursor(a,n?-1:1)}function ji(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),o=e.textDirectionAt(r.from);for(let a=t,l=null;;){let t=Oi(r,s,o,a,n),h=di;if(!t){if(r.number==(n?e.state.doc.lines:1))return a;h="\n",r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),t=W.cursor(n?r.from:r.to)}if(l){if(!l(h))return a}else{if(!i)return t;l=i(h)}a=t}}function zi(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return e=>{let t=i(e);return r==ye.Space&&(r=t),r==t}}function Ii(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return W.cursor(r,t.assoc);let o,a=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(r),c=e.documentTop;if(h)null==a&&(a=h.left-l.left),o=s<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(r);null==a&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(r-t.from))),o=(s<0?t.top:t.bottom)+c}let u=l.left+a,f=null!=i?i:e.defaultLineHeight>>1;for(let n=0;;n+=10){let i=o+(f+n)*s,h=Mi(e,{x:u,y:i},!1,s);if(i<l.top||i>l.bottom||(s<0?h<r:h>r))return W.cursor(h,t.assoc,void 0,a)}}function Bi(e,t,n){let i=e.state.facet(Gn).map(t=>t(e));for(;;){let e=!1;for(let r of i)r.between(n.from-1,n.from+1,(i,r,s)=>{n.from>i&&n.from<r&&(n=t.head>n.from?W.cursor(i,1):W.cursor(r,-1),e=!0)});if(!e)return n}}class Li{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.mouseSelection=null;let t=(t,n)=>{this.ignoreDuringComposition(n)||"keydown"==n.type&&this.keydown(e,n)||(this.mustFlushObserver(n)&&e.observer.forceFlush(),this.runCustomHandlers(n.type,e,n)?n.preventDefault():t(e,n))};for(let n in ir){let i=ir[n];e.contentDOM.addEventListener(n,n=>{nr(e,n)&&t(i,n)},rr[n]),this.registeredEvents.push(n)}e.scrollDOM.addEventListener("mousedown",n=>{n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ir.mousedown,n)}),Nt.chrome&&102==Nt.chrome_version&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,Nt.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var n;let i;this.customHandlers=[];for(let r of t)if(i=null===(n=r.update(e).spec)||void 0===n?void 0:n.domEventHandlers){this.customHandlers.push({plugin:r.value,handlers:i});for(let t in i)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,n=>{nr(e,n)&&this.runCustomHandlers(t,e,n)&&n.preventDefault()}))}}runCustomHandlers(e,t,n){for(let i of this.customHandlers){let r=i.handlers[e];if(r)try{if(r.call(i.plugin,n,t)||n.defaultPrevented)return!0}catch(e){qn(t.state,e)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let n of this.customHandlers){let i=n.handlers.scroll;if(i)try{i.call(n.plugin,t,e)}catch(t){qn(e.state,t)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(Nt.android&&Nt.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let n;return!(!Nt.ios||t.synthetic||t.altKey||t.metaKey||!((n=Gi.find(e=>e.keyCode==t.keyCode))&&!t.ctrlKey||Ni.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=n||t,setTimeout(()=>this.flushIOSKey(e),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(this.pendingIOSKey=void 0,Pt(e.contentDOM,t.key,t.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Nt.safari&&!Nt.ios&&Date.now()-this.compositionEndedAt<100)&&(this.compositionEndedAt=0,!0))}mustFlushObserver(e){return"keydown"==e.type&&229!=e.keyCode}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const Gi=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Ni="dthko",Fi=[16,17,18,20,91,92,224,225];function Hi(e){return.7*e+8}class Ji{constructor(e,t,n,i){this.view=e,this.style=n,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=xt(e.contentDOM);let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ke.allowMultipleSelections)&&Ki(e,t),this.dragMove=er(e,t),this.dragging=!(!tr(e,t)||1!=mr(t))&&null}start(e){!1===this.dragging&&(e.preventDefault(),this.select(e))}move(e){var t;if(0==e.buttons)return this.destroy();if(!1!==this.dragging)return;this.select(this.lastEvent=e);let n=0,i=0,r=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};e.clientX<=r.left?n=-Hi(r.left-e.clientX):e.clientX>=r.right&&(n=Hi(e.clientX-r.right)),e.clientY<=r.top?i=-Hi(r.top-e.clientY):e.clientY>=r.bottom&&(i=Hi(e.clientY-r.bottom)),this.setScrollSpeed(n,i)}up(e){null==this.dragging&&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=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}select(e){let t=this.style.get(e,this.extend,this.multiple);!this.mustSelect&&t.eq(this.view.state.selection)&&t.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Ki(e,t){let n=e.state.facet(Cn);return n.length?n[0](t):Nt.mac?t.metaKey:t.ctrlKey}function er(e,t){let n=e.state.facet(Tn);return n.length?n[0](t):Nt.mac?!t.altKey:!t.ctrlKey}function tr(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=lt(e.root);if(!i||0==i.rangeCount)return!0;let r=i.getRangeAt(0).getClientRects();for(let e=0;e<r.length;e++){let n=r[e];if(n.left<=t.clientX&&n.right>=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}function nr(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,i=t.target;i!=e.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(n=Wt.get(i))&&n.ignoreEvent(t))return!1;return!0}const ir=Object.create(null),rr=Object.create(null),sr=Nt.ie&&Nt.ie_version<15||Nt.ios&&Nt.webkit_version<604;function or(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),ar(e,n.value)},50)}function ar(e,t){let n,{state:i}=e,r=1,s=i.toText(t),o=s.lines==i.selection.ranges.length;if(null!=Qr&&i.selection.ranges.every(e=>e.empty)&&Qr==s.toString()){let e=-1;n=i.changeByRange(n=>{let a=i.doc.lineAt(n.from);if(a.from==e)return{range:n};e=a.from;let l=i.toText((o?s.line(r++).text:t)+i.lineBreak);return{changes:{from:a.from,insert:l},range:W.cursor(n.from+l.length)}})}else n=o?i.changeByRange(e=>{let t=s.line(r++);return{changes:{from:e.from,to:e.to,insert:t.text},range:W.cursor(e.from+t.length)}}):i.replaceSelection(s);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function lr(e,t,n,i){if(1==i)return W.cursor(t,n);if(2==i)return Ai(e.state,t,n);{let n=Qn.find(e.docView,t),i=e.state.doc.lineAt(n?n.posAtEnd:t),r=n?n.posAtStart:i.from,s=n?n.posAtEnd:i.to;return s<e.state.doc.length&&s==i.to&&s++,W.range(r,s)}}ir.keydown=(e,t)=>{e.inputState.setSelectionOrigin("select"),27==t.keyCode?e.inputState.lastEscPress=Date.now():Fi.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0)},ir.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},ir.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},rr.touchstart=rr.touchmove={passive:!0},ir.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return;let n=null;for(let i of e.state.facet(An))if(n=i(e,t),n)break;if(n||0!=t.button||(n=Sr(e,t)),n){let i=e.root.activeElement!=e.contentDOM;e.inputState.startMouseSelection(new Ji(e,t,n,i)),i&&e.observer.ignore(()=>kt(e.contentDOM)),e.inputState.mouseSelection&&e.inputState.mouseSelection.start(t)}};let hr=(e,t)=>e>=t.top&&e<=t.bottom,cr=(e,t,n)=>hr(t,n)&&e>=n.left&&e<=n.right;function ur(e,t,n,i){let r=Qn.find(e.docView,t);if(!r)return 1;let s=t-r.posAtStart;if(0==s)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&cr(n,i,o))return-1;let a=r.coordsAt(s,1);return a&&cr(n,i,a)?1:o&&hr(i,o)?-1:1}function fr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:ur(e,n,t.clientX,t.clientY)}}const dr=Nt.ie&&Nt.ie_version<=11;let Or=null,pr=0,gr=0;function mr(e){if(!dr)return e.detail;let t=Or,n=gr;return Or=e,gr=Date.now(),pr=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(pr+1)%3:1}function Sr(e,t){let n=fr(e,t),i=mr(t),r=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),r=r.map(e.changes))},get(t,s,o){let a=fr(e,t),l=lr(e,a.pos,a.bias,i);if(n.pos!=a.pos&&!s){let t=lr(e,n.pos,n.bias,i),r=Math.min(t.from,l.from),s=Math.max(t.to,l.to);l=r<l.from?W.range(r,s):W.range(s,r)}return s?r.replaceRange(r.main.extend(l.from,l.to)):o&&r.ranges.length>1&&r.ranges.some(e=>e.eq(l))?br(r,l):o?r.addRange(l):W.create([l])}}}function br(e,t){for(let n=0;;n++)if(e.ranges[n].eq(t))return W.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}function yr(e,t,n,i){if(!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();let{mouseSelection:s}=e.inputState,o=i&&s&&s.dragging&&s.dragMove?{from:s.dragging.from,to:s.dragging.to}:null,a={from:r,insert:n},l=e.state.changes(o?[o,a]:a);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"})}function xr(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function vr(e){let t=[],n=[],i=!1;for(let i of e.selection.ranges)i.empty||(t.push(e.sliceDoc(i.from,i.to)),n.push(i));if(!t.length){let r=-1;for(let{from:i}of e.selection.ranges){let s=e.doc.lineAt(i);s.number>r&&(t.push(s.text),n.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),r=s.number}i=!0}return{text:t.join(e.lineBreak),ranges:n,linewise:i}}ir.dragstart=(e,t)=>{let{selection:{main:n}}=e.state,{mouseSelection:i}=e.inputState;i&&(i.dragging=n),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(n.from,n.to)),t.dataTransfer.effectAllowed="copyMove")},ir.drop=(e,t)=>{if(!t.dataTransfer)return;if(e.state.readOnly)return t.preventDefault();let n=t.dataTransfer.files;if(n&&n.length){t.preventDefault();let i=Array(n.length),r=0,s=()=>{++r==n.length&&yr(e,t,i.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<n.length;e++){let t=new FileReader;t.onerror=s,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(i[e]=t.result),s()},t.readAsText(n[e])}}else yr(e,t,t.dataTransfer.getData("Text"),!0)},ir.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let n=sr?null:t.clipboardData;n?(ar(e,n.getData("text/plain")),t.preventDefault()):or(e)};let Qr=null;ir.copy=ir.cut=(e,t)=>{let{text:n,ranges:i,linewise:r}=vr(e.state);if(!n&&!r)return;Qr=r?n:null;let s=sr?null:t.clipboardData;s?(t.preventDefault(),s.clearData(),s.setData("text/plain",n)):xr(e,n),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"})};const wr=ae.define();function kr(e,t){let n=[];for(let i of e.facet(Vn)){let r=i(e,t);r&&n.push(r)}return n?e.update({effects:n,annotations:wr.of(!0)}):null}function $r(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=kr(e.state,t);n?e.dispatch(n):e.update([])}},10)}ir.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),$r(e)},ir.blur=e=>{e.observer.clearSelectionRange(),$r(e)},ir.compositionstart=ir.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},ir.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionFirstChange=null,Nt.chrome&&Nt.android&&e.observer.flushSoon(),setTimeout(()=>{e.inputState.composing<0&&e.docView.compositionDeco.size&&e.update([])},50)},ir.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},ir.beforeinput=(e,t)=>{var n;let i;if(Nt.chrome&&Nt.android&&(i=Gi.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0;setTimeout(()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}};const Pr=["pre-wrap","normal","pre-line","break-spaces"];class Cr{constructor(t){this.lineWrapping=t,this.doc=e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Pr.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];i<0?n++:this.heightSamples[Math.floor(10*i)]||(t=!0,this.heightSamples[Math.floor(10*i)]=!0)}return t}refresh(e,t,n,i,r){let s=Pr.indexOf(e)>-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=n,this.lineLength=i,o){this.heightSamples={};for(let e=0;e<r.length;e++){let t=r[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return o}}class Tr{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Ar{constructor(e,t,n,i,r){this.from=e,this.length=t,this.top=n,this.height=i,this.type=r}get to(){return this.from+this.length}get bottom(){return this.top+this.height}join(e){let t=(Array.isArray(this.type)?this.type:[this]).concat(Array.isArray(e.type)?e.type:[e]);return new Ar(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Xr=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Xr||(Xr={}));const Zr=.001;class Wr{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Zr&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return Wr.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,i){let r=this,s=n.doc;for(let o=i.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=i[o],u=r.lineAt(a,Xr.ByPosNoHeight,n.setDoc(t),0,0),f=u.to>=l?u:r.lineAt(l,Xr.ByPosNoHeight,n,0,0);for(c+=f.to-l,l=f.to;o>0&&u.from<=i[o-1].toA;)a=i[o-1].fromA,h=i[o-1].fromB,o--,a<u.from&&(u=r.lineAt(a,Xr.ByPosNoHeight,n,0,0));h+=u.from-a,a=u.from;let d=Er.build(n.setDoc(s),e,h,c);r=r.replace(a,l,d)}return r.updateHeight(n,0)}static empty(){return new Rr(0,0)}static of(e){if(1==e.length)return e[0];let t=0,n=e.length,i=0,r=0;for(;;)if(t==n)if(i>2*r){let r=e[t-1];r.break?e.splice(--t,1,r.left,null,r.right):e.splice(--t,1,r.left,r.right),n+=1+r.break,i-=r.size}else{if(!(r>2*i))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,r-=t.size}}else if(i<r){let n=e[t++];n&&(i+=n.size)}else{let t=e[--n];t&&(r+=t.size)}let s=0;return null==e[t-1]?(s=1,t--):null==e[t]&&(s=1,n++),new Yr(Wr.of(e.slice(0,t)),s,Wr.of(e.slice(n)))}}Wr.prototype.size=1;class Vr extends Wr{constructor(e,t,n){super(e,t),this.type=n}blockAt(e,t,n,i){return new Ar(i,this.length,n,this.height,this.type)}lineAt(e,t,n,i,r){return this.blockAt(0,n,i,r)}forEachLine(e,t,n,i,r,s){e<=r+this.length&&t>=r&&s(this.blockAt(0,n,i,r))}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more&&this.setHeight(e,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Rr extends Vr{constructor(e,t){super(e,t,pn.Text),this.collapsed=0,this.widgetHeight=0}replace(e,t,n){let i=n[0];return 1==n.length&&(i instanceof Rr||i instanceof _r&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof _r?i=new Rr(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):Wr.of(n)}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more?this.setHeight(e,i.heights[i.index++]):(n||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class _r extends Wr{constructor(e){super(e,0)}heightMetrics(e,t){let n,i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*s);n=t/s,o=(this.height-t)/(this.length-s-1)}else n=this.height/s;return{firstLine:i,lastLine:r,perLine:n,perChar:o}}blockAt(e,t,n,i){let{firstLine:r,lastLine:s,perLine:o,perChar:a}=this.heightMetrics(t,i);if(t.lineWrapping){let r=i+Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length),s=t.doc.lineAt(r),l=o+s.length*a,h=Math.max(n,e-l/2);return new Ar(s.from,s.length,h,l,pn.Text)}{let i=Math.max(0,Math.min(s-r,Math.floor((e-n)/o))),{from:a,length:l}=t.doc.line(r+i);return new Ar(a,l,n+o*i,o,pn.Text)}}lineAt(e,t,n,i,r){if(t==Xr.ByHeight)return this.blockAt(e,n,i,r);if(t==Xr.ByPosNoHeight){let{from:t,to:i}=n.doc.lineAt(e);return new Ar(t,i-t,0,0,pn.Text)}let{firstLine:s,perLine:o,perChar:a}=this.heightMetrics(n,r),l=n.doc.lineAt(e),h=o+l.length*a,c=l.number-s,u=i+o*c+a*(l.from-r-c);return new Ar(l.from,l.length,Math.max(i,Math.min(u,i+this.height-h)),h,pn.Text)}forEachLine(e,t,n,i,r,s){e=Math.max(e,r),t=Math.min(t,r+this.length);let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(n,r);for(let h=e,c=i;h<=t;){let t=n.doc.lineAt(h);if(h==e){let n=t.number-o;c+=a*n+l*(e-r-n)}let i=a+l*t.length;s(new Ar(t.from,t.length,c,i,pn.Text)),c+=i,h=t.to+1}}replace(e,t,n){let i=this.length-t;if(i>0){let e=n[n.length-1];e instanceof _r?n[n.length-1]=new _r(e.length+i):n.push(null,new _r(i-1))}if(e>0){let t=n[0];t instanceof _r?n[0]=new _r(e+t.length):n.unshift(new _r(e-1),null)}return Wr.of(n)}decomposeLeft(e,t){t.push(new _r(e-1),null)}decomposeRight(e,t){t.push(null,new _r(this.length-e-1))}updateHeight(e,t=0,n=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let n=[],s=Math.max(t,i.from),o=-1;for(i.from>t&&n.push(new _r(i.from-t-1).updateHeight(e,t));s<=r&&i.more;){let t=e.doc.lineAt(s).length;n.length&&n.push(null);let r=i.heights[i.index++];-1==o?o=r:Math.abs(r-o)>=Zr&&(o=-2);let a=new Rr(t,r);a.outdated=!1,n.push(a),s+=t+1}s<=r&&n.push(null,new _r(r-s).updateHeight(e,s));let a=Wr.of(n);return(o<0||Math.abs(a.height-this.height)>=Zr||Math.abs(o-this.heightMetrics(e,t).perLine)>=Zr)&&(e.heightChanged=!0),a}return(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class Yr extends Wr{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,i){let r=n+this.left.height;return e<r?this.left.blockAt(e,t,n,i):this.right.blockAt(e,t,r,i+this.left.length+this.break)}lineAt(e,t,n,i,r){let s=i+this.left.height,o=r+this.left.length+this.break,a=t==Xr.ByHeight?e<s:e<o,l=a?this.left.lineAt(e,t,n,i,r):this.right.lineAt(e,t,n,s,o);if(this.break||(a?l.to<o:l.from>o))return l;let h=t==Xr.ByPosNoHeight?Xr.ByPosNoHeight:Xr.ByPos;return a?l.join(this.right.lineAt(o,h,n,s,o)):this.left.lineAt(o,h,n,i,r).join(l)}forEachLine(e,t,n,i,r,s){let o=i+this.left.height,a=r+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,n,i,r,s),t>=a&&this.right.forEachLine(e,t,n,o,a,s);else{let l=this.lineAt(a,Xr.ByPos,n,i,r);e<l.from&&this.left.forEachLine(e,l.from-1,n,i,r,s),l.to>=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,o,a,s)}}replace(e,t,n){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,n));let r=[];e>0&&this.decomposeLeft(e,r);let s=r.length;for(let e of n)r.push(e);if(e>0&&Mr(r,s-1),t<this.length){let e=r.length;this.decomposeRight(t,r),Mr(r,e)}return Wr.of(r)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,i=n+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Wr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,i){let{left:r,right:s}=this,o=t+r.length+this.break,a=null;return i&&i.from<=t+r.length&&i.more?a=r=r.updateHeight(e,t,n,i):r.updateHeight(e,t,n),i&&i.from<=o+s.length&&i.more?a=s=s.updateHeight(e,o,n,i):s.updateHeight(e,o,n),a?this.balanced(r,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Mr(e,t){let n,i;null==e[t]&&(n=e[t-1])instanceof _r&&(i=e[t+1])instanceof _r&&e.splice(t-1,3,new _r(n.length+1+i.length))}const qr=5;class Er{constructor(e,t){this.pos=e,this.oracle=t,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,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Rr?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Rr(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let i=n.widget?n.widget.estimatedHeight:0;i<0&&(i=this.oracle.lineHeight);let r=t-e;n.block?this.addBlock(new Vr(r,i,n.type)):(r||i>=qr)&&this.addLineDeco(i,r)}else t>e&&this.span(e,t);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:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Rr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new _r(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Rr)return e;let t=new Rr(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine(),e.type!=pn.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=pn.WidgetBefore&&(this.covering=e)}addLineDeco(e,t){let n=this.ensureLine();n.length+=t,n.collapsed+=t,n.widgetHeight=Math.max(n.widgetHeight,e),this.writtenTo=this.pos=this.pos+t}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Rr||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Rr(0,-1));let n=e;for(let e of this.nodes)e instanceof Rr&&e.updateHeight(this.oracle,n),n+=e?e.length:1;return this.nodes}static build(e,t,n,i){let r=new Er(n,e);return Xe.spans(t,n,i,r,0),r.finish(n)}}function Ur(e,t,n){let i=new Dr;return Xe.compare(e,t,n,i,0),i.changes}class Dr{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,i){(e<t||n&&n.heightRelevant||i&&i.heightRelevant)&&vn(e,t,this.changes,5)}}function jr(e,t){let n=e.getBoundingClientRect(),i=e.ownerDocument,r=i.defaultView||window,s=Math.max(0,n.left),o=Math.min(r.innerWidth,n.right),a=Math.max(0,n.top),l=Math.min(r.innerHeight,n.bottom);for(let t=e.parentNode;t&&t!=i.body;)if(1==t.nodeType){let n=t,i=window.getComputedStyle(n);if((n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=i.overflow){let i=n.getBoundingClientRect();s=Math.max(s,i.left),o=Math.min(o,i.right),a=Math.max(a,i.top),l=t==e.parentNode?i.bottom:Math.min(l,i.bottom)}t="absolute"==i.position||"fixed"==i.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:s-n.left,right:Math.max(s,o)-n.left,top:a-(n.top+t),bottom:Math.max(a,l)-(n.top+t)}}function zr(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class Ir{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],r=t[n];if(i.from!=r.from||i.to!=r.to||i.size!=r.size)return!1}return!0}draw(e){return gn.replace({widget:new Br(this.size,e)}).range(this.from,this.to)}}class Br extends On{constructor(e,t){super(),this.size=e,this.vertical=t}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}}class Lr{constructor(t){this.state=t,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.scaler=Kr,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Kn.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=t.facet(Bn).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new Cr(n),this.stateDeco=t.facet(Ln).filter(e=>"function"!=typeof e),this.heightMap=Wr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Hn(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=gn.set(this.lineGaps.map(e=>e.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let i=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>i>=e&&i<=t)){let{from:t,to:n}=this.lineBlockAt(i);e.push(new Gr(t,n))}}this.viewports=e.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?Kr:new es(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:ts(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(Ln).filter(e=>"function"!=typeof e);let i=e.changedRanges,r=Hn.extendWithRanges(i,Ur(n,this.stateDeco,e?e.changes:k.empty(this.state.doc.length))),s=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=s&&(e.flags|=2);let o=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<o.from||t.range.head>o.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let a=!e.changes.empty||2&e.flags||o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,this.updateForViewport(),a&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(_n)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?Kn.RTL:Kn.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=n.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let h=0,c=0,u=parseInt(i.paddingTop)||0,f=parseInt(i.paddingBottom)||0;this.paddingTop==u&&this.paddingBottom==f||(this.paddingTop=u,this.paddingBottom=f,h|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=8);let d=(this.printing?zr:jr)(n,this.paddingTop),O=d.top-this.pixelViewport.top,p=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let m=a.width;if(this.contentDOMWidth==m&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=t.scrollDOM.clientHeight,h|=8),l){let n=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(n)&&(o=!0),o||r.lineWrapping&&Math.abs(m-this.contentDOMWidth)>r.charWidth){let{lineHeight:e,charWidth:i}=t.docView.measureTextSize();o=e>0&&r.refresh(s,e,i,m/i,n),o&&(t.docView.minWidth=0,h|=8)}O>0&&p>0?c=Math.max(O,p):O<0&&p<0&&(c=Math.min(O,p)),r.heightChanged=!1;for(let i of this.viewports){let s=i.from==this.viewport.from?n:t.docView.measureVisibleLineHeights(i);this.heightMap=(o?Wr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Hn(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Tr(i.from,s))}r.heightChanged&&(h|=2)}let S=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&h||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,a=new Gr(i.lineAt(s-1e3*n,Xr.ByHeight,r,0,0).from,i.lineAt(o+1e3*(1-n),Xr.ByHeight,r,0,0).to);if(t){let{head:e}=t.range;if(e<a.from||e>a.to){let n,s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=i.lineAt(e,Xr.ByPos,r,0,0);n="center"==t.y?(o.top+o.bottom)/2-s/2:"start"==t.y||"nearest"==t.y&&e<a.from?o.top:o.bottom-s,a=new Gr(i.lineAt(n-500,Xr.ByHeight,r,0,0).from,i.lineAt(n+s+500,Xr.ByHeight,r,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new Gr(this.heightMap.lineAt(n,Xr.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Xr.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Xr.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(t,Xr.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:o}=this;return(0==e||i<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||r>=o+Math.max(10,Math.min(n,250)))&&i>s-2e3&&r<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let i of e)t.touchesRange(i.from,i.to)||n.push(new Ir(t.mapPos(i.from),t.mapPos(i.to),i.size));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,i=n?1e4:2e3,r=i>>1,s=i<<1;if(this.defaultTextDirection!=Kn.LTR&&!n)return[];let o=[],a=(i,s,l,h)=>{if(s-i<r)return;let c=this.state.selection.main,u=[c.from];c.empty||u.push(c.to);for(let e of u)if(e>i&&e<s)return a(i,e-10,l,h),void a(e+10,s,l,h);let f=Jr(e,e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-i)<r&&Math.abs(e.to-s)<r&&!u.some(t=>e.from<t&&e.to>t));if(!f){if(s<l.to&&t&&n&&t.visibleRanges.some(e=>e.from<=s&&e.to>=s)){let e=t.moveToLineBoundary(W.cursor(s),!1,!0).head;e>i&&(s=e)}f=new Ir(i,s,this.gapSize(l,i,s,h))}o.push(f)};for(let e of this.viewportLines){if(e.length<s)continue;let t=Nr(e.from,e.to,this.stateDeco);if(t.total<s)continue;let r,o,l=this.scrollTarget?this.scrollTarget.range.head:null;if(n){let n,s,a=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let i=Hr(t,l),r=((this.visibleBottom-this.visibleTop)/2+a)/e.height;n=i-r,s=i+r}else n=(this.visibleTop-e.top-a)/e.height,s=(this.visibleBottom-e.top+a)/e.height;r=Fr(t,n),o=Fr(t,s)}else{let e,n,s=t.total*this.heightOracle.charWidth,a=i*this.heightOracle.charWidth;if(null!=l){let i=Hr(t,l),r=((this.pixelViewport.right-this.pixelViewport.left)/2+a)/s;e=i-r,n=i+r}else e=(this.pixelViewport.left-a)/s,n=(this.pixelViewport.right+a)/s;r=Fr(t,e),o=Fr(t,n)}r>e.from&&a(e.from,r,e,t),o<e.to&&a(o,e.to,e,t)}return o}gapSize(e,t,n,i){let r=Hr(i,n)-Hr(i,t);return this.heightOracle.lineWrapping?e.height*r:i.total*this.heightOracle.charWidth*r}updateLineGaps(e){Ir.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=gn.set(e.map(e=>e.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Xe.spans(e,this.viewport.from,this.viewport.to,{span(e,n){t.push({from:e,to:n})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((e,n)=>e.from!=t[n].from||e.to!=t[n].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ts(this.heightMap.lineAt(e,Xr.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ts(this.heightMap.lineAt(this.scaler.fromDOM(e),Xr.ByHeight,this.heightOracle,0,0),this.scaler)}elementAtHeight(e){return ts(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}}class Gr{constructor(e,t){this.from=e,this.to=t}}function Nr(e,t,n){let i=[],r=e,s=0;return Xe.spans(n,e,t,{span(){},point(e,t){e>r&&(i.push({from:r,to:e}),s+=e-r),r=t}},20),r<t&&(i.push({from:r,to:t}),s+=t-r),{total:s,ranges:i}}function Fr({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:r}=t[e],s=r-n;if(i<=s)return n+i;i-=s}}function Hr(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function Jr(e,t){for(let n of e)if(t(n))return n}const Kr={toDOM:e=>e,fromDOM:e=>e,scale:1};class es{constructor(e,t,n){let i=0,r=0,s=0;this.viewports=n.map(({from:n,to:r})=>{let s=t.lineAt(n,Xr.ByPos,e,0,0).top,o=t.lineAt(r,Xr.ByPos,e,0,0).bottom;return i+=o-s,{from:n,to:r,top:s,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let e of this.viewports)e.domTop=s+(e.top-r)*this.scale,s=e.domBottom=e.domTop+(e.bottom-e.top),r=e.bottom}toDOM(e){for(let t=0,n=0,i=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.top)return i+(e-n)*this.scale;if(e<=r.bottom)return r.domTop+(e-r.top);n=r.bottom,i=r.domBottom}}fromDOM(e){for(let t=0,n=0,i=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.domTop)return n+(e-i)/this.scale;if(e<=r.domBottom)return r.top+(e-r.domTop);n=r.bottom,i=r.domBottom}}}function ts(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new Ar(e.from,e.length,n,i-n,Array.isArray(e.type)?e.type.map(e=>ts(e,t)):e.type)}const ns=_.define({combine:e=>e.join(" ")}),is=_.define({combine:e=>e.indexOf(!0)>-1}),rs=Fe.newName(),ss=Fe.newName(),os=Fe.newName(),as={"&light":"."+ss,"&dark":"."+os};function ls(e,t,n){return new Fe(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError("Unsupported selector: "+t);return n[t]}):e+" "+t})}const hs=ls("."+rs,{"&":{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},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",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":{contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused .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:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused .cm-cursor":{display:"block"},"&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",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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},"&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-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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".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"}},as);class cs{constructor(e,t,n,i){this.typeOver=i,this.bounds=null,this.text="";let{impreciseHead:r,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=r||s?[]:ds(e),n=new gi(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=Os(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=r&&r.node==t.focusNode&&r.offset==t.focusOffset||!ht(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),i=s&&s.node==t.anchorNode&&s.offset==t.anchorOffset||!ht(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=W.single(i,n)}}}function us(t,n){let i,{newSel:r}=n,s=t.state.selection.main;if(n.bounds){let{from:r,to:o}=n.bounds,a=s.from,l=null;(8===t.inputState.lastKeyCode&&t.inputState.lastKeyTime>Date.now()-100||Nt.android&&n.text.length<o-r)&&(a=s.to,l="end");let h=fs(t.state.doc.sliceString(r,o,pi),n.text,a-r,l);h&&(Nt.chrome&&13==t.inputState.lastKeyCode&&h.toB==h.from+2&&n.text.slice(h.from,h.toB)==pi+pi&&h.toB--,i={from:r+h.from,to:r+h.toA,insert:e.of(n.text.slice(h.from,h.toB).split(pi))})}else r&&(!t.hasFocus&&t.state.facet(En)||r.main.eq(s))&&(r=null);if(!i&&!r)return!1;if(!i&&n.typeOver&&!s.empty&&r&&r.main.empty?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,s.to)}:i&&i.from>=s.from&&i.to<=s.to&&(i.from!=s.from||i.to!=s.to)&&s.to-s.from-(i.to-i.from)<=4?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,i.from).append(i.insert).append(t.state.doc.slice(i.to,s.to))}:(Nt.mac||Nt.android)&&i&&i.from==i.to&&i.from==s.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(r&&2==i.insert.length&&(r=W.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:e.of([" "])}):Nt.chrome&&i&&i.from==i.to&&i.from==s.head&&"\n "==i.insert.toString()&&t.lineWrapping&&(r&&(r=W.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:e.of([" "])}),i){let e=t.state;if(Nt.ios&&t.inputState.flushIOSKey(t))return!0;if(Nt.android&&(i.from==s.from&&i.to==s.to&&1==i.insert.length&&2==i.insert.lines&&Pt(t.contentDOM,"Enter",13)||i.from==s.from-1&&i.to==s.to&&0==i.insert.length&&Pt(t.contentDOM,"Backspace",8)||i.from==s.from&&i.to==s.to+1&&0==i.insert.length&&Pt(t.contentDOM,"Delete",46)))return!0;let n,o=i.insert.toString();if(t.state.facet(Wn).some(e=>e(t,i.from,i.to,o)))return!0;if(t.inputState.composing>=0&&t.inputState.composing++,i.from>=s.from&&i.to<=s.to&&i.to-i.from>=(s.to-s.from)/3&&(!r||r.main.empty&&r.main.from==i.from+i.insert.length)&&t.inputState.composing<0){let r=s.from<i.from?e.sliceDoc(s.from,i.from):"",o=s.to>i.to?e.sliceDoc(i.to,s.to):"";n=e.replaceSelection(t.state.toText(r+i.insert.sliceString(0,void 0,t.state.lineBreak)+o))}else{let o=e.changes(i),a=r&&!e.selection.main.eq(r.main)&&r.main.to<=o.newLength?r.main:void 0;if(e.selection.ranges.length>1&&t.inputState.composing>=0&&i.to<=s.to&&i.to>=s.to-10){let r=t.state.sliceDoc(i.from,i.to),l=vi(t)||t.state.doc.lineAt(s.head),h=s.to-i.to,c=s.to-s.from;n=e.changeByRange(n=>{if(n.from==s.from&&n.to==s.to)return{changes:o,range:a||n.map(o)};let u=n.to-h,f=u-r.length;if(n.to-n.from!=c||t.state.sliceDoc(f,u)!=r||l&&n.to>=l.from&&n.from<=l.to)return{range:n};let d=e.changes({from:f,to:u,insert:i.insert}),O=n.to-s.to;return{changes:d,range:a?W.range(Math.max(0,a.anchor+O),Math.max(0,a.head+O)):n.map(d)}})}else n={changes:o,selection:a&&e.selection.replaceRange(a)}}let a="input.type";return t.composing&&(a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),t.dispatch(n,{scrollIntoView:!0,userEvent:a}),!0}if(r&&!r.main.eq(s)){let e=!1,n="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),n=t.inputState.lastSelectionOrigin),t.dispatch({selection:r,scrollIntoView:e,userEvent:n}),!0}return!1}function fs(e,t,n,i){let r=Math.min(e.length,t.length),s=0;for(;s<r&&e.charCodeAt(s)==t.charCodeAt(s);)s++;if(s==r&&e.length==t.length)return null;let o=e.length,a=t.length;for(;o>0&&a>0&&e.charCodeAt(o-1)==t.charCodeAt(a-1);)o--,a--;if("end"==i){n-=o+Math.max(0,s-Math.min(o,a))-s}if(o<s&&e.length<t.length){s-=n<=s&&n>=o?s-n:0,a=s+(a-o),o=s}else if(a<s){s-=n<=s&&n>=a?s-n:0,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function ds(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new Si(n,i)),r==n&&s==i||t.push(new Si(r,s))),t}function Os(e,t){if(0==e.length)return null;let n=e[0].pos,i=2==e.length?e[1].pos:n;return n>-1&&i>-1?W.single(n+t,i+t):null}const ps={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},gs=Nt.ie&&Nt.ie_version<=11;class ms{constructor(e){this.view=e,this.active=!1,this.selectionRange=new vt,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.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Nt.ie&&Nt.ie_version<=11||Nt.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),gs&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){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((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,i=this.selectionRange;if(n.state.facet(En)?n.root.activeElement!=this.dom:!ut(n.dom,i))return;let r=i.anchorNode&&n.docView.nearest(i.anchorNode);r&&r.ignoreEvent(e)?t||(this.selectionChanged=!1):(Nt.ie&&Nt.ie_version<=11||Nt.android&&Nt.chrome)&&!n.state.selection.main.empty&&i.focusNode&&dt(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Nt.safari&&11==e.root.nodeType&&ct(this.dom.ownerDocument)==this.dom&&bs(this.view)||lt(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=ut(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&At(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),n&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(1==n.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else{if(11!=n.nodeType)break;n=n.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.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,ps),gs&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),gs&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),!this.flush()&&e.force&&Pt(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null===(n=this.delayedAndroidKey)||void 0===n?void 0:n.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()}processRecords(){let e=this.queue;for(let t of this.observer.takeRecords())e.push(t);e.length&&(this.queue=[]);let t=-1,n=-1,i=!1;for(let r of e){let e=this.readMutation(r);e&&(e.typeOver&&(i=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:i}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),i=this.selectionChanged&&ut(this.dom,this.selectionRange);return e<0&&!i?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new cs(this.view,e,t,n))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let n=this.view.state,i=us(this.view,t);return this.view.state==n&&this.view.update([]),i}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.dirty|=4),"childList"==e.type){let n=Ss(t,e.previousSibling||e.target.previousSibling,-1),i=Ss(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,n,i;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect(),null===(i=this.resizeContent)||void 0===i||i.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function Ss(e,t,n){for(;t;){let i=Wt.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function bs(e){let t=null;function n(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",n,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",n,!0),!t)return null;let i=t.startContainer,r=t.startOffset,s=t.endContainer,o=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return dt(a.node,a.offset,s,o)&&([i,r,s,o]=[s,o,i,r]),{anchorNode:i,anchorOffset:r,focusNode:s,focusOffset:o}}class ys{constructor(e={}){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.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(e=>this.update([e])),this.dispatch=this.dispatch.bind(this),this._root=e.root||Ct(e.parent)||document,this.viewState=new Lr(e.state||ke.create(e)),this.plugins=this.state.facet(Dn).map(e=>new zn(e));for(let e of this.plugins)e.update(this);this.observer=new ms(this),this.inputState=new Li(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new bi(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}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.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){this._dispatch(1==e.length&&e[0]instanceof ue?e[0]:this.state.update(...e))}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,n=!1,i=!1,r=this.state;for(let t of e){if(t.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=t.state}if(this.destroyed)return void(this.viewState.state=r);let s=this.hasFocus,o=0,a=null;e.some(e=>e.annotation(wr))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=kr(r,s),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(h=null)):this.observer.clear(),r.facet(ke.phrases)!=this.state.facet(ke.phrases))return this.setState(r);t=Jn.create(this,r,e),t.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new Yn(e.empty?e:W.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Mn)&&(c=e.value)}this.viewState.update(t,c),this.bidiCache=Qs.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(Fn)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(ns)!=t.state.facet(ns)&&(this.viewState.mustMeasureContent=!0),(n||i||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(Zn))e(t);(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!us(this,h)&&l.force&&Pt(this.contentDOM,l.key,l.keyCode)})}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Lr(e),this.plugins=e.facet(Dn).map(e=>new zn(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new bi(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Dn),n=e.state.facet(Dn);if(t!=n){let i=[];for(let r of n){let n=t.indexOf(r);if(n<0)i.push(new zn(r));else{let t=this.plugins[n];t.mustUpdate=e,i.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=i,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,{scrollHeight:n,scrollTop:i,clientHeight:r}=this.scrollDOM,s=i>n-r-4?n:i;try{for(let e=0;;e++){this.updateState=1;let n=this.viewport,i=this.viewState.lineBlockAtHeight(s),r=this.viewState.measure(this);if(!r&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&r||([this.measureRequests,o]=[o,this.measureRequests]);let a=o.map(e=>{try{return e.read(this)}catch(e){return qn(this.state,e),vs}}),l=Jn.create(this,this.state,[]),h=!1,c=!1;l.flags|=r,t?t.flags|=r:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),h=this.docView.update(l));for(let e=0;e<o.length;e++)if(a[e]!=vs)try{let t=o[e];t.write&&t.write(a[e],this)}catch(e){qn(this.state,e)}if(this.viewState.editorHeight)if(this.viewState.scrollTarget)this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,c=!0;else{let e=this.viewState.lineBlockAt(i.from).top-i.top;(e>1||e<-1)&&(this.scrollDOM.scrollTop+=e,c=!0)}if(h&&this.docView.updateSelection(!0),this.viewport.from==n.from&&this.viewport.to==n.to&&!c&&0==this.measureRequests.length)break}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Zn))e(t)}get themeClasses(){return rs+" "+(this.state.facet(is)?os:ss)+" "+this.state.facet(ns)}updateAttrs(){let e=ws(this,In,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(En)?"true":"false",class:"cm-content",style:`${Nt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ws(this,Bn,t);let n=this.observer.ignore(()=>{let n=dn(this.contentDOM,this.contentAttrs,t),i=dn(this.dom,this.editorAttrs,e);return n||i});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(ys.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(Fn),Fe.mount(this.root,this.styleModules.concat(hs).reverse())}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&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(null!=e.key)for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}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,t,n){return Bi(this,e,ji(this,e,t,n))}moveByGroup(e,t){return Bi(this,e,ji(this,e,t,t=>zi(this,e.head,t)))}moveToLineBoundary(e,t,n=!0){return Di(this,e,t,n)}moveVertically(e,t,n){return Bi(this,e,Ii(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Mi(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let i=this.state.doc.lineAt(e),r=this.bidiSpans(i);return St(n,r[hi.find(r,e-i.from,-1,t)].dir==Kn.LTR==t>0)}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(Rn)||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>xs)return fi(e.length);let t=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t)return n.order;let n=ui(e.text,t);return this.bidiCache.push(new Qs(e.from,e.to,t,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Nt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{kt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Mn.of(new Yn("number"==typeof e?W.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return jn.define(()=>({}),{eventHandlers:e})}static theme(e,t){let n=Fe.newName(),i=[ns.of(n),Fn.of(ls("."+n,e))];return t&&t.dark&&i.push(is.of(!0)),i}static baseTheme(e){return B.lowest(Fn.of(ls("."+rs,e,as)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),i=n&&Wt.get(n)||Wt.get(e);return(null===(t=null==i?void 0:i.rootView)||void 0===t?void 0:t.view)||null}}ys.styleModule=Fn,ys.inputHandler=Wn,ys.focusChangeEffect=Vn,ys.perLineTextDirection=Rn,ys.exceptionSink=Xn,ys.updateListener=Zn,ys.editable=En,ys.mouseSelectionStyle=An,ys.dragMovesSelection=Tn,ys.clickAddsSelectionRange=Cn,ys.decorations=Ln,ys.atomicRanges=Gn,ys.scrollMargins=Nn,ys.darkTheme=is,ys.contentAttributes=Bn,ys.editorAttributes=In,ys.lineWrapping=ys.contentAttributes.of({class:"cm-lineWrapping"}),ys.announce=ce.define();const xs=4096,vs={};class Qs{constructor(e,t,n,i){this.from=e,this.to=t,this.dir=n,this.order=i}static update(e,t){if(t.empty)return e;let n=[],i=e.length?e[e.length-1].dir:Kn.LTR;for(let r=Math.max(0,e.length-10);r<e.length;r++){let s=e[r];s.dir!=i||t.touchesRange(s.from,s.to)||n.push(new Qs(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.order))}return n}}function ws(e,t,n){for(let i=e.state.facet(t),r=i.length-1;r>=0;r--){let t=i[r],s="function"==typeof t?t(e):t;s&&un(s,n)}return n}const ks=Nt.mac?"mac":Nt.windows?"win":Nt.linux?"linux":"key";function $s(e,t){const n=e.split(/-(?!$)/);let i,r,s,o,a=n[n.length-1];"Space"==a&&(a=" ");for(let e=0;e<n.length-1;++e){const a=n[e];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))i=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))s=!0;else{if(!/^mod$/i.test(a))throw new Error("Unrecognized modifier name: "+a);"mac"==t?o=!0:r=!0}}return i&&(a="Alt-"+a),r&&(a="Ctrl-"+a),o&&(a="Meta-"+a),s&&(a="Shift-"+a),a}function Ps(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const Cs=B.default(ys.domEventHandlers({keydown:(e,t)=>_s(Xs(t.state),e,t,"editor")})),Ts=_.define({enables:Cs}),As=new WeakMap;function Xs(e){let t=e.facet(Ts),n=As.get(t);return n||As.set(t,n=Rs(t.reduce((e,t)=>e.concat(t),[]))),n}function Zs(e,t,n){return _s(Xs(e.state),t,e,n)}let Ws=null;const Vs=4e3;function Rs(e,t=ks){let n=Object.create(null),i=Object.create(null),r=(e,t)=>{let n=i[e];if(null==n)i[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},s=(e,i,s,o)=>{var a,l;let h=n[e]||(n[e]=Object.create(null)),c=i.split(/ (?!$)/).map(e=>$s(e,t));for(let t=1;t<c.length;t++){let n=c.slice(0,t).join(" ");r(n,!0),h[n]||(h[n]={preventDefault:!0,run:[t=>{let i=Ws={view:t,prefix:n,scope:e};return setTimeout(()=>{Ws==i&&(Ws=null)},Vs),!0}]})}let u=c.join(" ");r(u,!1);let f=h[u]||(h[u]={preventDefault:!1,run:(null===(l=null===(a=h._any)||void 0===a?void 0:a.run)||void 0===l?void 0:l.slice())||[]});s&&f.run.push(s),o&&(f.preventDefault=!0)};for(let i of e){let e=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,run:[]});for(let t in e)e[t].run.push(i.any)}let r=i[t]||i.key;if(r)for(let t of e)s(t,r,i.run,i.preventDefault),i.shift&&s(t,"Shift-"+r,i.shift,i.preventDefault)}return n}function _s(e,t,n,i){let r=at(t),s=x(b(r,0))==r.length&&" "!=r,o="",a=!1;Ws&&Ws.view==n&&Ws.scope==i&&(o=Ws.prefix+" ",(a=Fi.indexOf(t.keyCode)<0)&&(Ws=null));let l,h,c=new Set,u=e=>{if(e){for(let i of e.run)if(!c.has(i)&&(c.add(i),i(n,t)))return!0;e.preventDefault&&(a=!0)}return!1},f=e[i];if(f){if(u(f[o+Ps(r,t,!s)]))return!0;if(s&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Nt.windows&&t.ctrlKey&&t.altKey)&&(l=Ke[t.keyCode])&&l!=r){if(u(f[o+Ps(l,t,!0)]))return!0;if(t.shiftKey&&(h=et[t.keyCode])!=r&&h!=l&&u(f[o+Ps(h,t,!1)]))return!0}else if(s&&t.shiftKey&&u(f[o+Ps(r,t,!0)]))return!0;if(u(f._any))return!0}return a}class Ys{constructor(e,t,n,i,r){this.className=e,this.left=t,this.top=n,this.width=i,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(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,t,n){if(n.empty){let i=e.coordsAtPos(n.head,n.assoc||1);if(!i)return[];let r=Ms(e);return[new Ys(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}return Us(e,t,n)}}function Ms(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Kn.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function qs(e,t,n){let i=W.cursor(t);return{from:Math.max(n.from,e.moveToLineBoundary(i,!1,!0).from),to:Math.min(n.to,e.moveToLineBoundary(i,!0,!0).from),type:pn.Text}}function Es(e,t){let n=e.lineBlockAt(t);if(Array.isArray(n.type))for(let e of n.type)if(e.to>t||e.to==t&&(e.to==n.to||e.type==pn.Text))return e;return n}function Us(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==Kn.LTR,o=e.contentDOM,a=o.getBoundingClientRect(),l=Ms(e),h=window.getComputedStyle(o.firstChild),c=a.left+parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)),u=a.right-parseInt(h.paddingRight),f=Es(e,i),d=Es(e,r),O=f.type==pn.Text?f:null,p=d.type==pn.Text?d:null;if(e.lineWrapping&&(O&&(O=qs(e,i,O)),p&&(p=qs(e,r,p))),O&&p&&O.from==p.from)return m(S(n.from,n.to,O));{let t=O?S(n.from,null,O):b(f,!1),i=p?S(null,n.to,p):b(d,!0),r=[];return(O||f).to<(p||d).from-1?r.push(g(c,t.bottom,u,i.top)):t.bottom<i.top&&e.elementAtHeight((t.bottom+i.top)/2).type==pn.Text&&(t.bottom=i.top=(t.bottom+i.top)/2),m(t).concat(r).concat(m(i))}function g(e,n,i,r){return new Ys(t,e-l.left,n-l.top-.01,i-e,r-n+.01)}function m({top:e,bottom:t,horizontal:n}){let i=[];for(let r=0;r<n.length;r+=2)i.push(g(n[r],e,n[r+1],t));return i}function S(t,n,i){let r=1e9,o=-1e9,a=[];function l(t,n,l,h,f){let d=e.coordsAtPos(t,t==i.to?-2:2),O=e.coordsAtPos(l,l==i.from?2:-2);r=Math.min(d.top,O.top,r),o=Math.max(d.bottom,O.bottom,o),f==Kn.LTR?a.push(s&&n?c:d.left,s&&h?u:O.right):a.push(!s&&h?c:O.left,!s&&n?u:d.right)}let h=null!=t?t:i.from,f=null!=n?n:i.to;for(let i of e.visibleRanges)if(i.to>h&&i.from<f)for(let r=Math.max(i.from,h),s=Math.min(i.to,f);;){let i=e.state.doc.lineAt(r);for(let o of e.bidiSpans(i)){let e=o.from+i.from,a=o.to+i.from;if(e>=s)break;a>r&&l(Math.max(e,r),null==t&&e<=h,Math.min(a,s),null==n&&a>=f,o.dir)}if(r=i.to+1,r>=s)break}return 0==a.length&&l(h,null==t,f,null==n,e.textDirection),{top:r,bottom:o,horizontal:a}}function b(e,t){let n=a.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}function Ds(e,t){return e.constructor==t.constructor&&e.eq(t)}class js{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],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"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(zs)!=e.state.facet(zs)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(zs);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>!Ds(e,this.drawn[t]))){let t=this.dom.firstChild,n=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[n].constructor&&i.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(i.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const zs=_.define();function Is(e){return[jn.define(t=>new js(t,e)),zs.of(e)]}const Bs=!Nt.ios,Ls=_.define({combine:e=>$e(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Gs(e={}){return[Ls.of(e),Fs,Js,eo,_n.of(!0)]}function Ns(e){return e.startState.facet(Ls)!=e.state.facet(Ls)}const Fs=Is({above:!0,markers(e){let{state:t}=e,n=t.facet(Ls),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty?!s||Bs:n.drawRangeCursor){let t=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=r.empty?r:W.cursor(r.head,r.head>r.anchor?-1:1);for(let r of Ys.forRange(e,t,n))i.push(r)}}return i},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=Ns(e);return n&&Hs(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){Hs(t.state,e)},class:"cm-cursorLayer"});function Hs(e,t){t.style.animationDuration=e.facet(Ls).cursorBlinkRate+"ms"}const Js=Is({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:Ys.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Ns(e),class:"cm-selectionLayer"}),Ks={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Bs&&(Ks[".cm-line"].caretColor="transparent !important");const eo=B.highest(ys.theme(Ks)),to=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),no=j.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(to)?t.value:e,e))}),io=jn.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(no);null==n?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(no)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let e=this.view.state.field(no),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;let n=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+this.view.scrollDOM.scrollLeft,top:t.top-n.top+this.view.scrollDOM.scrollTop,height:t.bottom-t.top}}drawCursor(e){this.cursor&&(e?(this.cursor.style.left=e.left+"px",this.cursor.style.top=e.top+"px",this.cursor.style.height=e.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(no)!=e&&this.view.dispatch({effects:to.of(e)})}},{eventHandlers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ro(){return[no,io]}function so(e,t,n,i,r){t.lastIndex=0;for(let s,o=e.iterRange(n,i),a=n;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;s=t.exec(o.value);)r(a+s.index,s)}function oo(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class ao{constructor(e){const{regexp:t,decoration:n,decorate:i,boundary:r,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(e,t,n,r)=>i(r,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,i,r)=>{let s=n(e,t,i);s&&r(i,i+e[0].length,s)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,i,r)=>r(i,i+e[0].length,n)}this.boundary=r,this.maxLength=s}createDeco(e){let t=new We,n=t.add.bind(t);for(let{from:t,to:i}of oo(e,this.maxLength))so(e.state.doc,this.regexp,t,i,(t,i)=>this.addMatch(i,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((t,r,s,o)=>{o>e.view.viewport.from&&s<e.view.viewport.to&&(n=Math.min(s,n),i=Math.max(o,i))}),e.viewportChanged||i-n>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),n,i):t}updateRange(e,t,n,i){for(let r of e.visibleRanges){let s=Math.max(r.from,n),o=Math.min(r.to,i);if(o>s){let n=e.state.doc.lineAt(s),i=n.to<o?e.state.doc.lineAt(o):n,a=Math.max(r.from,n.from),l=Math.min(r.to,i.to);if(this.boundary){for(;s>n.from;s--)if(this.boundary.test(n.text[s-1-n.from])){a=s;break}for(;o<i.to;o++)if(this.boundary.test(i.text[o-i.from])){l=o;break}}let h,c=[],u=(e,t,n)=>c.push(n.range(e,t));if(n==i)for(this.regexp.lastIndex=a-n.from;(h=this.regexp.exec(n.text))&&h.index<l-n.from;)this.addMatch(h,e,h.index+n.from,u);else so(e.state.doc,this.regexp,a,l,(t,n)=>this.addMatch(n,e,t,u));t=t.update({filterFrom:a,filterTo:l,filter:(e,t)=>e<a||t>l,add:c})}}return t}}const lo=null!=/x/.unicode?"gu":"g",ho=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",lo),co={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let uo=null;function fo(){var e;if(null==uo&&"undefined"!=typeof document&&document.body){let t=document.body.style;uo=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return uo||!1}const Oo=_.define({combine(e){let t=$e(e,{render:null,specialChars:ho,addSpecialChars:null});return(t.replaceTabs=!fo())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,lo)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,lo)),t}});function po(e={}){return[Oo.of(e),mo()]}let go=null;function mo(){return go||(go=jn.fromClass(class{constructor(e){this.view=e,this.decorations=gn.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Oo)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new ao({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=b(t[0],0);if(9==s){let e=r.lineAt(i),t=n.state.tabSize,s=ze(e.text,t,i-e.from);return gn.replace({widget:new xo((t-s%t)*this.view.defaultCharacterWidth)})}return this.decorationCache[s]||(this.decorationCache[s]=gn.replace({widget:new yo(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Oo);e.startState.facet(Oo)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const So="•";function bo(e){return e>=32?So:10==e?"␤":String.fromCharCode(9216+e)}class yo extends On{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=bo(this.code),n=e.state.phrase("Control character")+" "+(co[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,n,t);if(i)return i;let r=document.createElement("span");return r.textContent=t,r.title=n,r.setAttribute("aria-label",n),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class xo extends On{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function vo(){return wo}const Qo=gn.line({class:"cm-activeLine"}),wo=jn.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(Qo.range(r.from)),t=r.from)}return gn.set(n)}},{decorations:e=>e.decorations});class ko extends On{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}ignoreEvent(){return!1}}function $o(e){return jn.fromClass(class{constructor(t){this.view=t,this.placeholder=gn.set([gn.widget({widget:new ko(e),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?gn.none:this.placeholder}},{decorations:e=>e.decorations})}const Po=2e3;function Co(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>Po||n.off>Po||t.col<0||n.col<0){let o=Math.min(t.off,n.off),a=Math.max(t.off,n.off);for(let t=i;t<=r;t++){let n=e.doc.line(t);n.length<=a&&s.push(W.range(n.from+o,n.to+a))}}else{let o=Math.min(t.col,n.col),a=Math.max(t.col,n.col);for(let t=i;t<=r;t++){let n=e.doc.line(t),i=Ie(n.text,o,e.tabSize,!0);if(i<0)s.push(W.cursor(n.to));else{let t=Ie(n.text,a,e.tabSize);s.push(W.range(n.from+i,n.from+t))}}}return s}function To(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function Ao(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>Po?-1:r==i.length?To(e,t.clientX):ze(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function Xo(e,t){let n=Ao(e,t),i=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),r=e.state.doc.lineAt(t);n={line:r.number,col:n.col,off:Math.min(n.off,r.length)},i=i.map(e.changes)}},get(t,r,s){let o=Ao(e,t);if(!o)return i;let a=Co(e.state,n,o);return a.length?s?W.create(a.concat(i.ranges)):W.create(a):i}}:null}function Zo(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return ys.mouseSelectionStyle.of((e,n)=>t(n)?Xo(e,n):null)}const Wo={Alt:[18,e=>e.altKey],Control:[17,e=>e.ctrlKey],Shift:[16,e=>e.shiftKey],Meta:[91,e=>e.metaKey]},Vo={style:"cursor: crosshair"};function Ro(e={}){let[t,n]=Wo[e.key||"Alt"],i=jn.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventHandlers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[i,ys.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.isDown)?Vo:null})]}const _o="-10000px";class Yo{constructor(e,t,n){this.facet=t,this.createTooltipView=n,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e),this.tooltipViews=this.tooltips.map(n)}update(e){var t;let n=e.state.facet(this.facet),i=n.filter(e=>e);if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[];for(let t=0;t<i.length;t++){let n=i[t],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)r[t]=this.createTooltipView(n);else{let n=r[t]=this.tooltipViews[s];n.update&&n.update(e)}}}for(let e of this.tooltipViews)r.indexOf(e)<0&&(e.dom.remove(),null===(t=e.destroy)||void 0===t||t.call(e));return this.input=n,this.tooltips=i,this.tooltipViews=r,!0}}function Mo(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const qo=_.define({combine:e=>{var t,n,i;return{position:Nt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find(e=>e.parent))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(i=e.find(e=>e.tooltipSpace))||void 0===i?void 0:i.tooltipSpace)||Mo}}}),Eo=new WeakMap,Uo=jn.fromClass(class{constructor(e){this.view=e,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(qo);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Yo(e,zo,e=>this.createTooltip(e)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.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 e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(qo);if(i.position!=this.position){this.position=i.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=_o,this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect();return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(qo).tooltipSpace(this.view)}}writeMeasure(e){var t;let{editor:n,space:i}=e,r=[];for(let s=0;s<this.manager.tooltips.length;s++){let o=this.manager.tooltips[s],a=this.manager.tooltipViews[s],{dom:l}=a,h=e.pos[s],c=e.size[s];if(!h||h.bottom<=Math.max(n.top,i.top)||h.top>=Math.min(n.bottom,i.bottom)||h.right<Math.max(n.left,i.left)-.1||h.left>Math.min(n.right,i.right)+.1){l.style.top=_o;continue}let u=o.arrow?a.dom.querySelector(".cm-tooltip-arrow"):null,f=u?7:0,d=c.right-c.left,O=null!==(t=Eo.get(a))&&void 0!==t?t:c.bottom-c.top,p=a.offset||jo,g=this.view.textDirection==Kn.LTR,m=c.width>i.right-i.left?g?i.left:i.right-c.width:g?Math.min(h.left-(u?14:0)+p.x,i.right-d):Math.max(i.left,h.left-d+(u?14:0)-p.x),S=!!o.above;!o.strictSide&&(S?h.top-(c.bottom-c.top)-p.y<i.top:h.bottom+(c.bottom-c.top)+p.y>i.bottom)&&S==i.bottom-h.bottom>h.top-i.top&&(S=!S);let b=(S?h.top-i.top:i.bottom-h.bottom)-f;if(b<O&&!1!==a.resize){if(b<this.view.defaultLineHeight){l.style.top=_o;continue}Eo.set(a,O),l.style.height=(O=b)+"px"}else l.style.height&&(l.style.height="");let y=S?h.top-O-f-p.y:h.bottom+f+p.y,x=m+d;if(!0!==a.overlap)for(let e of r)e.left<x&&e.right>m&&e.top<y+O&&e.bottom>y&&(y=S?e.top-O-2-f:e.bottom+f+2);"absolute"==this.position?(l.style.top=y-e.parent.top+"px",l.style.left=m-e.parent.left+"px"):(l.style.top=y+"px",l.style.left=m+"px"),u&&(u.style.left=h.left+(g?p.x:-p.x)-(m+14-7)+"px"),!0!==a.overlap&&r.push({left:m,top:y,right:x,bottom:y+O}),l.classList.toggle("cm-tooltip-above",S),l.classList.toggle("cm-tooltip-below",!S),a.positioned&&a.positioned(e.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 e of this.manager.tooltipViews)e.dom.style.top=_o}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),Do=ys.baseTheme({".cm-tooltip":{zIndex:100,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"}}}),jo={x:0,y:0},zo=_.define({enables:[Uo,Do]}),Io=_.define();class Bo{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Yo(e,Io,e=>this.createHostedView(e))}static create(e){return new Bo(e)}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}}const Lo=zo.compute([Io],e=>{let t=e.facet(Io).filter(e=>e);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.filter(e=>null!=e.end).map(e=>e.end)),create:Bo.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class Go{constructor(e,t,n,i,r){this.view=e,this.source=t,this.field=n,this.setHover=i,this.hoverTime=r,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(){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)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{lastMove:e}=this,t=this.view.contentDOM.contains(e.target)?this.view.posAtCoords(e):null;if(null==t)return;let n=this.view.coordsAtPos(t);if(null==n||e.y<n.top||e.y>n.bottom||e.x<n.left-this.view.defaultCharacterWidth||e.x>n.right+this.view.defaultCharacterWidth)return;let i=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(e=>e.from<=t&&e.to>=t),r=i&&i.dir==Kn.RTL?-1:1,s=this.source(this.view,t,e.x<n.left?-r:r);if(null==s?void 0:s.then){let e=this.pending={pos:t};s.then(t=>{this.pending==e&&(this.pending=null,t&&this.view.dispatch({effects:this.setHover.of(t)}))},e=>qn(this.view.state,e,"hover tooltip"))}else s&&this.view.dispatch({effects:this.setHover.of(s)})}mousemove(e){var t;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 n=this.active;if(n&&!No(this.lastMove.target)||this.pending){let{pos:i}=n||this.pending,r=null!==(t=null==n?void 0:n.end)&&void 0!==t?t:i;(i==r?this.view.posAtCoords(this.lastMove)==i:Fo(this.view,i,r,e.clientX,e.clientY,6))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!No(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function No(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function Fo(e,t,n,i,r,s){let o=document.createRange(),a=e.domAtPos(t),l=e.domAtPos(n);o.setEnd(l.node,l.offset),o.setStart(a.node,a.offset);let h=o.getClientRects();o.detach();for(let e=0;e<h.length;e++){let t=h[e];if(Math.max(t.top-r,r-t.bottom,t.left-i,i-t.right)<=s)return!0}return!1}function Ho(e,t={}){let n=ce.define(),i=j.define({create:()=>null,update(e,i){if(e&&(t.hideOnChange&&(i.docChanged||i.selection)||t.hideOn&&t.hideOn(i,e)))return null;if(e&&i.docChanged){let t=i.changes.mapPos(e.pos,-1,Q.TrackDel);if(null==t)return null;let n=Object.assign(Object.create(null),e);n.pos=t,null!=e.end&&(n.end=i.changes.mapPos(e.end)),e=n}for(let t of i.effects)t.is(n)&&(e=t.value),t.is(Ko)&&(e=null);return e},provide:e=>Io.from(e)});return[i,jn.define(r=>new Go(r,e,i,n,t.hoverTime||300)),Lo]}function Jo(e,t){let n=e.plugin(Uo);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const Ko=ce.define(),ea=_.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ta(e,t){let n=e.plugin(na),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const na=jn.fromClass(class{constructor(e){this.input=e.state.facet(sa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(ea);this.top=new ia(e,!0,t.topContainer),this.bottom=new ia(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(ea);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ia(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ia(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(sa);if(n!=this.input){let t=n.filter(e=>e),i=[],r=[],s=[],o=[];for(let n of t){let t,a=this.specs.indexOf(n);a<0?(t=n(e.view),o.push(t)):(t=this.panels[a],t.update&&t.update(e)),i.push(t),(t.top?r:s).push(t)}this.specs=t,this.panels=i,this.top.sync(r),this.bottom.sync(s);for(let e of o)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>ys.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ia{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));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 e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=ra(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ra(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 ra(e){let t=e.nextSibling;return e.remove(),t}const sa=_.define({enables:na});class oa extends Pe{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}oa.prototype.elementClass="",oa.prototype.toDOM=void 0,oa.prototype.mapMode=Q.TrackBefore,oa.prototype.startSide=oa.prototype.endSide=-1,oa.prototype.point=!0;const aa=_.define(),la={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Xe.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},ha=_.define();function ca(e){return[fa(),ha.of(Object.assign(Object.assign({},la),e))]}const ua=_.define({combine:e=>e.some(e=>e)});function fa(e){let t=[da];return e&&!1===e.fixed&&t.push(ua.of(!0)),t}const da=jn.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=e.state.facet(ha).map(t=>new ma(e,t));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(ua),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<.8*(n.to-n.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(ua)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let n=Xe.iter(this.view.state.facet(aa),this.view.viewport.from),i=[],r=this.gutters.map(e=>new ga(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks){let t;if(Array.isArray(e.type)){for(let n of e.type)if(n.type==pn.Text){t=n;break}}else t=e.type==pn.Text?e:void 0;if(t){i.length&&(i=[]),pa(n,i,e.from);for(let e of r)e.line(this.view,t,i)}}for(let e of r)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(ha),n=e.state.facet(ha),i=e.docChanged||e.heightChanged||e.viewportChanged||!Xe.eq(e.startState.facet(aa),e.state.facet(aa),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(i=!0);else{i=!0;let r=[];for(let i of n){let n=t.indexOf(i);n<0?r.push(new ma(this.view,i)):(this.gutters[n].update(e),r.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),r.indexOf(e)<0&&e.destroy();for(let e of r)this.dom.appendChild(e.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>ys.scrollMargins.of(t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==Kn.LTR?{left:n.dom.offsetWidth}:{right:n.dom.offsetWidth}:null})});function Oa(e){return Array.isArray(e)?e:[e]}function pa(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class ga{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=Xe.iter(e.markers,t.from)}line(e,t,n){let i=[];pa(this.cursor,i,t.from),n.length&&(i=i.concat(n));let r=this.gutter.config.lineMarker(e,t,i);r&&i.unshift(r);let s=this.gutter;if(0==i.length&&!s.config.renderEmptyElements)return;let o=t.top-this.height;if(this.i==s.elements.length){let n=new Sa(e,t.height,o,i);s.elements.push(n),s.dom.appendChild(n.dom)}else s.elements[this.i].update(e,t.height,o,i);this.height=t.bottom,this.i++}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class ma{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,i=>{let r,s=i.target;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let e=s.getBoundingClientRect();r=(e.top+e.bottom)/2}else r=i.clientY;let o=e.lineBlockAtHeight(r-e.documentTop);t.domEventHandlers[n](e,o,i)&&i.preventDefault()});this.markers=Oa(t.markers(e)),t.initialSpacer&&(this.spacer=new Sa(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Oa(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!Xe.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Sa{constructor(e,t,n,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,i)}update(e,t,n,i){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),ba(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let n="cm-gutterElement",i=this.dom.firstChild;for(let r=0,s=0;;){let o=s,a=r<t.length?t[r++]:null,l=!1;if(a){let e=a.elementClass;e&&(n+=" "+e);for(let e=s;e<this.markers.length;e++)if(this.markers[e].compare(a)){o=e,l=!0;break}}else o=this.markers.length;for(;s<o;){let e=this.markers[s++];if(e.toDOM){e.destroy(i);let t=i.nextSibling;i.remove(),i=t}}if(!a)break;a.toDOM&&(l?i=i.nextSibling:this.dom.insertBefore(a.toDOM(e),i)),l&&s++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}}function ba(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}const ya=_.define(),xa=_.define({combine:e=>$e(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let i=n[e],r=t[e];n[e]=i?(e,t,n)=>i(e,t,n)||r(e,t,n):r}return n}})});class va extends oa{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Qa(e,t){return e.state.facet(xa).formatNumber(t,e.state)}const wa=ha.compute([xa],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(ya),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new va(Qa(e,e.state.doc.lineAt(t.from).number)),lineMarkerChange:e=>e.startState.facet(xa)!=e.state.facet(xa),initialSpacer:e=>new va(Qa(e,$a(e.state.doc.lines))),updateSpacer(e,t){let n=Qa(t.view,$a(t.view.state.doc.lines));return n==e.number?e:new va(n)},domEventHandlers:e.facet(xa).domEventHandlers}));function ka(e={}){return[xa.of(e),fa(),wa]}function $a(e){let t=9;for(;t<e;)t=10*t+9;return t}const Pa=new class extends oa{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Ca=aa.compute(["selection"],e=>{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(Pa.range(r)))}return Xe.of(t)});function Ta(){return Ca}const Aa=1024;let Xa=0;class Za{constructor(e,t){this.from=e,this.to=t}}class Wa{constructor(e={}){this.id=Xa++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=_a.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Wa.closedBy=new Wa({deserialize:e=>e.split(" ")}),Wa.openedBy=new Wa({deserialize:e=>e.split(" ")}),Wa.group=new Wa({deserialize:e=>e.split(" ")}),Wa.contextHash=new Wa({perNode:!0}),Wa.lookAhead=new Wa({perNode:!0}),Wa.mounted=new Wa({perNode:!0});class Va{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}}const Ra=Object.create(null);class _a{constructor(e,t,n,i=0){this.name=e,this.props=t,this.id=n,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Ra,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),i=new _a(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(i)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return i}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Wa.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let i of n.split(" "))t[i]=e[n];return e=>{for(let n=e.prop(Wa.group),i=-1;i<(n?n.length:0);i++){let r=t[i<0?e.name:n[i]];if(r)return r}}}}_a.none=new _a("",Object.create(null),0,8);class Ya{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let i=null;for(let t of e){let e=t(n);e&&(i||(i=Object.assign({},n.props)),i[e[0].id]=e[1])}t.push(i?new _a(n.name,i,n.id,n.flags):n)}return new Ya(t)}}const Ma=new WeakMap,qa=new WeakMap;var Ea;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(Ea||(Ea={}));class Ua{constructor(e,t,n,i,r){if(this.type=e,this.children=t,this.positions=n,this.length=i,this.props=null,r&&r.length){this.props=Object.create(null);for(let[e,t]of r)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=this.prop(Wa.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let n=e.toString();n&&(t&&(t+=","),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Ja(this.topNode,e)}cursorAt(e,t=0,n=0){let i=Ma.get(this)||this.topNode,r=new Ja(i);return r.moveTo(e,t),Ma.set(this,r._tree),r}get topNode(){return new La(this,0,0,null)}resolve(e,t=0){let n=Ba(Ma.get(this)||this.topNode,e,t,!1);return Ma.set(this,n),n}resolveInner(e,t=0){let n=Ba(qa.get(this)||this.topNode,e,t,!0);return qa.set(this,n),n}iterate(e){let{enter:t,leave:n,from:i=0,to:r=this.length}=e;for(let s=this.cursor((e.mode||0)|Ea.IncludeAnonymous);;){let e=!1;if(s.from<=r&&s.to>=i&&(s.type.isAnonymous||!1!==t(s))){if(s.firstChild())continue;e=!0}for(;e&&n&&!s.type.isAnonymous&&n(s),!s.nextSibling();){if(!s.parent())return;e=!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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:il(_a.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new Ua(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new Ua(_a.none,e,t,n)))}static build(e){return el(e)}}Ua.empty=new Ua(_a.none,[],[],0);class Da{constructor(e,t){this.buffer=e,this.index=t}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 Da(this.buffer,this.index)}}class ja{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return _a.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],i=this.set.types[t],r=i.name;if(/\W/.test(r)&&!i.isError&&(r=JSON.stringify(r)),n==(e+=4))return r;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return r+"("+s.join(",")+")"}findChild(e,t,n,i,r){let{buffer:s}=this,o=-1;for(let a=e;a!=t&&!(za(r,i,s[a+1],s[a+2])&&(o=a,n>0));a=s[a+3]);return o}slice(e,t,n){let i=this.buffer,r=new Uint16Array(t-e),s=0;for(let o=e,a=0;o<t;){r[a++]=i[o++],r[a++]=i[o++]-n;let t=r[a++]=i[o++]-n;r[a++]=i[o++]-e,s=Math.max(s,t)}return new ja(r,s,this.set)}}function za(e,t,n,i){switch(e){case-2:return n<t;case-1:return i>=t&&n<t;case 0:return n<t&&i>t;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function Ia(e,t){let n=e.childBefore(t);for(;n;){let t=n.lastChild;if(!t||t.to!=n.to)break;t.type.isError&&t.from==t.to?(e=n,n=t.prevSibling):n=t}return e}function Ba(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof La&&e.index<0?null:e.parent;if(!t)return e;e=t}let s=i?0:Ea.IgnoreOverlays;if(i)for(let i=e,o=i.parent;o;i=o,o=i.parent)i instanceof La&&i.index<0&&(null===(r=o.enter(t,n,s))||void 0===r?void 0:r.from)!=i.from&&(e=o);for(;;){let i=e.enter(t,n,s);if(!i)return e;e=i}}class La{constructor(e,t,n,i){this._tree=e,this.from=t,this.index=n,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,i,r=0){for(let s=this;;){for(let{children:o,positions:a}=s._tree,l=t>0?o.length:-1;e!=l;e+=t){let l=o[e],h=a[e]+s.from;if(za(i,n,h,h+l.length))if(l instanceof ja){if(r&Ea.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,t,n-h,i);if(o>-1)return new Ha(new Fa(s,l,e,h),null,o)}else if(r&Ea.IncludeAnonymous||!l.type.isAnonymous||Ka(l)){let o;if(!(r&Ea.IgnoreMounts)&&l.props&&(o=l.prop(Wa.mounted))&&!o.overlay)return new La(o.tree,h,e,s);let a=new La(l,h,e,s);return r&Ea.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,n,i)}}if(r&Ea.IncludeAnonymous||!s.type.isAnonymous)return null;if(e=s.index>=0?s.index+t:t<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)}enter(e,t,n=0){let i;if(!(n&Ea.IgnoreOverlays)&&(i=this._tree.prop(Wa.mounted))&&i.overlay){let n=e-this.from;for(let{from:e,to:r}of i.overlay)if((t>0?e<=n:e<n)&&(t<0?r>=n:r>n))return new La(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}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}cursor(e=0){return new Ja(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Ba(this,e,t,!1)}resolveInner(e,t=0){return Ba(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Ia(this,e)}getChild(e,t=null,n=null){let i=Ga(this,e,t,n);return i.length?i[0]:null}getChildren(e,t=null,n=null){return Ga(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Na(this,e)}}function Ga(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(null!=n)for(;!r.type.is(n);)if(!r.nextSibling())return s;for(;;){if(null!=i&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return null==i?s:[]}}function Na(e,t,n=t.length-1){for(let i=e.parent;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class Fa{constructor(e,t,n,i){this.parent=e,this.buffer=t,this.index=n,this.start=i}}class Ha{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,t,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,n);return r<0?null:new Ha(this.context,this,r)}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)}enter(e,t,n=0){if(n&Ea.ExcludeBuffers)return null;let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new Ha(this.context,this,r)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Ha(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Ha(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new Ja(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,i=this.index+4,r=n.buffer[this.index+3];if(r>i){let s=n.buffer[this.index+1];e.push(n.slice(i,r,s)),t.push(0)}return new Ua(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Ba(this,e,t,!1)}resolveInner(e,t=0){return Ba(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Ia(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let i=Ga(this,e,t,n);return i.length?i[0]:null}getChildren(e,t=null,n=null){return Ga(this,e,t,n)}get node(){return this}matchContext(e){return Na(this,e)}}class Ja{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof La)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.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)}yieldBuf(e,t){this.index=e;let{start:n,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=n+i.buffer[e+1],this.to=n+i.buffer[e+2],!0}yield(e){return!!e&&(e instanceof La?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:i}=this.buffer,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,n);return!(r<0)&&(this.stack.push(this.index),this.yieldBuf(r))}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,t,n=this.mode){return this.buffer?!(n&Ea.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ea.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ea.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));let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=i)}else({index:t,_parent:n}=this._tree);for(;n;({index:t,_parent:n}=n))if(t>-1)for(let i=t+e,r=e<0?-1:n._tree.children.length;i!=r;i+=e){let e=n._tree.children[i];if(this.mode&Ea.IncludeAnonymous||e instanceof ja||!e.type.isAnonymous||Ka(e))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let i=this.index,r=this.stack.length;r>=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,n=r+1;break e}i=this.stack[--r]}for(let e=n;e<this.stack.length;e++)t=new Ha(this.buffer,t,this.stack[e]);return this.bufferNode=new Ha(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let i=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){n++;continue}this.type.isAnonymous||(i=!0)}for(;i&&t&&t(this),i=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,i=!0}}}matchContext(e){if(!this.buffer)return Na(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let i=e.length-1,r=this.stack.length-1;i>=0;r--){if(r<0)return Na(this.node,e,i);let s=n[t.buffer[this.stack[r]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}}function Ka(e){return e.children.some(e=>e instanceof ja||!e.type.isAnonymous||Ka(e))}function el(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=Aa,reused:s=[],minRepeatType:o=i.types.length}=e,a=Array.isArray(n)?new Da(n,n.length):n,l=i.types,h=0,c=0;function u(e,t,n,m,S){let{id:b,start:y,end:x,size:v}=a,Q=c;for(;v<0;){if(a.next(),-1==v){let t=s[b];return n.push(t),void m.push(y-e)}if(-3==v)return void(h=b);if(-4==v)return void(c=b);throw new RangeError("Unrecognized record size: "+v)}let w,k,$=l[b],P=y-e;if(x-y<=r&&(k=p(a.pos-t,S))){let t=new Uint16Array(k.size-k.skip),n=a.pos-k.size,r=t.length;for(;a.pos>n;)r=g(k.start,t,r);w=new ja(t,x-k.start,i),P=k.start-e}else{let e=a.pos-v;a.next();let t=[],n=[],i=b>=o?b:-1,s=0,l=x;for(;a.pos>e;)i>=0&&a.id==i&&a.size>=0?(a.end<=l-r&&(d(t,n,y,s,a.end,l,i,Q),s=t.length,l=a.end),a.next()):u(y,e,t,n,i);if(i>=0&&s>0&&s<t.length&&d(t,n,y,s,y,l,i,Q),t.reverse(),n.reverse(),i>-1&&s>0){let e=f($);w=il($,t,n,0,t.length,0,x-y,e,e)}else w=O($,t,n,x-y,Q-x)}n.push(w),m.push(P)}function f(e){return(t,n,i)=>{let r,s,o=0,a=t.length-1;if(a>=0&&(r=t[a])instanceof Ua){if(!a&&r.type==e&&r.length==i)return r;(s=r.prop(Wa.lookAhead))&&(o=n[a]+r.length+s)}return O(e,t,n,i,o)}}function d(e,t,n,r,s,o,a,l){let h=[],c=[];for(;e.length>r;)h.push(e.pop()),c.push(t.pop()+n-s);e.push(O(i.types[a],h,c,o-s,l-o)),t.push(s-n)}function O(e,t,n,i,r=0,s){if(h){let e=[Wa.contextHash,h];s=s?[e].concat(s):[e]}if(r>25){let e=[Wa.lookAhead,r];s=s?[e].concat(s):[e]}return new Ua(e,t,n,i,s)}function p(e,t){let n=a.fork(),i=0,s=0,l=0,h=n.end-r,c={size:0,start:0,skip:0};e:for(let r=n.pos-e;n.pos>r;){let e=n.size;if(n.id==t&&e>=0){c.size=i,c.start=s,c.skip=l,l+=4,i+=4,n.next();continue}let a=n.pos-e;if(e<0||a<r||n.start<h)break;let u=n.id>=o?4:0,f=n.start;for(n.next();n.pos>a;){if(n.size<0){if(-3!=n.size)break e;u+=4}else n.id>=o&&(u+=4);n.next()}s=f,i+=e,l+=u}return(t<0||i==e)&&(c.size=i,c.start=s,c.skip=l),c.size>4?c:void 0}function g(e,t,n){let{id:i,start:r,end:s,size:l}=a;if(a.next(),l>=0&&i<o){let o=n;if(l>4){let i=a.pos-(l-4);for(;a.pos>i;)n=g(e,t,n)}t[--n]=o,t[--n]=s-e,t[--n]=r-e,t[--n]=i}else-3==l?h=i:-4==l&&(c=i);return n}let m=[],S=[];for(;a.pos>0;)u(e.start||0,e.bufferStart||0,m,S,-1);let b=null!==(t=e.length)&&void 0!==t?t:m.length?S[0]+m[0].length:0;return new Ua(l[e.topID],m.reverse(),S.reverse(),b)}const tl=new WeakMap;function nl(e,t){if(!e.isAnonymous||t instanceof ja||t.type!=e)return 1;let n=tl.get(t);if(null==n){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof Ua)){n=1;break}n+=nl(e,i)}tl.set(t,n)}return n}function il(e,t,n,i,r,s,o,a,l){let h=0;for(let n=i;n<r;n++)h+=nl(e,t[n]);let c=Math.ceil(1.5*h/8),u=[],f=[];function d(t,n,i,r,o){for(let a=i;a<r;){let i=a,h=n[a],O=nl(e,t[a]);for(a++;a<r;a++){let n=nl(e,t[a]);if(O+n>=c)break;O+=n}if(a==i+1){if(O>c){let e=t[i];d(e.children,e.positions,0,e.children.length,n[i]+o);continue}u.push(t[i])}else{let r=n[a-1]+t[a-1].length-h;u.push(il(e,t,n,i,a,h,r,null,l))}f.push(h+o-s)}}return d(t,n,i,r,0),(a||l)(u,f,o)}class rl{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ha?this.setBuffer(e.context.buffer,e.index,t):e instanceof La&&this.map.set(e.tree,t)}get(e){return e instanceof Ha?this.getBuffer(e.context.buffer,e.index):e instanceof La?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class sl{constructor(e,t,n,i,r=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=i,this.open=(r?1:0)|(s?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let i=[new sl(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&i.push(n);return i}static applyChanges(e,t,n=128){if(!t.length)return e;let i=[],r=1,s=e.length?e[0]:null;for(let o=0,a=0,l=0;;o++){let h=o<t.length?t[o]:null,c=h?h.fromA:1e9;if(c-a>=n)for(;s&&s.from<c;){let t=s;if(a>=t.from||c<=t.to||l){let e=Math.max(t.from,a)-l,n=Math.min(t.to,c)-l;t=e>=n?null:new sl(e,n,t.tree,t.offset+l,o>0,!!h)}if(t&&i.push(t),s.to>c)break;s=r<e.length?e[r++]:null}if(!h)break;a=h.toA,l=h.toA-h.toB}return i}}class ol{startParse(e,t,n){return"string"==typeof e&&(e=new al(e)),n=n?n.length?n.map(e=>new Za(e.from,e.to)):[new Za(0,0)]:[new Za(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let i=this.startParse(e,t,n);for(;;){let e=i.advance();if(e)return e}}}class al{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function ll(e){return(t,n,i,r)=>new fl(t,e,n,i,r)}class hl{constructor(e,t,n,i,r){this.parser=e,this.parse=t,this.overlay=n,this.target=i,this.ranges=r}}class cl{constructor(e,t,n,i,r,s,o){this.parser=e,this.predicate=t,this.mounts=n,this.index=i,this.start=r,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const ul=new Wa({perNode:!0});class fl{constructor(e,t,n,i,r){this.nest=t,this.input=n,this.fragments=i,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Ua(e.type,e.children,e.positions,e.length,e.propValues.concat([[ul,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[Wa.mounted.id]=new Va(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].ranges[0].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new ml(this.fragments),t=null,n=null,i=new Ja(new La(this.baseTree,this.ranges[0].from,0,null),Ea.IncludeAnonymous|Ea.IgnoreMounts);e:for(let r,s;null==this.stoppedAt||i.from<this.stoppedAt;){let o,a=!0;if(e.hasNode(i)){if(t){let e=t.mounts.find(e=>e.frag.from<=i.from&&e.frag.to>=i.to&&e.mount.overlay);if(e)for(let n of e.mount.overlay){let r=n.from+e.pos,s=n.to+e.pos;r>=i.from&&s<=i.to&&!t.ranges.some(e=>e.from<s&&e.to>r)&&t.ranges.push({from:r,to:s})}}a=!1}else if(n&&(s=dl(n.ranges,i.from,i.to)))a=2!=s;else if(!i.type.isAnonymous&&i.from<i.to&&(r=this.nest(i,this.input))){i.tree||pl(i);let s=e.findMounts(i.from,r.parser);if("function"==typeof r.overlay)t=new cl(r.parser,r.overlay,s,this.inner.length,i.from,i.tree,t);else{let e=Sl(this.ranges,r.overlay||[new Za(i.from,i.to)]);e.length&&this.inner.push(new hl(r.parser,r.parser.startParse(this.input,yl(s,e),e),r.overlay?r.overlay.map(e=>new Za(e.from-i.from,e.to-i.from)):null,i.tree,e)),r.overlay?e.length&&(n={ranges:e,depth:0,prev:n}):a=!1}}else t&&(o=t.predicate(i))&&(!0===o&&(o=new Za(i.from,i.to)),o.from<o.to&&t.ranges.push(o));if(a&&i.firstChild())t&&t.depth++,n&&n.depth++;else for(;!i.nextSibling();){if(!i.parent())break e;if(t&&!--t.depth){let e=Sl(this.ranges,t.ranges);e.length&&this.inner.splice(t.index,0,new hl(t.parser,t.parser.startParse(this.input,yl(t.mounts,e),e),t.ranges.map(e=>new Za(e.from-t.start,e.to-t.start)),t.target,e)),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}}function dl(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function Ol(e,t,n,i,r,s){if(t<n){let o=e.buffer[t+1];i.push(e.slice(t,n,o)),r.push(o-s)}}function pl(e){let{node:t}=e,n=0;do{e.parent(),n++}while(!e.tree);let i=0,r=e.tree,s=0;for(;s=r.positions[i]+e.from,!(s<=t.from&&s+r.children[i].length>=t.to);i++);let o=r.children[i],a=o.buffer;function l(e,n,i,r,h){let c=e;for(;a[c+2]+s<=t.from;)c=a[c+3];let u=[],f=[];Ol(o,e,c,u,f,r);let d=a[c+1],O=a[c+2],p=d+s==t.from&&O+s==t.to&&a[c]==t.type.id;return u.push(p?t.toTree():l(c+4,a[c+3],o.set.types[a[c]],d,O-d)),f.push(d-r),Ol(o,a[c+3],n,u,f,r),new Ua(i,u,f,h)}r.children[i]=l(0,a.length,_a.none,0,o.length);for(let i=0;i<=n;i++)e.childAfter(t.from)}class gl{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Ea.IncludeAnonymous|Ea.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,Ea.IgnoreOverlays|Ea.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Ua))break;t=t.children[0]}return!1}}class ml{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=null!==(t=n.tree.prop(ul))&&void 0!==t?t:n.to,this.inner=new gl(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(ul))&&void 0!==e?e:t.to,this.inner=new gl(t.tree,-t.offset)}}findMounts(e,t){var n;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let r=null===(n=e.tree)||void 0===n?void 0:n.prop(Wa.mounted);if(r&&r.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let n=this.fragments[t];if(n.from>=e.to)break;n.tree==this.curFrag.tree&&i.push({frag:n,pos:e.from-n.offset,mount:r})}}}return i}}function Sl(e,t){let n=null,i=t;for(let r=1,s=0;r<e.length;r++){let o=e[r-1].to,a=e[r].from;for(;s<i.length;s++){let e=i[s];if(e.from>=a)break;e.to<=o||(n||(i=n=t.slice()),e.from<o?(n[s]=new Za(e.from,o),e.to>a&&n.splice(s+1,0,new Za(a,e.to))):e.to>a?n[s--]=new Za(a,e.to):n.splice(s--,1))}}return i}function bl(e,t,n,i){let r=0,s=0,o=!1,a=!1,l=-1e9,h=[];for(;;){let c=r==e.length?1e9:o?e[r].to:e[r].from,u=s==t.length?1e9:a?t[s].to:t[s].from;if(o!=a){let e=Math.max(l,n),t=Math.min(c,u,i);e<t&&h.push(new Za(e,t))}if(l=Math.min(c,u),1e9==l)break;c==l&&(o?(o=!1,r++):o=!0),u==l&&(a?(a=!1,s++):a=!0)}return h}function yl(e,t){let n=[];for(let{pos:i,mount:r,frag:s}of e){let e=i+(r.overlay?r.overlay[0].from:0),o=e+r.tree.length,a=Math.max(s.from,e),l=Math.min(s.to,o);if(r.overlay){let o=bl(t,r.overlay.map(e=>new Za(e.from+i,e.to+i)),a,l);for(let t=0,i=a;;t++){let a=t==o.length,h=a?l:o[t].from;if(h>i&&n.push(new sl(i,h,r.tree,-e,s.from>=i||s.openStart,s.to<=h||s.openEnd)),a)break;i=o[t].to}}else n.push(new sl(a,l,r.tree,-e,s.from>=e||s.openStart,s.to<=o||s.openEnd))}return n}class xl{constructor(e,t,n,i,r,s,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=n,this.reducePos=i,this.pos=r,this.score=s,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let i=e.parser.context;return new xl(e,[],t,n,n,0,[],0,i?new vl(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,i=65535&e,{parser:r}=this.p,s=r.dynamicPrecedence(i);if(s&&(this.score+=s),0==n)return this.pushState(r.getGoto(this.state,i,!0),this.reducePos),i<r.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),void this.reduceContext(i,this.reducePos);let o=this.stack.length-3*(n-1)-(262144&e?6:0),a=o?this.stack[o-2]:this.p.ranges[0].from,l=this.reducePos-a;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[i])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=l));let h=o?this.stack[o-1]:0,c=this.bufferBase+this.buffer.length-h;if(i<r.minRepeatTerm||131072&e){let e=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,a,e,c+4,!0)}if(262144&e)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=r.getGoto(e,i,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(i,a)}storeNode(e,t,n,i=4,r=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,i=this.buffer.length;if(0==i&&e.parent&&(i=e.bufferBase-e.parent.bufferBase,e=e.parent),i>0&&0==e.buffer[i-4]&&e.buffer[i-1]>-1){if(t==n)return;if(e.buffer[i-2]>=t)return void(e.buffer[i-2]=n)}}if(r&&this.pos!=n){let r=this.buffer.length;if(r>0&&0!=this.buffer[r-4])for(;r>0&&this.buffer[r-2]>n;)this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4&&(i-=4);this.buffer[r]=e,this.buffer[r+1]=t,this.buffer[r+2]=n,this.buffer[r+3]=i}else this.buffer.push(e,t,n,i)}shift(e,t,n){let i=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let r=e,{parser:s}=this.p;(n>this.pos||t<=s.maxNode)&&(this.pos=n,s.stateFlag(r,1)||(this.reducePos=n)),this.pushState(r,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,n,4)}else this.pos=n,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,n,4)}apply(e,t,n){65536&e?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(n,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new xl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new wl(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(0==(65536&n))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let i,r=0;r<t.length;r+=2)(i=t[r+1])!=this.state&&this.p.parser.hasAction(i,e)&&n.push(t[r],i);if(this.stack.length<120)for(let e=0;n.length<8&&e<t.length;e+=2){let i=t[e+1];n.some((e,t)=>1&t&&e==i)||n.push(t[e],i)}t=n}let n=[];for(let e=0;e<t.length&&n.length<4;e+=2){let i=t[e+1];if(i==this.state)continue;let r=this.split();r.pushState(i,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(t[e],this.pos),r.score-=200,n.push(r)}return n}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(0==(65536&e))return!1;let{parser:t}=this.p;if(!t.validAction(this.state,e)){let n=e>>19,i=65535&e,r=this.stack.length-3*n;if(r<0||t.getGoto(this.stack[r],i,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.reducePos,this.reducePos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.reducePos,this.reducePos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new vl(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class vl{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var Ql;!function(e){e[e.Insert=200]="Insert",e[e.Delete=190]="Delete",e[e.Reduce=100]="Reduce",e[e.MaxNext=4]="MaxNext",e[e.MaxInsertStackDepth=300]="MaxInsertStackDepth",e[e.DampenInsertStackDepth=120]="DampenInsertStackDepth",e[e.MinBigReduction=2e3]="MinBigReduction"}(Ql||(Ql={}));class wl{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class kl{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new kl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new kl(this.stack,this.pos,this.index)}}function $l(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let i=0,r=0;i<e.length;){let s=0;for(;;){let t=e.charCodeAt(i++),n=!1;if(126==t){s=65535;break}t>=92&&t--,t>=34&&t--;let r=t-32;if(r>=46&&(r-=46,n=!0),s+=r,n)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class Pl{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Cl=new Pl;class Tl{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Cl,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,i=this.rangeIndex,r=this.pos+e;for(;r<n.from;){if(!i)return null;let e=this.ranges[--i];r-=n.from-e.to,n=e}for(;t<0?r>n.to:r>=n.to;){if(i==this.ranges.length-1)return null;let e=this.ranges[++i];r+=e.from-n.to,n=e}return r}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,n,i=this.chunkOff+e;if(i>=0&&i<this.chunk.length)t=this.pos+e,n=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(e,1);if(null==i)return-1;if(t=i,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,i=this.range;for(;i.to<=t;)i=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Cl,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(n+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return n}}class Al{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Wl(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}Al.prototype.contextual=Al.prototype.fallback=Al.prototype.extend=!1;class Xl{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data="string"==typeof e?$l(e):e}token(e,t){let n,i=e.pos;for(;n=e.pos,Wl(this.data,e,t,0,this.data,this.precTable),!(e.token.value>-1);){if(null==this.elseToken)return;if(e.next<0)break;e.advance(),e.reset(n+1,e.token)}n>i&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n-i))}}Xl.prototype.contextual=Al.prototype.fallback=Al.prototype.extend=!1;class Zl{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Wl(e,t,n,i,r,s){let o=0,a=1<<i,{dialect:l}=n.p.parser;e:for(;0!=(a&e[o]);){let n=e[o+1];for(let i=o+3;i<n;i+=2)if((e[i+1]&a)>0){let n=e[i];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||Rl(n,t.token.value,r,s))){t.acceptToken(n);break}}let i=t.next,h=0,c=e[o+2];if(!(t.next<0&&c>h&&65535==e[n+3*c-3]&&65535==e[n+3*c-3])){for(;h<c;){let r=h+c>>1,s=n+r+(r<<1),a=e[s],l=e[s+1]||65536;if(i<a)c=r;else{if(!(i>=l)){o=e[s+2],t.advance();continue e}h=r+1}}break}o=e[n+3*c-1]}}function Vl(e,t,n){for(let i,r=t;65535!=(i=e[r]);r++)if(i==n)return r-t;return-1}function Rl(e,t,n,i){let r=Vl(n,i,t);return r<0||Vl(n,i,e)<r}const _l="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Yl=null;var Ml,ql;function El(e,t,n){let i=e.cursor(Ea.IncludeAnonymous);for(i.moveTo(t);;)if(!(n<0?i.childBefore(t):i.childAfter(t)))for(;;){if((n<0?i.to<t:i.from>t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Ml||(Ml={}));class Ul{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?El(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?El(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],i=this.index[t];if(i==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=n.children[i],s=this.start[t]+n.positions[i];if(s>e)return this.nextStart=s,null;if(r instanceof Ua){if(s==e){if(s<this.safeFrom)return null;let e=s+r.length;if(e<=this.safeTo){let t=r.prop(Wa.lookAhead);if(!t||e+t<this.fragment.to)return r}}this.index[t]++,s+r.length>=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+r.length}}}class Dl{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Pl)}getActions(e){let t=0,n=null,{parser:i}=e.p,{tokenizers:r}=i,s=i.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let i=0;i<r.length;i++){if(0==(1<<i&s))continue;let l=r[i],h=this.tokens[i];if((!n||l.fallback)&&((l.contextual||h.start!=e.pos||h.mask!=s||h.context!=o)&&(this.updateCachedToken(h,l,e),h.mask=s,h.context=o),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let i=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(n=h,t>i))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),n||e.pos!=this.stream.end||(n=new Pl,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Pl,{pos:n,p:i}=e;return t.start=n,t.end=Math.min(n+1,i.stream.end),t.value=n==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,n){let i=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(i,e),n),e.value>-1){let{parser:t}=n.p;for(let i=0;i<t.specialized.length;i++)if(t.specialized[i]==e.value){let r=t.specializers[i](this.stream.read(e.start,e.end),n);if(r>=0&&n.p.parser.dialect.allows(r>>1)){0==(1&r)?e.value=r>>1:e.extended=r>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,n,i){for(let t=0;t<i;t+=3)if(this.actions[t]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=n,i}addActions(e,t,n,i){let{state:r}=e,{parser:s}=e.p,{data:o}=s;for(let e=0;e<2;e++)for(let a=s.stateSlot(r,e?2:1);;a+=3){if(65535==o[a]){if(1!=o[a+1]){0==i&&2==o[a+1]&&(i=this.putAction(Nl(o,a+2),t,n,i));break}a=Nl(o,a+2)}o[a]==t&&(i=this.putAction(Nl(o,a+1),t,n,i))}return i}}!function(e){e[e.Distance=5]="Distance",e[e.MaxRemainingPerStep=3]="MaxRemainingPerStep",e[e.MinBufferLengthPrune=500]="MinBufferLengthPrune",e[e.ForceReduceLimit=10]="ForceReduceLimit",e[e.CutDepth=15e3]="CutDepth",e[e.CutTo=9e3]="CutTo",e[e.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",e[e.MaxStackCount=12]="MaxStackCount"}(ql||(ql={}));class jl{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Tl(t,i),this.tokens=new Dl(e,this.stream),this.topTerm=e.top[1];let{from:r}=i[0];this.stacks=[xl.start(this,e.top[0],r)],this.fragments=n.length&&this.stream.end-r>4*e.bufferLength?new Ul(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,i=this.minStackPos,r=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<n.length;s++){let o=n[s];for(;;){if(this.tokens.mainToken=null,o.pos>i)r.push(o);else{if(this.advanceStack(o,r,n))continue;{e||(e=[],t=[]),e.push(o);let n=this.tokens.getMainToken(o);t.push(n.value,n.end)}}break}}if(!r.length){let t=e&&Fl(e);if(t)return this.stackToTree(t);if(this.parser.strict)throw _l&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&e){let n=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,r);if(n)return this.stackToTree(n.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(r.length>e)for(r.sort((e,t)=>t.score-e.score);r.length>e;)r.pop();r.some(e=>e.reducePos>i)&&this.recovering--}else if(r.length>1){e:for(let e=0;e<r.length-1;e++){let t=r[e];for(let n=e+1;n<r.length;n++){let i=r[n];if(t.sameState(i)||t.buffer.length>500&&i.buffer.length>500){if(!((t.score-i.score||t.buffer.length-i.buffer.length)>0)){r.splice(e--,1);continue e}r.splice(n--,1)}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let e=1;e<r.length;e++)r[e].pos<this.minStackPos&&(this.minStackPos=r[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let i=e.pos,{parser:r}=this,s=_l?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(i);o;){let i=this.parser.nodeSet.types[o.type.id]==o.type?r.getGoto(e.state,o.type.id):-1;if(i>-1&&o.length&&(!t||(o.prop(Wa.contextHash)||0)==n))return e.useNode(o,i),_l&&console.log(s+this.stackID(e)+` (via reuse of ${r.getName(o.type.id)})`),!0;if(!(o instanceof Ua)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof Ua&&0==o.positions[0]))break;o=a}}let o=r.stateSlot(e.state,4);if(o>0)return e.reduce(o),_l&&console.log(s+this.stackID(e)+` (via always-reduce ${r.getName(65535&o)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let o=0;o<a.length;){let l=a[o++],h=a[o++],c=a[o++],u=o==a.length||!n,f=u?e:e.split();if(f.apply(l,h,c),_l&&console.log(s+this.stackID(f)+` (via ${0==(65536&l)?"shift":"reduce of "+r.getName(65535&l)} for ${r.getName(h)} @ ${i}${f==e?"":", split"})`),u)return!0;f.pos>i?t.push(f):n.push(f)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return zl(e,t),!0}}runRecovery(e,t,n){let i=null,r=!1;for(let s=0;s<e.length;s++){let o=e[s],a=t[s<<1],l=t[1+(s<<1)],h=_l?this.stackID(o)+" -> ":"";if(o.deadEnd){if(r)continue;if(r=!0,o.restart(),_l&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,n))continue}let c=o.split(),u=h;for(let e=0;c.forceReduce()&&e<10;e++){if(_l&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,n))break;_l&&(u=this.stackID(c)+" -> ")}for(let e of o.recoverByInsert(a))_l&&console.log(h+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),_l&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),zl(o,n)):(!i||i.score<o.score)&&(i=o)}return i}stackToTree(e){return e.close(),Ua.build({buffer:kl.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Yl||(Yl=new WeakMap)).get(e);return t||Yl.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function zl(e,t){for(let n=0;n<t.length;n++){let i=t[n];if(i.pos==e.pos&&i.sameState(e))return void(t[n].score<e.score&&(t[n]=e))}t.push(e)}class Il{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||0==this.disabled[e]}}const Bl=e=>e;class Ll{constructor(e){this.start=e.start,this.shift=e.shift||Bl,this.reduce=e.reduce||Bl,this.reuse=e.reuse||Bl,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Gl extends ol{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;n<e.repeatNodeCount;n++)t.push("");let n=Object.keys(e.topRules).map(t=>e.topRules[t][1]),i=[];for(let e=0;e<t.length;e++)i.push([]);function r(e,t,n){i[e].push([t,t.deserialize(String(n))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=Wa[e]);for(let n=1;n<t.length;){let i=t[n++];if(i>=0)r(i,e,t[n++]);else{let s=t[n+-i];for(let o=-i;o>0;o--)r(t[n++],e,s);n++}}}this.nodeSet=new Ya(t.map((t,r)=>_a.define({name:r>=this.minRepeatTerm?void 0:t,id:r,props:i[r],top:n.indexOf(r)>-1,error:0==r,skipped:e.skippedNodes&&e.skippedNodes.indexOf(r)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Aa;let s=$l(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(Hl),this.states=$l(e.states,Uint32Array),this.data=$l(e.stateData),this.goto=$l(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>"number"==typeof e?new Al(s,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let i=new jl(this,e,t,n);for(let r of this.wrappers)i=r(i,e,t,n);return i}getGoto(e,t,n=!1){let i=this.goto;if(t>=i[0])return-1;for(let r=i[t+1];;){let t=i[r++],s=1&t,o=i[r++];if(s&&n)return o;for(let n=r+(t>>1);r<n;r++)if(i[r]==e)return o;if(s)return-1}}hasAction(e,t){let n=this.data;for(let i=0;i<2;i++)for(let r,s=this.stateSlot(e,i?2:1);;s+=3){if(65535==(r=n[s])){if(1!=n[s+1]){if(2==n[s+1])return Nl(n,s+2);break}r=n[s=Nl(n,s+2)]}if(r==t||0==r)return Nl(n,s+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){if(t==this.stateSlot(e,4))return!0;for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])return!1;n=Nl(this.data,n+2)}if(t==Nl(this.data,n+1))return!0}}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=Nl(this.data,n+2)}if(0==(1&this.data[n+2])){let e=this.data[n+1];t.some((t,n)=>1&n&&t==e)||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create(Gl.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError("Invalid top rule name "+e.top);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let n=e.tokenizers.find(e=>e.from==t);return n?n.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,i)=>{let r=e.specializers.find(e=>e.from==n.external);if(!r)return n;let s=Object.assign(Object.assign({},n),{external:r.to});return t.specializers[i]=Hl(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let i of e.split(" ")){let e=t.indexOf(i);e>=0&&(n[e]=!0)}let i=null;for(let e=0;e<t.length;e++)if(!n[e])for(let n,r=this.dialects[t[e]];65535!=(n=this.data[r++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new Il(e,n,i)}static deserialize(e){return new Gl(e)}}function Nl(e,t){return e[t]|e[t+1]<<16}function Fl(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function Hl(e){if(e.external){let t=e.extend?1:0;return(n,i)=>e.external(n,i)<<1|t}return e.get}let Jl=0;class Kl{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=Jl++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Kl([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new th;return t=>t.modified.indexOf(e)>-1?t:th.get(t.base||t,t.modified.concat(e).sort((e,t)=>e.id-t.id))}}let eh=0;class th{constructor(){this.instances=[],this.id=eh++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>n.base==e&&nh(t,n.modified));if(n)return n;let i=[],r=new Kl(i,e,t);for(let e of t)e.instances.push(r);let s=ih(t);for(let t of e.set)if(!t.modified.length)for(let e of s)i.push(th.get(t,e));return r}}function nh(e,t){return e.length==t.length&&e.every((e,n)=>e==t[n])}function ih(e){let t=[[]];for(let n=0;n<e.length;n++)for(let i=0,r=t.length;i<r;i++)t.push(t[i].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}function rh(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let e of n.split(" "))if(e){let n=[],r=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){r=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!i)throw new RangeError("Invalid path: "+e);if(n.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),t+=i[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){r=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);s=e.slice(t)}let o=n.length-1,a=n[o];if(!a)throw new RangeError("Invalid path: "+e);let l=new oh(i,r,o>0?n.slice(0,o):null);t[a]=l.sort(t[a])}}return sh.add(t)}const sh=new Wa;class oh{constructor(e,t,n,i){this.tags=e,this.mode=t,this.context=n,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}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}}function ah(e,t){let n=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)n[e.id]=t.class;else n[t.tag.id]=t.class;let{scope:i,all:r=null}=t||{};return{style:e=>{let t=r;for(let i of e)for(let e of i.set){let i=n[e.id];if(i){t=t?t+" "+i:i;break}}return t},scope:i}}function lh(e,t){let n=null;for(let i of e){let e=i.style(t);e&&(n=n?n+" "+e:e)}return n}function hh(e,t,n,i=0,r=e.length){let s=new ch(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}oh.empty=new oh([],2,null);class ch{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,i,r){let{type:s,from:o,to:a}=e;if(o>=n||a<=t)return;s.isTop&&(r=this.highlighters.filter(e=>!e.scope||e.scope(s)));let l=i,h=uh(e)||oh.empty,c=lh(r,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(i+=(i?" ":"")+c)),this.startSpan(e.from,l),h.opaque)return;let u=e.tree&&e.tree.prop(Wa.mounted);if(u&&u.overlay){let s=e.node.enter(u.overlay[0].from+o,1),h=this.highlighters.filter(e=>!e.scope||e.scope(u.tree.type)),c=e.firstChild();for(let f=0,d=o;;f++){let O=f<u.overlay.length?u.overlay[f]:null,p=O?O.from+o:a,g=Math.max(t,d),m=Math.min(n,p);if(g<m&&c)for(;e.from<m&&(this.highlightRange(e,g,m,i,r),this.startSpan(Math.min(m,e.to),l),!(e.to>=p)&&e.nextSibling()););if(!O||p>n)break;d=O.to+o,d>t&&(this.highlightRange(s.cursor(),Math.max(t,O.from+o),Math.min(n,d),i,h),this.startSpan(d,l))}c&&e.parent()}else if(e.firstChild()){do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,i,r),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}function uh(e){let t=e.type.prop(sh);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const fh=Kl.define,dh=fh(),Oh=fh(),ph=fh(Oh),gh=fh(Oh),mh=fh(),Sh=fh(mh),bh=fh(mh),yh=fh(),xh=fh(yh),vh=fh(),Qh=fh(),wh=fh(),kh=fh(wh),$h=fh(),Ph={comment:dh,lineComment:fh(dh),blockComment:fh(dh),docComment:fh(dh),name:Oh,variableName:fh(Oh),typeName:ph,tagName:fh(ph),propertyName:gh,attributeName:fh(gh),className:fh(Oh),labelName:fh(Oh),namespace:fh(Oh),macroName:fh(Oh),literal:mh,string:Sh,docString:fh(Sh),character:fh(Sh),attributeValue:fh(Sh),number:bh,integer:fh(bh),float:fh(bh),bool:fh(mh),regexp:fh(mh),escape:fh(mh),color:fh(mh),url:fh(mh),keyword:vh,self:fh(vh),null:fh(vh),atom:fh(vh),unit:fh(vh),modifier:fh(vh),operatorKeyword:fh(vh),controlKeyword:fh(vh),definitionKeyword:fh(vh),moduleKeyword:fh(vh),operator:Qh,derefOperator:fh(Qh),arithmeticOperator:fh(Qh),logicOperator:fh(Qh),bitwiseOperator:fh(Qh),compareOperator:fh(Qh),updateOperator:fh(Qh),definitionOperator:fh(Qh),typeOperator:fh(Qh),controlOperator:fh(Qh),punctuation:wh,separator:fh(wh),bracket:kh,angleBracket:fh(kh),squareBracket:fh(kh),paren:fh(kh),brace:fh(kh),content:yh,heading:xh,heading1:fh(xh),heading2:fh(xh),heading3:fh(xh),heading4:fh(xh),heading5:fh(xh),heading6:fh(xh),contentSeparator:fh(yh),list:fh(yh),quote:fh(yh),emphasis:fh(yh),strong:fh(yh),link:fh(yh),monospace:fh(yh),strikethrough:fh(yh),inserted:fh(),deleted:fh(),changed:fh(),invalid:fh(),meta:$h,documentMeta:fh($h),annotation:fh($h),processingInstruction:fh($h),definition:Kl.defineModifier(),constant:Kl.defineModifier(),function:Kl.defineModifier(),standard:Kl.defineModifier(),local:Kl.defineModifier(),special:Kl.defineModifier()},Ch=(ah([{tag:Ph.link,class:"tok-link"},{tag:Ph.heading,class:"tok-heading"},{tag:Ph.emphasis,class:"tok-emphasis"},{tag:Ph.strong,class:"tok-strong"},{tag:Ph.keyword,class:"tok-keyword"},{tag:Ph.atom,class:"tok-atom"},{tag:Ph.bool,class:"tok-bool"},{tag:Ph.url,class:"tok-url"},{tag:Ph.labelName,class:"tok-labelName"},{tag:Ph.inserted,class:"tok-inserted"},{tag:Ph.deleted,class:"tok-deleted"},{tag:Ph.literal,class:"tok-literal"},{tag:Ph.string,class:"tok-string"},{tag:Ph.number,class:"tok-number"},{tag:[Ph.regexp,Ph.escape,Ph.special(Ph.string)],class:"tok-string2"},{tag:Ph.variableName,class:"tok-variableName"},{tag:Ph.local(Ph.variableName),class:"tok-variableName tok-local"},{tag:Ph.definition(Ph.variableName),class:"tok-variableName tok-definition"},{tag:Ph.special(Ph.variableName),class:"tok-variableName2"},{tag:Ph.definition(Ph.propertyName),class:"tok-propertyName tok-definition"},{tag:Ph.typeName,class:"tok-typeName"},{tag:Ph.namespace,class:"tok-namespace"},{tag:Ph.className,class:"tok-className"},{tag:Ph.macroName,class:"tok-macroName"},{tag:Ph.propertyName,class:"tok-propertyName"},{tag:Ph.operator,class:"tok-operator"},{tag:Ph.comment,class:"tok-comment"},{tag:Ph.meta,class:"tok-meta"},{tag:Ph.invalid,class:"tok-invalid"},{tag:Ph.punctuation,class:"tok-punctuation"}]),1),Th=2,Ah=3,Xh=4,Zh=5,Wh=35,Vh=36,Rh=37,_h=11,Yh=13;function Mh(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function qh(e){return 9==e||10==e||13==e||32==e}let Eh=null,Uh=null,Dh=0;function jh(e,t){let n=e.pos+t;if(Uh==e&&Dh==n)return Eh;for(;qh(e.peek(t));)t++;let i="";for(;;){let n=e.peek(t);if(!Mh(n))break;i+=String.fromCharCode(n),t++}return Uh=e,Dh=n,Eh=i||null}function zh(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Ih=new Ll({start:null,shift:(e,t,n,i)=>t==Ch?new zh(jh(i,1)||"",e):e,reduce:(e,t)=>t==_h&&e?e.parent:e,reuse(e,t,n,i){let r=t.type.id;return r==Ch||r==Yh?new zh(jh(i,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Bh=new Zl((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let n=jh(e,0);if(!n)return e.acceptToken(Zh);if(t.context&&n==t.context.name)return e.acceptToken(Th);for(let i=t.context;i;i=i.parent)if(i.name==n)return e.acceptToken(Ah,-2);e.acceptToken(Xh)}else if(33!=e.next&&63!=e.next)return e.acceptToken(Ch)},{contextual:!0});function Lh(e,t){return new Zl(n=>{for(let i=0,r=0;;r++){if(n.next<0){r&&n.acceptToken(e);break}if(n.next==t.charCodeAt(i)){if(i++,i==t.length){r>=t.length&&n.acceptToken(e,1-t.length);break}}else i=n.next==t.charCodeAt(0)?1:0;n.advance()}})}const Gh=Lh(Wh,"--\x3e"),Nh=Lh(Vh,"?>"),Fh=Lh(Rh,"]]>"),Hh=rh({Text:Ph.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":Ph.angleBracket,TagName:Ph.tagName,"MismatchedCloseTag/Tagname":[Ph.tagName,Ph.invalid],AttributeName:Ph.attributeName,AttributeValue:Ph.attributeValue,Is:Ph.definitionOperator,"EntityReference CharacterReference":Ph.character,Comment:Ph.blockComment,ProcessingInst:Ph.processingInstruction,DoctypeDecl:Ph.documentMeta,Cdata:Ph.special(Ph.string)}),Jh=Gl.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t",stateData:")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O",goto:"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:47,context:Ih,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"]],propSources:[Hh],skippedNodes:[0],repeatNodeCount:8,tokenData:"IX~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O*l!O!P$n!P!Q,{!Q![$n![!].e!]!^$n!^!_1v!_!`Cz!`!aDm!a!bE`!b!c$n!c!}.e!}#P$n#P#QFx#Q#R$n#R#S.e#S#T$n#T#o.e#o%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U$n4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^VOp(sqs(sst)ht!](s!^;'S(s;'S;=`)b<%lO(s~(vVOp(sqs(st!](s!]!^)]!^;'S(s;'S;=`)b<%lO(s~)bOW~~)eP;=`<%l(s~)kTOp)zq!])z!^;'S)z;'S;=`*f<%lO)z~)}UOp)zq!])z!]!^*a!^;'S)z;'S;=`*f<%lO)z~*fOX~~*iP;=`<%l)zZ*sYVP{WOr$nrs%_sv$nw}$n}!O+c!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ+jYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a,Y!a;'S$n;'S;=`&e<%lO$nZ,cW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n]-SYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-r!a;'S$n;'S;=`&e<%lO$n]-{WdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_.p!O`S^QVP{WOr$nrs%_sv$nw}$n}!O.e!O!P.e!P!Q$n!Q![.e![!].e!]!^$n!^!_%y!_!c$n!c!}.e!}#R$n#R#S.e#S#T$n#T#o.e#o$}$n$}%O.e%O%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U.e4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Je$n$Je$Jg.e$Jg$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$n_1sP;=`<%l.eX1{W{WOq%yqr2esv%yw!a%y!a!bCd!b;'S%y;'S;=`&_<%lO%yX2j]{WOr%ysv%yw}%y}!O3c!O!f%y!f!g4e!g!}%y!}#O9t#O#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX3hV{WOr%ysv%yw}%y}!O3}!O;'S%y;'S;=`&_<%lO%yX4UT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX4jV{WOr%ysv%yw!q%y!q!r5P!r;'S%y;'S;=`&_<%lO%yX5UV{WOr%ysv%yw!e%y!e!f5k!f;'S%y;'S;=`&_<%lO%yX5pV{WOr%ysv%yw!v%y!v!w6V!w;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!{%y!{!|6q!|;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!r%y!r!s7]!s;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!g%y!g!h7w!h;'S%y;'S;=`&_<%lO%yX7|X{WOr7wrs8isv7wvw8iw!`7w!`!a9W!a;'S7w;'S;=`9n<%lO7wP8lTO!`8i!`!a8{!a;'S8i;'S;=`9Q<%lO8iP9QOiPP9TP;=`<%l8iX9_TiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX9qP;=`<%l7wX9yX{WOr%ysv%yw!e%y!e!f:f!f#V%y#V#W=t#W;'S%y;'S;=`&_<%lO%yX:kV{WOr%ysv%yw!f%y!f!g;Q!g;'S%y;'S;=`&_<%lO%yX;VV{WOr%ysv%yw!c%y!c!d;l!d;'S%y;'S;=`&_<%lO%yX;qV{WOr%ysv%yw!v%y!v!w<W!w;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!c%y!c!d<r!d;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!}%y!}#O=^#O;'S%y;'S;=`&_<%lO%yX=eT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX=yV{WOr%ysv%yw#W%y#W#X>`#X;'S%y;'S;=`&_<%lO%yX>eV{WOr%ysv%yw#T%y#T#U>z#U;'S%y;'S;=`&_<%lO%yX?PV{WOr%ysv%yw#h%y#h#i?f#i;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#T%y#T#U<r#U;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#c%y#c#d@l#d;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#V%y#V#WAW#W;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#h%y#h#iAr#i;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#m%y#m#nB^#n;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#d%y#d#eBx#e;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#X%y#X#Y7w#Y;'S%y;'S;=`&_<%lO%yXCkT!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZDTWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_DvW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZEgYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aFV!a;'S$n;'S;=`&e<%lO$nZF`W!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGPYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QGo#Q;'S$n;'S;=`&e<%lO$nZGvYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aHf!a;'S$n;'S;=`&e<%lO$nZHoWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n",tokenizers:[Bh,Gh,Nh,Fh,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});var Kh;const ec=new Wa;function tc(e){return _.define({combine:e?t=>t.concat(e):void 0})}const nc=new Wa;class ic{constructor(e,t,n=[],i=""){this.data=e,this.name=i,ke.prototype.hasOwnProperty("tree")||Object.defineProperty(ke.prototype,"tree",{get(){return oc(this)}}),this.parser=t,this.extension=[pc.of(this),ke.languageData.of((e,t,n)=>{let i=rc(e,t,n),r=i.type.prop(ec);if(!r)return[];let s=e.facet(r),o=i.type.prop(nc);if(o){let r=i.resolve(t-i.from,n);for(let t of o)if(t.test(r,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(s)}}return s})].concat(n)}isActiveAt(e,t,n=-1){return rc(e,t,n).type.prop(ec)==this.data}findRegions(e){let t=e.facet(pc);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],i=(e,t)=>{if(e.prop(ec)==this.data)return void n.push({from:t,to:t+e.length});let r=e.prop(Wa.mounted);if(r){if(r.tree.prop(ec)==this.data){if(r.overlay)for(let e of r.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(r.overlay){let e=n.length;if(i(r.tree,r.overlay[0].from+t),n.length>e)return}}for(let n=0;n<e.children.length;n++){let r=e.children[n];r instanceof Ua&&i(r,e.positions[n]+t)}};return i(oc(e),0),n}get allowsNesting(){return!0}}function rc(e,t,n){let i=e.facet(pc),r=oc(e).topNode;if(!i||i.allowsNesting)for(let e=r;e;e=e.enter(t,n,Ea.ExcludeBuffers))e.type.isTop&&(r=e);return r}ic.setState=ce.define();class sc extends ic{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=tc(e.languageData);return new sc(t,e.parser.configure({props:[ec.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new sc(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function oc(e){let t=e.field(ic.state,!1);return t?t.tree:Ua.empty}class ac{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,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let lc=null;class hc{constructor(e,t,n=[],i,r,s,o,a){this.parser=e,this.state=t,this.fragments=n,this.tree=i,this.treeLen=r,this.viewport=s,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new hc(e,t,[],Ua.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ac(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ua.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(sl.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(n=this.parse.stoppedAt)&&void 0!==n?n:this.state.doc.length,this.tree=i,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(sl.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lc;lc=this;try{return e()}finally{lc=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=cc(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:i,treeLen:r,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,i,r)=>t.push({fromA:e,toA:n,fromB:i,toB:r})),n=sl.applyChanges(n,t),i=Ua.empty,r=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){o=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);n<i&&o.push({from:n,to:i})}}}return new hc(this.parser,t,n,i,r,s,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:n,to:i}=this.skipped[t];n<e.to&&i>e.from&&(this.fragments=cc(this.fragments,n,i),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends ol{createParse(t,n,i){let r=i[0].from,s=i[i.length-1].to;return{parsedPos:r,advance(){let t=lc;if(t){for(let e of i)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=s,new Ua(_a.none,[],[],s-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return lc}}function cc(e,t,n){return sl.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class uc{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new uc(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=hc.create(e.facet(pc).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new uc(n)}}ic.state=j.define({create:uc.init,update(e,t){for(let e of t.effects)if(e.is(ic.setState))return e.value;return t.startState.facet(pc)!=t.state.facet(pc)?uc.init(t.state):e.apply(t)}});let fc=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(fc=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const dc="undefined"!=typeof navigator&&(null===(Kh=navigator.scheduling)||void 0===Kh?void 0:Kh.isInputPending)?()=>navigator.scheduling.isInputPending():null,Oc=jn.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 t=this.view.state.field(ic.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(ic.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=fc(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:i}}=this.view,r=n.field(ic.state);if(r.tree==r.context.tree&&r.context.isDone(i+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!dc?Math.max(25,e.timeRemaining()-5):1e9),o=r.context.treeLen<i&&n.doc.length>i+1e3,a=r.context.work(()=>dc&&dc()||Date.now()>s,i+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:ic.setState.of(new uc(r.context))})),this.chunkBudget>0&&(!a||o)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>qn(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),pc=_.define({combine:e=>e.length?e[0]:null,enables:e=>[ic.state,Oc,ys.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class gc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class mc{constructor(e,t,n,i,r,s){this.name=e,this.alias=t,this.extensions=n,this.filename=i,this.loadFunc=r,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new mc(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let n of e)if(n.filename&&n.filename.test(t))return n;let n=/\.([^.]+)$/.exec(t);if(n)for(let t of e)if(t.extensions.indexOf(n[1])>-1)return t;return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let n of e)if(n.alias.some(e=>e==t))return n;if(n)for(let n of e)for(let e of n.alias){let i=t.indexOf(e);if(i>-1&&(e.length>2||!/\w/.test(t[i-1])&&!/\w/.test(t[i+e.length])))return n}return null}}const Sc=_.define(),bc=_.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function yc(e){let t=e.facet(bc);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function xc(e,t){let n="",i=e.tabSize,r=e.facet(bc)[0];if("\t"==r){for(;t>=i;)n+="\t",t-=i;r=" "}for(let e=0;e<t;e++)n+=r;return n}function vc(e,t){e instanceof ke&&(e=new Qc(e));for(let n of e.state.facet(Sc)){let i=n(e,t);if(void 0!==i)return i}let n=oc(e.state);return n?kc(e,n,t):null}class Qc{constructor(e,t={}){this.state=e,this.options=t,this.unit=yc(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:r}=this.options;return null!=i&&i>=n.from&&i<=n.to?r&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:n.text.slice(i-n.from),from:i}:{text:n.text.slice(0,i-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:i}=this.lineAt(e,t);return n.slice(e-i,Math.min(n.length,e+100-i))}column(e,t=1){let{text:n,from:i}=this.lineAt(e,t),r=this.countColumn(n,e-i),s=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return s>-1&&(r+=s-this.countColumn(n,n.search(/\S|$/))),r}countColumn(e,t=e.length){return ze(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:i}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let e=r(i);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const wc=new Wa;function kc(e,t,n){return Cc(t.resolveInner(n).enterUnfinishedNodesBefore(n),n,e)}function $c(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function Pc(e){let t=e.type.prop(wc);if(t)return t;let n,i=e.firstChild;if(i&&(n=i.type.prop(Wa.closedBy))){let t=e.lastChild,i=t&&n.indexOf(t.name)>-1;return e=>Vc(e,!0,1,void 0,i&&!$c(e)?t.from:void 0)}return null==e.parent?Tc:null}function Cc(e,t,n){for(;e;e=e.parent){let i=Pc(e);if(i)return i(Ac.create(n,t,e))}return null}function Tc(){return 0}class Ac extends Qc{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}static create(e,t,n){return new Ac(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let t=this.node.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(Xc(t,this.node))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?Cc(e,this.pos,this.base):0}}function Xc(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function Zc(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),o=null==r||r<=s.from?s.to:Math.min(s.to,r);for(let e=n.to;;){let r=t.childAfter(e);if(!r||r==i)return null;if(!r.type.isSkipped)return r.from<o?n:null;e=r.to}}function Wc({closing:e,align:t=!0,units:n=1}){return i=>Vc(i,t,n,e)}function Vc(e,t,n,i,r){let s=e.textAfter,o=s.match(/^\s*/)[0].length,a=i&&s.slice(o,o+i.length)==i||r==e.pos+o,l=t?Zc(e):null;return l?a?e.column(l.from):e.column(l.to):e.baseIndent+(a?0:e.unit*n)}const Rc=e=>e.baseIndent;function _c({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const Yc=200;function Mc(){return ke.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+Yc)return e;let s=n.sliceString(r.from,i);if(!t.some(e=>e.test(s)))return e;let{state:o}=e,a=-1,l=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==a)continue;a=t.from;let n=vc(o,t.from);if(null==n)continue;let i=/^\s*/.exec(t.text)[0],r=xc(o,n);i!=r&&l.push({from:t.from,to:t.from+i.length,insert:r})}return l.length?[e,{changes:l,sequential:!0}]:e})}const qc=_.define(),Ec=new Wa;function Uc(e){let t=e.firstChild,n=e.lastChild;return t&&t.to<n.from?{from:t.to,to:n.type.isError?e.to:n.from}:null}function Dc(e,t,n){let i=oc(e);if(i.length<n)return null;let r=null;for(let s=i.resolveInner(n,1);s;s=s.parent){if(s.to<=n||s.from>n)continue;if(r&&s.from<t)break;let o=s.type.prop(Ec);if(o&&(s.to<i.length-50||i.length==e.doc.length||!jc(s))){let i=o(s,e);i&&i.from<=n&&i.from>=t&&i.to>n&&(r=i)}}return r}function jc(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function zc(e,t,n){for(let i of e.facet(qc)){let r=i(e,t,n);if(r)return r}return Dc(e,t,n)}function Ic(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const Bc=ce.define({map:Ic}),Lc=ce.define({map:Ic});function Gc(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}const Nc=j.define({create:()=>gn.none,update(e,t){e=e.map(t.changes);for(let n of t.effects)n.is(Bc)&&!Hc(e,n.value.from,n.value.to)?e=e.update({add:[ru.range(n.value.from,n.value.to)]}):n.is(Lc)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));if(t.selection){let n=!1,{head:i}=t.selection.main;e.between(i,i,(e,t)=>{e<i&&t>i&&(n=!0)}),n&&(e=e.update({filterFrom:i,filterTo:i,filter:(e,t)=>t<=i||e>=i}))}return e},provide:e=>ys.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n<e.length;){let i=e[n++],r=e[n++];if("number"!=typeof i||"number"!=typeof r)throw new RangeError("Invalid JSON for fold state");t.push(ru.range(i,r))}return gn.set(t,!0)}});function Fc(e,t,n){var i;let r=null;return null===(i=e.field(Nc,!1))||void 0===i||i.between(t,n,(e,t)=>{(!r||r.from>e)&&(r={from:e,to:t})}),r}function Hc(e,t,n){let i=!1;return e.between(t,t,(e,r)=>{e==t&&r==n&&(i=!0)}),i}function Jc(e,t){return e.field(Nc,!1)?t:t.concat(ce.appendConfig.of(iu()))}function Kc(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return ys.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const eu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Gc(e)){let n=zc(e.state,t.from,t.to);if(n)return e.dispatch({effects:Jc(e.state,[Bc.of(n),Kc(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Nc,!1))return!1;let t=[];for(let n of Gc(e)){let i=Fc(e.state,n.from,n.to);i&&t.push(Lc.of(i),Kc(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let i=0;i<t.doc.length;){let r=e.lineBlockAt(i),s=zc(t,r.from,r.to);s&&n.push(Bc.of(s)),i=(s?e.lineBlockAt(s.to):r).to+1}return n.length&&e.dispatch({effects:Jc(e.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(Nc,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(Lc.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],tu={placeholderDOM:null,placeholderText:"…"},nu=_.define({combine:e=>$e(e,tu)});function iu(e){let t=[Nc,lu];return e&&t.push(nu.of(e)),t}const ru=gn.replace({widget:new class extends On{toDOM(e){let{state:t}=e,n=t.facet(nu),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),i=Fc(e.state,n.from,n.to);i&&e.dispatch({effects:Lc.of(i)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,i);let r=document.createElement("span");return r.textContent=n.placeholderText,r.setAttribute("aria-label",t.phrase("folded code")),r.title=t.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=i,r}}}),su={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class ou extends oa{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function au(e={}){let t=Object.assign(Object.assign({},su),e),n=new ou(t,!0),i=new ou(t,!1),r=jn.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(pc)!=e.state.facet(pc)||e.startState.field(Nc,!1)!=e.state.field(Nc,!1)||oc(e.startState)!=oc(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new We;for(let r of e.viewportLineBlocks){let s=Fc(e.state,r.from,r.to)?i:zc(e.state,r.from,r.to)?n:null;s&&t.add(r.from,r.from,s)}return t.finish()}}),{domEventHandlers:s}=t;return[r,ca({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(r))||void 0===t?void 0:t.markers)||Xe.empty},initialSpacer:()=>new ou(t,!1),domEventHandlers:Object.assign(Object.assign({},s),{click:(e,t,n)=>{if(s.click&&s.click(e,t,n))return!0;let i=Fc(e.state,t.from,t.to);if(i)return e.dispatch({effects:Lc.of(i)}),!0;let r=zc(e.state,t.from,t.to);return!!r&&(e.dispatch({effects:Bc.of(r)}),!0)}})}),iu()]}const lu=ys.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class hu{constructor(e,t){let n;function i(e){let t=Fe.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const r="string"==typeof t.all?t.all:t.all?i(t.all):void 0,s=t.scope;this.scope=s instanceof ic?e=>e.prop(ec)==s.data:s?e=>e==s:void 0,this.style=ah(e.map(e=>({tag:e.tag,class:e.class||i(Object.assign({},e,{tag:null}))})),{all:r}).style,this.module=n?new Fe(n):null,this.themeType=t.themeType}static define(e,t){return new hu(e,t||{})}}const cu=_.define(),uu=_.define({combine:e=>e.length?[e[0]]:null});function fu(e){let t=e.facet(cu);return t.length?t:e.facet(uu)}function du(e,t){let n,i=[pu];return e instanceof hu&&(e.module&&i.push(ys.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?i.push(uu.of(e)):n?i.push(cu.computeN([ys.darkTheme],t=>t.facet(ys.darkTheme)==("dark"==n)?[e]:[])):i.push(cu.of(e)),i}class Ou{constructor(e){this.markCache=Object.create(null),this.tree=oc(e.state),this.decorations=this.buildDeco(e,fu(e.state))}update(e){let t=oc(e.state),n=fu(e.state),i=n!=fu(e.startState);t.length<e.view.viewport.to&&!i&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n))}buildDeco(e,t){if(!t||!this.tree.length)return gn.none;let n=new We;for(let{from:i,to:r}of e.visibleRanges)hh(this.tree,t,(e,t,i)=>{n.add(e,t,this.markCache[i]||(this.markCache[i]=gn.mark({class:i})))},i,r);return n.finish()}}const pu=B.high(jn.fromClass(Ou,{decorations:e=>e.decorations})),gu=hu.define([{tag:Ph.meta,color:"#404740"},{tag:Ph.link,textDecoration:"underline"},{tag:Ph.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Ph.emphasis,fontStyle:"italic"},{tag:Ph.strong,fontWeight:"bold"},{tag:Ph.strikethrough,textDecoration:"line-through"},{tag:Ph.keyword,color:"#708"},{tag:[Ph.atom,Ph.bool,Ph.url,Ph.contentSeparator,Ph.labelName],color:"#219"},{tag:[Ph.literal,Ph.inserted],color:"#164"},{tag:[Ph.string,Ph.deleted],color:"#a11"},{tag:[Ph.regexp,Ph.escape,Ph.special(Ph.string)],color:"#e40"},{tag:Ph.definition(Ph.variableName),color:"#00f"},{tag:Ph.local(Ph.variableName),color:"#30a"},{tag:[Ph.typeName,Ph.namespace],color:"#085"},{tag:Ph.className,color:"#167"},{tag:[Ph.special(Ph.variableName),Ph.macroName],color:"#256"},{tag:Ph.definition(Ph.propertyName),color:"#00c"},{tag:Ph.comment,color:"#940"},{tag:Ph.invalid,color:"#f00"}]),mu=ys.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Su=1e4,bu="()[]{}",yu=_.define({combine:e=>$e(e,{afterCursor:!0,brackets:bu,maxScanDistance:Su,renderMatch:Qu})}),xu=gn.mark({class:"cm-matchingBracket"}),vu=gn.mark({class:"cm-nonmatchingBracket"});function Qu(e){let t=[],n=e.matched?xu:vu;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const wu=[j.define({create:()=>gn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],i=t.state.facet(yu);for(let e of t.state.selection.ranges){if(!e.empty)continue;let r=Tu(t.state,e.head,-1,i)||e.head>0&&Tu(t.state,e.head-1,1,i)||i.afterCursor&&(Tu(t.state,e.head,1,i)||e.head<t.state.doc.length&&Tu(t.state,e.head+1,-1,i));r&&(n=n.concat(i.renderMatch(r,t.state)))}return gn.set(n,!0)},provide:e=>ys.decorations.from(e)}),mu];function ku(e={}){return[yu.of(e),wu]}const $u=new Wa;function Pu(e,t,n){let i=e.prop(t<0?Wa.openedBy:Wa.closedBy);if(i)return i;if(1==e.name.length){let i=n.indexOf(e.name);if(i>-1&&i%2==(t<0?1:0))return[n[i+t]]}return null}function Cu(e){let t=e.type.prop($u);return t?t(e.node):e}function Tu(e,t,n,i={}){let r=i.maxScanDistance||Su,s=i.brackets||bu,o=oc(e),a=o.resolveInner(t,n);for(let i=a;i;i=i.parent){let r=Pu(i.type,n,s);if(r&&i.from<i.to){let o=Cu(i);if(o&&(n>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return Au(e,t,n,i,o,r,s)}}return Xu(e,t,n,o,a.type,r,s)}function Au(e,t,n,i,r,s,o){let a=i.parent,l={from:r.from,to:r.to},h=0,c=null==a?void 0:a.cursor();if(c&&(n<0?c.childBefore(i.from):c.childAfter(i.to)))do{if(n<0?c.to<=i.from:c.from>=i.to){if(0==h&&s.indexOf(c.type.name)>-1&&c.from<c.to){let e=Cu(c);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(Pu(c.type,n,o))h++;else if(Pu(c.type,-n,o)){if(0==h){let e=Cu(c);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}h--}}}while(n<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function Xu(e,t,n,i,r,s,o){let a=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=o.indexOf(a);if(l<0||l%2==0!=n>0)return null;let h={from:n<0?t-1:t,to:n>0?t+1:t},c=e.doc.iterRange(t,n>0?e.doc.length:0),u=0;for(let e=0;!c.next().done&&e<=s;){let s=c.value;n<0&&(e+=s.length);let a=t+e*n;for(let e=n>0?0:s.length-1,t=n>0?s.length:-1;e!=t;e+=n){let t=o.indexOf(s[e]);if(!(t<0||i.resolveInner(a+e,1).type!=r))if(t%2==0==n>0)u++;else{if(1==u)return{start:h,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};u--}}n>0&&(e+=s.length)}return c.done?{start:h,matched:!1}:null}function Zu(e,t,n,i=0,r=0){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);let s=r;for(let r=i;r<t;r++)9==e.charCodeAt(r)?s+=n-s%n:s++;return s}class Wu{constructor(e,t,n,i){this.string=e,this.tabSize=t,this.indentUnit=n,this.overrideIndent=i,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return 0==this.pos}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 t,n=this.string.charAt(this.pos);if(t="string"==typeof e?n==e:n&&(e instanceof RegExp?e.test(n):e(n)),t)return++this.pos,n}eatWhile(e){let t=this.pos;for(;this.eat(e););return this.pos>t}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 t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Zu(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return null!==(e=this.overrideIndent)&&void 0!==e?e:Zu(this.string,null,this.tabSize)}match(e,t,n){if("string"==typeof e){let i=e=>n?e.toLowerCase():e;return i(this.string.substr(this.pos,e.length))==i(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}}current(){return this.string.slice(this.start,this.pos)}}function Vu(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||Ru,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||ju}}function Ru(e){if("object"!=typeof e)return e;let t={};for(let n in e){let i=e[n];t[n]=i instanceof Array?i.slice():i}return t}const _u=new WeakMap;class Yu extends ic{constructor(e){let t,n=tc(e.languageData),i=Vu(e);super(n,new class extends ol{createParse(e,n,i){return new Uu(t,e,n,i)}},[Sc.of((e,t)=>this.getIndent(e,t))],e.name),this.topNode=Ju(n),t=this,this.streamParser=i,this.stateAfter=new Wa({perNode:!0}),this.tokenTable=e.tokenTable?new Gu(i.tokenTable):Nu}static define(e){return new Yu(e)}getIndent(e,t){let n=oc(e.state),i=n.resolve(t);for(;i&&i.type!=this.topNode;)i=i.parent;if(!i)return null;let r=void 0,{overrideIndentation:s}=e.options;s&&(r=_u.get(e.state),null!=r&&r<t-1e4&&(r=void 0));let o,a,l=Mu(this,n,0,i.from,null!=r?r:t);if(l?(a=l.state,o=l.pos+1):(a=this.streamParser.startState(e.unit),o=0),t-o>1e4)return null;for(;o<t;){let n=e.state.doc.lineAt(o),i=Math.min(t,n.to);if(n.length){let t=s?s(n.from):-1,r=new Wu(n.text,e.state.tabSize,e.unit,t<0?void 0:t);for(;r.pos<i-n.from;)Du(this.streamParser.token,r,a)}else this.streamParser.blankLine(a,e.unit);if(i==t)break;o=n.to+1}let h=e.lineAt(t);return s&&null==r&&_u.set(e.state,h.from),this.streamParser.indent(a,/^\s*(.*)/.exec(h.text)[1],e)}get allowsNesting(){return!1}}function Mu(e,t,n,i,r){let s=n>=i&&n+t.length<=r&&t.prop(e.stateAfter);if(s)return{state:e.streamParser.copyState(s),pos:n+t.length};for(let s=t.children.length-1;s>=0;s--){let o=t.children[s],a=n+t.positions[s],l=o instanceof Ua&&a<r&&Mu(e,o,a,i,r);if(l)return l}return null}function qu(e,t,n,i,r){if(r&&n<=0&&i>=t.length)return t;r||t.type!=e.topNode||(r=!0);for(let s=t.children.length-1;s>=0;s--){let o,a=t.positions[s],l=t.children[s];if(a<i&&l instanceof Ua){if(!(o=qu(e,l,n-a,i-a,r)))break;return r?new Ua(t.type,t.children.slice(0,s).concat(o),t.positions.slice(0,s+1),a+o.length):o}}return null}function Eu(e,t,n,i){for(let i of t){let t,r=i.from+(i.openStart?25:0),s=i.to-(i.openEnd?25:0),o=r<=n&&s>n&&Mu(e,i.tree,0-i.offset,n,s);if(o&&(t=qu(e,i.tree,n+i.offset,o.pos+i.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(i?yc(i):4),tree:Ua.empty}}class Uu{constructor(e,t,n,i){this.lang=e,this.input=t,this.fragments=n,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let r=hc.get(),s=i[0].from,{state:o,tree:a}=Eu(e,n,s,null==r?void 0:r.state);this.state=o,this.parsedPos=this.chunkStart=s+a.length;for(let e=0;e<a.children.length;e++)this.chunks.push(a.children[e]),this.chunkPos.push(a.positions[e]);r&&this.parsedPos<r.viewport.from-1e5&&(this.state=this.lang.streamParser.startState(yc(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=hc.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let e=this.rangeIndex;;){let i=this.ranges[e].to;if(i>=n)break;if(t=t.slice(0,i-(n-t.length)),e++,e==this.ranges.length)break;let r=this.ranges[e].from,s=this.lineAfter(r);t+=s,n=r+s.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let i=this.ranges[this.rangeIndex].to,r=e+t;if(n>0?i>r:i>=r)break;t+=this.ranges[++this.rangeIndex].from-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,i,r){if(this.ranges.length>1){t+=r=this.skipGapsTo(t,r,1);let e=this.chunk.length;n+=r=this.skipGapsTo(n,r,-1),i+=this.chunk.length-e}return this.chunk.push(e,t,n,i),r}parseLine(e){let{line:t,end:n}=this.nextLine(),i=0,{streamParser:r}=this.lang,s=new Wu(t,e?e.state.tabSize:4,e?yc(e.state):2);if(s.eol())r.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let e=Du(r.token,s,this.state);if(e&&(i=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+s.start,this.parsedPos+s.pos,4,i)),s.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ua.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Iu,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new Ua(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 Ua(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function Du(e,t,n){t.start=t.pos;for(let i=0;i<10;i++){let i=e(t,n);if(t.pos>t.start)return i}throw new Error("Stream parser failed to advance stream.")}const ju=Object.create(null),zu=[_a.none],Iu=new Ya(zu),Bu=[],Lu=Object.create(null);for(let[e,t]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"]])Lu[e]=Hu(ju,t);class Gu{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Lu)}resolve(e){return e?this.table[e]||(this.table[e]=Hu(this.extra,e)):0}}const Nu=new Gu(ju);function Fu(e,t){Bu.indexOf(e)>-1||(Bu.push(e),console.warn(t))}function Hu(e,t){let n=null;for(let i of t.split(".")){let t=e[i]||Ph[i];t?"function"==typeof t?n?n=t(n):Fu(i,`Modifier ${i} used at start of tag`):n?Fu(i,`Tag ${i} used as modifier`):n=t:Fu(i,"Unknown highlighting tag "+i)}if(!n)return 0;let i=t.replace(/ /g,"_"),r=_a.define({id:zu.length,name:i,props:[rh({[i]:n})]});return zu.push(r),r.id}function Ju(e){let t=_a.define({id:zu.length,name:"Document",props:[ec.add(()=>e)]});return zu.push(t),t}function Ku(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function ef(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?Ku(e,n):""}function tf(e,t,n){let i=t&&t.getChildren("Attribute").find(e=>e.from<=n&&e.to>=n),r=i&&i.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function nf(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}function rf(e,t){var n;let i=oc(e).resolveInner(t,-1),r=null;for(let e=i;!r&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(r=e);if(r&&(r.to>t||r.lastChild.type.isError)){let e=r.parent;if("TagName"==i.name)return"CloseTag"==r.name||"MismatchedCloseTag"==r.name?{type:"closeTag",from:i.from,context:e}:{type:"openTag",from:i.from,context:nf(e)};if("AttributeName"==i.name)return{type:"attrName",from:i.from,context:r};if("AttributeValue"==i.name)return{type:"attrValue",from:i.from,context:r};let n=i==r||"Attribute"==i.name?i.childBefore(t):i;return"StartTag"==(null==n?void 0:n.name)?{type:"openTag",from:t,context:nf(e)}:"StartCloseTag"==(null==n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==n?void 0:n.name)?{type:"attrValue",from:t,context:r}:n?{type:"attrName",from:t,context:r}:null}if("StartCloseTag"==i.name)return{type:"closeTag",from:t,context:i.parent};for(;i.parent&&i.to==t&&!(null===(n=i.lastChild)||void 0===n?void 0:n.type.isError);)i=i.parent;return"Element"==i.name||"Text"==i.name||"Document"==i.name?{type:"tag",from:t,context:"Element"==i.name?i:nf(i)}:null}class sf{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const of=/^[:\-\.\w\u00b7-\uffff]*$/;function af(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function lf(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function hf(e,t){let n=[],i=[],r=Object.create(null);for(let e of t){let t=af(e);n.push(t),e.global&&i.push(t),e.values&&(r[e.name]=e.values.map(lf))}let s=[],o=[],a=Object.create(null);for(let t of e){let e=i,l=r;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?n.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==r&&(l=Object.create(l)),l[e.name]=e.values.map(lf)),af(e)))));let h=new sf(t,e,l);a[h.name]=h,s.push(h),t.top&&o.push(h)}o.length||(o=s);for(let t=0;t<s.length;t++){let n=e[t],i=s[t];if(n.children)for(let e of n.children)a[e]&&i.children.push(a[e]);else i.children=s}return e=>{var t;let{doc:n}=e.state,l=rf(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:h,from:c,context:u}=l;if("openTag"==h){let e=o,t=ef(n,u);if(t){let n=a[t];e=(null==n?void 0:n.children)||s}return{from:c,options:e.map(e=>e.completion),validFor:of}}if("closeTag"==h){let i=ef(n,u);return i?{from:c,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=a[i])||void 0===t?void 0:t.closeNameCompletion)||{label:i+">",type:"type"}],validFor:of}:null}if("attrName"==h){let e=a[Ku(n,u)];return{from:c,options:(null==e?void 0:e.attrs)||i,validFor:of}}if("attrValue"==h){let t=tf(n,u,c);if(!t)return null;let i=a[Ku(n,u)],s=((null==i?void 0:i.attrValues)||r)[t];return s&&s.length?{from:c,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:s,validFor:/^"[^"]*"?$/}:null}if("tag"==h){let t=ef(n,u),i=a[t],r=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&Ku(n,l)==t||r.push(i?i.closeCompletion:{label:"</"+t+">",type:"type",boost:2});let h=r.concat(((null==i?void 0:i.children)||(u?s:o)).map(e=>e.openCompletion));if(u&&(null==i?void 0:i.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(h=h.concat(i.text))}return{from:c,options:h,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const cf=sc.define({name:"xml",parser:Jh.configure({props:[wc.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),Ec.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),$u.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function uf(e={}){return new gc(cf,cf.data.of({autocomplete:hf(e.elements||[],e.attributes||[])}))}const ff=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.head),i=mf(e.state,n.from);return i.line?Of(e):!!i.block&&gf(e)};function df(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return!!r&&(i(n.update(r)),!0)}}const Of=df(vf,0),pf=df(xf,0),gf=df((e,t)=>xf(e,t,yf(t)),0);function mf(e,t){let n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}const Sf=50;function bf(e,{open:t,close:n},i,r){let s,o,a=e.sliceDoc(i-Sf,i),l=e.sliceDoc(r,r+Sf),h=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(l)[0].length,u=a.length-h;if(a.slice(u-t.length,u)==t&&l.slice(c,c+n.length)==n)return{open:{pos:i-h,margin:h&&1},close:{pos:r+c,margin:c&&1}};r-i<=2*Sf?s=o=e.sliceDoc(i,r):(s=e.sliceDoc(i,i+Sf),o=e.sliceDoc(r-Sf,r));let f=/^\s*/.exec(s)[0].length,d=/\s*$/.exec(o)[0].length,O=o.length-d-n.length;return s.slice(f,f+t.length)==t&&o.slice(O,O+n.length)==n?{open:{pos:i+f+t.length,margin:/\s/.test(s.charAt(f+t.length))?1:0},close:{pos:r-d-n.length,margin:/\s/.test(o.charAt(O-1))?1:0}}:null}function yf(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to),s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from,to:r.to})}return t}function xf(e,t,n=t.selection.ranges){let i=n.map(e=>mf(t,e.from).block);if(!i.every(e=>e))return null;let r=n.map((e,n)=>bf(t,i[n],e.from,e.to));if(2!=e&&!r.every(e=>e))return{changes:t.changes(n.map((e,t)=>r[t]?[]:[{from:e.from,insert:i[t].open+" "},{from:e.to,insert:" "+i[t].close}]))};if(1!=e&&r.some(e=>e)){let e=[];for(let t,n=0;n<r.length;n++)if(t=r[n]){let r=i[n],{open:s,close:o}=t;e.push({from:s.pos-r.open.length,to:s.pos+s.margin},{from:o.pos-o.margin,to:o.pos+r.close.length})}return{changes:e}}return null}function vf(e,t,n=t.selection.ranges){let i=[],r=-1;for(let{from:e,to:s}of n){let n=i.length,o=1e9;for(let n=e;n<=s;){let a=t.doc.lineAt(n);if(a.from>r&&(e==s||s>a.from)){r=a.from;let e=mf(t,a.from).line;if(!e)continue;let n=/^\s*/.exec(a.text)[0].length,s=n==a.length,l=a.text.slice(n,n+e.length)==e?n:-1;n<a.text.length&&n<o&&(o=n),i.push({line:a,comment:l,token:e,indent:n,empty:s,single:!1})}n=a.to+1}if(o<1e9)for(let e=n;e<i.length;e++)i[e].indent<i[e].line.text.length&&(i[e].indent=o);i.length==n+1&&(i[n].single=!0)}if(2!=e&&i.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:r,empty:s,single:o}of i)!o&&s||e.push({from:t.from+r,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&i.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:r}of i)if(n>=0){let i=t.from+n,s=i+r.length;" "==t.text[s-t.from]&&s++,e.push({from:i,to:s})}return{changes:e}}return null}const Qf=ae.define(),wf=ae.define(),kf=_.define(),$f=_.define({combine:e=>$e(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,i)=>e(n,i)||t(n,i)})});function Pf(e){let t=0;return e.iterChangedRanges((e,n)=>t=n),t}const Cf=j.define({create:()=>Lf.empty,update(e,t){let n=t.state.facet($f),i=t.annotation(Qf);if(i){let r=t.docChanged?W.single(Pf(t.changes)):void 0,s=Rf.fromTransaction(t,r),o=i.side,a=0==o?e.undone:e.done;return a=s?_f(a,a.length,n.minDepth,s):Df(a,t.startState.selection),new Lf(0==o?i.rest:a,0==o?a:i.rest)}let r=t.annotation(wf);if("full"!=r&&"before"!=r||(e=e.isolate()),!1===t.annotation(ue.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let s=Rf.fromTransaction(t),o=t.annotation(ue.time),a=t.annotation(ue.userEvent);return s?e=e.addChanges(s,o,a,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,a,n.newGroupDelay)),"full"!=r&&"after"!=r||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new Lf(e.done.map(Rf.fromJSON),e.undone.map(Rf.fromJSON))});function Tf(e={}){return[Cf,$f.of(e),ys.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?Xf:"historyRedo"==e.inputType?Zf:null;return!!n&&(e.preventDefault(),n(t))}})]}function Af(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(Cf,!1);if(!r)return!1;let s=r.pop(e,n,t);return!!s&&(i(s),!0)}}const Xf=Af(0,!1),Zf=Af(1,!1),Wf=Af(0,!0),Vf=Af(1,!0);class Rf{constructor(e,t,n,i,r){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=r}setSelAfter(e){return new Rf(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Rf(e.changes&&k.fromJSON(e.changes),[],e.mapped&&w.fromJSON(e.mapped),e.startSelection&&W.fromJSON(e.startSelection),e.selectionsAfter.map(W.fromJSON))}static fromTransaction(e,t){let n=Ef;for(let t of e.startState.facet(kf)){let i=t(e);i.length&&(n=n.concat(i))}return!n.length&&e.changes.empty?null:new Rf(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,Ef)}static selection(e){return new Rf(void 0,Ef,void 0,void 0,e)}}function _f(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function Yf(e,t){let n=[],i=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,r,s)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];s>=t&&r<=o&&(i=!0)}}),i}function Mf(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length}function qf(e,t){return e.length?t.length?e.concat(t):e:t}const Ef=[],Uf=200;function Df(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-Uf));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),_f(e,e.length-1,1e9,n.setSelAfter(i)))}return[Rf.selection([t])]}function jf(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function zf(e,t){if(!e.length)return e;let n=e.length,i=Ef;for(;n;){let r=If(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let t=e.slice(0,n);return t[n-1]=r,t}t=r.mapped,n--,i=r.selectionsAfter}return i.length?[Rf.selection(i)]:Ef}function If(e,t,n){let i=qf(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):Ef,n);if(!e.changes)return Rf.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(s):s;return new Rf(r,ce.mapEffects(e.effects,t),o,e.startSelection.map(s),i)}const Bf=/^(input\.type|delete)($|\.)/;class Lf{constructor(e,t,n=0,i){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=i}isolate(){return this.prevTime?new Lf(this.done,this.undone):this}addChanges(e,t,n,i,r){let s=this.done,o=s[s.length-1];return s=o&&o.changes&&!o.changes.empty&&e.changes&&(!n||Bf.test(n))&&(!o.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(r,Yf(o.changes,e.changes))||"input.type.compose"==n)?_f(s,s.length-1,i.minDepth,new Rf(e.changes.compose(o.changes),qf(e.effects,o.effects),o.mapped,o.startSelection,Ef)):_f(s,s.length,i.minDepth,e),new Lf(s,Ef,t,n)}addSelection(e,t,n,i){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:Ef;return r.length>0&&t-this.prevTime<i&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&Mf(r[r.length-1],e)?this:new Lf(Df(this.done,e),this.undone,t,n)}addMapping(e){return new Lf(zf(this.done,e),zf(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let i=0==e?this.done:this.undone;if(0==i.length)return null;let r=i[i.length-1];if(n&&r.selectionsAfter.length)return t.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:Qf.of({side:e,rest:jf(i)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let n=1==i.length?Ef:i.slice(0,i.length-1);return r.mapped&&(n=zf(n,r.mapped)),t.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:Qf.of({side:e,rest:n}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Lf.empty=new Lf(Ef,Ef);const Gf=[{key:"Mod-z",run:Xf,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Zf,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Zf,preventDefault:!0},{key:"Mod-u",run:Wf,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Vf,preventDefault:!0}];function Nf(e,t){return W.create(e.ranges.map(t),e.mainIndex)}function Ff(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Hf({state:e,dispatch:t},n){let i=Nf(e.selection,n);return!i.eq(e.selection)&&(t(Ff(e,i)),!0)}function Jf(e,t){return W.cursor(t?e.to:e.from)}function Kf(e,t){return Hf(e,n=>n.empty?e.moveByChar(n,t):Jf(n,t))}function ed(e){return e.textDirectionAt(e.state.selection.main.head)==Kn.LTR}const td=e=>Kf(e,!ed(e)),nd=e=>Kf(e,ed(e));function id(e,t){return Hf(e,n=>n.empty?e.moveByGroup(n,t):Jf(n,t))}const rd=e=>id(e,!ed(e)),sd=e=>id(e,ed(e));function od(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function ad(e,t,n){let i,r,s=oc(e).resolveInner(t.head),o=n?Wa.closedBy:Wa.openedBy;for(let i=t.head;;){let t=n?s.childAfter(i):s.childBefore(i);if(!t)break;od(e,t,o)?s=t:i=n?t.to:t.from}return r=s.type.prop(o)&&(i=n?Tu(e,s.from,1):Tu(e,s.to,-1))&&i.matched?n?i.end.to:i.end.from:n?s.to:s.from,W.cursor(r,n?-1:1)}const ld=e=>Hf(e,t=>ad(e.state,t,!ed(e))),hd=e=>Hf(e,t=>ad(e.state,t,ed(e)));function cd(e,t){return Hf(e,n=>{if(!n.empty)return Jf(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const ud=e=>cd(e,!1),fd=e=>cd(e,!0);function dd(e){let t,n=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,i=0,r=0;if(n){for(let t of e.state.facet(ys.scrollMargins)){let n=t(e);(null==n?void 0:n.top)&&(i=Math.max(null==n?void 0:n.top,i)),(null==n?void 0:n.bottom)&&(r=Math.max(null==n?void 0:n.bottom,r))}t=e.scrollDOM.clientHeight-i-r}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:r,selfScroll:n,height:Math.max(e.defaultLineHeight,t-5)}}function Od(e,t){let n,i=dd(e),{state:r}=e,s=Nf(r.selection,n=>n.empty?e.moveVertically(n,t,i.height):Jf(n,t));if(s.eq(r.selection))return!1;if(i.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),a=o.top+i.marginTop,l=o.bottom-i.marginBottom;t&&t.top>a&&t.bottom<l&&(n=ys.scrollIntoView(s.main.head,{y:"start",yMargin:t.top-a}))}return e.dispatch(Ff(r,s),{effects:n}),!0}const pd=e=>Od(e,!1),gd=e=>Od(e,!0);function md(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(r=W.cursor(i.from+n))}return r}const Sd=e=>Hf(e,t=>md(e,t,!0)),bd=e=>Hf(e,t=>md(e,t,!1)),yd=e=>Hf(e,t=>md(e,t,!ed(e))),xd=e=>Hf(e,t=>md(e,t,ed(e))),vd=e=>Hf(e,t=>W.cursor(e.lineBlockAt(t.head).from,1)),Qd=e=>Hf(e,t=>W.cursor(e.lineBlockAt(t.head).to,-1));function wd(e,t,n){let i=!1,r=Nf(e.selection,t=>{let r=Tu(e,t.head,-1)||Tu(e,t.head,1)||t.head>0&&Tu(e,t.head-1,1)||t.head<e.doc.length&&Tu(e,t.head+1,-1);if(!r||!r.end)return t;i=!0;let s=r.start.from==t.head?r.end.to:r.end.from;return n?W.range(t.anchor,s):W.cursor(s)});return!!i&&(t(Ff(e,r)),!0)}const kd=({state:e,dispatch:t})=>wd(e,t,!1);function $d(e,t){let n=Nf(e.state.selection,e=>{let n=t(e);return W.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(Ff(e.state,n)),!0)}function Pd(e,t){return $d(e,n=>e.moveByChar(n,t))}const Cd=e=>Pd(e,!ed(e)),Td=e=>Pd(e,ed(e));function Ad(e,t){return $d(e,n=>e.moveByGroup(n,t))}const Xd=e=>Ad(e,!ed(e)),Zd=e=>Ad(e,ed(e)),Wd=e=>$d(e,t=>ad(e.state,t,!ed(e))),Vd=e=>$d(e,t=>ad(e.state,t,ed(e)));function Rd(e,t){return $d(e,n=>e.moveVertically(n,t))}const _d=e=>Rd(e,!1),Yd=e=>Rd(e,!0);function Md(e,t){return $d(e,n=>e.moveVertically(n,t,dd(e).height))}const qd=e=>Md(e,!1),Ed=e=>Md(e,!0),Ud=e=>$d(e,t=>md(e,t,!0)),Dd=e=>$d(e,t=>md(e,t,!1)),jd=e=>$d(e,t=>md(e,t,!ed(e))),zd=e=>$d(e,t=>md(e,t,ed(e))),Id=e=>$d(e,t=>W.cursor(e.lineBlockAt(t.head).from)),Bd=e=>$d(e,t=>W.cursor(e.lineBlockAt(t.head).to)),Ld=({state:e,dispatch:t})=>(t(Ff(e,{anchor:0})),!0),Gd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.doc.length})),!0),Nd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.selection.main.anchor,head:0})),!0),Fd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Hd=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Jd=({state:e,dispatch:t})=>{let n=dO(e).map(({from:t,to:n})=>W.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:W.create(n),userEvent:"select"})),!0},Kd=({state:e,dispatch:t})=>{let n=Nf(e.selection,t=>{var n;let i=oc(e).resolveInner(t.head,1);for(;!(i.from<t.from&&i.to>=t.to||i.to>t.to&&i.from<=t.from)&&(null===(n=i.parent)||void 0===n?void 0:n.parent);)i=i.parent;return W.range(i.to,i.from)});return t(Ff(e,n)),!0},eO=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=W.create([n.main]):n.main.empty||(i=W.create([W.cursor(n.main.head)])),!!i&&(t(Ff(e,i)),!0)};function tO(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(i=>{let{from:r,to:s}=i;if(r==s){let i=t(r);i<r?(n="delete.backward",i=nO(e,i,!1)):i>r&&(n="delete.forward",i=nO(e,i,!0)),r=Math.min(r,i),s=Math.max(s,i)}else r=nO(e,r,!1),s=nO(e,s,!0);return r==s?{range:i}:{changes:{from:r,to:s},range:W.cursor(r)}});return!r.changes.empty&&(e.dispatch(i.update(r,{scrollIntoView:!0,userEvent:n,effects:"delete.selection"==n?ys.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function nO(e,t,n){if(e instanceof ys)for(let i of e.state.facet(ys.atomicRanges).map(t=>t(e)))i.between(t,t,(e,i)=>{e<t&&i>t&&(t=n?i:e)});return t}const iO=(e,t)=>tO(e,n=>{let i,r,{state:s}=e,o=s.doc.lineAt(n);if(!t&&n>o.from&&n<o.from+200&&!/[^ \t]/.test(i=o.text.slice(0,n-o.from))){if("\t"==i[i.length-1])return n-1;let e=ze(i,s.tabSize)%yc(s)||yc(s);for(let t=0;t<e&&" "==i[i.length-1-t];t++)n--;r=n}else r=O(o.text,n-o.from,t,t)+o.from,r==n&&o.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);return r}),rO=e=>iO(e,!1),sO=e=>iO(e,!0),oO=(e,t)=>tO(e,n=>{let i=n,{state:r}=e,s=r.doc.lineAt(i),o=r.charCategorizer(i);for(let e=null;;){if(i==(t?s.to:s.from)){i==n&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let a=O(s.text,i-s.from,t)+s.from,l=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=o(l);if(null!=e&&h!=e)break;" "==l&&i==n||(e=h),i=a}return i}),aO=e=>oO(e,!1),lO=e=>oO(e,!0),hO=e=>tO(e,t=>{let n=e.lineBlockAt(t).to;return t<n?n:Math.min(e.state.doc.length,t+1)}),cO=e=>tO(e,t=>{let n=e.lineBlockAt(t).from;return t>n?n:Math.max(0,t-1)}),uO=({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:W.cursor(t.from)}));return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},fO=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,i=e.doc.lineAt(n),r=n==i.from?n-1:O(i.text,n-i.from,!1)+i.from,s=n==i.to?n+1:O(i.text,n-i.from,!0)+i.from;return{changes:{from:r,to:s,insert:e.doc.slice(n,s).append(e.doc.slice(r,n))},range:W.cursor(s)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function dO(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(i.empty||i.to!=s.from||(s=e.doc.lineAt(i.to-1)),n>=r.number){let e=t[t.length-1];e.to=s.to,e.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function OO(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let t of dO(e)){if(n?t.to==e.doc.length:0==t.from)continue;let s=e.doc.lineAt(n?t.to+1:t.from-1),o=s.length+1;if(n){i.push({from:t.to,to:s.to},{from:t.from,insert:s.text+e.lineBreak});for(let n of t.ranges)r.push(W.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{i.push({from:s.from,to:t.from},{from:t.to,insert:e.lineBreak+s.text});for(let e of t.ranges)r.push(W.range(e.anchor-o,e.head-o))}}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:W.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0)}const pO=({state:e,dispatch:t})=>OO(e,t,!1),gO=({state:e,dispatch:t})=>OO(e,t,!0);function mO(e,t,n){if(e.readOnly)return!1;let i=[];for(let t of dO(e))n?i.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):i.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const SO=({state:e,dispatch:t})=>mO(e,t,!1),bO=({state:e,dispatch:t})=>mO(e,t,!0),yO=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(dO(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),i=Nf(t.selection,t=>e.moveVertically(t,!0)).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function xO(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,i=oc(e).resolveInner(t),r=i.childBefore(t),s=i.childAfter(t);return r&&s&&r.to<=t&&s.from>=t&&(n=r.type.prop(Wa.closedBy))&&n.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from?{from:r.to,to:s.from}:null}const vO=QO(!1);function QO(t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=n.changeByRange(i=>{let{from:r,to:s}=i,o=n.doc.lineAt(r),a=!t&&r==s&&xO(n,r);t&&(r=s=(s<=o.to?o:n.doc.lineAt(s)).to);let l=new Qc(n,{simulateBreak:r,simulateDoubleBreak:!!a}),h=vc(l,r);for(null==h&&(h=/^\s*/.exec(n.doc.lineAt(r).text)[0].length);s<o.to&&/\s/.test(o.text[s-o.from]);)s++;a?({from:r,to:s}=a):r>o.from&&r<o.from+100&&!/\S/.test(o.text.slice(0,r))&&(r=o.from);let c=["",xc(n,h)];return a&&c.push(xc(n,l.lineIndent(o.from,-1))),{changes:{from:r,to:s,insert:e.of(c)},range:W.cursor(r+1+c[1].length)}});return i(n.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function wO(e,t){let n=-1;return e.changeByRange(i=>{let r=[];for(let s=i.from;s<=i.to;){let o=e.doc.lineAt(s);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),s=o.to+1}let s=e.changes(r);return{changes:r,range:W.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const kO=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(wO(e,(t,n)=>{n.push({from:t.from,insert:e.facet(bc)})}),{userEvent:"input.indent"})),!0),$O=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(wO(e,(t,n)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=ze(i,e.tabSize),s=0,o=xc(e,Math.max(0,r-yc(e)));for(;s<i.length&&s<o.length&&i.charCodeAt(s)==o.charCodeAt(s);)s++;n.push({from:t.from+s,to:t.from+i.length,insert:o.slice(s)})}),{userEvent:"delete.dedent"})),!0),PO=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:ld,shift:Wd},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hd,shift:Vd},{key:"Alt-ArrowUp",run:pO},{key:"Shift-Alt-ArrowUp",run:SO},{key:"Alt-ArrowDown",run:gO},{key:"Shift-Alt-ArrowDown",run:bO},{key:"Escape",run:eO},{key:"Mod-Enter",run:QO(!0)},{key:"Alt-l",mac:"Ctrl-l",run:Jd},{key:"Mod-i",run:Kd,preventDefault:!0},{key:"Mod-[",run:$O},{key:"Mod-]",run:kO},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new Qc(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),r=wO(e,(t,r,s)=>{let o=vc(i,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let a=/^\s*/.exec(t.text)[0],l=xc(e,o);(a!=l||s.from<t.from+a.length)&&(n[t.from]=o,r.push({from:t.from,to:t.from+a.length,insert:l}))});return r.changes.empty||t(e.update(r,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:yO},{key:"Shift-Mod-\\",run:kd},{key:"Mod-/",run:ff},{key:"Alt-A",run:pf}].concat([{key:"ArrowLeft",run:td,shift:Cd,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:rd,shift:Xd,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:yd,shift:jd,preventDefault:!0},{key:"ArrowRight",run:nd,shift:Td,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sd,shift:Zd,preventDefault:!0},{mac:"Cmd-ArrowRight",run:xd,shift:zd,preventDefault:!0},{key:"ArrowUp",run:ud,shift:_d,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ld,shift:Nd},{mac:"Ctrl-ArrowUp",run:pd,shift:qd},{key:"ArrowDown",run:fd,shift:Yd,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Gd,shift:Fd},{mac:"Ctrl-ArrowDown",run:gd,shift:Ed},{key:"PageUp",run:pd,shift:qd},{key:"PageDown",run:gd,shift:Ed},{key:"Home",run:bd,shift:Dd,preventDefault:!0},{key:"Mod-Home",run:Ld,shift:Nd},{key:"End",run:Sd,shift:Ud,preventDefault:!0},{key:"Mod-End",run:Gd,shift:Fd},{key:"Enter",run:vO},{key:"Mod-a",run:Hd},{key:"Backspace",run:rO,shift:rO},{key:"Delete",run:sO},{key:"Mod-Backspace",mac:"Alt-Backspace",run:aO},{key:"Mod-Delete",mac:"Alt-Delete",run:lO},{mac:"Mod-Backspace",run:cO},{mac:"Mod-Delete",run:hO}].concat([{key:"Ctrl-b",run:td,shift:Cd,preventDefault:!0},{key:"Ctrl-f",run:nd,shift:Td},{key:"Ctrl-p",run:ud,shift:_d},{key:"Ctrl-n",run:fd,shift:Yd},{key:"Ctrl-a",run:vd,shift:Id},{key:"Ctrl-e",run:Qd,shift:Bd},{key:"Ctrl-d",run:sO},{key:"Ctrl-h",run:rO},{key:"Ctrl-k",run:hO},{key:"Ctrl-Alt-h",run:aO},{key:"Ctrl-o",run:uO},{key:"Ctrl-t",run:fO},{key:"Ctrl-v",run:gd}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),CO={key:"Tab",run:kO,shift:$O};function TO(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];"string"==typeof r?e.setAttribute(i,r):null!=r&&(e[i]=r)}t++}for(;t<arguments.length;t++)AO(e,arguments[t]);return e}function AO(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var n=0;n<t.length;n++)AO(e,t[n])}}const XO="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class ZO{constructor(e,t,n=0,i=e.length,r,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,i),this.bufferStart=n,this.normalize=r?e=>r(XO(e)):XO,this.query=this.normalize(t)}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 b(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 t=y(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=x(e);let i=this.normalize(t);for(let e=0,r=n;;e++){let s=i.charCodeAt(e),o=this.match(s,r);if(o)return this.value=o,this;if(e==i.length-1)break;r==n&&e<t.length&&t.charCodeAt(e)==s&&r++}}}match(e,t){let n=null;for(let i=0;i<this.matches.length;i+=2){let r=this.matches[i],s=!1;this.query.charCodeAt(r)==e&&(r==this.query.length-1?n={from:this.matches[i+1],to:t+1}:(this.matches[i]++,s=!0)),s||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?n={from:t,to:t+1}:this.matches.push(1,t)),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferPos)&&(n=null),n}}"undefined"!=typeof Symbol&&(ZO.prototype[Symbol.iterator]=function(){return this});const WO={from:-1,to:-1,match:/.*/.exec("")},VO="gm"+(null==/x/.unicode?"":"u");class RO{constructor(e,t,n,i=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=WO,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new MO(e,t,n,i,r);this.re=new RegExp(t,VO+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.iter=e.iter();let s=e.lineAt(i);this.curLineStart=s.from,this.matchPos=EO(e,i),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 t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,i=n+t[0].length;if(this.matchPos=EO(this.text,i+(n==i?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<i||n>this.value.to)&&(!this.test||this.test(n,i,t)))return this.value={from:n,to:i,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const _O=new WeakMap;class YO{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let i=_O.get(e);if(!i||i.from>=n||i.to<=t){let i=new YO(t,e.sliceString(t,n));return _O.set(e,i),i}if(i.from==t&&i.to==n)return i;let{text:r,from:s}=i;return s>t&&(r=e.sliceString(t,s)+r,s=t),i.to<n&&(r+=e.sliceString(i.to,n)),_O.set(e,new YO(s,r)),new YO(t,r.slice(t-s,n-s))}}class MO{constructor(e,t,n,i,r){this.text=e,this.to=r,this.done=!1,this.value=WO,this.matchPos=EO(e,i),this.re=new RegExp(t,VO+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.flat=YO.get(e,i,this.chunkEnd(i+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,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=EO(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=YO.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function qO(e){try{return new RegExp(e,VO),!0}catch(e){return!1}}function EO(e,t){if(t>=e.length)return t;let n,i=e.lineAt(t);for(;t<i.to&&(n=i.text.charCodeAt(t-i.from))>=56320&&n<57344;)t++;return t}function UO(e){let t=TO("input",{class:"cm-textfield",name:"line"});function n(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:i}=e,r=i.doc.lineAt(i.selection.main.head),[,s,o,a,l]=n,h=a?+a.slice(1):0,c=o?+o:r.number;if(o&&l){let e=c/100;s&&(e=e*("-"==s?-1:1)+r.number/i.doc.lines),c=Math.round(i.doc.lines*e)}else o&&s&&(c=c*("-"==s?-1:1)+r.number);let u=i.doc.line(Math.max(1,Math.min(i.doc.lines,c)));e.dispatch({effects:DO.of(!1),selection:W.cursor(u.from+Math.max(0,Math.min(h,u.length))),scrollIntoView:!0}),e.focus()}return{dom:TO("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:DO.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:e=>{e.preventDefault(),n()}},TO("label",e.state.phrase("Go to line"),": ",t)," ",TO("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(RO.prototype[Symbol.iterator]=MO.prototype[Symbol.iterator]=function(){return this});const DO=ce.define(),jO=j.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(DO)&&(e=n.value);return e},provide:e=>sa.from(e,e=>e?UO:null)}),zO=e=>{let t=ta(e,UO);if(!t){let n=[DO.of(!0)];null==e.state.field(jO,!1)&&n.push(ce.appendConfig.of([jO,IO])),e.dispatch({effects:n}),t=ta(e,UO)}return t&&t.dom.querySelector("input").focus(),!0},IO=ys.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),BO={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},LO=_.define({combine:e=>$e(e,BO,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function GO(e){let t=[ep,KO];return e&&t.push(LO.of(e)),t}const NO=gn.mark({class:"cm-selectionMatch"}),FO=gn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function HO(e,t,n,i){return!(0!=n&&e(t.sliceDoc(n-1,n))==ye.Word||i!=t.doc.length&&e(t.sliceDoc(i,i+1))==ye.Word)}function JO(e,t,n,i){return e(t.sliceDoc(n,n+1))==ye.Word&&e(t.sliceDoc(i-1,i))==ye.Word}const KO=jn.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(LO),{state:n}=e,i=n.selection;if(i.ranges.length>1)return gn.none;let r,s=i.main,o=null;if(s.empty){if(!t.highlightWordAroundCursor)return gn.none;let e=n.wordAt(s.head);if(!e)return gn.none;o=n.charCategorizer(s.head),r=n.sliceDoc(e.from,e.to)}else{let e=s.to-s.from;if(e<t.minSelectionLength||e>200)return gn.none;if(t.wholeWords){if(r=n.sliceDoc(s.from,s.to),o=n.charCategorizer(s.head),!HO(o,n,s.from,s.to)||!JO(o,n,s.from,s.to))return gn.none}else if(r=n.sliceDoc(s.from,s.to).trim(),!r)return gn.none}let a=[];for(let i of e.visibleRanges){let e=new ZO(n.doc,r,i.from,i.to);for(;!e.next().done;){let{from:i,to:r}=e.value;if((!o||HO(o,n,i,r))&&(s.empty&&i<=s.from&&r>=s.to?a.push(FO.range(i,r)):(i>=s.to||r<=s.from)&&a.push(NO.range(i,r)),a.length>t.maxMatches))return gn.none}}return gn.set(a)}},{decorations:e=>e.decorations}),ep=ys.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),tp=({state:e,dispatch:t})=>{let{selection:n}=e,i=W.create(n.ranges.map(t=>e.wordAt(t.head)||W.cursor(t.head)),n.mainIndex);return!i.eq(n)&&(t(e.update({selection:i})),!0)};function np(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let n=!1,r=new ZO(e.doc,t,i[i.length-1].to);;){if(r.next(),!r.done){if(n&&i.some(e=>e.from==r.value.from))continue;if(s){let t=e.wordAt(r.value.from);if(!t||t.from!=r.value.from||t.to!=r.value.to)continue}return r.value}if(n)return null;r=new ZO(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),n=!0}}const ip=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return tp({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=i))return!1;let r=np(e,i);return!!r&&(t(e.update({selection:e.selection.addRange(W.range(r.from,r.to),!1),effects:ys.scrollIntoView(r.to)})),!0)},rp=_.define({combine:e=>$e(e,{top:!1,caseSensitive:!1,literal:!1,wholeWord:!1,createPanel:e=>new Vp(e)})});class sp{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||qO(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Op(this):new hp(this)}getCursor(e,t=0,n){let i=e.doc?e:ke.create({doc:e});return null==n&&(n=i.doc.length),this.regexp?cp(this,i,t,n):ap(this,i,t,n)}}class op{constructor(e){this.spec=e}}function ap(e,t,n,i){return new ZO(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?lp(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function lp(e,t){return(n,i,r,s)=>((s>n||s+r.length<i)&&(s=Math.max(0,n-2),r=e.sliceString(s,Math.min(e.length,i+2))),!(t(up(r,n-s))==ye.Word&&t(fp(r,n-s))==ye.Word||t(fp(r,i-s))==ye.Word&&t(up(r,i-s))==ye.Word))}class hp extends op{constructor(e){super(e)}nextMatch(e,t,n){let i=ap(this.spec,e,n,e.doc.length).nextOverlapping();return i.done&&(i=ap(this.spec,e,0,t).nextOverlapping()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=n;;){let n=Math.max(t,i-1e4-this.spec.unquoted.length),r=ap(this.spec,e,n,i),s=null;for(;!r.nextOverlapping().done;)s=r.value;if(s)return s;if(n==t)return null;i-=1e4}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=ap(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let r=ap(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}function cp(e,t,n,i){return new RO(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?dp(t.charCategorizer(t.selection.main.head)):void 0},n,i)}function up(e,t){return e.slice(O(e,t,!1),t)}function fp(e,t){return e.slice(t,O(e,t))}function dp(e){return(t,n,i)=>!i[0].length||(e(up(i.input,i.index))!=ye.Word||e(fp(i.input,i.index))!=ye.Word)&&(e(fp(i.input,i.index+i[0].length))!=ye.Word||e(up(i.input,i.index+i[0].length))!=ye.Word)}class Op extends op{nextMatch(e,t,n){let i=cp(this.spec,e,n,e.doc.length).next();return i.done&&(i=cp(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=1;;i++){let r=Math.max(t,n-1e4*i),s=cp(this.spec,e,r,n),o=null;for(;!s.next().done;)o=s.value;if(o&&(r==t||o.from>r+10))return o;if(r==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,n)=>"$"==n?"$":"&"==n?e.match[0]:"0"!=n&&+n<e.match.length?e.match[n]:t))}matchAll(e,t){let n=cp(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let r=cp(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}const pp=ce.define(),gp=ce.define(),mp=j.define({create:e=>new Sp(Ap(e).create(),null),update(e,t){for(let n of t.effects)n.is(pp)?e=new Sp(n.value.create(),e.panel):n.is(gp)&&(e=new Sp(e.query,n.value?Tp:null));return e},provide:e=>sa.from(e,e=>e.panel)});class Sp{constructor(e,t){this.query=e,this.panel=t}}const bp=gn.mark({class:"cm-searchMatch"}),yp=gn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xp=jn.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(mp))}update(e){let t=e.state.field(mp);(t!=e.startState.field(mp)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return gn.none;let{view:n}=this,i=new We;for(let t=0,r=n.visibleRanges,s=r.length;t<s;t++){let{from:o,to:a}=r[t];for(;t<s-1&&a>r[t+1].from-500;)a=r[++t].to;e.highlight(n.state,o,a,(e,t)=>{let r=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);i.add(e,t,r?yp:bp)})}return i.finish()}},{decorations:e=>e.decorations});function vp(e){return t=>{let n=t.state.field(mp,!1);return n&&n.query.spec.valid?e(t,n):Xp(t)}}const Qp=vp((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);return!!i&&(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:Mp(e,i),userEvent:"select.search"}),!0)}),wp=vp((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);return!!r&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Mp(e,r),userEvent:"select.search"}),!0)}),kp=vp((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:W.create(n.map(e=>W.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),$p=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],o=0;for(let t=new ZO(e.doc,e.sliceDoc(i,r));!t.next().done;){if(s.length>1e3)return!1;t.value.from==i&&(o=s.length),s.push(W.range(t.value.from,t.value.to))}return t(e.update({selection:W.create(s,o),userEvent:"select.search.matches"})),!0},Pp=vp((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let o,a,l=[],h=[];if(s.from==i&&s.to==r&&(a=n.toText(t.getReplacement(s)),l.push({from:s.from,to:s.to,insert:a}),s=t.nextMatch(n,s.from,s.to),h.push(ys.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))),s){let t=0==l.length||l[0].from>=s.to?0:s.to-s.from-a.length;o={anchor:s.from-t,head:s.to-t},h.push(Mp(e,s))}return e.dispatch({changes:l,selection:o,scrollIntoView:!!o,effects:h,userEvent:"input.replace"}),!0}),Cp=vp((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:i}=e;return{from:n,to:i,insert:t.getReplacement(e)}});if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:ys.announce.of(i),userEvent:"input.replace.all"}),!0});function Tp(e){return e.state.facet(rp).createPanel(e)}function Ap(e,t){var n,i,r,s;let o=e.selection.main,a=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!a)return t;let l=e.facet(rp);return new sp({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==t?void 0:t.caseSensitive)&&void 0!==i?i:l.caseSensitive,literal:null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:l.literal,wholeWord:null!==(s=null==t?void 0:t.wholeWord)&&void 0!==s?s:l.wholeWord})}const Xp=e=>{let t=e.state.field(mp,!1);if(t&&t.panel){let n=ta(e,Tp);if(!n)return!1;let i=n.dom.querySelector("[main-field]");if(i&&i!=e.root.activeElement){let n=Ap(e.state,t.query.spec);n.valid&&e.dispatch({effects:pp.of(n)}),i.focus(),i.select()}}else e.dispatch({effects:[gp.of(!0),t?pp.of(Ap(e.state,t.query.spec)):ce.appendConfig.of(Ep)]});return!0},Zp=e=>{let t=e.state.field(mp,!1);if(!t||!t.panel)return!1;let n=ta(e,Tp);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:gp.of(!1)}),!0},Wp=[{key:"Mod-f",run:Xp,scope:"editor search-panel"},{key:"F3",run:Qp,shift:wp,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Qp,shift:wp,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Zp,scope:"editor search-panel"},{key:"Mod-Shift-l",run:$p},{key:"Alt-g",run:zO},{key:"Mod-d",run:ip,preventDefault:!0}];class Vp{constructor(e){this.view=e;let t=this.query=e.state.field(mp).query.spec;function n(e,t,n){return TO("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=TO("input",{value:t.search,placeholder:Rp(e,"Find"),"aria-label":Rp(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=TO("input",{value:t.replace,placeholder:Rp(e,"Replace"),"aria-label":Rp(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=TO("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=TO("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=TO("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=TO("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>Qp(e),[Rp(e,"next")]),n("prev",()=>wp(e),[Rp(e,"previous")]),n("select",()=>kp(e),[Rp(e,"all")]),TO("label",null,[this.caseField,Rp(e,"match case")]),TO("label",null,[this.reField,Rp(e,"regexp")]),TO("label",null,[this.wordField,Rp(e,"by word")]),...e.state.readOnly?[]:[TO("br"),this.replaceField,n("replace",()=>Pp(e),[Rp(e,"replace")]),n("replaceAll",()=>Cp(e),[Rp(e,"replace all")])],TO("button",{name:"close",onclick:()=>Zp(e),"aria-label":Rp(e,"close"),type:"button"},["×"])])}commit(){let e=new sp({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:pp.of(e)}))}keydown(e){Zs(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?wp:Qp)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),Pp(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(pp)&&!e.value.eq(this.query)&&this.setQuery(e.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(rp).top}}function Rp(e,t){return e.state.phrase(t)}const _p=30,Yp=/[\s\.,:;?!]/;function Mp(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-_p),o=Math.min(r,n+_p),a=e.state.sliceDoc(s,o);if(s!=i.from)for(let e=0;e<_p;e++)if(!Yp.test(a[e+1])&&Yp.test(a[e])){a=a.slice(e);break}if(o!=r)for(let e=a.length-1;e>a.length-_p;e--)if(!Yp.test(a[e-1])&&Yp.test(a[e])){a=a.slice(0,e);break}return ys.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${i.number}.`)}const qp=ys.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"}}),Ep=[mp,B.lowest(xp),qp];class Up{constructor(e,t,n){this.state=e,this.pos=t,this.explicit=n,this.abortListeners=[]}tokenBefore(e){let t=oc(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),r=i.search(Gp(e,!1));return r<0?null:{from:n+r,to:this.pos,text:i.slice(r)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function Dp(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function jp(e){let t=Object.create(null),n=Object.create(null);for(let{label:i}of e){t[i[0]]=!0;for(let e=1;e<i.length;e++)n[i[e]]=!0}let i=Dp(t)+Dp(n)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function zp(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,i]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:jp(t);return e=>{let r=e.matchBefore(i);return r||e.explicit?{from:r?r.from:e.pos,options:t,validFor:n}:null}}function Ip(e,t){return n=>{for(let t=oc(n.state).resolveInner(n.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(n)}}class Bp{constructor(e,t,n){this.completion=e,this.source=t,this.match=n}}function Lp(e){return e.selection.main.head}function Gp(e,t){var n;let{source:i}=e,r=t&&"^"!=i[0],s="$"!=i[i.length-1];return r||s?new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const Np=ae.define();function Fp(e,t,n,i){return Object.assign(Object.assign({},e.changeByRange(r=>{if(r==e.selection.main)return{changes:{from:n,to:i,insert:t},range:W.cursor(n+t.length)};let s=i-n;return!r.empty||s&&e.sliceDoc(r.from-s,r.from)!=e.sliceDoc(n,i)?{range:r}:{changes:{from:r.from-s,to:r.from,insert:t},range:W.cursor(r.from-s+t.length)}})),{userEvent:"input.complete"})}function Hp(e,t){const n=t.completion.apply||t.completion.label;let i=t.source;"string"==typeof n?e.dispatch(Object.assign(Object.assign({},Fp(e.state,n,i.from,i.to)),{annotations:Np.of(t.completion)})):n(e,t.completion,i.from,i.to)}const Jp=new WeakMap;function Kp(e){if(!Array.isArray(e))return e;let t=Jp.get(e);return t||Jp.set(e,t=zp(e)),t}class eg{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let t=0;t<e.length;){let n=b(e,t),i=x(n);this.chars.push(n);let r=e.slice(t,t+i),s=r.toUpperCase();this.folded.push(b(s==r?r.toLowerCase():s,0)),t+=i}this.astral=e.length!=this.chars.length}match(e){if(0==this.pattern.length)return[0];if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:i,precise:r,byWord:s}=this;if(1==t.length){let i=b(e,0),r=x(i),s=r==e.length?0:-100;if(i==t[0]);else{if(i!=n[0])return null;s+=-200}return[s,0,r]}let o=e.indexOf(this.pattern);if(0==o)return[e.length==this.pattern.length?0:-100,0,this.pattern.length];let a=t.length,l=0;if(o<0){for(let r=0,s=Math.min(e.length,200);r<s&&l<a;){let s=b(e,r);s!=t[l]&&s!=n[l]||(i[l++]=r),r+=x(s)}if(l<a)return null}let h=0,c=0,u=!1,f=0,d=-1,O=-1,p=/[a-z]/.test(e),g=!0;for(let i=0,l=Math.min(e.length,200),m=0;i<l&&c<a;){let l=b(e,i);o<0&&(h<a&&l==t[h]&&(r[h++]=i),f<a&&(l==t[f]||l==n[f]?(0==f&&(d=i),O=i+1,f++):f=0));let S,v=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(S=y(l))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!i||1==v&&p||0==m&&0!=v)&&(t[c]==l||n[c]==l&&(u=!0)?s[c++]=i:s.length&&(g=!1)),m=v,i+=x(l)}return c==a&&0==s[0]&&g?this.result((u?-200:0)-100,s,e):f==a&&0==d?[-200-e.length+(O==e.length?0:-100),0,O]:o>-1?[-700-e.length,o,o+this.pattern.length]:f==a?[-900-e.length,d,O]:c==a?this.result((u?-200:0)-100-700+(g?0:-1100),s,e):2==t.length?null:this.result((i[0]?-700:0)-200-1100,i,e)}result(e,t,n){let i=[e-n.length],r=1;for(let e of t){let t=e+(this.astral?x(b(n,e)):1);r>1&&i[r-1]==e?i[r-1]=t:(i[r++]=e,i[r++]=t)}return i}}const tg=_.define({combine:e=>$e(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>ng(e(n),t(n)),optionClass:(e,t)=>n=>ng(e(n),t(n)),addToOptions:(e,t)=>e.concat(t)})});function ng(e,t){return e?t?e+" "+t:e:t}function ig(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n){let i=document.createElement("span");i.className="cm-completionLabel";let{label:r}=e,s=0;for(let e=1;e<n.length;){let t=n[e++],o=n[e++];t>s&&i.appendChild(document.createTextNode(r.slice(s,t)));let a=i.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(r.slice(t,o))),a.className="cm-completionMatchedText",s=o}return s<r.length&&i.appendChild(document.createTextNode(r.slice(s))),i},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort((e,t)=>e.position-t.position).map(e=>e.render)}function rg(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let i=Math.floor((e-t)/n);return{from:e-(i+1)*n,to:e-i*n}}class sg{constructor(e,t){this.view=e,this.stateField=t,this.info=null,this.placeInfo={read:()=>this.measureInfo(),write:e=>this.positionInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:i,selected:r}=n.open,s=e.state.facet(tg);this.optionContent=ig(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=rg(i.length,r,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",t=>{for(let n,r=t.target;r&&r!=this.dom;r=r.parentNode)if("LI"==r.nodeName&&(n=/-(\d+)$/.exec(r.id))&&+n[1]<i.length)return Hp(e,i[+n[1]]),void t.preventDefault()}),this.list=this.dom.appendChild(this.createListBox(i,n.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})}mount(){this.updateSel()}update(e){var t,n,i;let r=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),r!=s&&(this.updateSel(),(null===(t=r.open)||void 0===t?void 0:t.disabled)!=(null===(n=s.open)||void 0===n?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(i=r.open)||void 0===i?void 0:i.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfo)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=rg(t.options.length,t.selected,this.view.state.facet(tg).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})),this.updateSelectedOption(t.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:n}=t.options[t.selected],{info:i}=n;if(!i)return;let r="string"==typeof i?document.createTextNode(i):i(n);if(!r)return;"then"in r?r.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t)}).catch(e=>qn(this.view.state,e,"completion info")):this.addInfoPane(r)}}addInfoPane(e){let t=this.info=document.createElement("div");t.className="cm-tooltip cm-completionInfo",t.appendChild(e),this.dom.appendChild(t),this.view.requestMeasure(this.placeInfo)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,i=this.range.from;n;n=n.nextSibling,i++)i==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected");return t&&ag(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),r=this.space;if(!r){let e=this.dom.ownerDocument.defaultView||window;r={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}if(i.top>Math.min(r.bottom,t.bottom)-10||i.bottom<Math.max(r.top,t.top)+10)return null;let s,o=this.view.textDirection==Kn.RTL,a=o,l=!1,h="",c="",u=t.left-r.left,f=r.right-t.right;if(a&&u<Math.min(n.width,f)?a=!1:!a&&f<Math.min(n.width,u)&&(a=!0),n.width<=(a?u:f))h=Math.max(r.top,Math.min(i.top,r.bottom-n.height))-t.top+"px",s=Math.min(400,a?u:f)+"px";else{l=!0,s=Math.min(400,(o?t.right:r.right-t.left)-30)+"px";let e=r.bottom-t.bottom;e>=n.height||e>t.top?h=i.bottom-t.top+"px":c=t.bottom-i.top+"px"}return{top:h,bottom:c,maxWidth:s,class:l?o?"left-narrow":"right-narrow":a?"left":"right"}}positionInfo(e){this.info&&(e?(this.info.style.top=e.top,this.info.style.bottom=e.bottom,this.info.style.maxWidth=e.maxWidth,this.info.className="cm-tooltip cm-completionInfo cm-completionInfo-"+e.class):this.info.style.top="-1e6px")}createListBox(e,t,n){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));for(let r=n.from;r<n.to;r++){let{completion:n,match:s}=e[r];const o=i.appendChild(document.createElement("li"));o.id=t+"-"+r,o.setAttribute("role","option");let a=this.optionClass(n);a&&(o.className=a);for(let e of this.optionContent){let t=e(n,this.view.state,s);t&&o.appendChild(t)}}return n.from&&i.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}}function og(e){return t=>new sg(t,e)}function ag(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect();i.top<n.top?e.scrollTop-=n.top-i.top:i.bottom>n.bottom&&(e.scrollTop+=i.bottom-n.bottom)}function lg(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function hg(e,t){let n=[],i=0;for(let r of e)if(r.hasResult())if(!1===r.result.filter){let e=r.result.getMatch;for(let t of r.result.options){let s=[1e9-i++];if(e)for(let n of e(t))s.push(n);n.push(new Bp(t,r,s))}}else{let e,i=new eg(t.sliceDoc(r.from,r.to));for(let t of r.result.options)(e=i.match(t.label))&&(null!=t.boost&&(e[0]+=t.boost),n.push(new Bp(t,r,e)))}let r=[],s=null,o=t.facet(tg).compareCompletions;for(let e of n.sort((e,t)=>t.match[0]-e.match[0]||o(e.completion,t.completion)))!s||s.label!=e.completion.label||s.detail!=e.completion.detail||null!=s.type&&null!=e.completion.type&&s.type!=e.completion.type||s.apply!=e.completion.apply?r.push(e):lg(e.completion)>lg(s)&&(r[r.length-1]=e),s=e.completion;return r}class cg{constructor(e,t,n,i,r,s){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=i,this.selected=r,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new cg(this.options,Og(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,i,r){let s=hg(e,t);if(!s.length)return i&&e.some(e=>1==e.state)?new cg(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let o=t.facet(tg).selectOnOpen?0:-1;if(i&&i.selected!=o&&-1!=i.selected){let e=i.options[i.selected].completion;for(let t=0;t<s.length;t++)if(s[t].completion==e){o=t;break}}return new cg(s,Og(n,o),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:og(wg),above:r.aboveCursor},i?i.timestamp:Date.now(),o,!1)}map(e){return new cg(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class ug{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new ug(pg,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(tg),i=(n.override||t.languageDataAt("autocomplete",Lp(t)).map(Kp)).map(t=>(this.active.find(e=>e.source==t)||new mg(t,this.active.some(e=>0!=e.state)?1:0)).update(e,n));i.length==this.active.length&&i.every((e,t)=>e==this.active[t])&&(i=this.active);let r=this.open;r&&e.docChanged&&(r=r.map(e.changes)),e.selection||i.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!fg(i,this.active)?r=cg.build(i,t,this.id,r,n):r&&r.disabled&&!i.some(e=>1==e.state)&&(r=null),!r&&i.every(e=>1!=e.state)&&i.some(e=>e.hasResult())&&(i=i.map(e=>e.hasResult()?new mg(e.source,0):e));for(let t of e.effects)t.is(Qg)&&(r=r&&r.setSelected(t.value,this.id));return i==this.active&&r==this.open?this:new ug(i,this.id,r)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:dg}}function fg(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n<e.length&&!e[n].hasResult;)n++;for(;i<t.length&&!t[i].hasResult;)i++;let r=n==e.length,s=i==t.length;if(r||s)return r==s;if(e[n++].result!=t[i++].result)return!1}}const dg={"aria-autocomplete":"list"};function Og(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const pg=[];function gg(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class mg{constructor(e,t,n=-1){this.source=e,this.state=t,this.explicitPos=n}hasResult(){return!1}update(e,t){let n=gg(e),i=this;n?i=i.handleUserEvent(e,n,t):e.docChanged?i=i.handleChange(e):e.selection&&0!=i.state&&(i=new mg(i.source,0));for(let t of e.effects)if(t.is(yg))i=new mg(i.source,1,t.value?Lp(e.state):-1);else if(t.is(xg))i=new mg(i.source,0);else if(t.is(vg))for(let e of t.value)e.source==i.source&&(i=e);return i}handleUserEvent(e,t,n){return"delete"!=t&&n.activateOnTyping?new mg(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(Lp(e.startState))?new mg(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new mg(this.source,this.state,e.mapPos(this.explicitPos))}}class Sg extends mg{constructor(e,t,n,i,r){super(e,2,t),this.result=n,this.from=i,this.to=r}hasResult(){return!0}handleUserEvent(e,t,n){var i;let r=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=Lp(e.state);if((this.explicitPos<0?o<=r:o<this.from)||o>s||"delete"==t&&Lp(e.startState)==this.from)return new mg(this.source,"input"==t&&n.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return bg(this.result.validFor,e.state,r,s)?new Sg(this.source,l,this.result,r,s):this.result.update&&(a=this.result.update(this.result,r,s,new Up(e.state,o,l>=0)))?new Sg(this.source,l,a,a.from,null!==(i=a.to)&&void 0!==i?i:Lp(e.state)):new mg(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new mg(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new Sg(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function bg(e,t,n,i){if(!e)return!1;let r=t.sliceDoc(n,i);return"function"==typeof e?e(r,n,i,t):Gp(e,!0).test(r)}const yg=ce.define(),xg=ce.define(),vg=ce.define({map:(e,t)=>e.map(e=>e.map(t))}),Qg=ce.define(),wg=j.define({create:()=>ug.start(),update:(e,t)=>e.update(t),provide:e=>[zo.from(e,e=>e.tooltip),ys.contentAttributes.from(e,e=>e.attrs)]});function kg(e,t="option"){return n=>{let i=n.state.field(wg,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<n.state.facet(tg).interactionDelay)return!1;let r,s=1;"page"==t&&(r=Jo(n,i.open.tooltip))&&(s=Math.max(2,Math.floor(r.dom.offsetHeight/r.dom.querySelector("li").offsetHeight)-1));let{length:o}=i.open.options,a=i.open.selected>-1?i.open.selected+s*(e?1:-1):e?0:o-1;return a<0?a="page"==t?0:o-1:a>=o&&(a="page"==t?o-1:0),n.dispatch({effects:Qg.of(a)}),!0}}const $g=e=>{let t=e.state.field(wg,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||Date.now()-t.open.timestamp<e.state.facet(tg).interactionDelay)&&(t.open.disabled||Hp(e,t.open.options[t.open.selected]),!0)},Pg=e=>!!e.state.field(wg,!1)&&(e.dispatch({effects:yg.of(!0)}),!0),Cg=e=>{let t=e.state.field(wg,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:xg.of(null)}),!0)};class Tg{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Ag=50,Xg=50,Zg=1e3,Wg=jn.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(wg).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(wg);if(!e.selectionSet&&!e.docChanged&&e.startState.field(wg)==t)return;let n=e.transactions.some(e=>(e.selection||e.docChanged)&&!gg(e));for(let t=0;t<this.running.length;t++){let i=this.running[t];if(n||i.updates.length+e.transactions.length>Xg&&Date.now()-i.time>Zg){for(let e of i.context.abortListeners)try{e()}catch(e){qn(this.view.state,e)}i.context.abortListeners=null,this.running.splice(t--,1)}else i.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some(e=>1==e.state&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),Ag):-1,0!=this.composing)for(let t of e.transactions)"input"==gg(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(wg);for(let e of t.active)1!=e.state||this.running.some(t=>t.active.source==e.source)||this.startQuery(e)}startQuery(e){let{state:t}=this.view,n=Lp(t),i=new Up(t,n,e.explicitPos==n),r=new Tg(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(e=>{r.context.aborted||(r.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:xg.of(null)}),qn(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),Ag))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(tg);for(let i=0;i<this.running.length;i++){let r=this.running[i];if(void 0===r.done)continue;if(this.running.splice(i--,1),r.done){let i=new Sg(r.active.source,r.active.explicitPos,r.done,r.done.from,null!==(e=r.done.to)&&void 0!==e?e:Lp(r.updates.length?r.updates[0].startState:this.view.state));for(let e of r.updates)i=i.update(e,n);if(i.hasResult()){t.push(i);continue}}let s=this.view.state.field(wg).active.find(e=>e.source==r.active.source);if(s&&1==s.state)if(null==r.done){let e=new mg(r.active.source,0);for(let t of r.updates)e=e.update(t,n);1!=e.state&&t.push(e)}else this.startQuery(s)}t.length&&this.view.dispatch({effects:vg.of(t)})}},{eventHandlers:{blur(){let e=this.view.state.field(wg,!1);e&&e.tooltip&&this.view.state.facet(tg).closeOnBlur&&this.view.dispatch({effects:xg.of(null)})},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:yg.of(!1)}),20),this.composing=0}}}),Vg=ys.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":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer",padding:"1px 3px",lineHeight:1.2}}},"&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:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Rg{constructor(e,t,n,i){this.field=e,this.line=t,this.from=n,this.to=i}}class _g{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,Q.TrackDel),n=e.mapPos(this.to,1,Q.TrackDel);return null==t||null==n?null:new _g(this.field,t,n)}}class Yg{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],i=[t],r=e.doc.lineAt(t),s=/^\s*/.exec(r.text)[0];for(let r of this.lines){if(n.length){let n=s,o=/^\t*/.exec(r)[0].length;for(let t=0;t<o;t++)n+=e.facet(bc);i.push(t+n.length-o),r=n+r.slice(o)}n.push(r),t+=r.length+1}return{text:n,ranges:this.fieldPositions.map(e=>new _g(e.field,i[e.line]+e.from,i[e.line]+e.to))}}static parse(e){let t,n=[],i=[],r=[];for(let s of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(s);){let e=t[1]?+t[1]:null,o=t[2]||t[3]||"",a=-1;for(let t=0;t<n.length;t++)(null!=e?n[t].seq==e:o&&n[t].name==o)&&(a=t);if(a<0){let t=0;for(;t<n.length&&(null==e||null!=n[t].seq&&n[t].seq<e);)t++;n.splice(t,0,{seq:e,name:o}),a=t;for(let e of r)e.field>=a&&e.field++}r.push(new Rg(a,i.length,t.index,t.index+o.length)),s=s.slice(0,t.index)+o+s.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(s);){s=s.slice(0,e.index)+e[1]+s.slice(e.index+e[0].length);for(let t of r)t.line==i.length&&t.from>e.index&&(t.from--,t.to--)}i.push(s)}return new Yg(i,r)}}let Mg=gn.widget({widget:new class extends On{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),qg=gn.mark({class:"cm-snippetField"});class Eg{constructor(e,t){this.ranges=e,this.active=t,this.deco=gn.set(e.map(e=>(e.from==e.to?Mg:qg).range(e.from,e.to)))}map(e){let t=[];for(let n of this.ranges){let i=n.map(e);if(!i)return null;t.push(i)}return new Eg(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Ug=ce.define({map:(e,t)=>e&&e.map(t)}),Dg=ce.define(),jg=j.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(Ug))return n.value;if(n.is(Dg)&&e)return new Eg(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>ys.decorations.from(e,e=>e?e.deco:gn.none)});function zg(e,t){return W.create(e.filter(e=>e.field==t).map(e=>W.range(e.from,e.to)))}function Ig(t){let n=Yg.parse(t);return(t,i,r,s)=>{let{text:o,ranges:a}=n.instantiate(t.state,r),l={changes:{from:r,to:s,insert:e.of(o)},scrollIntoView:!0,annotations:Np.of(i)};if(a.length&&(l.selection=zg(a,0)),a.length>1){let e=new Eg(a,0),n=l.effects=[Ug.of(e)];void 0===t.state.field(jg,!1)&&n.push(ce.appendConfig.of([jg,Fg,Jg,Vg]))}t.dispatch(t.state.update(l))}}function Bg(e){return({state:t,dispatch:n})=>{let i=t.field(jg,!1);if(!i||e<0&&0==i.active)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(t=>t.field==r+e);return n(t.update({selection:zg(i.ranges,r),effects:Ug.of(s?null:new Eg(i.ranges,r))})),!0}}const Lg=({state:e,dispatch:t})=>!!e.field(jg,!1)&&(t(e.update({effects:Ug.of(null)})),!0),Gg=[{key:"Tab",run:Bg(1),shift:Bg(-1)},{key:"Escape",run:Lg}],Ng=_.define({combine:e=>e.length?e[0]:Gg}),Fg=B.highest(Ts.compute([Ng],e=>e.facet(Ng)));function Hg(e,t){return Object.assign(Object.assign({},t),{apply:Ig(e)})}const Jg=ys.domEventHandlers({mousedown(e,t){let n,i=t.state.field(jg,!1);if(!i||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let r=i.ranges.find(e=>e.from<=n&&e.to>=n);return!(!r||r.field==i.active)&&(t.dispatch({selection:zg(i.ranges,r.field),effects:Ug.of(i.ranges.some(e=>e.field>r.field)?new Eg(i.ranges,r.field):null)}),!0)}}),Kg={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},em=ce.define({map(e,t){let n=t.mapPos(e,-1,Q.TrackAfter);return null==n?void 0:n}}),tm=ce.define({map:(e,t)=>t.mapPos(e)}),nm=new class extends Pe{};nm.startSide=1,nm.endSide=-1;const im=j.define({create:()=>Xe.empty,update(e,t){if(t.selection){let n=t.state.doc.lineAt(t.selection.main.head).from,i=t.startState.doc.lineAt(t.startState.selection.main.head).from;n!=t.changes.mapPos(i,-1)&&(e=Xe.empty)}e=e.map(t.changes);for(let n of t.effects)n.is(em)?e=e.update({add:[nm.range(n.value,n.value+1)]}):n.is(tm)&&(e=e.update({filter:e=>e!=n.value}));return e}});function rm(){return[hm,im]}const sm="()[]{}<>";function om(e){for(let t=0;t<sm.length;t+=2)if(sm.charCodeAt(t)==e)return sm.charAt(t+1);return y(e<128?e:e+1)}function am(e,t){return e.languageDataAt("closeBrackets",t)[0]||Kg}const lm="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),hm=ys.inputHandler.of((e,t,n,i)=>{if((lm?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||2==i.length&&1==x(b(i,0))||t!=r.from||n!=r.to)return!1;let s=um(e.state,i);return!!s&&(e.dispatch(s),!0)}),cm=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=am(e,e.selection.main.head).brackets||Kg.brackets,i=null,r=e.changeByRange(t=>{if(t.empty){let i=Om(e.doc,t.head);for(let r of n)if(r==i&&dm(e.doc,t.head)==om(b(r,0)))return{changes:{from:t.head-r.length,to:t.head+r.length},range:W.cursor(t.head-r.length)}}return{range:i=t}});return i||t(e.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function um(e,t){let n=am(e,e.selection.main.head),i=n.brackets||Kg.brackets;for(let r of i){let s=om(b(r,0));if(t==r)return s==r?mm(e,r,i.indexOf(r+r+r)>-1,n):pm(e,r,s,n.before||Kg.before);if(t==s&&fm(e,e.selection.main.from))return gm(e,r,s)}return null}function fm(e,t){let n=!1;return e.field(im).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function dm(e,t){let n=e.sliceString(t,t+2);return n.slice(0,x(b(n,0)))}function Om(e,t){let n=e.sliceString(t-2,t);return x(b(n,0))==n.length?n:n.slice(1)}function pm(e,t,n,i){let r=null,s=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:n,from:s.to}],effects:em.of(s.to+t.length),range:W.range(s.anchor+t.length,s.head+t.length)};let o=dm(e.doc,s.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:s.head},effects:em.of(s.head+t.length),range:W.cursor(s.head+t.length)}:{range:r=s}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function gm(e,t,n){let i=null,r=e.selection.ranges.map(t=>t.empty&&dm(e.doc,t.head)==n?W.cursor(t.head+n.length):i=t);return i?null:e.update({selection:W.create(r,e.selection.mainIndex),scrollIntoView:!0,effects:e.selection.ranges.map(({from:e})=>tm.of(e))})}function mm(e,t,n,i){let r=i.stringPrefixes||Kg.stringPrefixes,s=null,o=e.changeByRange(i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:em.of(i.to+t.length),range:W.range(i.anchor+t.length,i.head+t.length)};let o,a=i.head,l=dm(e.doc,a);if(l==t){if(Sm(e,a))return{changes:{insert:t+t,from:a},effects:em.of(a+t.length),range:W.cursor(a+t.length)};if(fm(e,a)){let i=n&&e.sliceDoc(a,a+3*t.length)==t+t+t;return{range:W.cursor(a+t.length*(i?3:1)),effects:tm.of(a)}}}else{if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&(o=ym(e,a-2*t.length,r))>-1&&Sm(e,o))return{changes:{insert:t+t+t+t,from:a},effects:em.of(a+t.length),range:W.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=ye.Word&&ym(e,a,r)>-1&&!bm(e,a,t,r))return{changes:{insert:t+t,from:a},effects:em.of(a+t.length),range:W.cursor(a+t.length)}}return{range:s=i}});return s?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Sm(e,t){let n=oc(e).resolveInner(t+1);return n.parent&&n.from==t}function bm(e,t,n,i){let r=oc(e).resolveInner(t,-1),s=i.reduce((e,t)=>Math.max(e,t.length),0);for(let o=0;o<5;o++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+s)),a=o.indexOf(n);if(!a||a>-1&&i.indexOf(o.slice(0,a))>-1){let t=r.firstChild;for(;t&&t.from==r.from&&t.to-t.from>n.length+a;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=r.to==t&&r.parent;if(!l)break;r=l}return!1}function ym(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=ye.Word)return t;for(let r of n){let n=t-r.length;if(e.sliceDoc(n,t)==r&&i(e.sliceDoc(n-1,n))!=ye.Word)return n}return-1}function xm(e={}){return[wg,tg.of(e),Wg,Qm,Vg]}const vm=[{key:"Ctrl-Space",run:Pg},{key:"Escape",run:Cg},{key:"ArrowDown",run:kg(!0)},{key:"ArrowUp",run:kg(!1)},{key:"PageDown",run:kg(!0,"page")},{key:"PageUp",run:kg(!1,"page")},{key:"Enter",run:$g}],Qm=B.highest(Ts.computeN([tg],e=>e.facet(tg).defaultKeymap?[vm]:[]));class wm{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class km{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let i=e,r=n.facet(Em).markerFilter;r&&(i=r(i));let s=gn.set(i.map(e=>e.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from?gn.widget({widget:new zm(e),diagnostic:e}).range(e.from):gn.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity},diagnostic:e}).range(e.from,e.to)),!0);return new km(s,t,$m(s))}}function $m(e,t=null,n=0){let i=null;return e.between(n,1e9,(e,n,{spec:r})=>{if(!t||r.diagnostic==t)return i=new wm(e,n,r.diagnostic),!1}),i}function Pm(e,t){return!(!e.effects.some(e=>e.is(Am))&&!e.changes.touchesRange(t.pos))}function Cm(e,t){return e.field(Wm,!1)?t:t.concat(ce.appendConfig.of([Wm,ys.decorations.compute([Wm],e=>{let{selected:t,panel:n}=e.field(Wm);return t&&n&&t.from!=t.to?gn.set([Vm.range(t.from,t.to)]):gn.none}),Ho(Rm,{hideOn:Pm}),Nm]))}function Tm(e,t){return{effects:Cm(e,[Am.of(t)])}}const Am=ce.define(),Xm=ce.define(),Zm=ce.define(),Wm=j.define({create:()=>new km(gn.none,null,null),update(e,t){if(t.docChanged){let n=e.diagnostics.map(t.changes),i=null;if(e.selected){let r=t.changes.mapPos(e.selected.from,1);i=$m(n,e.selected.diagnostic,r)||$m(n,null,r)}e=new km(n,e.panel,i)}for(let n of t.effects)n.is(Am)?e=km.init(n.value,e.panel,t.state):n.is(Xm)?e=new km(e.diagnostics,n.value?Bm.open:null,e.selected):n.is(Zm)&&(e=new km(e.diagnostics,e.panel,n.value));return e},provide:e=>[sa.from(e,e=>e.panel),ys.decorations.from(e,e=>e.diagnostics)]}),Vm=gn.mark({class:"cm-lintRange cm-lintRange-active"});function Rm(e,t,n){let{diagnostics:i}=e.state.field(Wm),r=[],s=2e8,o=0;i.between(t-(n<0?1:0),t+(n>0?1:0),(e,i,{spec:a})=>{t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t<i||n<0))&&(r.push(a.diagnostic),s=Math.min(e,s),o=Math.max(i,o))});let a=e.state.facet(Em).tooltipFilter;return a&&(r=a(r)),r.length?{pos:s,end:o,above:e.state.doc.lineAt(s).to<o,create:()=>({dom:_m(e,r)})}:null}function _m(e,t){return TO("ul",{class:"cm-tooltip-lint"},t.map(t=>jm(e,t,!1)))}const Ym=e=>{let t=e.state.field(Wm,!1);return!(!t||!t.panel)&&(e.dispatch({effects:Xm.of(!1)}),!0)},Mm=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Wm,!1);t&&t.panel||e.dispatch({effects:Cm(e.state,[Xm.of(!0)])});let n=ta(e,Bm.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Wm,!1);if(!t)return!1;let n=e.state.selection.main,i=t.diagnostics.iter(n.to+1);return!(!i.value&&(i=t.diagnostics.iter(0),!i.value||i.from==n.from&&i.to==n.to))&&(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],qm=jn.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(Em);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){let e=Date.now();if(e<this.lintTime-10)setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(Em);Promise.all(t.map(e=>Promise.resolve(e(this.view)))).then(t=>{let n=t.reduce((e,t)=>e.concat(t));this.view.state.doc==e.doc&&this.view.dispatch(Tm(this.view.state,n))},e=>{qn(this.view.state,e)})}}update(e){let t=e.state.facet(Em);(e.docChanged||t!=e.startState.facet(Em)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),Em=_.define({combine:e=>Object.assign({sources:e.map(e=>e.source)},$e(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t})),enables:qm});function Um(e,t={}){return Em.of({source:e,config:t})}function Dm(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;e<n.length;e++){let i=n[e];if(/[a-zA-Z]/.test(i)&&!t.some(e=>e.toLowerCase()==i.toLowerCase())){t.push(i);continue e}}t.push("")}return t}function jm(e,t,n){var i;let r=n?Dm(t.actions):[];return TO("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},TO("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(i=t.actions)||void 0===i?void 0:i.map((n,i)=>{let s=!1,o=i=>{if(i.preventDefault(),s)return;s=!0;let r=$m(e.state.field(Wm).diagnostics,t);r&&n.apply(e,r.from,r.to)},{name:a}=n,l=r[i]?a.indexOf(r[i]):-1,h=l<0?a:[a.slice(0,l),TO("u",a.slice(l,l+1)),a.slice(l+1)];return TO("button",{type:"button",class:"cm-diagnosticAction",onclick:o,onmousedown:o,"aria-label":` Action: ${a}${l<0?"":` (access key "${r[i]})"`}.`},h)}),t.source&&TO("div",{class:"cm-diagnosticSource"},t.source))}class zm extends On{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return TO("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class Im{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=jm(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Bm{constructor(e){this.view=e,this.items=[];let t=t=>{if(27==t.keyCode)Ym(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],i=Dm(n.actions);for(let r=0;r<i.length;r++)if(i[r].toUpperCase().charCodeAt(0)==t.keyCode){let t=$m(this.view.state.field(Wm).diagnostics,n);t&&n.actions[r].apply(e,t.from,t.to)}}}t.preventDefault()},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=TO("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:n}),this.dom=TO("div",{class:"cm-panel-lint"},this.list,TO("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ym(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Wm).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Wm),n=0,i=!1,r=null;for(e.between(0,this.view.state.doc.length,(e,s,{spec:o})=>{let a,l=-1;for(let e=n;e<this.items.length;e++)if(this.items[e].diagnostic==o.diagnostic){l=e;break}l<0?(a=new Im(this.view,o.diagnostic),this.items.splice(n,0,a),i=!0):(a=this.items[l],l>n&&(this.items.splice(n,l-n),i=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),r=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),n++});n<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();0==this.items.length&&(this.items.push(new Im(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{e.top<t.top?this.list.scrollTop-=t.top-e.top:e.bottom>t.bottom&&(this.list.scrollTop+=e.bottom-t.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=$m(this.view.state.field(Wm).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Zm.of(t)})}static open(e){return new Bm(e)}}function Lm(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Gm(e){return Lm(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const Nm=ys.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-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:Gm("#d11")},".cm-lintRange-warning":{backgroundImage:Gm("orange")},".cm-lintRange-info":{backgroundImage:Gm("#999")},".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-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}}});class Fm extends oa{constructor(e){super(),this.diagnostics=e,this.severity=e.reduce((e,t)=>{let n=t.severity;return"error"==n||"warning"==n&&"info"==e?n:e},"info")}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,i=e.state.facet(sS).tooltipFilter;return i&&(n=i(n)),n.length&&(t.onmouseover=()=>Jm(e,t,n)),t}}function Hm(e,t){let n=i=>{let r=t.getBoundingClientRect();if(!(i.clientX>r.left-10&&i.clientX<r.right+10&&i.clientY>r.top-10&&i.clientY<r.bottom+10)){for(let e=i.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",n),e.state.field(iS)&&e.dispatch({effects:nS.of(null)})}};window.addEventListener("mousemove",n)}function Jm(e,t,n){function i(){let i=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(i.from)&&e.dispatch({effects:nS.of({pos:i.from,above:!1,create:()=>({dom:_m(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,Hm(e,t)}let{hoverTime:r}=e.state.facet(sS),s=setTimeout(i,r);t.onmouseout=()=>{clearTimeout(s),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(s),s=setTimeout(i,r)}}function Km(e,t){let n=Object.create(null);for(let i of t){let t=e.lineAt(i.from);(n[t.from]||(n[t.from]=[])).push(i)}let i=[];for(let e in n)i.push(new Fm(n[e]).range(+e));return Xe.of(i,!0)}const eS=ca({class:"cm-gutter-lint",markers:e=>e.state.field(tS)}),tS=j.define({create:()=>Xe.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(sS).markerFilter;for(let i of t.effects)if(i.is(Am)){let r=i.value;n&&(r=n(r||[])),e=Km(t.state.doc,r.slice(0))}return e}}),nS=ce.define(),iS=j.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=Pm(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(nS)?t.value:e,e)),provide:e=>zo.from(e)}),rS=ys.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Lm('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Lm('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Lm('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),sS=_.define({combine:e=>$e(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function oS(e={}){return[sS.of(e),tS,eS,rS,iS]}const aS=(()=>[ka(),Ta(),po(),Tf(),au(),Gs(),ro(),ke.allowMultipleSelections.of(!0),Mc(),du(gu,{fallback:!0}),ku(),rm(),xm(),Zo(),Ro(),vo(),GO(),Ts.of([...cm,...PO,...Wp,...Gf,...eu,...vm,...Mm])])(),lS="#abb2bf",hS="#7d8799",cS="#21252b",uS="#2c313a",fS="#282c34",dS="#353a42",OS="#3E4451",pS="#528bff",gS=ys.theme({"&":{color:lS,backgroundColor:fS},".cm-content":{caretColor:pS},".cm-cursor, .cm-dropCursor":{borderLeftColor:pS},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:OS},".cm-panels":{backgroundColor:cS,color:lS},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:fS,color:hS,border:"none"},".cm-activeLineGutter":{backgroundColor:uS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:dS},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:dS,borderBottomColor:dS},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:uS,color:lS}}},{dark:!0});var mS=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});function SS(e){switch(e){case"dark":return gS;default:return null}}var bS=(e=>(e.xml="xml",e.html="html",e.leiden_plus="leiden_plus",e.edcs="edcs",e.phi="phi",e.default="default",e.xquery="xquery",e.css="css",e.tex="tex",e.markdown="markdown",e))(bS||{});const yS=(e,t)=>n=>(n.dispatch(n.state.changeByRange(n=>({changes:[{from:n.from,insert:e},{from:n.to,insert:t}],range:W.range(n.from+e.length,n.to+e.length)}))),!0),xS=e=>t=>(t.dispatch(t.state.changeByRange(t=>({changes:[{from:t.from,insert:e}],range:W.range(t.from,t.from)}))),!0),vS=e=>t=>(e=e.replace(/\$\|([^|]+)\|/g,"${$1}"),t.state.selection.ranges.forEach(n=>{const i=t.state.doc.slice(n.from,n.to);Ig(e.replace(/\${(?:\d+:)?_}/,`\${${i.toString()}}`))(t,{label:""},n.from,n.to)}),!0);function QS(e,t,n){if(t.create){const i=n.dataset.params;if(i){let n;try{n=JSON.parse(i)}catch(e){n=[i]}return Array.isArray(n)&&n.length===t.create.length?t.create.apply(null,n):(console.error("<jinn-codemirror> Expected %d arguments for command %s",t.create.length,e),null)}}return t}const wS={snippet:{create:e=>vS(e)}};class kS{constructor(e,t=[],n=wS){this.threshold=300,this.editor=e,this.commands=n,this.keymap=[],t&&t.forEach(e=>{const t=e.dataset.command,i=n[t];if(i){const n=e.getAttribute("data-key");if(n&&n.length>0){const r=QS(t,i,e);if(r){const e={key:n,run:r};this.keymap.push(e)}}}})}getConfig(){return mS(this,null,(function*(){const e=this;let t=null;const n=jn.fromClass(class{update(n){n.docChanged&&(t&&clearTimeout(t),t=setTimeout(()=>{const t=oc(n.state),i=n.state.doc.toJSON(),r=e.onUpdate(t,i.join("\n"));try{const t=e.serialize();null!=t&&(e.editor._value=t,e.editor.emitUpdateEvent(r))}catch(e){}},e.threshold))}}),i=yield this.getExtensions(this.editor),r=[aS,ys.lineWrapping,Ts.of([CO,...this.keymap]),$o(this.editor.placeholder),...i,n];if(this.editor&&this.editor.theme){const e=SS(this.editor.theme);e?r.push(e):console.error("<jinn-codemirror> Unknown theme: %s",this.editor.theme)}return{extensions:r}}))}getCommands(){return this.commands}onUpdate(e,t){return t}setFromValue(e){if(!e)return"";if(e instanceof Node||e instanceof NodeList){const t=new XMLSerializer;if(e instanceof NodeList){const n=[];for(let i=0;i<e.length;i++)n.push(t.serializeToString(e[i]));return n.join("")}return t.serializeToString(e)}return"string"==typeof e?e:JSON.stringify(e)}}const $S=ce.define(),PS=j.define({create:()=>!1,update(e,t){for(let n of t.effects)n.is($S)&&(e=n.value);return e},provide:e=>sa.from(e,e=>e?CS:null)});function CS(e){const t=document.createElement("div");t.className="cm-input-panel";const n=document.createElement("input");return n.type="text",n.placeholder="Name of element (enter to confirm, esc to abort)",n.addEventListener("keyup",t=>{switch(t.key){case"Enter":t.preventDefault();const i=n.value;""!==i&&(yS(`<${i}>`,`</${i}>`)(e),e.focus());case"Esc":case"Escape":e.dispatch({effects:$S.of(!1)})}}),t.appendChild(n),{top:!1,dom:t,mount:()=>setTimeout(()=>n.focus(),50)}}const TS=ys.baseTheme({".cm-input-panel":{padding:"5px 10px",fontFamily:"monospace"},".cm-input-panel input":{width:"100%"}});function AS(){return[PS,TS]}const XS={selectElement:e=>(e.dispatch(e.state.changeByRange(t=>{let n=null;for(let i=oc(e.state).resolveInner(t.from);!n&&i.parent;i=i.parent)"Element"==i.name&&(n=i);return n?{selection:W.range(n.from,n.to),range:W.range(n.from,n.to)}:{range:t}})),!0),removeEnclosing:e=>(e.dispatch(e.state.changeByRange(t=>{let n=null;for(let i=oc(e.state).resolveInner(t.from);!n&&i.parent;i=i.parent)"Element"==i.name&&(n=i);if(n){const e=n.firstChild,t=n.lastChild;if(e&&t)return"SelfClosingTag"===e.name?{range:W.range(e.from,e.from),changes:[{from:e.from,to:e.to,insert:""}]}:{range:W.range(e.from,t.from-(e.to-e.from)),changes:[{from:e.from,to:e.to,insert:""},{from:t.from,to:t.to,insert:""}]}}return{range:t}})),!0),encloseWith:e=>(e.dispatch({effects:$S.of(!e.state.field(PS))}),!0),snippet:{create:e=>vS(e)}};var ZS=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const WS=(e,t)=>"AttributeName"===t.type.name&&"xmlns"===e.state.sliceDoc(t.from,t.to),VS=(e,t)=>"Comment"===t.type.name&&/\<\!\-\- Error\:([^ ])* \-\-\>/.test(e.state.sliceDoc(t.from,t.to)),RS=300,_S=e=>e.filter(e=>"info"!==e.severity),YS=e=>({name:"Fix",apply:(t,n,i)=>{const r=t.state.update({changes:{from:n,to:i,insert:e}});t.dispatch(r)}}),MS=(e,t)=>n=>{function i(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:r,composed:!0,bubbles:!0}))}const r=[];if(0===n.state.doc.length)return i(!0),r;const s=oc(n.state);let o=!1;const a=[];return s.iterate({enter:e=>{if(e.type.isError&&r.push({message:"Syntax error",severity:"error",from:e.from,to:e.to}),"StartTag"===e.type.name)e.nextSibling(),a.push(n.state.sliceDoc(e.from,e.to));else if("StartCloseTag"===e.type.name){e.nextSibling();const t=n.state.sliceDoc(e.from,e.to),i=a.pop();t!==i&&r.push({message:"Expected closing tag for "+i,severity:"error",from:e.from,to:e.to})}else if("SelfCloseEndTag"===e.type.name)a.pop();else if(WS(n,e)){o=!0,e.nextSibling(),e.nextSibling();const i=n.state.sliceDoc(e.from+1,e.to-1);t&&i!==t&&r.push({message:"Wrong Namespace",severity:"error",from:e.from+1,to:e.to-1,actions:[YS(t)]})}else VS(n,e)&&r.push({message:"Syntax error in source input",severity:"warning",from:e.from,to:e.to})},leave:e=>{"Document"===e.type.name&&t&&!o&&r.push({message:"Missing TEI namespace",severity:"error",from:e.from,to:e.to}),e.type.isError&&r.push({message:"Syntax error in input",severity:"error",from:e.from,to:e.to})}}),i(0===r.length),r},qS=(e,t,n,i)=>{const r=e.state.update({changes:{from:n,to:i,insert:t.label+'=""'},selection:{anchor:n+t.label.length+2}});e.dispatch(r)};class ES extends kS{constructor(e,t=[],n=null,i=!1,r=!1){super(e,t,XS),this.namespace=n,this.checkNamespace=i,this.unwrap=r}getDefaultExtensions(){return[AS(),Um(MS(this.editor,this.checkNamespace?this.namespace:null),{delay:RS,markerFilter:_S}),oS({markerFilter:_S})]}getExtensions(){return ZS(this,null,(function*(){const e=this.editor.schema;if(e){const t=yield this.loadSchema(e);return this.getDefaultExtensions().concat(uf(t))}return this.getDefaultExtensions().concat(uf())}))}loadSchema(e){return ZS(this,null,(function*(){const t=yield fetch(e).then(e=>e.json());let n=t.elements;const i=this.editor.schemaRoot;if(i){const e=t.elements.find(e=>e.name===i);if(e){const i=new Map,r=new Map;t.elements.forEach(e=>r.set(e.name,e)),this.filterSchema(e,r,i),n=Array.from(i.values())}}return this.extendSchema(n),{elements:n}}))}filterSchema(e,t,n,i=0){e.children.forEach(e=>{const r=n.get(e);if(r)return void(r.top=0===i);const s=t.get(e);s&&(s.top=0===i,n.set(e,s),this.filterSchema(s,t,n,i+1))})}extendSchema(e){e.forEach(e=>{e.completion.type="keyword",e.attributes.forEach(e=>{e.completion.type="property",e.completion.apply=qS})})}serialize(){var e;const t=new DOMParser,n=this.unwrap?`<R xmlns="${this.namespace||""}">${this.editor.content}</R>`:this.editor.content,i=t.parseFromString(n,"application/xml");return i.getElementsByTagName("parsererror").length?null:this.unwrap?null==(e=i.firstElementChild)?void 0:e.childNodes:i.firstElementChild}}const US=33,DS=34,jS=1,zS="() <>|?=.0123456789[]〚〛",IS=new Zl(e=>{let t="";for(;!(e.next<0);){if(46===e.next&&"lost"===t)return e.advance(),void e.acceptToken(DS);const n=String.fromCharCode(e.next);if("~"===n&&"|"===String.fromCharCode(e.peek(1))||zS.indexOf(n)>-1)break;if(803===e.peek(1))break;t+=n,e.advance()}t.length>0&&e.acceptToken(US)}),BS=new Zl(e=>{let t=0;for(;!(e.next<0||zS.indexOf(String.fromCharCode(e.next))>-1);){if(803!==e.peek(1))break;t++,e.advance(2)}t>0&&e.acceptToken(jS)}),LS=Gl.deserialize({version:14,states:"(vOQOVOOOQOVO'#C_OQOVO'#C`OQOVO'#CaO!nOWO'#CbOQOVO'#CiO!yOVO'#CnO!yOVO'#CoO!yOVO'#CpOOOR'#Cr'#CrO$ZOSO'#CsO!yOVO'#CtOOOR'#D_'#D_OOOR'#Cu'#CuO$`OSO'#CwO!yOVO'#CyO!yOVO'#CyOOOR'#Ch'#ChOOOR'#DP'#DPOOOR'#Cz'#CzQQOVOOO$hOVO,58yO$oOVO,58zO$vOVO,58{OQOVO,58|OQOVO,59OOQOVO,59QO$}OVO,59TOOOR'#C{'#C{O%UOVO,59YO%]OVO,59ZO%dOVO,59[O%nOSO,59_O%sOVO,59`O%}OSO,59cO&SOVO,59eO&ZOcO,59eOOOR-E6x-E6xOOOR1G.e1G.eOOOR1G.f1G.fOOOR1G.g1G.gO&bOVO1G.hO&iOVO1G.jO&pOVO1G.lOOOR1G.o1G.oOOOR-E6y-E6yOOOR1G.t1G.tOOOR1G.u1G.uOOOR1G.v1G.vO&wOSO1G.vOOOR1G.y1G.yOOOR1G.z1G.zO&|OSO1G.zOOOR1G.}1G.}OOOR1G/P1G/POOOR7+$S7+$SOOOR7+$U7+$UOOOR7+$W7+$WOOOR7+$b7+$bOOOR7+$f7+$f",stateData:"'[~OPaO_aO`aOaaOj]OlaOq]Or^OtPOvQOxROySOzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OVhOXiOZjO~OPaO_aO`aOaaOj]OlaOq]Or^OzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OapO~OarOjrO~OuvO~PQOwwO~PQOwxO~PQO^|O~PQO|!OO~P!yO!O!PO~P!yOe!RO!Q!QO~P!yO!U!SO~Oe!UO!U!TO~P!yO!Z!VO~O!]!WO~P!yO!_!WO~P!yOw!XO~PQOw!YO~PQOw!ZO~PQO!Q![O~O!U!]O~Ol!WXZ_`aZ~",goto:"&X!SPPP!T!T!T!TP!TP!TP!g#XPPPP#X#X#XP#w#w#w#XP#XP#X$g%ZPPP%uPPPPPPPPPPPPP#XqbOPQRTdefghijkyz{pbOPQRTdefghijkyz{ilUVWZ_`mnoqst!ZaOPQRTUVWZ_`defghijkmnoqstyz{!Z[OPQRTUVWZ_`defghijkmnoqstyz{QdOQePQfQQgRQkT`udefgkyz{QyhQziR{jQmUQnVQoWQqZQs_Qt`]}mnoqstqcOPQRTdefghijkyz{",nodeNames:"⚠ Unclear Document Div Recto Verso Part PartId Fragment FragmentNum Column ColumnNum Inline Foreign ForeignEnd LineBreakWrapped LineBreak Number AbbrevUnresolved Abbrev Supplied CertLow GapUnknown Gap SuppliedLost Text QuestionMark LostLines Illegible Erasure",maxTerm:61,skippedNodes:[0],repeatNodeCount:2,tokenData:"-h~Rcpq!^xy!cyz#O!O!P#T!Q![$U!^!_(U!_!`)X!`!a)t!a!b)y!c!}'l!}#O*O#P#Q*s#T#`'l#`#a+Q#a#o'l#p#q,_#r#s-R&Fp&Fq-^&Fq&Fr-c~!cO!X~~!hQ}~!a!b!n#p#q!y~!qPyz!t~!yOe~~#OO{~~#TO!O~~#YQ!W~!Q![#`!a!b#|~#eQl~!Q![#`#`#a#k~#nP#]#^#q~#tP#b#c#w~#|Ol~~$RPl~#`#a#k~$ZSaT!O!P$g!Q![$U!c!}'l#T#o'l~$lT`Tpq${}!O%Q#V#W%_#Y#Z&S#d#e'TT%QO`T~%VP_~pq%Y~%_O_~Q%bP#c#d%eQ%hP#`#a%kQ%nP#i#j%qQ%tP#a#b%wQ%zP#b#c%}Q&SOZQ~&VP#f#g&Y~&]P#T#U&`~&cP#Z#[&f~&iP#a#b&l~&oP#X#Y&r~&uP#b#c&x~&{P#h#i'O~'TOX~Q'WP#T#U'ZQ'^P#f#g'aQ'dP#h#i'gQ'lOVQQ'oS!O!P'{!Q!['l!c!}'l#T#o'lQ(OQ#V#W%_#d#e'T~(ZQ!P~!_!`(a!f!g(f~(fOt~~(iP!_!`(l~(oP!O!P(r~(wQy~#f#g(}#j#k)S~)SOv~~)XOx~~)^Q!Y~!`!a)d!f!g)i~)iOu~~)lP!`!a)o~)tOw~~)yO!Q~~*OOj~~*TQ!V~!O!P*Z!}#O*n~*`P!T~!a!b*c~*fP#P#Q*i~*nO!S~~*sO!^~T*xP!UP#P#Q*{S+QO!_SR+TU!O!P'{!Q!['l!c!}'l#T#]'l#]#^+g#^#o'lR+jU!O!P'{!Q!['l!c!}'l#T#b'l#b#c+|#c#o'lR,RS!ZP!O!P'{!Q!['l!c!}'l#T#o'l~,bQyz,h#r#s,m~,mO|~~,pQ!c!},v#T#o,v~,{Q^~!c!},v#T#o,v~-UP#p#q-X~-^Oz~~-cO![~~-hO!]~",tokenizers:[IS,BS,0,1,2],topRules:{Document:[0,2]},tokenPrec:279}),GS=["Recto","Verso","Fragment","Part","Div"];function NS(e,t){return e.substring(t.from,t.to)}function FS(e,t=LS.parse(e)){const n=[],i=[];let r,s=!1,o="ab";return t.iterate({enter:t=>{if(t.type.isError)return void i.push(`\x3c!-- Error:${NS(e,t)} --\x3e`);const a=t.name;switch(a){case"Document":let l=!1;if(t.firstChild())do{GS.includes(t.type.name)||(l=!/^[\s\n]+$/.test(NS(e,t)))}while(t.nextSibling());s=l,s&&i.push(`<${o}>\n`),t.parent();break;case"Text":case"Number":i.push(NS(e,t));break;case"LineBreak":t.firstChild(),r=/^([0-9]+)\..*$/.exec(NS(e,t)),i.push(`<lb n="${r?r[1]:""}"/>`);break;case"LineBreakWrapped":t.firstChild(),r=/^([0-9]+)\..*$/.exec(NS(e,t)),i.push(`<lb n="${r?r[1]:""}" break="no"/>`);break;case"Div":i.push("<ab>");break;case"Recto":i.push('<div n="r" type="textpart">');break;case"Verso":i.push('<div n="v" type="textpart">');break;case"Fragment":t.firstChild(),r=/^([0-9]+)\..*$/.exec(NS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="fragment" type="textpart">`);break;case"Part":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(NS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="part" type="textpart">`);break;case"Column":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(NS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="column" type="textpart">`);break;case"Foreign":t.lastChild(),r=/^\|\~(.*)$/.exec(NS(e,t)),i.push(`<foreign xml:lang="${r?r[1]:""}">`),t.parent();break;case"Unclear":const h=NS(e,t);let c="";for(let e=0;e<h.length;e++){const t=h.codePointAt(e);t&&803!==t&&(c+=String.fromCodePoint(t))}return i.push(`<unclear>${c}</unclear>`),!1;case"Gap":return t.next(!0),i.push(`<gap reason="lost" quantity="${NS(e,t)}" unit="character"/>`),!1;case"GapUnknown":return i.push('<gap reason="lost" extent="unknown" unit="character"/>'),!1;case"Illegible":return r=/^\.([0-9?]+)(lin)?$/.exec(NS(e,t)),r&&("lin"===r[2]?i.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="line"/>`):"?"===r[1]?i.push('<gap reason="illegible" extent="unkown" unit="character"/>'):i.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="character"/>`)),!1;case"Erasure":i.push('<del rend="erasure">');break;case"LostLines":return r=/^lost\.([0-9?]+)lin$/.exec(NS(e,t)),r&&("?"===r[1]?i.push('<gap reason="lost" extent="unknown" unit="line"/>'):i.push(`<gap reason="lost" quantity="${r?r[1]:""}" unit="line"/>`)),!1;case"AbbrevUnresolved":i.push("<abbr>");break;case"Abbrev":n.length>0?(t.lastChild(),r=NS(e,t),r.length>0&&"?"===r.charAt(r.length-1)?i.push('<ex cert="low">'):i.push("<ex>"),t.parent()):i.push("<expan>"),n.push("expan");break;case"Supplied":t.lastChild(),"CertLow"===t.name?i.push('<supplied reason="omitted" cert="low">'):i.push('<supplied reason="omitted">'),t.parent();break;case"SuppliedLost":t.lastChild(),"CertLow"===t.name?i.push('<supplied reason="lost" cert="low">'):i.push('<supplied reason="lost">'),t.parent();break;case"ForeignEnd":case"CertLow":return!1;case"QuestionMark":return n.length<2&&i.push("?"),!1;case"Inline":break;default:i.push(`<${a}>`)}},leave:e=>{switch(e.name){case"Document":s&&i.push(`\n</${o}>`);break;case"AbbrevUnresolved":i.push("</abbr>");break;case"Abbrev":if(n.length>1){const e=i[i.length-1];e.endsWith("?")&&(i[i.length-1]=e.substring(0,e.length-2)),i.push("</ex>")}else i.push("</expan>");n.pop();break;case"Div":i.push("</ab>");break;case"Recto":case"Verso":case"Fragment":case"Part":case"Column":i.push("</div>\n");break;case"Supplied":case"SuppliedLost":i.push("</supplied>");break;case"Erasure":i.push("</del>");break;case"Foreign":i.push("</foreign>")}}}),"Inline"===t.type.name&&i.push("</ab>"),i.join("")}const HS=sc.define({parser:LS.configure({props:[rh({Number:Ph.number,"LineBreak LineBreakWrapped":Ph.contentSeparator,"Div Recto Verso Part Fragment":Ph.keyword,"Abbrev!":Ph.integer,"( ) [ ]":Ph.paren,"Supplied!":Ph.comment,"SuppliedLost!":Ph.comment,"Unclear!":Ph.bool})]}),languageData:{closeBrackets:{brackets:["(","[","{","<"]}}});function JS(){return new gc(HS)}function KS(e,t){for(let n=0;n<e.childNodes.length;n++)eb(e.childNodes[n],t)}function eb(e,t){if(e)switch(e.nodeType){case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:eb(e.firstElementChild,t);break;case Node.ELEMENT_NODE:const n=e;let i;switch(n.localName){case"ab":t.push("<="),KS(n,t),t.push("=>");break;case"abbr":t.push("(|"),KS(n,t),t.push("|)");break;case"del":t.push("〚"),KS(n,t),t.push("〛");break;case"div":i=n.getAttribute("n");"column"===n.getAttribute("subtype")?t.push(`<D=.${i}.column`):t.push("<D=."+i),KS(n,t),t.push("=D>\n");break;case"expan":case"ex":const e=n.getAttribute("cert");t.push("("),KS(n,t),"low"===e&&t.push("?"),t.push(")");break;case"gap":tb(n,t);break;case"lb":i=n.getAttribute("n"),t.length>0&&!/\n+$/.test(t[t.length-1])&&t.push("\n"),t.push(i+". ");break;case"supplied":nb(n,t);break;case"unclear":const r=n.textContent||"";let s="";for(let e=0;e<r.length;e++){const t=r.codePointAt(e);t&&(s+=String.fromCodePoint(t),s+=String.fromCodePoint(803))}t.push(s);break;case"foreign":t.push("~|"),KS(n,t),t.push("|~"+n.getAttribute("xml:lang"));break;default:KS(n,t)}break;case Node.TEXT_NODE:t.push(e.nodeValue||"")}}function tb(e,t){const n=e.getAttribute("unit"),i=e.getAttribute("quantity"),r=e.getAttribute("reason");if(r)switch(r){case"lost":switch(n){case"character":i?t.push(`[.${i}]`):t.push("[.?]");break;case"line":i?t.push(`lost.${i}lin`):t.push("lost.?lin")}break;case"illegible":switch(n){case"character":i?t.push("."+i):t.push(".?");break;case"line":i&&t.push(`.${i}lin`)}}}function nb(e,t){const n=e.getAttribute("reason");if(n){const i=e.getAttribute("cert");switch(n){case"omitted":t.push("<"),KS(e,t),i&&"low"===i&&t.push("(?)"),t.push(">");break;case"lost":default:t.push("["),KS(e,t),i&&"low"===i&&t.push("(?)"),t.push("]")}}}function ib(e){if(!(e instanceof Element))return"";const t=[];let n=e.querySelectorAll("cb");if(n.length>0){n=(e=e.cloneNode(!0)).querySelectorAll("cb");for(let i=0;i<=n.length;i++){const r=document.createRange();0===i?r.setStart(e,0):r.setStartAfter(n[i-1]),i===n.length?e.lastChild&&r.setEndAfter(e.lastChild):r.setEndBefore(n[i]);const s=document.createElement("div");s.setAttribute("type","textpart"),s.setAttribute("subtype","column"),s.setAttribute("n",(i+1).toString());const o=document.createElement("ab");s.appendChild(o),o.appendChild(r.extractContents()),eb(s,t)}}else eb(e,t);return t.join("")}var rb=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const sb=e=>t=>{function n(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:i,composed:!0,bubbles:!0}))}const i=[],r=oc(t.state);let s=0,o=!1;return r.iterate({enter:e=>{"Abbrev"===e.name?s+=1:e.type.isError&&i.push({message:"Syntaxfehler",severity:"error",from:e.from,to:e.to})},leave:e=>{"Abbrev"===e.name&&(2===s?o=!0:o||i.push({message:'Invalid abbreviation. Abbreviations must\nuse double parenthesis, e.g. "(C(aesar))"',severity:"error",from:e.from,to:e.to}),s-=1,0===s&&(o=!1))}}),n(0===i.length),i},ob=e=>(e.dispatch(e.state.changeByRange(t=>{const n=e.state.doc.slice(t.from,t.to).toString();let i="";for(let e=0;e<n.length;e++)e+1<n.length&&803===n.charCodeAt(e+1)?(i+=n.charAt(e),e++):i+=n.charAt(e)+"̣";return{changes:[{from:t.from,to:t.to,insert:i}],range:W.range(t.from,t.from+i.length)}})),!0),ab=e=>{const t=e.state.doc.toString();let n;if(-1!==t.indexOf("/")){n=t.split(/(?<!\/)\/(?!\/)/).map((e,t)=>`${t+1}. ${e.replace(/^\s+/,"")}`).join("\n")}else{let e=0;n=t.replace(/^(?!\d+\.)/gm,()=>(e+=1,e+". "))}return e.dispatch({changes:[{from:0,to:e.state.doc.length,insert:n}]}),!0},lb={expan:e=>(e.state.selection.ranges.forEach(t=>{const n=e.state.doc.slice(t.from,t.to).toString();let i="",r="";n.length>0&&(i=n.charAt(0),r=n.substring(1));Ig(`(\${1:${i}}(\${2:${r}}))\${3}`)(e,{label:""},t.from,t.to)}),!0),div:yS("<=\n","\n=>"),fragment:vS("<D=.${1:1}.fragment<=\n${2}\n=>=D>"),part:vS("<D=.${1:A}.part<=\n${2}\n=>=D>"),recto:yS("<D=.r<=\n","\n=>=D>"),verso:yS("<D=.v<=\n","\n=>=D>"),erasure:yS("〚","〛"),foreign:vS("~|${_}|~${gr}"),unclear:ob,fixNewlines:ab,snippet:{create:e=>vS(e)}},hb=[{key:"Ctrl-Shift-e",mac:"Cmd-Shift-e",run:lb.expan},{key:"Ctrl-Shift-a",mac:"Cmd-Shift-a",run:lb.div},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:lb.fragment},{key:"Ctrl-Shift-p",mac:"Cmd-Shift-p",run:lb.part},{key:"Ctrl-Shift-r",mac:"Cmd-Shift-r",run:lb.recto},{key:"Ctrl-Shift-v",mac:"Cmd-Shift-v",run:lb.verso},{key:"Ctrl-Shift-d",mac:"Cmd-Shift-d",run:lb.erasure},{key:"Ctrl-Shift-u",mac:"Cmd-Shift-u",run:lb.unclear},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:lb.foreign}];class cb extends kS{constructor(e,t){super(e,t,lb)}getExtensions(){return rb(this,null,(function*(){return[JS(),Um(sb(this.editor)),Ts.of(hb),oS()]}))}getCommands(){return lb}onUpdate(e,t){return FS(t,e)}serialize(){return this.editor.content}setFromValue(e){if(!e)return"";if(e instanceof NodeList){const t=[];return e.forEach(e=>t.push(ib(e))),t.join("")}return e instanceof Element?ib(e):super.setFromValue(e)}}function ub(e,t){const n=1;(e=(e=e.toString().replace(/\t+/g,"")).replace(/\r/g,"")).toString().length-e.toString().lastIndexOf(" ")==1&&(e=e.toString().substring(0,e.toString().lastIndexOf(" ")));{e='<lb n="'+n.toString()+'"/>'+e;const i=/(\-|-?|\=?)\s?\n/g;let r=n-1;if(e=(e=e.replace(i,(function(e,t){return"-"===t||"="===t?'\n<lb n="'+(2+r++)+'" break="no"/>':'\n<lb n="'+(2+r++)+'"/>'}))).replace(/(\<lb n=\"[0-9]*\"\/\>)\[(\s?—\s?){3,50}\]\n(\<lb n=\"[0-9]*\"\/\>)/g,'$1<gap reason="illegible" quantity="1" unit="line"/>\n$3'),t==bS.edcs){r=0,e=e.replace(/(\s)?(\/\/)(?!\>)(\s)?/g,(function(e){if("/"===e[0])var t=' break="no"';else t="";return'\n<cb n="'+(2+r++)+'"'+t+"/>"}));const t=/(\s)?(\/{1})(?!\>)(\s)?/g;r=0,e=e.replace(t,(function(e){if("/"===e[0])var t=' break="no"';else t="";return console.log("BreakNo = "+t),console.log("Match 0= "+e[0]),'\n<lb n="'+(2+r++)+'"'+t+"/>"}))}t==bS.phi&&(e=(e=(e=e.replace(/#⁷/g,'<gap reason="illegible" quantity="1" unit="character"/>')).replace(/#⁷#⁷#⁷/g,'<gap reason="illegible" quantity="3" unit="character"/>')).replace(/#⁵⁶/g,'<g type="interpunct">▴</g>'));const s=/\n<lb n=\'([0-9])\'\/>\1\s/g,o='\n<lb n="$1"/>',a=/(\"[0-9]{1,3}\"\/>)([0-9]{1,3})/g,l="$1";e=(e=e.replace(s,o)).replace(a,l)}const i=/\<([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)\>/g,r='<supplied reason="omitted">$1</supplied>',s=/⟨([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)⟩/g,o='<supplied reason="omitted">$1</supplied>';if(e=(e=e.replace(i,r)).replace(s,o),t==bS.edcs){const t=/\<([^\x00-\x7F]*[aA-zZ]*)(\=)([^\x00-\x7F]*[aA-zZ]*)(?!\/)\>/g,n="<choice><corr>$1</corr><sic>$3</sic></choice>";e=(e=(e=(e=(e=(e=(e=(e=e.replace(t,n)).replace(/\[6\]/g,'<gap reason="lost" quantity="1" unit="line"/>')).replace(/\[3\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[3\s([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$1</supplied>')).replace(/\[3\s/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\s3\s/g," - - - ")).replace(/\s3\]/g," - - -]")).replace(/a\(\)/g,"<abbr>a</abbr>")}let a=/\[(\–|\-)\s?(\–|\-)\s?(\–|\-)\]/g;e=(e=(e=e.replace(/\(\!\)/g,"<note>!</note>")).replace(/\(sic\)/g,"<note>sic</note>")).replace(a,(function(e,t){return'<gap reason="lost" extent="unknown" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){e.length;return'<gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){e.length;return'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){e.length;return'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\[((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\[((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/\s((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\s((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\])/g;let l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan>';e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)((-)([1-9][0-9]*))(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" atLeast="$3" atMost="$6" unit="character"/>')).replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/(?:\s|\n)\(([^\x00-\x7F]*[aA-zZ]*)\)/g," <expan><ex>$1</ex></expan>")).replace(/\[{2}/g,"⟦")).replace(/\]{2}/g,"⟧")).replace(/\[([^\x00-\x7F]*[aA-zZ]*[^\]])\]([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*[^\]])(〛|⟧|]])([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/\[(\w*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(\w*?)\](?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/<supplied reason=\"lost\"><\/supplied>/g,"")).replace(/(?:⟦|〚)(.*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(.*?)(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<del rend="erasure">$1</del><gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</del>')).replace(/(?:\s)\[(.*?)\](?:\n)/g,' <supplied reason="lost">$1</supplied>\n')).replace(/(?:\s)\[(.*)\](?:\s)/g,' <supplied reason="lost">$1</supplied> ')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\n)/g,' <del rend="erasure">$1</del>\n')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\s)/g,' <del256 rend="erasure">$1</del> ')).replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)(?:⟦|〚)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(?:⟧|〛)/g,l='<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\s)?([^\x00-\x7F]*[aA-zZ]*)?(\s)?(\])/g,l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan><supplied reason="lost">$4$5</supplied>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/([^\x00-\x7F]*?[aA-zZ]*?[^>])?\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])\](?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?[^\s][^>])?(?:\s?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del>')).replace(/([^\x00-\x7F]*?[aA-zZ]+)\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)\](?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied><expan><abbr><supplied reason="lost">$5</supplied>$6</abbr><ex>$7</ex></expan>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)(?:⟧|〛)(?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del><expan><abbr><del rend="erasure">$5</del>$6</abbr><ex>$7</ex></expan>')).replace(/<supplied reason="lost"> (?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20} <\/supplied>/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/<supplied reason=\"lost\">(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit="character"\/>)<\/supplied>/g,"$1")).replace(/\[(.[^\[\-\–\—]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<supplied reason="lost">$1</supplied>')).replace(/(?:⟦|〚)(.[^\[]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<del rend="erasure">$1</supplied>')).replace(/(?:\s)\[((.[^\.<])*)\s/g,' <supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>')).replace(/(?!([^\x00-\x7F]*[aA-zZ]*))(\s)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)\]/g,'$1<supplied reason="lost"><expan><abbr>$2</abbr><ex>$3</ex></expan></supplied>')).replace(/(\s)([^\x00-\x7F]*?[aA-zZ]*?)\]([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'$1</supplied><expan><abbr><supplied reason="lost">$2</supplied>$3</abbr><ex>$4</ex></expan>')).replace(/(\s)([^\x00-\x7F]+[aA-zZ]+)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,' <expan><abbr>$2<supplied reason="lost">$3</supplied></abbr><ex>$4</ex></expan> <supplied reason="lost">')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)\(\?\)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost" cert="low">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(a,l),a=/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)?(〛|⟧|]])/g,l='<del rend="erasure"><expan><abbr>$2</abbr><ex>$3</ex></expan>$4</del>',e=e.replace(a,l),a=/\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(])/g,l='<supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\?\)/g;const h='<expan><abbr>$1</abbr><ex cert="low">$2</ex></expan>';e=e.replace(a,h),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*\(([^\x00-\x7F]*[aA-zZ]*)\)/g,l="<expan><abbr>$1</abbr><ex>$2</ex><abbr>$3</abbr><ex>$4</ex></expan>",e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*/g,l="<expan><abbr>$1</abbr><ex>$2</ex>$3</expan>";const c=/\[/g,u='<supplied reason="lost">',f=/\]/g,d="</supplied>";e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(a,l)).replace("</expan><expan><abbr>","<abbr>")).replace("\n[------]",'<gap unit="line" />')).replace(/(-){6}/g,'<gap unit="line" />')).replace(/\[(—\s?)*\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[---\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[— — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[— — — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(-|–\s?){1,20}ca\.(\s?)([1-9][0-9]*)?(\s?)(-|–\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\------\?/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\------\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\---\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/(?:⟦|〚)(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)(?:⟧|〛)/g,'<gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</supplied>')).replace(/\[(?!([\-\–\—]))(((?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*(\s?)){1,10})(([\-\—\–])\s?){1,20}\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/(([\-\—\–])\s?){1,20}\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/<expan><abbr>\[/g,'<supplied reason="lost"><expan><abbr>')).replace(/<\/expan> <\/supplied></g,"</expan></supplied> <")).replace(/<supplied reason=\"lost\"><expan><abbr>([^\x00-\x7F]*?[aA-zZ]*?)\]/g,'<expan><abbr><supplied reason="lost">$1</supplied>')).replace(/<expan><abbr><\/abbr><ex>/g,"<expan><ex>")).replace(c,u)).replace(f,d);const O=/([+])+/g,p=/\[(․{1,20})\]/g,g=/(hed\.)̣/gi,m='<g type="hedera">❦</g>',S=/vac\./gi,b='<space extent="unknown" unit="character"/>',y=/\{([^\x00-\x7F]*[aA-zZ]*)\}/g,x="<surplus>$1</surplus>";a=/(〚)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(〛)/gm,l='<del rend="erasure">$2</del>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<\/ex><\/supplied><\/expan>/g,"</ex></expan></supplied>")).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/<supplied reason=\"lost\">((\s?(\-|\—|\–)\s?){1,20})/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"><\/supplied><gap reason=\"lost\" extent=\"unknown\" unit=\"character\"\/><supplied reason=\"lost\"><\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"> <\/supplied>/g,"")).replace(/<del rend=\"erasure\">\s?<\/del>/g,"")).replace(/<\/supplied>\s?<\/supplied>/g,"</supplied>")).replace(/\/><\/supplied><gap/g,"/><gap")).replace(/\[(?!([\-\–\—]))((?:\s?(?:(?!(?:[\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ](?!\s)*)){1,10})(?:(?:\s?[\-\—\–])\s?){1,20}((?:(?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*))\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$3</supplied>')).replace(/(\s?([\-\—\–])\s?){1,20}/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\[(.[^\[]*)(\s)([^\x00-\x7F]*[aA-zZ]*)\]([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'<supplied reason="lost">$1</supplied><expan><abbr><supplied reason="lost">$3</supplied>$4</abbr><ex>$5</ex></expan>')).replace(O,(function(e){return console.log("Ici match:"+e.length),'<gap reason="illegible" quantity="'+e.length+'" unit="character"/>'}))).replace(p,(function(e){console.log("Ici match:"+e.length);return'<gap reason="illegible" quantity="'+(e.length-2)+'" unit="character"/>'}))).replace(/<supplied reason=\"lost\"> <gap/g," <gap")).replace(g,m)).replace(S,b)).replace(y,x)).replace(a,l),a=/(⟦)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(⟧)/gm,l='<del rend="erasure">$2</del>',e=e.replace(a,l),a=/(\[){2}(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\]){2}/gm,l='<del rend="erasure">$2</del>';const v=/(\[)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\])/gm,Q='<supplied reason="lost">$2</supplied>';e=(e=e.replace(a,l)).replace(v,Q),a=new RegExp("a","u");const w=/(\[)([^\x00-\x7F]*[aA-zZ]*\s?[^\x00-\x7F]*[aA-zZ]*)(---)?(\])/g,k='<supplied reason="lost">$2</supplied><gap reason="lost" />',$=/([^\x00-\x7F]?[aA-zZ]?)̣/g,P="<unclear>$1</unclear>",C=/(\<\/unclear\>\<unclear\>)/g,T="";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(w,k)).replace($,P)).replace(C,T)).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<\/supplied>/g,"$1")).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" quantity=\"[0-9]*\" unit=\"character\" precision=\"low\"\/>)<\/supplied>/g,"$1")).replace(/(\/\>)\s(\<lb n=\"[0-9]*\"\/\>)/g,"$1\n$2")).replace(/unit=\"line\"\/>\s(\w)/g,'unit="line"/>$1')).replace(/ ?∙ ?/g,' <g type="interpunct">▴</g> ')).replace(/ ?𐆖 ?/g,' <g type="denarius"/> ')).replace(/❦/g,' <g type="hedera">❦</g> ')).replace(/\s\s/g," ")).replace(/ {2,99}/g,"")}var fb=Object.defineProperty,db=Object.defineProperties,Ob=Object.getOwnPropertyDescriptors,pb=Object.getOwnPropertySymbols,gb=Object.prototype.hasOwnProperty,mb=Object.prototype.propertyIsEnumerable,Sb=(e,t,n)=>t in e?fb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bb=(e,t)=>{for(var n in t||(t={}))gb.call(t,n)&&Sb(e,n,t[n]);if(pb)for(var n of pb(t))mb.call(t,n)&&Sb(e,n,t[n]);return e},yb=(e,t)=>db(e,Ob(t)),xb=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});function vb(e,t){const n=`<ab>${ub(e,t)}\n</ab>`,i=(new DOMParser).parseFromString(n,"application/xml");if(!i.firstElementChild)return"";return i.querySelector("parsererror")?null:ib(i.firstElementChild)}const Qb=(e,t)=>n=>{const i=vb(n.state.doc.toJSON().join("\n"),t);return i?(e._value=i,e.mode="leiden_plus"):alert("Conversion failed due to invalid XML!"),!0},wb={erasure:yS("[[","]]"),gap:xS("[---]")};class kb extends kS{constructor(e,t=[],n){super(e,t,yb(bb({},wb),{convert:Qb(e,n)})),this._sourceType=n}getExtensions(){return xb(this,null,(function*(){return[oS()]}))}onUpdate(e,t){return`<ab>\n${ub(t,this._sourceType)}\n</ab>`}serialize(){return this.editor.content}}var $b=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},i={type:"axis_specifier",style:"qualifier"},r={",":{type:"punctuation",style:null}},s=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],o=0,a=s.length;o<a;o++)r[s[o]]=e(s[o]);var l=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"];for(o=0,a=l.length;o<a;o++)r[l[o]]=n;var h=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"];for(o=0,a=h.length;o<a;o++)r[h[o]]=t;var c=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"];for(o=0,a=c.length;o<a;o++)r[c[o]]=i;return r}();function Pb(e,t,n){return t.tokenize=n,n(e,t)}function Cb(e,t){var n=e.next(),i=!1,r=Ub(e);if("<"==n){if(e.match("!--",!0))return Pb(e,t,Vb);if(e.match("![CDATA",!1))return t.tokenize=Rb,"tag";if(e.match("?",!1))return Pb(e,t,_b);var s=e.eat("/");e.eatSpace();for(var o,a="";o=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)a+=o;return Pb(e,t,Zb(a,s))}if("{"==n)return jb(t,{type:"codeblock"}),null;if("}"==n)return zb(t),null;if(Yb(t))return">"==n?"tag":"/"==n&&e.eat(">")?(zb(t),"tag"):"variable";if(/\d/.test(n))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===n&&e.eat(":"))return jb(t,{type:"comment"}),Pb(e,t,Tb);if(r||'"'!==n&&"'"!==n){if("$"===n)return Pb(e,t,Xb);if(":"===n&&e.eat("="))return"keyword";if("("===n)return jb(t,{type:"paren"}),null;if(")"===n)return zb(t),null;if("["===n)return jb(t,{type:"bracket"}),null;if("]"===n)return zb(t),null;var l=$b.propertyIsEnumerable(n)&&$b[n];if(r&&'"'===n)for(;'"'!==e.next(););if(r&&"'"===n)for(;"'"!==e.next(););l||e.eatWhile(/[\w\$_-]/);var h=e.eat(":");!e.eat(":")&&h&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(i=!0);var c=e.current();return l=$b.propertyIsEnumerable(c)&&$b[c],i&&!l&&(l={type:"function_call",style:"def"}),qb(t)?(zb(t),"variable"):("element"!=c&&"attribute"!=c&&"axis_specifier"!=l.type||jb(t,{type:"xmlconstructor"}),l?l.style:"variable")}return Pb(e,t,Ab(n))}function Tb(e,t){for(var n,i=!1,r=!1,s=0;n=e.next();){if(")"==n&&i){if(!(s>0)){zb(t);break}s--}else":"==n&&r&&s++;i=":"==n,r="("==n}return"comment"}function Ab(e,t){return function(n,i){var r;if(Eb(i)&&n.current()==e)return zb(i),t&&(i.tokenize=t),"string";if(jb(i,{type:"string",name:e,tokenize:Ab(e,t)}),n.match("{",!1)&&Mb(i))return i.tokenize=Cb,"string";for(;r=n.next();){if(r==e){zb(i),t&&(i.tokenize=t);break}if(n.match("{",!1)&&Mb(i))return i.tokenize=Cb,"string"}return"string"}}function Xb(e,t){var n=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(n),e.match(":=",!1)||e.eat(":");return e.eatWhile(n),t.tokenize=Cb,"variable"}function Zb(e,t){return function(n,i){return n.eatSpace(),t&&n.eat(">")?(zb(i),i.tokenize=Cb,"tag"):(n.eat("/")||jb(i,{type:"tag",name:e,tokenize:Cb}),n.eat(">")?(i.tokenize=Cb,"tag"):(i.tokenize=Wb,"tag"))}}function Wb(e,t){var n=e.next();return"/"==n&&e.eat(">")?(Mb(t)&&zb(t),Yb(t)&&zb(t),"tag"):">"==n?(Mb(t)&&zb(t),"tag"):"="==n?null:'"'==n||"'"==n?Pb(e,t,Ab(n,Wb)):(Mb(t)||jb(t,{type:"attribute",tokenize:Wb}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(zb(t),t.tokenize=Cb),"attribute")}function Vb(e,t){for(var n;n=e.next();)if("-"==n&&e.match("->",!0))return t.tokenize=Cb,"comment"}function Rb(e,t){for(var n;n=e.next();)if("]"==n&&e.match("]",!0))return t.tokenize=Cb,"comment"}function _b(e,t){for(var n;n=e.next();)if("?"==n&&e.match(">",!0))return t.tokenize=Cb,"processingInstruction"}function Yb(e){return Db(e,"tag")}function Mb(e){return Db(e,"attribute")}function qb(e){return Db(e,"xmlconstructor")}function Eb(e){return Db(e,"string")}function Ub(e){return'"'===e.current()?e.match(/^[^\"]+\"\:/,!1):"'"===e.current()&&e.match(/^[^\"]+\'\:/,!1)}function Db(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function jb(e,t){e.stack.push(t)}function zb(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||Cb}const Ib={name:"xquery",startState:function(){return{tokenize:Cb,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};var Bb=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const Lb=(e,t)=>n=>{const i=[];function r(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:i,composed:!0,bubbles:!0}))}return t?0===n.state.doc.length?(r(!0),Promise.resolve(i)):new Promise(e=>fetch(t,{method:"POST",headers:{"Content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:n.state.doc.toString()||""}).toString()}).then(e=>e.json()).then(t=>{if("fail"===t.status){const e=n.state.doc.lineAt(t.line);i.push({message:t.message,severity:"error",from:e.from+t.column,to:e.from+e.length})}e(i),r(0===i.length)})):Promise.resolve(i)};class Gb extends kS{constructor(e,t=[],n=null){super(e,t),this.linterUri=n}getExtensions(e){return Bb(this,null,(function*(){return[Yu.define(Ib),Um(Lb(e,this.linterUri)),oS()]}))}serialize(){return this.editor.content}}const Nb=94,Fb=1,Hb=95,Jb=96,Kb=2,ey=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],ty=58,ny=40,iy=95,ry=91,sy=45,oy=46,ay=35,ly=37;function hy(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function cy(e){return e>=48&&e<=57}const uy=new Zl((e,t)=>{for(let n=!1,i=0,r=0;;r++){let{next:s}=e;if(!(hy(s)||s==sy||s==iy||n&&cy(s))){n&&e.acceptToken(s==ny?Hb:2==i&&t.canShift(Kb)?Kb:Jb);break}!n&&(s!=sy||r>0)&&(n=!0),i===r&&s==sy&&i++,e.advance()}}),fy=new Zl(e=>{if(ey.includes(e.peek(-1))){let{next:t}=e;(hy(t)||t==iy||t==ay||t==oy||t==ry||t==ty||t==sy)&&e.acceptToken(Nb)}}),dy=new Zl(e=>{if(!ey.includes(e.peek(-1))){let{next:t}=e;if(t==ly&&(e.advance(),e.acceptToken(Fb)),hy(t)){do{e.advance()}while(hy(e.next));e.acceptToken(Fb)}}}),Oy=rh({"AtKeyword import charset namespace keyframes media supports":Ph.definitionKeyword,"from to selector":Ph.keyword,NamespaceName:Ph.namespace,KeyframeName:Ph.labelName,TagName:Ph.tagName,ClassName:Ph.className,PseudoClassName:Ph.constant(Ph.className),IdName:Ph.labelName,"FeatureName PropertyName":Ph.propertyName,AttributeName:Ph.attributeName,NumberLiteral:Ph.number,KeywordQuery:Ph.keyword,UnaryQueryOp:Ph.operatorKeyword,"CallTag ValueName":Ph.atom,VariableName:Ph.variableName,Callee:Ph.operatorKeyword,Unit:Ph.unit,"UniversalSelector NestingSelector":Ph.definitionOperator,MatchOp:Ph.compareOperator,"ChildOp SiblingOp, LogicOp":Ph.logicOperator,BinOp:Ph.arithmeticOperator,Important:Ph.modifier,Comment:Ph.blockComment,ParenthesizedContent:Ph.special(Ph.name),ColorLiteral:Ph.color,StringLiteral:Ph.string,":":Ph.punctuation,"PseudoOp #":Ph.derefOperator,"; ,":Ph.separator,"( )":Ph.paren,"[ ]":Ph.squareBracket,"{ }":Ph.brace}),py={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},gy={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},my={__proto__:null,not:128,only:128,from:158,to:160},Sy=Gl.deserialize({version:14,states:"7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<<HaO7rQWO,5;TOOQP1G/U1G/UOOQS-E8S-E8SO$vQdO'#EVO7zQWO,5;QOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO8SQdO7+%ZOOQO7+%b7+%bOOQS,5:v,5:vOOQS-E8Y-E8YOOQS1G0S1G0SO8ZQtO,5:sOOQS-E8V-E8VOOQO<<Hm<<HmOOQPAN={AN={O9XQdO,5:qOOQO-E8T-E8TOOQO<<Hu<<Hu",stateData:"9i~O#UOSROS~OUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SQO#XSO~OQeOUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SdO#XSO~O#P#^P~P!ZO#SiO~O]nO^nOplOtoOxpO|qO!PsO#QrO#XkO~O!RtO~P#kO`zO#RwO#SvO~O#S{O~O#S}O~OQ!WOb!QOf!WOh!WOn!VO#R!TO#S!PO#[!RO~Ob!YO!b![O!e!]O#S!XO!R#_P~Oh!bOn!VO#S!aO~O#S!dO~Ob!YO!b![O!e!]O#S!XO~O!W#_P~P%bO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#QWX#XWX~O]!iO~O!W!jO#P#^X!Q#^X~O#P#^X!Q#^X~P!ZOUXOXXO]UO^UOtVOxWO#SQO#XSO~OplO!RtO~O`!sO#RwO#SvO~O!Q#^P~P!ZOb!zO~Ob!{O~Ov!|Oz!}O~OP#PObgXjgX!WgX!bgX!egX#SgXagXQgXfgXhgXngXpgX!VgX#PgX#RgX#[gXvgX!QgX~Ob!YOj#QO!b![O!e!]O#S!XO!W#_P~Ob#TO~Ob!YO!b![O!e!]O#S#UO~Op#YO!`#XO!R#_X!W#_X~Ob#]O~Oj#QO!W#_O~O!W#`O~Oh#aOn!VO~O!R#bO~O!RtO!`#XO~O!RtO!W#eO~O!W!|X#P!|X!Q!|X~P!ZO!W!jO#P#^a!Q#^a~O]nO^nOtoOxpO|qO!PsO#QrO#XkO~Op!za!R!zaa!za~P-bOv#lOz#mO~O]nO^nOtoOxpO#XkO~Op{i|{i!P{i!R{i#Q{ia{i~P.cOp}i|}i!P}i!R}i#Q}ia}i~P.cOp!Oi|!Oi!P!Oi!R!Oi#Q!Oia!Oi~P.cO!Q#nO~Oa#]P~P'yOa#YP~P$vOa#uOj#QO~O!W#wO~Oh#xOo#xO~O]!^Xa![X!`![X~O]#yO~Oa#zO!`#XO~Op#YO!R#_a!W#_a~O!`#XOp!aa!R!aa!W!aaa!aa~O!W$PO~O!Q$TO!q$RO!r$RO#[$QO~Oj#QOp$VO!V$XO!W!Ti#P!Ti!Q!Ti~P$vO!W!|a#P!|a!Q!|a~P!ZO!W!jO#P#^i!Q#^i~Oa#]X~P#kOa$]O~Oj#QOQ!xXa!xXb!xXf!xXh!xXn!xXp!xX#R!xX#S!xX#[!xX~Op$_Oa#YX~P$vOa$aO~Oj#QOv$bO~Oa$cO~O!`#XOp!}a!R!}a!W!}a~Oa$eO~P-bOP#PO!RgX~O!Q$hO!q$RO!r$RO#[$QO~Oj#QOQ!{Xb!{Xf!{Xh!{Xn!{Xp!{X!V!{X!W!{X#P!{X#R!{X#S!{X#[!{X!Q!{X~Op$VO!V$kO!W!Tq#P!Tq!Q!Tq~P$vOj#QOv$lO~OplOa#]a~Op$_Oa#Ya~Oa$oO~P$vOj#QOQ!{ab!{af!{ah!{an!{ap!{a!V!{a!W!{a#P!{a#R!{a#S!{a#[!{a!Q!{a~Oa!yap!ya~P$vOo#[j!Pj~",goto:",`#aPPPPP#bP#k#zP#k$Z#kPP$aPPP$g$p$pP%SP$pP$p%j%|PPP&f&l#kP&rP#kP&xP#kP#k#kPPP'O'b'oPP#bPP'v'v(Q'vP'vP'v'vP#bP#bP#bP(T#bP(W(ZPP#bP#bP(^(m({)R)])c)m)sPPPPPP)y*SP*o*rP+h+k+q+z_aOPcgt!j#hkXOPcglqrst!j!z#]#hkROPcglqrst!j!z#]#hQjSR!mkQxUR!qnQ!qzQ#S!UR#k!sq!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mT$R#b$Sq!UY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mQ!b]R#a!cQyUR!rnQ!qyR#k!rQ|VR!toQ!OWR!upQuTQ!pmQ#^!_Q#d!fQ#e!gR$f$RSfPtQ!lgQ#g!jR$Y#hZePgt!j#ha!^Z_`!S!Y![#X#YR#V!YR!c]R!e^R#c!eQcOSgPtU!hcg#hR#h!jQ#r!{U$^#r$d$mQ$d#yR$m$_Q$`#rR$n$`QmTS!om$[R$[#oQ$W#fR$j$WQ!kfS#i!k#jR#j!lQ#Z!ZR#}#ZQ$S#bR$g$S_bOPcgt!j#h^TOPcgt!j#hQ!nlQ!vqQ!wrQ!xsQ#o!zR$O#]R#s!{Q!SYQ!`[Q#O!QQ#f!i[#q!{#r#y$_$d$mQ#t!}Q#v#QS$U#f$WQ$Z#mR$i$VR#p!zQhPR!ytQ!_ZQ!g`R#R!SU!ZZ`!SQ!f_Q#W!YQ#[![Q#{#XR#|#Y",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports AtRule Styles",maxTerm:108,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[Oy],skippedNodes:[0,3],repeatNodeCount:8,tokenData:"Lq~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Cu![!]Dp!]!^El!^!_$}!_!`E}!`!aF`!a!b$}!b!cG[!c!}$}!}#OHt#O#P$}#P#QIV#Q#R6d#R#T$}#T#UIh#U#c$}#c#dJy#d#o$}#o#pK`#p#q6d#q#rKq#r#sLS#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`Lk<%lO$}W%QSOy%^z;'S%^;'S;=`%o<%lO%^W%cSoWOy%^z;'S%^;'S;=`%o<%lO%^W%rP;=`<%l%^~%zh#U~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#U~oWOX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^^)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^^)sUoWOy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^^*[UoWOy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^^*sUoWOy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^^+[UoWOy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^^+sUoWOy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^^,[UoWOy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^^,sUoWOy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^^-[UoWOy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^^-uS!VUoWOy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.R_/zYtPOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^^0oYoWOy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^^1dYoWOy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^^2ZYfUoWOy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^^3QYfUoWOy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^^3uYoWOy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^^4lYfUoWOy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^^5aYoWOy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^^6WSfUoWOy%^z;'S%^;'S;=`%o<%lO%^Y6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^Y7QSzQoWOy%^z;'S%^;'S;=`%o<%lO%^X7cSXPOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7o_9cSbVOy%^z;'S%^;'S;=`%o<%lO%^~9tOa~_9{UUPjSOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^_:fWjS!PPOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^<cYoWOy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=WUoWOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=qUoW#[UOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^>[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",tokenizers:[fy,dy,uy,0,1,2,3],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:95,get:e=>py[e]||-1},{term:56,get:e=>gy[e]||-1},{term:96,get:e=>my[e]||-1}],tokenPrec:1123});let by=null;function yy(){if(!by&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)"cssText"!=i&&"cssFloat"!=i&&"string"==typeof e[i]&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));by=t.sort().map(e=>({type:"property",label:e}))}return by||[]}const xy=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),vy=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Qy=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),wy=/^[\w-]*/,ky=e=>{let{state:t,pos:n}=e,i=oc(t).resolveInner(n,-1);if("PropertyName"==i.name)return{from:i.from,options:yy(),validFor:wy};if("ValueName"==i.name)return{from:i.from,options:vy,validFor:wy};if("PseudoClassName"==i.name)return{from:i.from,options:xy,validFor:wy};if("TagName"==i.name){for(let{parent:e}=i;e;e=e.parent)if("Block"==e.name)return{from:i.from,options:yy(),validFor:wy};return{from:i.from,options:Qy,validFor:wy}}if(!e.explicit)return null;let r=i.resolve(n),s=r.childBefore(n);return s&&":"==s.name&&"PseudoClassSelector"==r.name?{from:n,options:xy,validFor:wy}:s&&":"==s.name&&"Declaration"==r.name||"ArgList"==r.name?{from:n,options:vy,validFor:wy}:"Block"==r.name?{from:n,options:yy(),validFor:wy}:null},$y=sc.define({name:"css",parser:Sy.configure({props:[wc.add({Declaration:_c()}),Ec.add({Block:Uc})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Py(){return new gc($y,$y.data.of({autocomplete:ky}))}var Cy=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Ty extends kS{getExtensions(e){return Cy(this,null,(function*(){return[new gc($y)]}))}serialize(){return this.editor.content}}var Ay=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Xy extends kS{getExtensions(e){return Ay(this,null,(function*(){return[]}))}serialize(){return this.editor.content}}function Zy(e){function t(e,t){e.cmdState.push(t)}function n(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function i(e){var t=e.cmdState.pop();t&&t.closeBracket()}function r(e){for(var t=e.cmdState,n=t.length-1;n>=0;n--){var i=t[n];if("DEFAULT"!=i.name)return i}return{styleIdentifier:function(){return null}}}function s(e,t,n){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=n,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};function a(e,t){e.f=t}function l(e,i){var s;if(e.match(/^\\[a-zA-Z@]+/)){var l=e.current().slice(1);return t(i,s=new(s=o.hasOwnProperty(l)?o[l]:o.DEFAULT)),a(i,c),s.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(i,(function(e,t){return h(e,t,"\\]")})),"keyword";if(e.match("\\("))return a(i,(function(e,t){return h(e,t,"\\)")})),"keyword";if(e.match("$$"))return a(i,(function(e,t){return h(e,t,"$$")})),"keyword";if(e.match("$"))return a(i,(function(e,t){return h(e,t,"$")})),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(s=n(i))?(s.closeBracket(u),a(i,c),"bracket"):"error":"{"==u||"["==u?(t(i,s=new(s=o.DEFAULT)),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(s=r(i)).name&&(s.argument=e.current()),s.styleIdentifier())}function h(e,t,n){if(e.eatSpace())return null;if(n&&e.match(n))return a(t,l),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variableName.special";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var i=e.next();return"{"==i||"}"==i||"["==i||"]"==i||"("==i||")"==i?"bracket":"%"==i?(e.skipToEnd(),"comment"):"error"}function c(e,t){var r=e.peek();return"{"==r||"["==r?(n(t).openBracket(r),e.eat(r),a(t,l),"bracket"):/[ \t\r]/.test(r)?(e.eat(r),null):(a(t,l),i(t),l(e,t))}return o.importmodule=s("importmodule","tag",["string","builtin"]),o.documentclass=s("documentclass","tag",["","atom"]),o.usepackage=s("usepackage","tag",["atom"]),o.begin=s("begin","tag",["atom"]),o.end=s("end","tag",["atom"]),o.label=s("label","tag",["atom"]),o.ref=s("ref","tag",["atom"]),o.eqref=s("eqref","tag",["atom"]),o.cite=s("cite","tag",["atom"]),o.bibitem=s("bibitem","tag",["atom"]),o.Bibitem=s("Bibitem","tag",["atom"]),o.RBibitem=s("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{name:"stex",startState:function(){return{cmdState:[],f:e?function(e,t){return h(e,t)}:l}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=l,e.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const Wy=Zy(!1);Zy(!0);var Vy=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Ry extends kS{getExtensions(e){return Vy(this,null,(function*(){return[Yu.define(Wy)]}))}serialize(){return this.editor.content}}const _y=54,Yy=1,My=55,qy=2,Ey=56,Uy=3,Dy=4,jy=5,zy=6,Iy=7,By=8,Ly=9,Gy=10,Ny=11,Fy=12,Hy=13,Jy=57,Ky=14,ex=58,tx=20,nx=22,ix=23,rx=24,sx=26,ox=27,ax=28,lx=31,hx=34,cx=36,ux=37,fx=0,dx=1,Ox={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},px={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},gx={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function mx(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Sx(e){return 9==e||10==e||13==e||32==e}let bx=null,yx=null,xx=0;function vx(e,t){let n=e.pos+t;if(xx==n&&yx==e)return bx;let i=e.peek(t);for(;Sx(i);)i=e.peek(++t);let r="";for(;mx(i);)r+=String.fromCharCode(i),i=e.peek(++t);return yx=e,xx=n,bx=r?r.toLowerCase():i==$x||i==Px?void 0:null}const Qx=60,wx=62,kx=47,$x=63,Px=33,Cx=45;function Tx(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Ax=[zy,Gy,Iy,By,Ly],Xx=new Ll({start:null,shift:(e,t,n,i)=>Ax.indexOf(t)>-1?new Tx(vx(i,1)||"",e):e,reduce:(e,t)=>t==tx&&e?e.parent:e,reuse(e,t,n,i){let r=t.type.id;return r==zy||r==cx?new Tx(vx(i,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Zx=new Zl((e,t)=>{if(e.next!=Qx)return void(e.next<0&&t.context&&e.acceptToken(Jy));e.advance();let n=e.next==kx;n&&e.advance();let i=vx(e,0);if(void 0===i)return;if(!i)return e.acceptToken(n?Ky:zy);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(Ny);if(r&&px[r])return e.acceptToken(Jy,-2);if(t.dialectEnabled(fx))return e.acceptToken(Fy);for(let e=t.context;e;e=e.parent)if(e.name==i)return;e.acceptToken(Hy)}else{if("script"==i)return e.acceptToken(Iy);if("style"==i)return e.acceptToken(By);if("textarea"==i)return e.acceptToken(Ly);if(Ox.hasOwnProperty(i))return e.acceptToken(Gy);r&&gx[r]&&gx[r][i]?e.acceptToken(Jy,-1):e.acceptToken(zy)}},{contextual:!0}),Wx=new Zl(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(ex);break}if(e.next==Cx)t++;else{if(e.next==wx&&t>=2){n>3&&e.acceptToken(ex,-2);break}t=0}e.advance()}});function Vx(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}const Rx=new Zl((e,t)=>{if(e.next==kx&&e.peek(1)==wx){let n=t.dialectEnabled(dx)||Vx(t.context);e.acceptToken(n?jy:Dy,2)}else e.next==wx&&e.acceptToken(Dy,1)});function _x(e,t,n){let i=2+e.length;return new Zl(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(t);break}if(0==s&&r.next==Qx||1==s&&r.next==kx||s>=2&&s<i&&r.next==e.charCodeAt(s-2))s++,o++;else if(2!=s&&s!=i||!Sx(r.next)){if(s==i&&r.next==wx){a>o?r.acceptToken(t,-o):r.acceptToken(n,-(o-2));break}if((10==r.next||13==r.next)&&a){r.acceptToken(t,1);break}s=o=0}else o++;r.advance()}})}const Yx=_x("script",_y,Yy),Mx=_x("style",My,qy),qx=_x("textarea",Ey,Uy),Ex=rh({"Text RawText":Ph.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":Ph.angleBracket,TagName:Ph.tagName,"MismatchedCloseTag/TagName":[Ph.tagName,Ph.invalid],AttributeName:Ph.attributeName,"AttributeValue UnquotedAttributeValue":Ph.attributeValue,Is:Ph.definitionOperator,"EntityReference CharacterReference":Ph.character,Comment:Ph.blockComment,ProcessingInst:Ph.processingInstruction,DoctypeDecl:Ph.documentMeta}),Ux=Gl.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Xx,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Ex],skippedNodes:[0],repeatNodeCount:9,tokenData:"#%g!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs4ysv-_vw5iwxJ^x}-_}!OKP!O!P-_!P!Q$q!Q![-_![!]!!O!]!^-_!^!_!&W!_!`#$o!`!a&X!a!c-_!c!}!!O!}#R-_#R#S!!O#S#T3V#T#o!!O#o#s-_#s$f$q$f%W-_%W%o!!O%o%p-_%p&a!!O&a&b-_&b1p!!O1p4U-_4U4d!!O4d4e-_4e$IS!!O$IS$I`-_$I`$Ib!!O$Ib$Kh-_$Kh%#t!!O%#t&/x-_&/x&Et!!O&Et&FV-_&FV;'S!!O;'S;:j!&Q;:j;=`4s<%l?&r-_?&r?Ah!!O?Ah?BY$q?BY?Mn!!O?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/echSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0uXhSqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0pS1eP;=`<%l0p[1kP;=`<%l/^!U1wbhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!U3SP;=`<%l1n!V3bchS`P!a`!cpOq&Xqr3Vrs&}sv3Vvw0pwx(tx!P3V!P!Q&X!Q!^3V!^!_1n!_!a&X!a#s3V#s$f&X$f;'S3V;'S;=`4m<%l?Ah3V?Ah?BY&X?BY?Mn3V?MnO&X!V4pP;=`<%l3V!_4vP;=`<%l-_!Z5SV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_5rjhSkWc!ROX7dXZ8qZ[7d[^8q^p7dqr:crs8qst@Ttw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^/^!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!Z7ibkWOX7dXZ8qZ[7d[^8q^p7dqr7drs8qst+Ptw7dwx8qx!]7d!]!^9f!^!a8q!a#S7d#S#T8q#T;'S7d;'S;=`:]<%lO7d!R8tVOp8qqs8qt!]8q!]!^9Z!^;'S8q;'S;=`9`<%lO8q!R9`Oa!R!R9cP;=`<%l8q!Z9mYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z:`P;=`<%l7d!_:jjhSkWOX7dXZ8qZ[7d[^8q^p7dqr:crs8qst/^tw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^<[!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!_<echSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V=udhSOp8qqr=prs8qst0ptw=pwx8qx!P=p!P!Q8q!Q!]=p!]!^?T!^!_=p!_!a8q!a#s=p#s$f8q$f;'S=p;'S;=`?w<%l?Ah=p?Ah?BY8q?BY?Mn=p?MnO8q!V?[XhSa!Rqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0p!V?zP;=`<%l=p!_@QP;=`<%l:c!_@[ihSkWOXAyXZCTZ[Ay[^CT^pAyqrDrrsCTswDrwxCTx!PDr!P!QAy!Q!]Dr!]!^/^!^!_G|!_!aCT!a#SDr#S#TG|#T#sDr#s$fAy$f;'SDr;'S;=`JW<%l?AhDr?Ah?BYAy?BY?MnDr?MnOAy!ZBOakWOXAyXZCTZ[Ay[^CT^pAyqrAyrsCTswAywxCTx!]Ay!]!^Cu!^!aCT!a#SAy#S#TCT#T;'SAy;'S;=`Dl<%lOAy!RCWUOpCTq!]CT!]!^Cj!^;'SCT;'S;=`Co<%lOCT!RCoOb!R!RCrP;=`<%lCT!ZC|YkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZDoP;=`<%lAy!_DyihSkWOXAyXZCTZ[Ay[^CT^pAyqrDrrsCTswDrwxCTx!PDr!P!QAy!Q!]Dr!]!^Fh!^!_G|!_!aCT!a#SDr#S#TG|#T#sDr#s$fAy$f;'SDr;'S;=`JW<%l?AhDr?Ah?BYAy?BY?MnDr?MnOAy!_FqchSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VHRchSOpCTqrG|rsCTswG|wxCTx!PG|!P!QCT!Q!]G|!]!^I^!^!_G|!_!aCT!a#sG|#s$fCT$f;'SG|;'S;=`JQ<%l?AhG|?Ah?BYCT?BY?MnG|?MnOCT!VIeXhSb!Rqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0p!VJTP;=`<%lG|!_JZP;=`<%lDr!ZJgW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aK^lhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMU!O!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aMckhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!`&X!`!a! W!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!T! cX`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!a!!_!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!O!!O!O!P!!O!P!Q$q!Q![!!O![!]!!O!]!^-_!^!_1n!_!a&X!a!c-_!c!}!!O!}#R-_#R#S!!O#S#T3V#T#o!!O#o#s-_#s$f$q$f$}-_$}%O!!O%O%W-_%W%o!!O%o%p-_%p&a!!O&a&b-_&b1p!!O1p4U!!O4U4d!!O4d4e-_4e$IS!!O$IS$I`-_$I`$Ib!!O$Ib$Je-_$Je$Jg!!O$Jg$Kh-_$Kh%#t!!O%#t&/x-_&/x&Et!!O&Et&FV-_&FV;'S!!O;'S;:j!&Q;:j;=`4s<%l?&r-_?&r?Ah!!O?Ah?BY$q?BY?Mn!!O?MnO$q!a!&TP;=`<%l!!O!V!&achS!a`!cpOq*Vqr!'lrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!b!Ey!b#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!'uhhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex}1n}!O!)a!O!P1n!P!Q*V!Q!_1n!_!a*V!a!f1n!f!g!,]!g#W1n#W#X!<y#X#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!)jdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex}1n}!O!*x!O!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!+TbhS!a`!cp!dPOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!,fdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!q1n!q!r!-t!r#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!-}dhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!e1n!e!f!/]!f#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!/fdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!v1n!v!w!0t!w#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!0}dhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!{1n!{!|!2]!|#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!2fdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!r1n!r!s!3t!s#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!3}dhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!g1n!g!h!5]!h#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!5fchS!a`!cpOq!6qqr!5]rs!7hsv!5]vw!;`wx!9[x!P!5]!P!Q!6q!Q!_!5]!_!`!6q!`!a!:j!a#s!5]#s$f!6q$f;'S!5];'S;=`!<s<%l?Ah!5]?Ah?BY!6q?BY?Mn!5]?MnO!6q!R!6xY!a`!cpOr!6qrs!7hsv!6qvw!8Swx!9[x!`!6q!`!a!:j!a;'S!6q;'S;=`!;Y<%lO!6qq!7mV!cpOv!7hvx!8Sx!`!7h!`!a!8q!a;'S!7h;'S;=`!9U<%lO!7hP!8VTO!`!8S!`!a!8f!a;'S!8S;'S;=`!8k<%lO!8SP!8kO{PP!8nP;=`<%l!8Sq!8xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!9XP;=`<%l!7ha!9aX!a`Or!9[rs!8Ssv!9[vw!8Sw!`!9[!`!a!9|!a;'S!9[;'S;=`!:d<%lO!9[a!:TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!:gP;=`<%l!9[!R!:sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;]P;=`<%l!6qT!;ebhSOq!8Sqr!;`rs!8Ssw!;`wx!8Sx!P!;`!P!Q!8S!Q!_!;`!_!`!8S!`!a!8f!a#s!;`#s$f!8S$f;'S!;`;'S;=`!<m<%l?Ah!;`?Ah?BY!8S?BY?Mn!;`?MnO!8ST!<pP;=`<%l!;`!V!<vP;=`<%l!5]!V!=SdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#c1n#c#d!>b#d#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!>kdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#V1n#V#W!?y#W#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!@SdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#h1n#h#i!Ab#i#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!AkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#m1n#m#n!By#n#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!CSdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#d1n#d#e!Db#e#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!DkdhS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#X1n#X#Y!5]#Y#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!FSchS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!a!G_!a!b##T!b#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!R!GfY!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!a!G_!a!b!Lv!b;'S!G_;'S;=`!N]<%lO!G_q!HZV!cpOv!HUvx!Hpx!a!HU!a!b!Iq!b;'S!HU;'S;=`!Jp<%lO!HUP!HsTO!a!Hp!a!b!IS!b;'S!Hp;'S;=`!Ik<%lO!HpP!IVTO!`!Hp!`!a!If!a;'S!Hp;'S;=`!Ik<%lO!HpP!IkOxPP!InP;=`<%l!Hpq!IvV!cpOv!HUvx!Hpx!`!HU!`!a!J]!a;'S!HU;'S;=`!Jp<%lO!HUq!JdS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!JsP;=`<%l!HUa!J{X!a`Or!Jvrs!Hpsv!Jvvw!Hpw!a!Jv!a!b!Kh!b;'S!Jv;'S;=`!Lp<%lO!Jva!KmX!a`Or!Jvrs!Hpsv!Jvvw!Hpw!`!Jv!`!a!LY!a;'S!Jv;'S;=`!Lp<%lO!Jva!LaT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!LsP;=`<%l!Jv!R!L}Y!a`!cpOr!G_rs!HUsv!G_vw!Hpwx!Jvx!`!G_!`!a!Mm!a;'S!G_;'S;=`!N]<%lO!G_!R!MvV!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!N`P;=`<%l!G_T!NhbhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!a!Hp!a!b# p!b#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT# ubhSOq!Hpqr!Ncrs!Hpsw!Ncwx!Hpx!P!Nc!P!Q!Hp!Q!_!Nc!_!`!Hp!`!a!If!a#s!Nc#s$f!Hp$f;'S!Nc;'S;=`#!}<%l?Ah!Nc?Ah?BY!Hp?BY?Mn!Nc?MnO!HpT##QP;=`<%l!Nc!V##^chS!a`!cpOq!G_qr!Eyrs!HUsv!Eyvw!Ncwx!Jvx!P!Ey!P!Q!G_!Q!_!Ey!_!`!G_!`!a!Mm!a#s!Ey#s$f!G_$f;'S!Ey;'S;=`#$i<%l?Ah!Ey?Ah?BY!G_?BY?Mn!Ey?MnO!G_!V#$lP;=`<%l!Ey!V#$zXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Yx,Mx,qx,Rx,Zx,Wx,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Dx(e,t){let n=Object.create(null);for(let i of e.getChildren(ix)){let e=i.getChild(rx),r=i.getChild(sx)||i.getChild(ox);e&&(n[t.read(e.from,e.to)]=r?r.type.id==sx?t.read(r.from+1,r.to-1):t.read(r.from,r.to):"")}return n}function jx(e,t){let n=e.getChild(nx);return n?t.read(n.from,n.to):" "}function zx(e,t,n){let i;for(let r of n)if(!r.attrs||r.attrs(i||(i=Dx(e.node.parent.firstChild,t))))return{parser:r.parser};return null}function Ix(e=[],t=[]){let n=[],i=[],r=[],s=[];for(let t of e){("script"==t.tag?n:"style"==t.tag?i:"textarea"==t.tag?r:s).push(t)}let o=t.length?Object.create(null):null;for(let e of t)(o[e.name]||(o[e.name]=[])).push(e);return ll((e,t)=>{let a=e.type.id;if(a==ax)return zx(e,t,n);if(a==lx)return zx(e,t,i);if(a==hx)return zx(e,t,r);if(a==cx&&s.length){let n,i=e.node,r=jx(i,t);for(let o of s)if(o.tag==r&&(!o.attrs||o.attrs(n||(n=Dx(i,t))))){let t=i.parent.lastChild;return{parser:o.parser,overlay:[{from:e.to,to:t.type.id==ux?t.from:i.parent.to}]}}}if(o&&a==ix){let n,i=e.node;if(n=i.firstChild){let e=o[t.read(n.from,n.to)];if(e)for(let n of e){if(n.tagName&&n.tagName!=jx(i.parent,t))continue;let e=i.lastChild;if(e.type.id==sx){let t=e.from+1,i=e.lastChild,r=e.to-(i&&i.isError?0:1);if(r>t)return{parser:n.parser,overlay:[{from:t,to:r}]}}else if(e.type.id==ox)return{parser:n.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const Bx=301,Lx=1,Gx=2,Nx=302,Fx=304,Hx=305,Jx=3,Kx=4,ev=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],tv=125,nv=59,iv=47,rv=42,sv=43,ov=45,av=new Ll({start:!1,shift:(e,t)=>t==Jx||t==Kx||t==Fx?e:t==Hx,strict:!1}),lv=new Zl((e,t)=>{let{next:n}=e;(n==tv||-1==n||t.context)&&t.canShift(Nx)&&e.acceptToken(Nx)},{contextual:!0,fallback:!0}),hv=new Zl((e,t)=>{let n,{next:i}=e;ev.indexOf(i)>-1||(i!=iv||(n=e.peek(1))!=iv&&n!=rv)&&i!=tv&&i!=nv&&-1!=i&&!t.context&&t.canShift(Bx)&&e.acceptToken(Bx)},{contextual:!0}),cv=new Zl((e,t)=>{let{next:n}=e;if((n==sv||n==ov)&&(e.advance(),n==e.next)){e.advance();let n=!t.context&&t.canShift(Lx);e.acceptToken(n?Lx:Gx)}},{contextual:!0}),uv=rh({"get set async static":Ph.modifier,"for while do if else switch try catch finally return throw break continue default case":Ph.controlKeyword,"in of await yield void typeof delete instanceof":Ph.operatorKeyword,"let var const function class extends":Ph.definitionKeyword,"import export from":Ph.moduleKeyword,"with debugger as new":Ph.keyword,TemplateString:Ph.special(Ph.string),super:Ph.atom,BooleanLiteral:Ph.bool,this:Ph.self,null:Ph.null,Star:Ph.modifier,VariableName:Ph.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":Ph.function(Ph.variableName),VariableDefinition:Ph.definition(Ph.variableName),Label:Ph.labelName,PropertyName:Ph.propertyName,PrivatePropertyName:Ph.special(Ph.propertyName),"CallExpression/MemberExpression/PropertyName":Ph.function(Ph.propertyName),"FunctionDeclaration/VariableDefinition":Ph.function(Ph.definition(Ph.variableName)),"ClassDeclaration/VariableDefinition":Ph.definition(Ph.className),PropertyDefinition:Ph.definition(Ph.propertyName),PrivatePropertyDefinition:Ph.definition(Ph.special(Ph.propertyName)),UpdateOp:Ph.updateOperator,LineComment:Ph.lineComment,BlockComment:Ph.blockComment,Number:Ph.number,String:Ph.string,Escape:Ph.escape,ArithOp:Ph.arithmeticOperator,LogicOp:Ph.logicOperator,BitOp:Ph.bitwiseOperator,CompareOp:Ph.compareOperator,RegExp:Ph.regexp,Equals:Ph.definitionOperator,Arrow:Ph.function(Ph.punctuation),": Spread":Ph.punctuation,"( )":Ph.paren,"[ ]":Ph.squareBracket,"{ }":Ph.brace,"InterpolationStart InterpolationEnd":Ph.special(Ph.brace),".":Ph.derefOperator,", ;":Ph.separator,"@":Ph.meta,TypeName:Ph.typeName,TypeDefinition:Ph.definition(Ph.typeName),"type enum interface implements namespace module declare":Ph.definitionKeyword,"abstract global Privacy readonly override":Ph.modifier,"is keyof unique infer":Ph.operatorKeyword,JSXAttributeValue:Ph.attributeValue,JSXText:Ph.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":Ph.angleBracket,"JSXIdentifier JSXNameSpacedName":Ph.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":Ph.attributeName,"JSXBuiltin/JSXIdentifier":Ph.standard(Ph.tagName)}),fv={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:219,private:219,protected:219,readonly:221,instanceof:240,satisfies:243,in:244,const:246,import:278,keyof:333,unique:337,infer:343,is:379,abstract:399,implements:401,type:403,let:406,var:408,interface:415,enum:419,namespace:425,module:427,declare:431,global:435,for:456,of:465,while:468,with:472,do:476,if:480,else:482,switch:486,case:492,try:498,catch:502,finally:506,return:510,throw:514,break:518,continue:522,debugger:526},dv={__proto__:null,async:117,get:119,set:121,public:181,private:181,protected:181,static:183,abstract:185,override:187,readonly:193,accessor:195,new:383},Ov={__proto__:null,"<":137},pv=Gl.deserialize({version:14,states:"$BhO`QUOOO%QQUOOO'TQWOOP(_OSOOO*mQ(CjO'#CfO*tOpO'#CgO+SO!bO'#CgO+bO07`O'#DZO-sQUO'#DaO.TQUO'#DlO%QQUO'#DvO0[QUO'#EOOOQ(CY'#EW'#EWO0rQSO'#ETOOQO'#I_'#I_O0zQSO'#GjOOQO'#Eh'#EhO1VQSO'#EgO1[QSO'#EgO3^Q(CjO'#JbO5}Q(CjO'#JcO6kQSO'#FVO6pQ#tO'#FnOOQ(CY'#F_'#F_O6{O&jO'#F_O7ZQ,UO'#FuO8qQSO'#FtOOQ(CY'#Jc'#JcOOQ(CW'#Jb'#JbOOQQ'#J|'#J|O8vQSO'#IOO8{Q(C[O'#IPOOQQ'#JO'#JOOOQQ'#IT'#ITQ`QUOOO%QQUO'#DnO9TQUO'#DzO%QQUO'#D|O9[QSO'#GjO9aQ,UO'#ClO9oQSO'#EfO9zQSO'#EqO:PQ,UO'#F^O:nQSO'#GjO:sQSO'#GnO;OQSO'#GnO;^QSO'#GqO;^QSO'#GrO;^QSO'#GtO9[QSO'#GwO;}QSO'#GzO=`QSO'#CbO=pQSO'#HXO=xQSO'#H_O=xQSO'#HaO`QUO'#HcO=xQSO'#HeO=xQSO'#HhO=}QSO'#HnO>SQ(C]O'#HtO%QQUO'#HvO>_Q(C]O'#HxO>jQ(C]O'#HzO8{Q(C[O'#H|O>uQ(CjO'#CfO?wQWO'#DfQOQSOOO@_QSO'#EPO9aQ,UO'#EfO@jQSO'#EfO@uQ`O'#F^OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jf'#JfO%QQUO'#JfOBOQWO'#E_OOQ(CW'#E^'#E^OBYQ(C`O'#E_OBtQWO'#ESOOQO'#Ji'#JiOCYQWO'#ESOCgQWO'#E_OC}QWO'#EeODQQWO'#E_O@}QWO'#E_OBtQWO'#E_PDkO?MpO'#C`POOO)CDm)CDmOOOO'#IU'#IUODvOpO,59ROOQ(CY,59R,59ROOOO'#IV'#IVOEUO!bO,59RO%QQUO'#D]OOOO'#IX'#IXOEdO07`O,59uOOQ(CY,59u,59uOErQUO'#IYOFVQSO'#JdOHXQbO'#JdO+pQUO'#JdOH`QSO,59{OHvQSO'#EhOITQSO'#JqOI`QSO'#JpOI`QSO'#JpOIhQSO,5;UOImQSO'#JoOOQ(CY,5:W,5:WOItQUO,5:WOKuQ(CjO,5:bOLfQSO,5:jOLkQSO'#JmOMeQ(C[O'#JnO:sQSO'#JmOMlQSO'#JmOMtQSO,5;TOMyQSO'#JmOOQ(CY'#Cf'#CfO%QQUO'#EOONmQ`O,5:oOOQO'#Jj'#JjOOQO-E<]-E<]O9[QSO,5=UO! TQSO,5=UO! YQUO,5;RO!#]Q,UO'#EcO!$pQSO,5;RO!&YQ,UO'#DpO!&aQUO'#DuO!&kQWO,5;[O!&sQWO,5;[O%QQUO,5;[OOQQ'#E}'#E}OOQQ'#FP'#FPO%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]O%QQUO,5;]OOQQ'#FT'#FTO!'RQUO,5;nOOQ(CY,5;s,5;sOOQ(CY,5;t,5;tO!)UQSO,5;tOOQ(CY,5;u,5;uO%QQUO'#IeO!)^Q(C[O,5<bO!#]Q,UO,5;]O!){Q,UO,5;]O%QQUO,5;qO!*SQ#tO'#FdO!+PQ#tO'#JuO!*kQ#tO'#JuO!+WQ#tO'#JuOOQO'#Ju'#JuO!+lQ#tO,5;|OOOO,5<Y,5<YO!+}QUO'#FpOOOO'#Id'#IdO6{O&jO,5;yO!,UQ#tO'#FrOOQ(CY,5;y,5;yO!,uQ7[O'#CrOOQ(CY'#Cv'#CvO!-YQSO'#CvO!-_O07`O'#CzO!-{Q,UO,5<_O!.SQSO,5<aO!/iQMhO'#GPO!/vQSO'#GQO!/{QSO'#GQO!0QQMhO'#GUO!1PQWO'#GYO!1rQ7[O'#J]OOQ(CY'#J]'#J]O!1|QSO'#J[O!2[QSO'#JZO!2dQSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0uQSO'#DSO!$uQ,UO'#FwO!$uQ,UO'#FyO!2lQSO'#F{O!2qQSO'#F|O!/{QSO'#GSO!$uQ,UO'#GXO!2vQSO'#EiO!3bQSO,5<`O`QUO,5>jOOQQ'#JW'#JWOOQQ,5>k,5>kOOQQ-E<R-E<RO!5aQ(CjO,5:YO!7}Q(CjO,5:fO%QQUO,5:fO!:hQ(CjO,5:hOOQ(CW'#Co'#CoO!;XQ,UO,5=UO!;gQ(C[O'#JXO8qQSO'#JXO=}QSO,59WO!;xQWO,59WO!<QQ,UO,59WO9aQ,UO,59WO!<]QSO,5;RO!<eQSO'#HWO!<vQSO'#KQO%QQUO,5;vO!=OQWO,5;xO!=TQSO,5=qO!=YQSO,5=qO!=_QSO,5=qO8{Q(C[O,5=qO!=mQSO'#EjO!>gQWO'#EkOOQ(CW'#Jo'#JoO!>nQ(C[O'#J}O8{Q(C[O,5=YO;^QSO,5=`OOQO'#Cr'#CrO!>yQWO,5=]O!?RQ,UO,5=^O!?^QSO,5=`O!?cQ`O,5=cO=}QSO'#G|O9[QSO'#HOO!?kQSO'#HOO9aQ,UO'#HRO!?pQSO'#HROOQQ,5=f,5=fO!?uQSO'#HSO!?}QSO'#ClO!@SQSO,58|O!@^QSO,58|O!BfQUO,58|OOQQ,58|,58|O!BsQ(C[O,58|O%QQUO,58|O!COQUO'#HZOOQQ'#H['#H[OOQQ'#H]'#H]O`QUO,5=sO!C`QSO,5=sO`QUO,5=yO`QUO,5={O!CeQSO,5=}O`QUO,5>PO!CjQSO,5>SO!CoQUO,5>YOOQQ,5>`,5>`O%QQUO,5>`O8{Q(C[O,5>bOOQQ,5>d,5>dO!GvQSO,5>dOOQQ,5>f,5>fO!GvQSO,5>fOOQQ,5>h,5>hO!G{QWO'#DXO%QQUO'#JfO!HjQWO'#JfO!IXQWO'#DgO!IjQWO'#DgO!K{QUO'#DgO!LSQSO'#JeO!L[QSO,5:QO!LaQSO'#ElO!LoQSO'#JrO!LwQSO,5;VO!L|QWO'#DgO!MZQWO'#EROOQ(CY,5:k,5:kO%QQUO,5:kO!MbQSO,5:kO=}QSO,5;QO!;xQWO,5;QO!<QQ,UO,5;QO9aQ,UO,5;QO!MjQSO,5@QO!MoQ!LQO,5:oO!NrQ(C`O,5:yOBtQWO,5:nO# ^QWO,5:nO# kQWO,5:yO#!RQWO,5:yO#!lQWO,5:yOBtQWO,5:yO=}QSO,5:nOOQ(CW'#Eb'#EbOOQO,5:y,5:yO%QQUO,5:yO##]Q(C[O,5:yO##hQ(C[O,5:yO!;xQWO,5:nOOQO,5;P,5;PO##vQ(C[O,5:yPOOO'#IS'#ISP#$[O?MpO,58zPOOO,58z,58zOOOO-E<S-E<SOOQ(CY1G.m1G.mOOOO-E<T-E<TO#$gQ`O,59wOOOO-E<V-E<VOOQ(CY1G/a1G/aO#$lQbO,5>tO+pQUO,5>tOOQO,5>z,5>zO#$vQUO'#IYOOQO-E<W-E<WO#%TQSO,5@OO#%]QbO,5@OO#%dQSO,5@[OOQ(CY1G/g1G/gO%QQUO,5@]O#%lQSO'#I`OOQO-E<^-E<^O#%dQSO,5@[OOQ(CW1G0p1G0pOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO#&QQSO,5@XO:sQSO,5@XO#&YQSO,5@XO%QQUO,5@YO#&hQ(C[O,5@YO#&yQ(C[O,5@YO#'QQSO'#IbO#&QQSO,5@XOOQ(CW1G0o1G0oO!&kQWO,5:qO!&vQWO,5:qOOQO,5:s,5:sO#'oQSO,5:sO#'wQ,UO1G2pO9[QSO1G2pOOQ(CY1G0m1G0mO#(VQ(CjO1G0mO#)[Q(ChO,5:}OOQ(CY'#GO'#GOO#)xQ(CjO'#J]O! YQUO1G0mO#,QQ,UO'#JgO#,[QSO,5:[O#,aQbO'#JhO%QQUO'#JhO#,kQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0v1G0vO%QQUO1G0vOOQ(CY1G1`1G1`O#,pQSO1G0vO#/XQ(CjO1G0wO#/`Q(CjO1G0wO#1yQ(CjO1G0wO#2QQ(CjO1G0wO#4[Q(CjO1G0wO#4rQ(CjO1G0wO#7lQ(CjO1G0wO#7sQ(CjO1G0wO#:^Q(CjO1G0wO#:eQ(CjO1G0wO#<]Q(CjO1G0wO#?]Q$IUO'#CfO#AZQ$IUO1G1YO#CXQ$IUO'#JcO!)XQSO1G1`O#ClQ(CjO,5?POOQ(CW-E<c-E<cO#D`Q(CjO1G0wOOQ(CY1G0w1G0wO#FkQ(CjO1G1]O#G_Q#tO,5<QO#GgQ#tO,5<RO#GoQ#tO'#FiO#HWQSO'#FhOOQO'#Jv'#JvOOQO'#Ic'#IcO#H]Q#tO1G1hOOQ(CY1G1h1G1hOOOO1G1s1G1sO#HnQ$IUO'#JbO#HxQSO,5<[O!'RQUO,5<[OOOO-E<b-E<bOOQ(CY1G1e1G1eO#H}QWO'#JuOOQ(CY,5<^,5<^O#IVQWO,5<^OOQ(CY,59b,59bO!#]Q,UO'#C|OOOO'#IW'#IWO#I[O07`O,59fOOQ(CY,59f,59fO%QQUO1G1yO!2qQSO'#IgO#IgQSO,5<rOOQ(CY,5<o,5<oOOQO'#Ge'#GeO!$uQ,UO,5=OOOQO'#Gg'#GgO!$uQ,UO,5=QO!#]Q,UO,5=SOOQO1G1{1G1{O#IuQ`O'#CoO#JYQ`O,5<kO#JaQSO'#JyO9[QSO'#JyO#JoQSO,5<mO!$uQ,UO,5<lO#JtQSO'#GRO#KPQSO,5<lO#KUQ`O'#GOO#KcQ`O'#JzO#KmQSO'#JzO!#]Q,UO'#JzO#KrQSO,5<pO#KwQWO'#GZO!0zQWO'#GZO#LYQSO'#G]O#L_QSO'#G_O!/{QSO'#GbO#LdQ(C[O'#IiO#LoQWO,5<tOOQ(CY,5<t,5<tO#LvQWO'#GZO#MUQWO'#G[O#M^QWO'#G[OOQ(CY,5=T,5=TO!$uQ,UO,5?vO!$uQ,UO,5?vO#McQSO'#IjO#MnQSO,5?uO#MvQSO,59]O#NgQ,UO,59nOOQ(CY,59n,59nO$ YQ,UO,5<cO$ {Q,UO,5<eO?oQSO,5<gOOQ(CY,5<h,5<hO$!VQSO,5<nO$![Q,UO,5<sO! YQUO1G1zO$!lQSO1G1zOOQQ1G4U1G4UOOQ(CY1G/t1G/tO!)UQSO1G/tO$$kQ(CjO1G0QOOQQ1G2p1G2pO!#]Q,UO1G2pO%QQUO1G2pO$%[QSO1G2pO$%gQ,UO'#EcOOQ(CW,5?s,5?sO$%qQ(C[O,5?sOOQQ1G.r1G.rO=}QSO1G.rO!;xQWO1G.rO!<QQ,UO1G.rO$&SQSO1G0mO$&XQSO'#CfO$&dQSO'#KRO$&lQSO,5=rO$&qQSO'#KRO$&vQSO'#KRO$'RQSO'#IrO$'aQSO,5@lO$'iQbO1G1bOOQ(CY1G1d1G1dO9[QSO1G3]O?oQSO1G3]O$'pQSO1G3]O$'uQSO1G3]OOQQ1G3]1G3]O:sQSO'#JpO:sQSO'#ElO%QQUO'#ElO:sQSO'#IlO$'zQ(C[O,5@iOOQQ1G2t1G2tO!?^QSO1G2zO!#]Q,UO1G2wO$(VQSO1G2wOOQQ1G2x1G2xO!#]Q,UO1G2xO$([QSO1G2xO$(dQWO'#GvOOQQ1G2z1G2zO!0zQWO'#InO!?cQ`O1G2}OOQQ1G2}1G2}OOQQ,5=h,5=hO$(lQ,UO,5=jO9[QSO,5=jO#L_QSO,5=mO8qQSO,5=mO!;xQWO,5=mO!<QQ,UO,5=mO9aQ,UO,5=mO$(zQSO'#KPO$)VQSO,5=nOOQQ1G.h1G.hO$)[Q(C[O1G.hO?oQSO1G.hO$)gQSO1G.hO8{Q(C[O1G.hO$)rQbO,5@nO$*VQSO,5@nO$*bQUO,5=uO$*iQSO,5=uO:sQSO,5@nOOQQ1G3_1G3_O`QUO1G3_OOQQ1G3e1G3eOOQQ1G3g1G3gO=xQSO1G3iO$*nQUO1G3kO$.oQUO'#HjOOQQ1G3n1G3nO$.|QSO'#HpO=}QSO'#HrOOQQ1G3t1G3tO$/UQUO1G3tO8{Q(C[O1G3zOOQQ1G3|1G3|OOQ(CW'#GV'#GVO8{Q(C[O1G4OO8{Q(C[O1G4QO$3YQSO,5@QO!'RQUO,5;WO:sQSO,5;WO=}QSO,5:RO!'RQUO,5:RO!;xQWO,5:RO$3_Q$IUO,5:ROOQO,5;W,5;WO$3iQWO'#IZO$4PQSO,5@POOQ(CY1G/l1G/lO$4XQWO'#IaO$4cQSO,5@^OOQ(CW1G0q1G0qO!IjQWO,5:ROOQO'#I^'#I^O$4kQWO,5:mOOQ(CY,5:m,5:mO!MeQSO1G0VOOQ(CY1G0V1G0VO%QQUO1G0VOOQ(CY1G0l1G0lO=}QSO1G0lO!;xQWO1G0lO!<QQ,UO1G0lOOQ(CW1G5l1G5lO=}QSO1G0YOOQO1G0e1G0eO%QQUO1G0eO$4rQ(C[O1G0eO$4}Q(C[O1G0eO!;xQWO1G0YOBtQWO1G0YO$5]Q(C`O1G0eO$5wQWO1G0YOBtQWO1G0eO$6UQWO1G0eO$6lQWO1G0eO$7VQ(C[O1G0eOOQO1G0Y1G0YO$7kQ(CjO1G0ePOOO-E<Q-E<QPOOO1G.f1G.fOOOO1G/c1G/cO$7uQ`O,5<bO$7}QbO1G4`OOQO1G4f1G4fO%QQUO,5>tO$8XQSO1G5jO$8aQSO1G5vO$8iQbO1G5wO:sQSO,5>zO$8sQSO1G5sO$8sQSO1G5sO:sQSO1G5sO$8{Q(CjO1G5tO%QQUO1G5tO$9]Q(C[O1G5tO$9nQSO,5>|O:sQSO,5>|OOQO,5>|,5>|O$:SQSO,5>|OOQO-E<`-E<`OOQO1G0]1G0]OOQO1G0_1G0_O!)XQSO1G0_OOQQ7+([7+([O!#]Q,UO7+([O%QQUO7+([O$:bQSO7+([O$:mQ,UO7+([O$:{Q(CjO,59nO$=TQ(CjO,5<cO$?`Q(CjO,5<eO$AkQ(CjO,5<sOOQ(CY7+&X7+&XO$C|Q(CjO7+&XO$DpQ,UO'#I[O$DzQSO,5@ROOQ(CY1G/v1G/vO$ESQUO'#I]O$EaQSO,5@SO$EiQbO,5@SOOQ(CY1G/{1G/{O$EsQSO7+&bOOQ(CY7+&b7+&bO$ExQ$IUO,5:bO%QQUO7+&tO$FSQ$IUO,5:YO$FaQ$IUO,5:fO$FkQ$IUO,5:hOOQ(CY7+&z7+&zOOQO1G1l1G1lOOQO1G1m1G1mO$FuQ#tO,5<TO!'RQUO,5<SOOQO-E<a-E<aOOQ(CY7+'S7+'SOOOO7+'_7+'_OOOO1G1v1G1vO$GQQSO1G1vOOQ(CY1G1x1G1xO$GVQ`O,59hOOOO-E<U-E<UOOQ(CY1G/Q1G/QO$G^Q(CjO7+'eOOQ(CY,5?R,5?RO$HQQSO,5?ROOQ(CY1G2^1G2^P$HVQSO'#IgPOQ(CY-E<e-E<eO$HyQ,UO1G2jO$IlQ,UO1G2lO$IvQ`O1G2nOOQ(CY1G2V1G2VO$I}QSO'#IfO$J]QSO,5@eO$J]QSO,5@eO$JeQSO,5@eO$JpQSO,5@eOOQO1G2X1G2XO$KOQ,UO1G2WO!$uQ,UO1G2WO$K`QMhO'#IhO$KpQSO,5@fO!#]Q,UO,5@fO$KxQ`O,5@fOOQ(CY1G2[1G2[OOQ(CW,5<u,5<uOOQ(CW,5<v,5<vO$LSQSO,5<vOBoQSO,5<vO!;xQWO,5<uOOQO'#G^'#G^O$LXQSO,5<wOOQ(CW,5<y,5<yO$LSQSO,5<|OOQO,5?T,5?TOOQO-E<g-E<gOOQ(CY1G2`1G2`O!0zQWO,5<uO$LaQSO,5<vO#LYQSO,5<wO!0zQWO,5<vO$LlQ,UO1G5bO$LvQ,UO1G5bOOQO,5?U,5?UOOQO-E<h-E<hOOQO1G.w1G.wO!=OQWO,59pO%QQUO,59pO$MTQSO1G2RO!$uQ,UO1G2YO$MYQ(CjO7+'fOOQ(CY7+'f7+'fO! YQUO7+'fOOQ(CY7+%`7+%`O$M|Q`O'#J{O!MeQSO7+([O$NWQbO7+([O$:eQSO7+([O$N_Q(ChO'#CfO$NrQ(ChO,5<zO% dQSO,5<zOOQ(CW1G5_1G5_OOQQ7+$^7+$^O=}QSO7+$^O!;xQWO7+$^O! YQUO7+&XO% iQSO'#IqO% }QSO,5@mOOQO1G3^1G3^O9[QSO,5@mO% }QSO,5@mO%!VQSO,5@mOOQO,5?^,5?^OOQO-E<p-E<pOOQ(CY7+&|7+&|O%![QSO7+(wO8{Q(C[O7+(wO9[QSO7+(wO?oQSO7+(wO%!aQSO,5;WOOQ(CW,5?W,5?WOOQ(CW-E<j-E<jOOQQ7+(f7+(fO%!fQ(ChO7+(cO!#]Q,UO7+(cO%!pQ`O7+(dOOQQ7+(d7+(dO!#]Q,UO7+(dO%!wQSO'#KOO%#SQSO,5=bOOQO,5?Y,5?YOOQO-E<l-E<lOOQQ7+(i7+(iO%$`QWO'#HPOOQQ1G3U1G3UO!#]Q,UO1G3UO%QQUO1G3UO%$gQSO1G3UO%$rQ,UO1G3UO8{Q(C[O1G3XO#L_QSO1G3XO8qQSO1G3XO!;xQWO1G3XO!<QQ,UO1G3XO%%QQSO'#IpO%%]QSO,5@kO%%eQWO,5@kOOQ(CW1G3Y1G3YOOQQ7+$S7+$SO?oQSO7+$SO8{Q(C[O7+$SO%%pQSO7+$SO%QQUO1G6YO%QQUO1G6ZO%%uQUO1G3aO%%|QSO1G3aO%&RQUO1G3aO%&YQ(C[O1G6YOOQQ7+(y7+(yO8{Q(C[O7+)TO`QUO7+)VOOQQ'#KU'#KUOOQQ'#Is'#IsO%&dQUO,5>UOOQQ,5>U,5>UO%QQUO'#HkO%&qQSO'#HmOOQQ,5>[,5>[O:sQSO,5>[OOQQ,5>^,5>^OOQQ7+)`7+)`OOQQ7+)f7+)fOOQQ7+)j7+)jOOQQ7+)l7+)lO%&vQWO1G5lO%'[Q$IUO1G0rO%'fQSO1G0rOOQO1G/m1G/mO%'qQ$IUO1G/mO=}QSO1G/mO!'RQUO'#DgOOQO,5>u,5>uOOQO-E<X-E<XOOQO,5>{,5>{OOQO-E<_-E<_O!;xQWO1G/mOOQO-E<[-E<[OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO!MeQSO7+%qOOQ(CY7+&W7+&WO=}QSO7+&WO!;xQWO7+&WOOQO7+%t7+%tO$7kQ(CjO7+&POOQO7+&P7+&PO%QQUO7+&PO%'{Q(C[O7+&PO=}QSO7+%tO!;xQWO7+%tO%(WQ(C[O7+&POBtQWO7+%tO%(fQ(C[O7+&PO%(zQ(C`O7+&PO%)UQWO7+%tOBtQWO7+&PO%)cQWO7+&PO%)yQSO7++_O%)yQSO7++_O%*RQ(CjO7++`O%QQUO7++`OOQO1G4h1G4hO:sQSO1G4hO%*cQSO1G4hOOQO7+%y7+%yO!MeQSO<<KvO$NWQbO<<KvO%*qQSO<<KvOOQQ<<Kv<<KvO!#]Q,UO<<KvO%QQUO<<KvO%*yQSO<<KvO%+UQ(CjO1G2jO%-aQ(CjO1G2lO%/lQ(CjO1G2WO%1}Q,UO,5>vOOQO-E<Y-E<YO%2XQbO,5>wO%QQUO,5>wOOQO-E<Z-E<ZO%2cQSO1G5nOOQ(CY<<I|<<I|O%2kQ$IUO1G0mO%4uQ$IUO1G0wO%4|Q$IUO1G0wO%7QQ$IUO1G0wO%7XQ$IUO1G0wO%8|Q$IUO1G0wO%9dQ$IUO1G0wO%;wQ$IUO1G0wO%<OQ$IUO1G0wO%>SQ$IUO1G0wO%>ZQ$IUO1G0wO%@RQ$IUO1G0wO%@fQ(CjO<<J`O%AkQ$IUO1G0wO%CaQ$IUO'#J]O%EdQ$IUO1G1]O%EqQ$IUO1G0QO!'RQUO'#FkOOQO'#Jw'#JwOOQO1G1o1G1oO%E{QSO1G1nO%FQQ$IUO,5?POOOO7+'b7+'bOOOO1G/S1G/SOOQ(CY1G4m1G4mO!$uQ,UO7+(YO%F[QSO,5?QO9[QSO,5?QOOQO-E<d-E<dO%FjQSO1G6PO%FjQSO1G6PO%FrQSO1G6PO%F}Q,UO7+'rO%G_Q`O,5?SO%GiQSO,5?SO!#]Q,UO,5?SOOQO-E<f-E<fO%GnQ`O1G6QO%GxQSO1G6QOOQ(CW1G2b1G2bO$LSQSO1G2bOOQ(CW1G2a1G2aO%HQQSO1G2cO!#]Q,UO1G2cOOQ(CW1G2h1G2hO!;xQWO1G2aOBoQSO1G2bO%HVQSO1G2cO%H_QSO1G2bO!$uQ,UO7+*|OOQ(CY1G/[1G/[O%HjQSO1G/[OOQ(CY7+'m7+'mO%HoQ,UO7+'tO%IPQ(CjO<<KQOOQ(CY<<KQ<<KQO!#]Q,UO'#IkO%IsQSO,5@gO!#]Q,UO1G2fOOQQ<<Gx<<GxO=}QSO<<GxO%I{Q(CjO<<IsOOQ(CY<<Is<<IsOOQO,5?],5?]O%JoQSO,5?]O$&vQSO,5?]OOQO-E<o-E<oO%JtQSO1G6XO%JtQSO1G6XO9[QSO1G6XO?oQSO<<LcOOQQ<<Lc<<LcO%J|QSO<<LcO8{Q(C[O<<LcO%KRQSO1G0rOOQQ<<K}<<K}O%!fQ(ChO<<K}OOQQ<<LO<<LOO%!pQ`O<<LOO%KWQWO'#ImO%KcQSO,5@jO!'RQUO,5@jOOQQ1G2|1G2|O%KkQ(C`O'#JfO%LVQUO'#JfO%L^QWO'#E_O%LwQ(C[O'#E_OBYQ(C`O'#E_O(VQWO'#HQOOQO'#Io'#IoO8{Q(C[O'#IoO%M]QWO,5=kOOQQ,5=k,5=kO%MuQWO'#E_O%LmQWO'#E_O%M|QWO'#E_O%NgQWO'#E_O& WQWO'#HQO& iQSO7+(pO& nQSO7+(pOOQQ7+(p7+(pO!#]Q,UO7+(pO%QQUO7+(pO& vQSO7+(pOOQQ7+(s7+(sO8{Q(C[O7+(sO#L_QSO7+(sO8qQSO7+(sO!;xQWO7+(sO&!RQSO,5?[OOQO-E<n-E<nOOQO'#HT'#HTO&!^QSO1G6VO8{Q(C[O<<GnOOQQ<<Gn<<GnO?oQSO<<GnO&!fQSO7++tO&!kQSO7++uOOQQ7+({7+({O&!pQSO7+({O&!uQUO7+({O&!|QSO7+({O%QQUO7++tO%QQUO7++uOOQQ<<Lo<<LoOOQQ<<Lq<<LqOOQQ-E<q-E<qOOQQ1G3p1G3pO&#RQSO,5>VOOQQ,5>X,5>XO&#WQSO1G3vO:sQSO7+&^O!'RQUO7+&^OOQO7+%X7+%XO&#]Q$IUO1G5wO=}QSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Ir<<IrO=}QSO<<IrOOQO<<Ik<<IkO$7kQ(CjO<<IkO%QQUO<<IkOOQO<<I`<<I`O=}QSO<<I`O&#gQ(C[O<<IkO!;xQWO<<I`O&#rQ(C[O<<IkOBtQWO<<I`O&$QQ(C[O<<IkO&$fQ(C`O<<IkO&$pQWO<<I`OBtQWO<<IkO&$}QSO<<NyO&%VQ(CjO<<NzOOQO7+*S7+*SO:sQSO7+*SOOQQANAbANAbO&%gQSOANAbO!#]Q,UOANAbO!MeQSOANAbO$NWQbOANAbO%QQUOANAbO&%oQ(CjO7+'rO&(QQ(CjO7+'tO&*cQbO1G4cO&*mQ$IUO7+&XO&*zQ$IUO,59nO&,}Q$IUO,5<cO&/QQ$IUO,5<eO&1TQ$IUO,5<sO&2yQ$IUO7+'eO&3WQ$IUO7+'fO&3eQSO,5<VOOQO7+'Y7+'YO&3jQ,UO<<KtOOQO1G4l1G4lO&3qQSO1G4lO&3|QSO1G4lO&4[QSO7++kO&4[QSO7++kO!#]Q,UO1G4nO&4dQ`O1G4nO&4nQSO7++lOOQ(CW7+'|7+'|O$LSQSO7+'}O&4vQ`O7+'}OOQ(CW7+'{7+'{O$LSQSO7+'|O&4}QSO7+'}O!#]Q,UO7+'}OBoQSO7+'|O&5SQ,UO<<NhOOQ(CY7+$v7+$vO&5^Q`O,5?VOOQO-E<i-E<iO&5hQ(ChO7+(QOOQQAN=dAN=dO9[QSO1G4wOOQO1G4w1G4wO&5xQSO1G4wO&5}QSO7++sO&5}QSO7++sO8{Q(C[OANA}O?oQSOANA}OOQQANA}ANA}OOQQANAiANAiOOQQANAjANAjO&6VQSO,5?XOOQO-E<k-E<kO&6bQ$IUO1G6UO#L_QSO,5=lO8qQSO,5=lO&8rQbO'#CfO&8|QWO,5:yO&9WQWO,5:yO&9eQWO,5:yO!;xQWO,5=lOOQO,5?Z,5?ZOOQO-E<m-E<mOOQQ1G3V1G3VO%LVQUO,5<wO%KkQ(C`O,5=lO!NrQ(C`O,5:yO(VQWO,5=lO&9xQWO,5=lO&:ZQWO,5:yOOQQ<<L[<<L[O!#]Q,UO<<L[O& iQSO<<L[O&:tQSO<<L[O%QQUO<<L[OOQQ<<L_<<L_O8{Q(C[O<<L_O#L_QSO<<L_O8qQSO<<L_O&:|QWO1G4vO&;XQSO7++qOOQQAN=YAN=YO8{Q(C[OAN=YOOQQ<= `<= `OOQQ<= a<= aOOQQ<<Lg<<LgO&;aQSO<<LgO&;fQUO<<LgO&;mQSO<= `O&;rQSO<= aOOQQ1G3q1G3qO=}QSO7+)bO&;wQSO<<IxO&<SQ$IUO<<IxOOQO<<Hs<<HsOOQ(CYAN?^AN?^OOQOAN?VAN?VO$7kQ(CjOAN?VOOQOAN>zAN>zO%QQUOAN?VO=}QSOAN>zO&<^Q(C[OAN?VO!;xQWOAN>zO&<iQ(C[OAN?VOBtQWOAN>zO&<wQ(C[OAN?VOOQO<<Mn<<MnOOQQG26|G26|O!#]Q,UOG26|O!MeQSOG26|O&=]QSOG26|O$NWQbOG26|O&=eQ$IUO<<J`O&=rQ$IUO1G2WO&?hQ$IUO1G2jO&AkQ$IUO1G2lO&CnQ$IUO<<KQO&C{Q$IUO<<IsOOQO1G1q1G1qO!$uQ,UOANA`OOQO7+*W7+*WO&DYQSO7+*WO&DeQSO<= VO&DmQ`O7+*YOOQ(CW<<Ki<<KiO$LSQSO<<KiOOQ(CW<<Kh<<KhO&DwQ`O<<KiO$LSQSO<<KhOOQO7+*c7+*cO9[QSO7+*cO&EOQSO<= _OOQQG27iG27iO8{Q(C[OG27iO!'RQUO1G4sO&EWQSO7++pO8{Q(C[O1G3WO#L_QSO1G3WO&E`QWO1G0eO&EjQWO1G0eO8qQSO1G3WO!;xQWO1G3WO(VQWO1G3WO%KkQ(C`O1G3WO$5]Q(C`O1G0eO&EwQWO1G3WO& iQSOANAvOOQQANAvANAvO!#]Q,UOANAvO&FYQSOANAvOOQQANAyANAyO8{Q(C[OANAyO#L_QSOANAyOOQO'#HU'#HUOOQO7+*b7+*bOOQQG22tG22tOOQQANBRANBRO&FbQSOANBROOQQANDzANDzOOQQAND{AND{OOQQ<<L|<<L|O!'RQUOAN?dOOQOG24qG24qO$7kQ(CjOG24qOOQOG24fG24fO%QQUOG24qO=}QSOG24fO&FgQ(C[OG24qO!;xQWOG24fO&FrQ(C[OG24qO!MeQSOLD,hOOQQLD,hLD,hO!#]Q,UOLD,hO&GQQSOLD,hO&GYQ$IUO7+'rO&IOQ$IUO7+'tO&JtQ,UOG26zOOQO<<Mr<<MrOOQ(CWANATANATO$LSQSOANATOOQ(CWANASANASOOQO<<M}<<M}OOQQLD-TLD-TO&KUQ$IUO7+*_OOQO7+(r7+(rO8{Q(C[O7+(rO&K`QWO7+&PO#L_QSO7+(rO8qQSO7+(rO!;xQWO7+(rO(VQWO7+(rOOQQG27bG27bO& iQSOG27bO!#]Q,UOG27bOOQQG27eG27eO8{Q(C[OG27eOOQQG27mG27mO&KjQ$IUOG25OOOQOLD*]LD*]O$7kQ(CjOLD*]OOQOLD*QLD*QO%QQUOLD*]O=}QSOLD*QO&KtQ(C[OLD*]OOQQ!$(!S!$(!SO!MeQSO!$(!SO!#]Q,UO!$(!SO&LPQ(CjOG26zOOQ(CWG26oG26oOOQO<<L^<<L^O8{Q(C[O<<L^O#L_QSO<<L^O8qQSO<<L^O!;xQWO<<L^OOQQLD,|LD,|O& iQSOLD,|OOQQLD-PLD-POOQO!$'Mw!$'MwO$7kQ(CjO!$'MwOOQO!$'Ml!$'MlO%QQUO!$'MwOOQQ!)9En!)9EnO!MeQSO!)9EnOOQOANAxANAxO8{Q(C[OANAxO#L_QSOANAxO8qQSOANAxOOQQ!$(!h!$(!hOOQO!)9Cc!)9CcO$7kQ(CjO!)9CcOOQQ!.K;Y!.K;YO&NbQ$IUOG26zOOQOG27dG27dO8{Q(C[OG27dO#L_QSOG27dOOQO!.K8}!.K8}OOQOLD-OLD-OO8{Q(C[OLD-OOOQO!$(!j!$(!jO!'RQUO'#DvO0rQSO'#ETO'!WQbO'#JbO!'RQUO'#DnO'!_QUO'#DzO!'RQUO'#D|O'!fQbO'#CfO'$|QbO'#CfO'%^QUO,5;RO!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO,5;]O!'RQUO'#IeO''aQSO,5<bO''iQ,UO,5;]O'(|Q,UO,5;]O!'RQUO,5;qO0uQSO'#DSO0uQSO'#DSO!#]Q,UO'#FwO''iQ,UO'#FwO!#]Q,UO'#FyO''iQ,UO'#FyO!#]Q,UO'#GXO''iQ,UO'#GXO!'RQUO,5:fO!'RQUO,5@]O'%^QUO1G0mO')TQ$IUO'#CfO!'RQUO1G1yO!#]Q,UO,5=OO''iQ,UO,5=OO!#]Q,UO,5=QO''iQ,UO,5=QO!#]Q,UO,5<lO''iQ,UO,5<lO'%^QUO1G1zO!'RQUO7+&tO!#]Q,UO1G2WO''iQ,UO1G2WO!#]Q,UO1G2YO''iQ,UO1G2YO'%^QUO7+'fO'%^QUO7+&XO!#]Q,UOANA`O''iQ,UOANA`O')_QSO'#EgO')dQSO'#EgO')lQSO'#FVO')qQSO'#EqO')vQSO'#JqO'*RQSO'#JoO'*^QSO,5;RO'*cQ,UO,5<_O'*jQSO'#GQO'*oQSO'#GQO'*tQSO,5<`O'*|QSO,5;RO'+UQ$IUO1G1YO'+]QSO,5<lO'+bQSO,5<lO'+gQSO,5<nO'+lQSO,5<nO'+qQSO1G1zO'+vQSO1G0mO'+{Q,UO<<KtO',SQ,UO<<KtO7ZQ,UO'#FuO8qQSO'#FtO@jQSO'#EfO!'RQUO,5;nO!/{QSO'#GQO!/{QSO'#GQO!/{QSO'#GSO!/{QSO'#GSO!$uQ,UO7+(YO!$uQ,UO7+(YO$IvQ`O1G2nO$IvQ`O1G2nO!#]Q,UO,5=SO!#]Q,UO,5=S",stateData:"'-[~O'lOS'mOSROS'nRQ~OPYOQYOV!TO^pOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O#o}O$PzO$TfO%_{O%a!OO%c|O%d|O%g!PO%i!QO%l!RO%m!RO%o!SO%|!UO&S!VO&U!WO&W!XO&Y!YO&]!ZO&c![O&i!]O&k!^O&m!_O&o!`O&q!aO'sSO'uTO'xUO(QVO(_[O(liO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$P!hO$TfO's!bO'uTO'xUO(QVO(_[O(liO~O^!qOl!kO|!lO![!rO!]!pO!^!pO!x;oO!|!vO!}!tO#O!uO#P!sO#S!wO#T!wO't!iO'uTO'xUO(T!jO(_!nO~O'n!xO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#WYX#ccX#fYX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#pYX#rYX#tYX#uYX#zYX'jYX(QYX(`YX(gYX(hYX~O!a$yX~P(dO[!zO'u!|O'v!zO'w!|O~O[!}O'w!|O'x!|O'y!}O~Oq#PO!O#QO(R#QO(S#SO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$P!hO$TfO's;tO'uTO'xUO(QVO(_[O(liO~O!U#WO!V#TO!S(WP!S(dP~P+pO!W#`O~P`OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!cO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$P!hO$TfO'uTO'xUO(QVO(_[O(liO~O!U#fO!x]O#a#iO#b#fO's;uO!g(aP~P.[O!h#kO's#jO~O!t#oO!x]O%_#pO~O#c#qO~O!a#rO#c#qO~OP$YOX$aOk#}Oy#vOz#wO|#xO!V$^O!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO#r$SO#t$UO#u$VO(QVO(`$WO(g#yO(h#zO~O^(UX'j(UX'h(UX!g(UX!S(UX!X(UX%`(UX!a(UX~P1dO#W$bO#z$bOP(VXX(VXk(VXy(VXz(VX|(VX!V(VX!e(VX!h(VX!l(VX#f(VX#g(VX#h(VX#i(VX#j(VX#k(VX#l(VX#m(VX#n(VX#p(VX#r(VX#t(VX#u(VX(Q(VX(`(VX(g(VX(h(VX!X(VX%`(VX~O^(VX!f(VX'j(VX'h(VX!S(VX!g(VXo(VX!a(VX~P3zO#W$bO~O$V$dO$X$cO$`$iO~O!X$jO$TfO$c$kO$e$mO~Oi%POk$qOl$pOm$pOs%QOu%ROw%SO|$xO!X$yO!c%XO!h$uO#b%YO$P%VO$l%TO$n%UO$q%WO's$oO'uTO'xUO'|%OO(Q$rOd'}P~O!h%ZO~O!a%]O~O^%^O'j%^O~O't!iO~P%QO's%eO~O!h%ZO's%eO't!iO'|%OO~Ob%lO!h%ZO's%eO~O#n$PO~Oy%qO!X%nO!h%pO%a%tO's%eO't!iO'uTO'xUO](tP~O!t#oO~O|%vO!X%wO's%eO~O|%vO!X%wO%i%{O's%eO~O's%|O~O#o}O%a!OO%c|O%d|O%g!PO%i!QO%l!RO%m!RO~Oa&VOb&UO!t&SO%_&TO%q&RO~P;cOa&YObwO!X&XO!tvO!x]O#o}O%_{O%c|O%d|O%g!PO%i!QO%l!RO%m!RO%o!SO~O_&]O#W&`O%a&ZO't!iO~P<bO!h&aO!q&eO~O!h#kO~O!XXO~O^%^O'i&mO'j%^O~O^%^O'i&pO'j%^O~O^%^O'i&rO'j%^O~O'hYX!SYXoYX!gYX&QYX!XYX%`YX!aYX~P(dO!['PO!]&xO!^&xO't!iO'uTO'xUO~Ol&vO|&uO!U&yO(T&tO!W(XP!W(fP~P?cOg'SO!X'QO's%eO~Ob'XO!h%ZO's%eO~Oy%qO!h%pO~Ol!kO|!lO!['^O!]']O!^']O!}'`O#O'`O#P'_O#S'bO#T'bO't!iO'uTO'xUO(T!jO(_!nO~O!x;oO!|'aO~P@}O^%^O!a#rO!h%ZO!l'hO#W'fO'j%^O'|%OO(`'dO~Ol!kO|!lO'uTO'xUO(T!jO(_!nO~O!]']O!^']O't!iO~PBtO!['^O!]']O!^']O#S'bO#T'bO't!iO~PBtO!XXO!['^O!]']O!^']O#P'_O#S'bO#T'bO't!iO~PBtO'o'lO'p'lO'q'nO~O[!zO'u'pO'v!zO'w'pO~O[!}O'w'pO'x'pO'y!}O~Oq#PO!O#QO(R#QO(S'tO~O!U'vO!S&|X!S'SX!V&|X!V'SX~P+pO!V'xO!S(WX~OP$YOX$aOk#}Oy#vOz#wO|#xO!V'xO!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO#r$SO#t$UO#u$VO(QVO(`$WO(g#yO(h#zO~O!S(WX~PF_O!S'}O~O!S(cX!V(cX!a(cX!g(cX(`(cX~O#W(cX#c#[X!W(cX~PHeO#W(OO!S(eX!V(eX~O!V(PO!S(dX~O!S(SO~O#W$bO~PHeO!W(TO~P`Oy#vOz#wO|#xO!f#tO!h#uO(QVOP!jaX!jak!ja!V!ja!e!ja!l!ja#f!ja#g!ja#h!ja#i!ja#j!ja#k!ja#l!ja#m!ja#n!ja#p!ja#r!ja#t!ja#u!ja(`!ja(g!ja(h!ja~O^!ja'j!ja'h!ja!S!ja!g!jao!ja!X!ja%`!ja!a!ja~PI{O!g(UO~O|%vO!X%wO!x]O#a(XO#b(WO's%eO~O!a#rO#W(YO(`'dO!V(bX^(bX'j(bX~O!g(bX~PMPO!V(]O!g(aX~O!g(_O~O|%vO!X%wO#b(WO's%eO~Oy(`Oz(aO!f#tO!h#uO!x!wa|!wa~O!t!wa%_!wa!X!wa#a!wa#b!wa's!wa~PNXO!t(eO~OPYOQYOa!gOb!fOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!csO!hZO!kYO!lYO!mYO!otO!quO!t!eO$P!hO$TfO's!bO'uTO'xUO(QVO(_[O(liO~Oi%POk$qOl$pOm$pOs%QOu%ROw<XO|$xO!X$yO!c=cO!h$uO#b<_O$P%VO$l<ZO$n<]O$q%WO's(iO'uTO'xUO'|%OO(Q$rO~O#c(kO~Oi%POk$qOl$pOm$pOs%QOu%ROw%SO|$xO!X$yO!c%XO!h$uO#b%YO$P%VO$l%TO$n%UO$q%WO's(iO'uTO'xUO'|%OO(Q$rO~Od(ZP~P!$uO!U(oO!g([P~P%QO(T(qO(_[O~O|(sO!h#uO(T(qO(_[O~OP;nOQ;nOa=_Ob!fOikOk;nOlkOmkOskOu;nOw;nO|WO!QkO!RkO!X!cO!c;qO!hZO!k;nO!l;nO!m;nO!o;rO!q;sO!t!eO$P!hO$TfO's)RO'uTO'xUO(QVO(_[O(l=]O~Oz)UO!h#uO~O!V$^O^$ja'j$ja'h$ja!g$ja!S$ja!X$ja%`$ja!a$ja~O#o)YO~P!#]Oy)]O!a)[O!X$WX$S$WX$V$WX$X$WX$`$WX~O!a)[O!X(iX$S(iX$V(iX$X(iX$`(iX~Oy)]O~P!*kOy)]O!X(iX$S(iX$V(iX$X(iX$`(iX~O!X)_O$S)cO$V)^O$X)^O$`)dO~O!U)gO~P!'RO$V$dO$X$cO$`)kO~Og$rXy$rX|$rX!f$rX(g$rX(h$rX~OdfXd$rXgfX!VfX#WfX~P!,aOl)mO~Oq)nO(R)oO(S)qO~Og)zOy)sO|)tO(g)vO(h)xO~Od)rO~P!-jOd){O~Oi%POk$qOl$pOm$pOs%QOu%ROw<XO|$xO!X$yO!c=cO!h$uO#b<_O$P%VO$l<ZO$n<]O$q%WO'uTO'xUO'|%OO(Q$rO~O!U*PO's)|O!g(mP~P!.XO#c*RO~O!h*SO~O!U*XO's*UO!S(nP~P!.XOk*eO|*]O![*cO!]*[O!^*[O!h*SO#S*dO%V*_O't!iO(T!jO~O!W*bO~P!0_O!f#tOg(PXy(PX|(PX(g(PX(h(PX!V(PX#W(PX~Od(PX#x(PX~P!1WOg*hO#W*gOd(OX!V(OX~O!V*iOd'}X~O's%|Od'}P~O!h*pO~O's(iO~O|%vO!U#fO!X%wO!x]O#a#iO#b#fO's%eO!g(aP~O!a#rO#c*tO~OP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO#r$SO#t$UO#u$VO(QVO(`$WO(g#yO(h#zO~O^!ba!V!ba'j!ba'h!ba!S!ba!g!bao!ba!X!ba%`!ba!a!ba~P!3jOy#vOz#wO|#xO!f#tO!h#uO(QVOP!naX!nak!na!V!na!e!na!l!na#f!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#p!na#r!na#t!na#u!na(`!na(g!na(h!na~O^!na'j!na'h!na!S!na!g!nao!na!X!na%`!na!a!na~P!6TOy#vOz#wO|#xO!f#tO!h#uO(QVOP!paX!pak!pa!V!pa!e!pa!l!pa#f!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#p!pa#r!pa#t!pa#u!pa(`!pa(g!pa(h!pa~O^!pa'j!pa'h!pa!S!pa!g!pao!pa!X!pa%`!pa!a!pa~P!8nOg*|O!X'QO%`*{O'|%OO~O!a+OO!X'{X^'{X!V'{X'j'{X~O!h%ZO'|%OO~O!h%ZO's%eO'|%OO~O!a#rO#c(kO~O%a+[O's+WO'uTO'xUO!W(uP~O!V+]O](tX~O(T(qO~OX+aO~O]+bO~O!X%nO's%eO't!iO](tP~O|%vO!U+fO!V(PO!X%wO's%eO!S(dP~Ol&|O|+hO!U+gO'uTO'xUO(T(qO~O!W(fP~P!>RO!V+iO^(qX'j(qX~O#W+mO'|%OO~Og+pO!X$yO'|%OO~O!X+rO~Oy+tO!XXO~O!t+yO~Ob,OO~O's#jO!W(sP~Ob%lO~O%a!OO's%|O~P<bOX,UO],TO~OPYOQYOaxObwOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!csO!hZO!kYO!lYO!mYO!otO!quO!tvO!x]O$TfO%_{O'uTO'xUO(QVO(_[O(liO~O!X!cO$P!hO's!bO~P!@fO],TO^%^O'j%^O~O^,YO#o,[O%c,[O%d,[O~P%QO!h&aO~O&S,aO~O!X,cO~O&e,eO&g,fOP&baQ&baV&ba^&baa&bab&bai&bak&bal&bam&bas&bau&baw&ba|&ba!Q&ba!R&ba!X&ba!c&ba!h&ba!k&ba!l&ba!m&ba!o&ba!q&ba!t&ba!x&ba#o&ba$P&ba$T&ba%_&ba%a&ba%c&ba%d&ba%g&ba%i&ba%l&ba%m&ba%o&ba%|&ba&S&ba&U&ba&W&ba&Y&ba&]&ba&c&ba&i&ba&k&ba&m&ba&o&ba&q&ba'h&ba's&ba'u&ba'x&ba(Q&ba(_&ba(l&ba!W&ba&Z&ba_&ba&`&ba~O's,kO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#W{X'|!_X~O!a,pO#W,oO!V#`X!V(YX!W#`X!W(YX!a(YX!h(YX'|(YX~O!a,rO!h%ZO'|%OO!V!ZX!W!ZX~Ol!kO|!lO'uTO'xUO(T!jO~OP;nOQ;nOa=_Ob!fOikOk;nOlkOmkOskOu;nOw;nO|WO!QkO!RkO!X!cO!c;qO!hZO!k;nO!l;nO!m;nO!o;rO!q;sO!t!eO$P!hO$TfO'uTO'xUO(QVO(_[O(l=]O~O's<dO~P!I{O!V,vO!W(XX~O!W,xO~O!a,pO#W,oO!V#`X!W#`X~O!V,yO!W(fX~O!W,{O~O!],|O!^,|O't!iO~P!IjO!W-PO~P'TOg-SO!X'QO~O!S-XO~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#S!wa#T!wa't!wa'u!wa'x!wa(T!wa(_!wa~PNXO^%^O!a#rO!h%ZO!l-^O#W-[O'j%^O'|%OO(`'dO~O!]-`O!^-`O't!iO~PBtO![-bO!]-`O!^-`O#S-cO#T-cO't!iO~PBtO![-bO!]-`O!^-`O#P-dO#S-cO#T-cO't!iO~PBtO![-bO!]-`O!^-`O!}-eO#O-eO#P-dO#S-cO#T-cO't!iO~PBtO^%^O#W-[O'j%^O~O^%^O!a#rO#W-[O'j%^O~O^%^O!a#rO!l-^O#W-[O'j%^O(`'dO~O'o'lO'p'lO'q-jO~Oo-kO~O!S&|a!V&|a~P!3jO!U-oO!S&|X!V&|X~P%QO!V'xO!S(Wa~O!S(Wa~PF_O!V(PO!S(da~O|%vO!U-sO!X%wO's%eO!S'SX!V'SX~O!V(]O!g(aa~O|%vO!X%wO#b-vO's%eO~O#W-xO!V(ba!g(ba^(ba'j(ba~O!a#rO~P#&hO|%vO!U-{O!X%wO!x]O#a-}O#b-{O's%eO!V'UX!g'UX~Oz.RO!h#uO~Og.UO!X'QO%`.TO'|%OO~O^#Zi!V#Zi'j#Zi'h#Zi!S#Zi!g#Zio#Zi!X#Zi%`#Zi!a#Zi~P!3jOg=iOy)sO|)tO(g)vO(h)xO~O#c#Va^#Va#W#Va'j#Va!V#Va!g#Va!X#Va!S#Va~P#(yO#c(PXP(PXX(PX^(PXk(PXz(PX!e(PX!h(PX!l(PX#f(PX#g(PX#h(PX#i(PX#j(PX#k(PX#l(PX#m(PX#n(PX#p(PX#r(PX#t(PX#u(PX'j(PX(Q(PX(`(PX!g(PX!S(PX'h(PXo(PX!X(PX%`(PX!a(PX~P!1WO!V._Od(ZX~P!-jOd.aO~O!V.bO!g([X~P!3jO!g.eO~O!S.gO~OP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(QVOX#ei^#eik#ei!V#ei!e#ei#g#ei#h#ei#i#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei'j#ei(`#ei(g#ei(h#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~O#f#ei~P#,uO#f#{O~P#,uOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O(QVOX#ei^#ei!V#ei!e#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei'j#ei(`#ei(g#ei(h#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~Ok#ei~P#/gOk#}O~P#/gOP$YOk#}Oy#vOz#wO|#xO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO(QVO^#ei!V#ei#p#ei#r#ei#t#ei#u#ei'j#ei(`#ei(g#ei(h#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~OX#ei!e#ei#k#ei#l#ei#m#ei#n#ei~P#2XOX$aO!e$PO#k$PO#l$PO#m$`O#n$PO~P#2XOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO(QVO^#ei!V#ei#r#ei#t#ei#u#ei'j#ei(`#ei(h#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~O(g#ei~P#5YO(g#yO~P#5YOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO#r$SO(QVO(g#yO^#ei!V#ei#t#ei#u#ei'j#ei(`#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~O(h#ei~P#7zO(h#zO~P#7zOP$YOX$aOk#}Oy#vOz#wO|#xO!e$PO!f#tO!h#uO!l$YO#f#{O#g#|O#h#|O#i#|O#j$OO#k$PO#l$PO#m$`O#n$PO#p$QO#r$SO#t$UO(QVO(g#yO(h#zO~O^#ei!V#ei#u#ei'j#ei(`#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~P#:lOPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#WYX#ccX#fYX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#pYX#rYX#tYX#uYX#zYX(QYX(`YX(gYX(hYX!VYX!WYX~O#xYX~P#=VOP$YOX<VOk;yOy#vOz#wO|#xO!e;{O!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO#j;zO#k;{O#l;{O#m<UO#n;{O#p;|O#r<OO#t<QO#u<RO(QVO(`$WO(g#yO(h#zO~O#x.iO~P#?dOP(VXX(VXk(VXy(VXz(VX|(VX!e(VX!f(VX!h(VX!l(VX#f(VX#g(VX#h(VX#i(VX#j(VX#k(VX#l(VX#m(VX#p(VX#r(VX#t(VX#u(VX(Q(VX(`(VX(g(VX(h(VX!V(VX~O#W<WO#z<WO#n(VX#x(VX!W(VX~P#AbO^'Xa!V'Xa'j'Xa'h'Xa!g'Xa!S'Xao'Xa!X'Xa%`'Xa!a'Xa~P!3jOP#eiX#ei^#eik#eiz#ei!V#ei!e#ei!f#ei!h#ei!l#ei#f#ei#g#ei#h#ei#i#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei'j#ei(Q#ei(`#ei'h#ei!S#ei!g#eio#ei!X#ei%`#ei!a#ei~P#(yO^#yi!V#yi'j#yi'h#yi!S#yi!g#yio#yi!X#yi%`#yi!a#yi~P!3jO$V.nO$X.nO~O$V.oO$X.oO~O!a)[O#W.pO!X$]X$S$]X$V$]X$X$]X$`$]X~O!U.qO~O!X)_O$S.sO$V)^O$X)^O$`.tO~O!V<SO!W(UX~P#?dO!W.uO~O!a)[O$`(iX~O$`.wO~Oq)nO(R)oO(S.zO~Ol.}O!S/OO'uTO'xUO~O!VcX!acX!gcX!g$rX(`cX~P!,aO!g/UO~P#(yO!V/VO!a#rO(`'dO!g(mX~O!g/[O~O!U*PO's%eO!g(mP~O#c/^O~O!S$rX!V$rX!a$yX~P!,aO!V/_O!S(nX~P#(yO!a/aO~O!S/cO~Ok/gO!a#rO!h%ZO'|%OO(`'dO~O's/iO~O!a+OO~O^%^O!V/mO'j%^O~O!W/oO~P!0_O!]/pO!^/pO't!iO(T!jO~O|/rO(T!jO~O#S/sO~O's%|Od'^X!V'^X~O!V*iOd'}a~Od/xO~Oy/yOz/yO|/zOgva(gva(hva!Vva#Wva~Odva#xva~P#M{Oy)sO|)tOg$ka(g$ka(h$ka!V$ka#W$ka~Od$ka#x$ka~P#NqOy)sO|)tOg$ma(g$ma(h$ma!V$ma#W$ma~Od$ma#x$ma~P$ dO#c/|O~Od${a!V${a#W${a#x${a~P!-jO#c0PO~Oy#vOz#wO|#xO!f#tO!h#uO(QVOP!niX!nik!ni!V!ni!e!ni!l!ni#f!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#p!ni#r!ni#t!ni#u!ni(`!ni(g!ni(h!ni~O^!ni'j!ni'h!ni!S!ni!g!nio!ni!X!ni%`!ni!a!ni~P$!qOg.UO!X'QO%`.TO~Oi0WO's0VO~P!.[O!a+OO!X'{a^'{a!V'{a'j'{a~O#c0^O~OXYX!VcX!WcX~O!V0_O!W(uX~O!W0aO~OX0bO~O's+WO'uTO'xUO~O!X%nO's%eO]'fX!V'fX~O!V+]O](ta~O!g0gO~P!3jOX0jO~O]0kO~O!V+iO^(qa'j(qa~O#W0qO~Og0tO!X$yO~O(T(qO!W(rP~Og0}O!X0zO%`0|O'|%OO~OX1XO!V1VO!W(sX~O!W1YO~O]1[O^%^O'j%^O~O's#jO'uTO'xUO~O#W$bO#n1_O#z$bO&Q1`O^(VX~P#AbO#W$bO#n1_O&Q1`O~O^1aO~P%QO^1cO~O&Z1gOP&XiQ&XiV&Xi^&Xia&Xib&Xii&Xik&Xil&Xim&Xis&Xiu&Xiw&Xi|&Xi!Q&Xi!R&Xi!X&Xi!c&Xi!h&Xi!k&Xi!l&Xi!m&Xi!o&Xi!q&Xi!t&Xi!x&Xi#o&Xi$P&Xi$T&Xi%_&Xi%a&Xi%c&Xi%d&Xi%g&Xi%i&Xi%l&Xi%m&Xi%o&Xi%|&Xi&S&Xi&U&Xi&W&Xi&Y&Xi&]&Xi&c&Xi&i&Xi&k&Xi&m&Xi&o&Xi&q&Xi'h&Xi's&Xi'u&Xi'x&Xi(Q&Xi(_&Xi(l&Xi!W&Xi_&Xi&`&Xi~O_1mO!W1kO&`1lO~P`O!XXO!h1oO~O&g,fOP&biQ&biV&bi^&bia&bib&bii&bik&bil&bim&bis&biu&biw&bi|&bi!Q&bi!R&bi!X&bi!c&bi!h&bi!k&bi!l&bi!m&bi!o&bi!q&bi!t&bi!x&bi#o&bi$P&bi$T&bi%_&bi%a&bi%c&bi%d&bi%g&bi%i&bi%l&bi%m&bi%o&bi%|&bi&S&bi&U&bi&W&bi&Y&bi&]&bi&c&bi&i&bi&k&bi&m&bi&o&bi&q&bi'h&bi's&bi'u&bi'x&bi(Q&bi(_&bi(l&bi!W&bi&Z&bi_&bi&`&bi~O!S1uO~O!V!Za!W!Za~P#?dOl!kO|!lO!U1{O(T!jO!V&}X!W&}X~P?cO!V,vO!W(Xa~O!V'TX!W'TX~P!>RO!V,yO!W(fa~O!W2SO~P'TO^%^O#W2]O'j%^O~O^%^O!a#rO#W2]O'j%^O~O^%^O!a#rO!h%ZO!l2aO#W2]O'j%^O'|%OO(`'dO~O!]2bO!^2bO't!iO~PBtO![2eO!]2bO!^2bO#S2fO#T2fO't!iO~PBtO![2eO!]2bO!^2bO#P2gO#S2fO#T2fO't!iO~PBtO^%^O!a#rO!l2aO#W2]O'j%^O(`'dO~O^%^O'j%^O~P!3jO!V$^Oo$ja~O!S&|i!V&|i~P!3jO!V'xO!S(Wi~O!V(PO!S(di~O!S(ei!V(ei~P!3jO!V(]O!g(ai~O!V(bi!g(bi^(bi'j(bi~P!3jO#W2kO!V(bi!g(bi^(bi'j(bi~O|%vO!X%wO!x]O#a2nO#b2mO's%eO~O|%vO!X%wO#b2mO's%eO~Og2uO!X'QO%`2tO~Og2uO!X'QO%`2tO'|%OO~O#cvaPvaXva^vakva!eva!fva!hva!lva#fva#gva#hva#iva#jva#kva#lva#mva#nva#pva#rva#tva#uva'jva(Qva(`va!gva!Sva'hvaova!Xva%`va!ava~P#M{O#c$kaP$kaX$ka^$kak$kaz$ka!e$ka!f$ka!h$ka!l$ka#f$ka#g$ka#h$ka#i$ka#j$ka#k$ka#l$ka#m$ka#n$ka#p$ka#r$ka#t$ka#u$ka'j$ka(Q$ka(`$ka!g$ka!S$ka'h$kao$ka!X$ka%`$ka!a$ka~P#NqO#c$maP$maX$ma^$mak$maz$ma!e$ma!f$ma!h$ma!l$ma#f$ma#g$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#p$ma#r$ma#t$ma#u$ma'j$ma(Q$ma(`$ma!g$ma!S$ma'h$mao$ma!X$ma%`$ma!a$ma~P$ dO#c${aP${aX${a^${ak${az${a!V${a!e${a!f${a!h${a!l${a#f${a#g${a#h${a#i${a#j${a#k${a#l${a#m${a#n${a#p${a#r${a#t${a#u${a'j${a(Q${a(`${a!g${a!S${a'h${a#W${ao${a!X${a%`${a!a${a~P#(yO^#Zq!V#Zq'j#Zq'h#Zq!S#Zq!g#Zqo#Zq!X#Zq%`#Zq!a#Zq~P!3jOd'OX!V'OX~P!$uO!V._Od(Za~O!U2}O!V'PX!g'PX~P%QO!V.bO!g([a~O!V.bO!g([a~P!3jO!S3QO~O#x!ja!W!ja~PI{O#x!ba!V!ba!W!ba~P#?dO#x!na!W!na~P!6TO#x!pa!W!pa~P!8nO!X3dO$TfO$^3eO~O!W3iO~Oo3jO~P#(yO^$gq!V$gq'j$gq'h$gq!S$gq!g$gqo$gq!X$gq%`$gq!a$gq~P!3jO!S3kO~Ol.}O'uTO'xUO~Oy)sO|)tO(h)xOg%Wi(g%Wi!V%Wi#W%Wi~Od%Wi#x%Wi~P$HbOy)sO|)tOg%Yi(g%Yi(h%Yi!V%Yi#W%Yi~Od%Yi#x%Yi~P$ITO(`$WO~P#(yO!U3nO's%eO!V'YX!g'YX~O!V/VO!g(ma~O!V/VO!a#rO!g(ma~O!V/VO!a#rO(`'dO!g(ma~Od$ti!V$ti#W$ti#x$ti~P!-jO!U3vO's*UO!S'[X!V'[X~P!.XO!V/_O!S(na~O!V/_O!S(na~P#(yO!a#rO~O!a#rO#n4OO~Ok4RO!a#rO(`'dO~Od(Oi!V(Oi~P!-jO#W4UOd(Oi!V(Oi~P!-jO!g4XO~O^$hq!V$hq'j$hq'h$hq!S$hq!g$hqo$hq!X$hq%`$hq!a$hq~P!3jO!V4]O!X(oX~P#(yO!f#tO~P3zO!X$rX%TYX^$rX!V$rX'j$rX~P!,aO%T4_OghXyhX|hX!XhX(ghX(hhX^hX!VhX'jhX~O%T4_O~O%a4fO's+WO'uTO'xUO!V'eX!W'eX~O!V0_O!W(ua~OX4jO~O]4kO~O!S4oO~O^%^O'j%^O~P#(yO!X$yO~P#(yO!V4tO#W4vO!W(rX~O!W4wO~Ol!kO|4yO![5WO!]4}O!^4}O!x;oO!|5VO!}5UO#O5UO#P5TO#S5SO#T!wO't!iO'uTO'xUO(T!jO(_!nO~O!W5RO~P%#XOg5]O!X0zO%`5[O~Og5]O!X0zO%`5[O'|%OO~O's#jO!V'dX!W'dX~O!V1VO!W(sa~O'uTO'xUO(T5fO~O]5jO~O!g5mO~P%QO^5oO~O^5oO~P%QO#n5qO&Q5rO~PMPO_1mO!W5vO&`1lO~P`O!a5xO~O!a5zO!V(Yi!W(Yi!a(Yi!h(Yi'|(Yi~O!V#`i!W#`i~P#?dO#W5{O!V#`i!W#`i~O!V!Zi!W!Zi~P#?dO^%^O#W6UO'j%^O~O^%^O!a#rO#W6UO'j%^O~O^%^O!a#rO!l6ZO#W6UO'j%^O(`'dO~O!h%ZO'|%OO~P%(fO!]6[O!^6[O't!iO~PBtO![6_O!]6[O!^6[O#S6`O#T6`O't!iO~PBtO!V(]O!g(aq~O!V(bq!g(bq^(bq'j(bq~P!3jO|%vO!X%wO#b6dO's%eO~O!X'QO%`6gO~Og6jO!X'QO%`6gO~O#c%WiP%WiX%Wi^%Wik%Wiz%Wi!e%Wi!f%Wi!h%Wi!l%Wi#f%Wi#g%Wi#h%Wi#i%Wi#j%Wi#k%Wi#l%Wi#m%Wi#n%Wi#p%Wi#r%Wi#t%Wi#u%Wi'j%Wi(Q%Wi(`%Wi!g%Wi!S%Wi'h%Wio%Wi!X%Wi%`%Wi!a%Wi~P$HbO#c%YiP%YiX%Yi^%Yik%Yiz%Yi!e%Yi!f%Yi!h%Yi!l%Yi#f%Yi#g%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#p%Yi#r%Yi#t%Yi#u%Yi'j%Yi(Q%Yi(`%Yi!g%Yi!S%Yi'h%Yio%Yi!X%Yi%`%Yi!a%Yi~P$ITO#c$tiP$tiX$ti^$tik$tiz$ti!V$ti!e$ti!f$ti!h$ti!l$ti#f$ti#g$ti#h$ti#i$ti#j$ti#k$ti#l$ti#m$ti#n$ti#p$ti#r$ti#t$ti#u$ti'j$ti(Q$ti(`$ti!g$ti!S$ti'h$ti#W$tio$ti!X$ti%`$ti!a$ti~P#(yOd'Oa!V'Oa~P!-jO!V'Pa!g'Pa~P!3jO!V.bO!g([i~O#x#Zi!V#Zi!W#Zi~P#?dOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO(QVOX#eik#ei!e#ei#g#ei#h#ei#i#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei#x#ei(`#ei(g#ei(h#ei!V#ei!W#ei~O#f#ei~P%2xO#f;wO~P%2xOP$YOy#vOz#wO|#xO!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO(QVOX#ei!e#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei#x#ei(`#ei(g#ei(h#ei!V#ei!W#ei~Ok#ei~P%5TOk;yO~P%5TOP$YOk;yOy#vOz#wO|#xO!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO#j;zO(QVO#p#ei#r#ei#t#ei#u#ei#x#ei(`#ei(g#ei(h#ei!V#ei!W#ei~OX#ei!e#ei#k#ei#l#ei#m#ei#n#ei~P%7`OX<VO!e;{O#k;{O#l;{O#m<UO#n;{O~P%7`OP$YOX<VOk;yOy#vOz#wO|#xO!e;{O!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO#j;zO#k;{O#l;{O#m<UO#n;{O#p;|O(QVO#r#ei#t#ei#u#ei#x#ei(`#ei(h#ei!V#ei!W#ei~O(g#ei~P%9zO(g#yO~P%9zOP$YOX<VOk;yOy#vOz#wO|#xO!e;{O!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO#j;zO#k;{O#l;{O#m<UO#n;{O#p;|O#r<OO(QVO(g#yO#t#ei#u#ei#x#ei(`#ei!V#ei!W#ei~O(h#ei~P%<VO(h#zO~P%<VOP$YOX<VOk;yOy#vOz#wO|#xO!e;{O!f#tO!h#uO!l$YO#f;wO#g;xO#h;xO#i;xO#j;zO#k;{O#l;{O#m<UO#n;{O#p;|O#r<OO#t<QO(QVO(g#yO(h#zO~O#u#ei#x#ei(`#ei!V#ei!W#ei~P%>bO^#vy!V#vy'j#vy'h#vy!S#vy!g#vyo#vy!X#vy%`#vy!a#vy~P!3jOg=jOy)sO|)tO(g)vO(h)xO~OP#eiX#eik#eiz#ei!e#ei!f#ei!h#ei!l#ei#f#ei#g#ei#h#ei#i#ei#j#ei#k#ei#l#ei#m#ei#n#ei#p#ei#r#ei#t#ei#u#ei#x#ei(Q#ei(`#ei!V#ei!W#ei~P%AYO!f#tOP(PXX(PXg(PXk(PXy(PXz(PX|(PX!e(PX!h(PX!l(PX#f(PX#g(PX#h(PX#i(PX#j(PX#k(PX#l(PX#m(PX#n(PX#p(PX#r(PX#t(PX#u(PX#x(PX(Q(PX(`(PX(g(PX(h(PX!V(PX!W(PX~O#x#yi!V#yi!W#yi~P#?dO#x!ni!W!ni~P$!qO!W6vO~O!V'Xa!W'Xa~P#?dO!a#rO(`'dO!V'Ya!g'Ya~O!V/VO!g(mi~O!V/VO!a#rO!g(mi~Od$tq!V$tq#W$tq#x$tq~P!-jO!S'[a!V'[a~P#(yO!a6}O~O!V/_O!S(ni~P#(yO!V/_O!S(ni~O!S7RO~O!a#rO#n7WO~Ok7XO!a#rO(`'dO~O!S7ZO~Od$vq!V$vq#W$vq#x$vq~P!-jO^$hy!V$hy'j$hy'h$hy!S$hy!g$hyo$hy!X$hy%`$hy!a$hy~P!3jO!V4]O!X(oa~O^#Zy!V#Zy'j#Zy'h#Zy!S#Zy!g#Zyo#Zy!X#Zy%`#Zy!a#Zy~P!3jOX7`O~O!V0_O!W(ui~O]7fO~O!a5zO~O(T(qO!V'aX!W'aX~O!V4tO!W(ra~O!h%ZO'|%OO^(YX!a(YX!l(YX#W(YX'j(YX(`(YX~O's7oO~P.[O!x;oO!|7rO!}7qO#O7qO#P7pO#S'bO#T'bO~PBtO^%^O!a#rO!l'hO#W'fO'j%^O(`'dO~O!W7vO~P%#XOl!kO'uTO'xUO(T!jO(_!nO~O|7wO~P%MdO![7{O!]7zO!^7zO#P7pO#S'bO#T'bO't!iO~PBtO![7{O!]7zO!^7zO!}7|O#O7|O#P7pO#S'bO#T'bO't!iO~PBtO!]7zO!^7zO't!iO(T!jO(_!nO~O!X0zO~O!X0zO%`8OO~Og8RO!X0zO%`8OO~OX8WO!V'da!W'da~O!V1VO!W(si~O!g8[O~O!g8]O~O!g8^O~O!g8^O~P%QO^8`O~O!a8cO~O!g8dO~O!V(ei!W(ei~P#?dO^%^O#W8lO'j%^O~O^%^O!a#rO#W8lO'j%^O~O^%^O!a#rO!l8pO#W8lO'j%^O(`'dO~O!h%ZO'|%OO~P&$QO!]8qO!^8qO't!iO~PBtO!V(]O!g(ay~O!V(by!g(by^(by'j(by~P!3jO!X'QO%`8uO~O#c$tqP$tqX$tq^$tqk$tqz$tq!V$tq!e$tq!f$tq!h$tq!l$tq#f$tq#g$tq#h$tq#i$tq#j$tq#k$tq#l$tq#m$tq#n$tq#p$tq#r$tq#t$tq#u$tq'j$tq(Q$tq(`$tq!g$tq!S$tq'h$tq#W$tqo$tq!X$tq%`$tq!a$tq~P#(yO#c$vqP$vqX$vq^$vqk$vqz$vq!V$vq!e$vq!f$vq!h$vq!l$vq#f$vq#g$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#p$vq#r$vq#t$vq#u$vq'j$vq(Q$vq(`$vq!g$vq!S$vq'h$vq#W$vqo$vq!X$vq%`$vq!a$vq~P#(yO!V'Pi!g'Pi~P!3jO#x#Zq!V#Zq!W#Zq~P#?dOy/yOz/yO|/zOPvaXvagvakva!eva!fva!hva!lva#fva#gva#hva#iva#jva#kva#lva#mva#nva#pva#rva#tva#uva#xva(Qva(`va(gva(hva!Vva!Wva~Oy)sO|)tOP$kaX$kag$kak$kaz$ka!e$ka!f$ka!h$ka!l$ka#f$ka#g$ka#h$ka#i$ka#j$ka#k$ka#l$ka#m$ka#n$ka#p$ka#r$ka#t$ka#u$ka#x$ka(Q$ka(`$ka(g$ka(h$ka!V$ka!W$ka~Oy)sO|)tOP$maX$mag$mak$maz$ma!e$ma!f$ma!h$ma!l$ma#f$ma#g$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#p$ma#r$ma#t$ma#u$ma#x$ma(Q$ma(`$ma(g$ma(h$ma!V$ma!W$ma~OP${aX${ak${az${a!e${a!f${a!h${a!l${a#f${a#g${a#h${a#i${a#j${a#k${a#l${a#m${a#n${a#p${a#r${a#t${a#u${a#x${a(Q${a(`${a!V${a!W${a~P%AYO#x$gq!V$gq!W$gq~P#?dO#x$hq!V$hq!W$hq~P#?dO!W9PO~O#x9QO~P!-jO!a#rO!V'Yi!g'Yi~O!a#rO(`'dO!V'Yi!g'Yi~O!V/VO!g(mq~O!S'[i!V'[i~P#(yO!V/_O!S(nq~O!S9WO~P#(yO!S9WO~Od(Oy!V(Oy~P!-jO!V'_a!X'_a~P#(yO!X%Sq^%Sq!V%Sq'j%Sq~P#(yOX9]O~O!V0_O!W(uq~O#W9aO!V'aa!W'aa~O!V4tO!W(ri~P#?dOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#WYX#ccX#fYX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#pYX#rYX#tYX#uYX#zYX(QYX(`YX(gYX(hYX~O!a%QX#n%QX~P&6lO#S-cO#T-cO~PBtO#P9eO#S-cO#T-cO~PBtO!}9fO#O9fO#P9eO#S-cO#T-cO~PBtO!]9iO!^9iO't!iO(T!jO(_!nO~O![9lO!]9iO!^9iO#P9eO#S-cO#T-cO't!iO~PBtO!X0zO%`9oO~O'uTO'xUO(T9tO~O!V1VO!W(sq~O!g9wO~O!g9wO~P%QO!g9yO~O!g9zO~O#W9|O!V#`y!W#`y~O!V#`y!W#`y~P#?dO^%^O#W:QO'j%^O~O^%^O!a#rO#W:QO'j%^O~O^%^O!a#rO!l:UO#W:QO'j%^O(`'dO~O!X'QO%`:XO~O#x#vy!V#vy!W#vy~P#?dOP$tiX$tik$tiz$ti!e$ti!f$ti!h$ti!l$ti#f$ti#g$ti#h$ti#i$ti#j$ti#k$ti#l$ti#m$ti#n$ti#p$ti#r$ti#t$ti#u$ti#x$ti(Q$ti(`$ti!V$ti!W$ti~P%AYOy)sO|)tO(h)xOP%WiX%Wig%Wik%Wiz%Wi!e%Wi!f%Wi!h%Wi!l%Wi#f%Wi#g%Wi#h%Wi#i%Wi#j%Wi#k%Wi#l%Wi#m%Wi#n%Wi#p%Wi#r%Wi#t%Wi#u%Wi#x%Wi(Q%Wi(`%Wi(g%Wi!V%Wi!W%Wi~Oy)sO|)tOP%YiX%Yig%Yik%Yiz%Yi!e%Yi!f%Yi!h%Yi!l%Yi#f%Yi#g%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#p%Yi#r%Yi#t%Yi#u%Yi#x%Yi(Q%Yi(`%Yi(g%Yi(h%Yi!V%Yi!W%Yi~O#x$hy!V$hy!W$hy~P#?dO#x#Zy!V#Zy!W#Zy~P#?dO!a#rO!V'Yq!g'Yq~O!V/VO!g(my~O!S'[q!V'[q~P#(yO!S:`O~P#(yO!V0_O!W(uy~O!V4tO!W(rq~O#S2fO#T2fO~PBtO#P:gO#S2fO#T2fO~PBtO!]:kO!^:kO't!iO(T!jO(_!nO~O!X0zO%`:nO~O!g:qO~O^%^O#W:vO'j%^O~O^%^O!a#rO#W:vO'j%^O~O!X'QO%`:{O~OP$tqX$tqk$tqz$tq!e$tq!f$tq!h$tq!l$tq#f$tq#g$tq#h$tq#i$tq#j$tq#k$tq#l$tq#m$tq#n$tq#p$tq#r$tq#t$tq#u$tq#x$tq(Q$tq(`$tq!V$tq!W$tq~P%AYOP$vqX$vqk$vqz$vq!e$vq!f$vq!h$vq!l$vq#f$vq#g$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#p$vq#r$vq#t$vq#u$vq#x$vq(Q$vq(`$vq!V$vq!W$vq~P%AYOd%[!Z!V%[!Z#W%[!Z#x%[!Z~P!-jO!V'aq!W'aq~P#?dO#S6`O#T6`O~PBtO!V#`!Z!W#`!Z~P#?dO^%^O#W;ZO'j%^O~O#c%[!ZP%[!ZX%[!Z^%[!Zk%[!Zz%[!Z!V%[!Z!e%[!Z!f%[!Z!h%[!Z!l%[!Z#f%[!Z#g%[!Z#h%[!Z#i%[!Z#j%[!Z#k%[!Z#l%[!Z#m%[!Z#n%[!Z#p%[!Z#r%[!Z#t%[!Z#u%[!Z'j%[!Z(Q%[!Z(`%[!Z!g%[!Z!S%[!Z'h%[!Z#W%[!Zo%[!Z!X%[!Z%`%[!Z!a%[!Z~P#(yOP%[!ZX%[!Zk%[!Zz%[!Z!e%[!Z!f%[!Z!h%[!Z!l%[!Z#f%[!Z#g%[!Z#h%[!Z#i%[!Z#j%[!Z#k%[!Z#l%[!Z#m%[!Z#n%[!Z#p%[!Z#r%[!Z#t%[!Z#u%[!Z#x%[!Z(Q%[!Z(`%[!Z!V%[!Z!W%[!Z~P%AYOo(UX~P1dO't!iO~P!'RO!ScX!VcX#WcX~P&6lOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#WYX#WcX#ccX#fYX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#pYX#rYX#tYX#uYX#zYX(QYX(`YX(gYX(hYX~O!acX!gYX!gcX(`cX~P'!sOP;nOQ;nOa=_Ob!fOikOk;nOlkOmkOskOu;nOw;nO|WO!QkO!RkO!XXO!c;qO!hZO!k;nO!l;nO!m;nO!o;rO!q;sO!t!eO$P!hO$TfO's)RO'uTO'xUO(QVO(_[O(l=]O~O!V<SO!W$ja~Oi%POk$qOl$pOm$pOs%QOu%ROw<YO|$xO!X$yO!c=dO!h$uO#b<`O$P%VO$l<[O$n<^O$q%WO's(iO'uTO'xUO'|%OO(Q$rO~O#o)YO~P''iO!WYX!WcX~P'!sO#c;vO~O!a#rO#c;vO~O#W<WO~O#n;{O~O#W<bO!V(eX!W(eX~O#W<WO!V(cX!W(cX~O#c<cO~Od<eO~P!-jO#c<jO~O#c<kO~O!a#rO#c<lO~O!a#rO#c<cO~O#x<mO~P#?dO#c<nO~O#c<oO~O#c<pO~O#c<qO~O#c<rO~O#c<sO~O#x<tO~P!-jO#x<uO~P!-jO$T~!f!|#O#P#S#a#b#m(l$l$n$q%T%_%`%a%g%i%l%m%o%q~'nR$T(l#g!R'l't#hl#f#iky'm(T'm's$V$X$V~",goto:"$/X(yPPPP(zP(}P)_P+a/fPPPP6iPP7OP<|@mPAQPAQPPPAQPBpPAQPAQPAQPBtPPByPCdPH`PPPHdPPPPHdKfPPPKlMlPHdP!!SPPPP!$eHdPPPHdPHdP!&vHdP!*]!+_!+dP!,U!,Y!,UPPPP!/f!1kPP!1t!3OP!+_HdHd!6b!9m!>v!>v!BnPPP!BuHdPPPPPPPPPPP!FTP!GiPPHd!HyPHdPHdHdHdHdPHd!J`PP!MiP#!nP#!r#!|##Q##QP!MfP##U##UP#&ZP#&_HdHd#&e#)iAQPAQPAQAQP#*sAQAQ#,mAQ#.zAQ#0nAQAQ#1[#3W#3W#3[#3d#3W#3lP#3WPAQ#4hAQ#5pAQAQ6iPPP#6{PP#7e#7eP#7eP#7z#7ePP#8QP#7wP#7w#8d!1p#7w#9O#9U6f(}#9X(}P#9`#9`#9`P(}P(}P(}P(}PP(}P#9f#9iP#9i(}P#9mP#9pP(}P(}P(}P(}P(}P(}(}PP#9v#9|#:W#:^#:d#:j#:p#;O#;U#;[#;f#;l#<h#<w#<}#=a#=g#=m#={#>b#?r#@Q#@W#@^#@d#@j#@t#@z#AQ#A[#An#AtPPPPPPPPPP#AzPPPPPPP#Bn#FYP#Gu#G|#HUPPPP#L`$ U$'t$'w$'z$)w$)z$)}$*UPP$*[$*`$+X$,X$,]$,qPP$,u$,{$-PP$-S$-W$-Z$.P$.g$.l$.o$.r$.x$.{$/P$/TR!yRmpOXr!X#a%]&d&f&g&i,^,c1g1jU!pQ'Q-OQ%ctQ%kwQ%rzQ&[!TS&x!c,vQ'W!f[']!m!r!s!t!u!vS*[$y*aQ+U%lQ+c%tQ+}&UQ,|'PQ-W'XW-`'^'_'`'aQ/p*cQ1U,OU2b-b-d-eS4}0z5QS6[2e2gU7z5U5V5WQ8q6_S9i7{7|Q:k9lR<a;r%QdOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t+h,Y,^,c-S-[-o-x.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2}4y5]5o5q5r6U7w8R8`8l:Q:v;ZS#m];o!r)T$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`Q*l%SQ+Z%nQ,P&XQ,W&aQ.X<XQ0T*|Q0X+OQ0d+[Q1^,UQ2q.UQ4e0_Q5d1VQ6i2uQ6o<YQ7b4fR8x6j'OkOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`#S!kQ!m!p!r!s!t!u!v!w&x'P'Q']'^'_'`'a'b,v,|-O-`-b-c-d-e0z2b2e2f2g4z5Q5S5T5U5V6[6_6`7p7q7r7|8q9e9f:g$Y$pi#r#t$`$a$u$x%T%U%Y)n)w)y)z*R*X*g*h*{+O+m+p.T._/^/_/a/|0q0t0|2t3l3v4O4U4]4_5[6g6}7W8O8u9Q9o:X:n:{<U<V<Z<[<]<^<_<`<f<g<h<i<j<k<n<o<p<q<t<u=]=e=f=i=jQ%uzQ&v!cS&|%w,yQ+Z%nS.})t/PQ/{*pQ0d+[Q0i+bQ1],TQ1^,UQ4e0_Q4n0kQ5g1XQ5h1[Q7b4fQ7e4kQ8Z5jQ9`7fR9u8WpmOXr!T!X#a%]&Z&d&f&g&i,^,c1g1jR,R&]&x`OPXYrstux!X!^!g!l#P#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u'S'f'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=_=`[#YWZ#T#W&y'vQ%fvQ%jwS%oz%t!U%x|}#d#f#i%Z%v(P(W(X(]+f+g+i,[,p-s-v-z-{-}1o2m2n5z6dQ&Q!RQ'T!eQ'V!fQ(d#oS*O$u*SS+T%k%lQ+X%nQ+x&SQ+|&US-V'W'XQ.W(eQ/Z*PQ0]+UQ0c+[Q0e+]Q0h+aQ1P+yS1T+},OQ2X-WQ3m/VQ4d0_Q4h0bQ4m0jQ5c1UQ6z3nQ7a4fQ7d4jQ9[7`R:b9]v$wi#t%T%U%Y)w)y*R*g*h._/^/|3l4U9Q=]=e=f!`%hw!f!o%j%k%l&w'V'W'X'['i*Z+T+U,s-V-W-_-a/h0]2Q2X2`2d4Q6Y6^8o:TQ*}%fQ+n%}Q+q&OQ+{&UQ.V(dQ1O+xU1S+|+},OQ2v.WQ5^1PS5b1T1US7n4x4|Q8V5cU9g7s7x7yU:i9h9j9kQ;R:jQ;a;S!z=a#r$`$a$u$x)n)z*X*{+O+m+p.T/_/a0q0t0|2t3v4O4]4_5[6g6}7W8O8u9o:X:n:{<Z<]<_<f<h<j<n<p<t=i=jg=b<U<V<[<^<`<g<i<k<o<q<uW$|i%O*i=]S%}!O&ZQ&O!PQ&P!QR+l%{$Z${i#r#t$`$a$u$x%T%U%Y)n)w)y)z*R*X*g*h*{+O+m+p.T._/^/_/a/|0q0t0|2t3l3v4O4U4]4_5[6g6}7W8O8u9Q9o:X:n:{<U<V<Z<[<]<^<_<`<f<g<h<i<j<k<n<o<p<q<t<u=]=e=f=i=jT)o$r)pV*m%S<X<YU&|!c%w,yS(r#v#wQ+`%qS.P(`(aQ0u+rQ4V/yR7j4t'OkOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`$o$]c#V#b%a%b%d'u'{(g(n(v(w(x(y(z({(|(})O)P)Q)S)V)Z)e*y+_,t-h-m-r-w.^.d.h.j.k.l.{/}1v1y2Z2j2|3R3S3T3U3V3W3X3Y3Z3[3]3^3_3b3c3h4Z4b5}6T6b6m6n6s6t7l8f8j8y8}9O:O:d:r:t;X;d;p=ST#QV#R'PkOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`Q&z!cR1|,v!z!kQ!c!m!p!r!s!t!u!v!w&x'P'Q']'^'_'`'a'b,v,|-O-`-b-c-d-e2b2e2f2g4z5S5T6[6_6`7p7q7r8q9e9f:gS*Z$y*aS/h*[*cQ/q*dQ0w+tQ4Q/pQ4T/sS4x0z5QS7s4}5WS7x5U5VS9h7z7{Q9j7|S:j9i9lR;S:klpOXr!X#a%]&d&f&g&i,^,c1g1jQ&k![Q'j!tS(f#q;vQ+R%iQ+v&QQ+w&RQ-T'UQ-g'cS.](k<cS0O*t<lQ0Z+SQ0y+uQ1n,eQ1p,fQ1x,qQ2V-UQ2Y-YS4[0P<rQ4`0[S4c0^<sQ5|1zQ6Q2WQ6V2_Q7_4aQ8g6OQ8h6RQ8k6WQ9{8dQ:P8mQ:u:RR;Y:w$j$[c#V#b%b%d'u'{(g(n(v(w(x(y(z({(|(})O)P)Q)S)V)Z)e*y+_,t-h-m-r-w.^.d.h.k.l.{/}1v1y2Z2j2|3R3S3T3U3V3W3X3Y3Z3[3]3^3_3b3c3h4Z4b5}6T6b6m6n6s6t7l8f8j8y8}9O:O:d:r:t;X;d;p=SS(c#l'ZU*f$z(j3aS*x%a.jQ2r0TQ6f2qQ8w6iR:Y8x$j$Zc#V#b%b%d'u'{(g(n(v(w(x(y(z({(|(})O)P)Q)S)V)Z)e*y+_,t-h-m-r-w.^.d.h.k.l.{/}1v1y2Z2j2|3R3S3T3U3V3W3X3Y3Z3[3]3^3_3b3c3h4Z4b5}6T6b6m6n6s6t7l8f8j8y8}9O:O:d:r:t;X;d;p=SS(b#l'ZS(t#w$[S*w%a.jS.Q(a(cQ.m)UQ0Q*xR2o.R'OkOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`S#m];oQ&f!VQ&g!WQ&i!YQ&j!ZR1f,aQ'R!eQ*z%fQ-R'TS.S(d*}Q2T-QW2s.V.W0S0UQ6P2UU6e2p2r2vS8t6f6hS:W8v8wS:y:V:YQ;[:zR;e;]V!qQ'Q-O!_^OQXZ_r!T!X!m#a#d%Z%]&Z&]&d&f&g&i'Q(],^,c-O-z0z1g1j4z5QT#m];o%[yOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t*|+h,Y,^,c-S-[-o-x.U.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2u2}4y5]5o5q5r6U6j7w8R8`8l:Q:v;ZS(r#v#wS.P(`(a!s<y$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`U!oQ'Q-OY'[!m!s!t!u!vS'i!p!rW'k!w4z5S5TS-_']'^U-a'_'`'aW-f'b7p7q7rS2`-`-bU2c-c9e9fS2d-d-eS4|0z5QS6Y2b2eS6]2f:gQ6^2gS7s4}5WS7y5U5VS8o6[6_Q8r6`S9h7z7{Q9k7|Q:T8qS:j9i9lR;S:kU!qQ'Q-OT5O0z5QU'h!o4{4|S([#e1dU-^'['k7yQ/Y*OQ/f*ZU2a-a-f9kQ3r/ZS3{/g/qS6Z2c2dQ6y3mS7U4R4TS8p6]6^Q9S6zQ9Z7XR:U8rQ#sbU'g!o4{4|S(Z#e1dQ*u%[Q+P%gQ+V%mW-]'['h'k7yQ-y([Q/X*OQ/e*ZQ/k*^Q0Y+QQ1Q+zW2^-^-a-f9kS3q/Y/ZS3z/f/qQ3}/jQ4P/lQ5`1RU6X2a2c2dQ6x3mQ6|3rS7Q3{4TQ7V4SQ8T5aU8n6Z6]6^S9R6y6zQ9V7RQ9X7UQ9c7mQ9r8US:S8p8rQ:^9SQ:_9WQ:a9ZQ:f9dQ:p9sQ:x:UQ:}:`Q;P:hQ;_;QQ;h;`Q;l;iQ<|<wQ=X=QR=Y=R%[aOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t*|+h,Y,^,c-S-[-o-x.U.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2u2}4y5]5o5q5r6U6j7w8R8`8l:Q:v;ZS#sx!g!r<v$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`R<|=_%[bOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t*|+h,Y,^,c-S-[-o-x.U.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2u2}4y5]5o5q5r6U6j7w8R8`8l:Q:v;ZQ%[j!`%gw!f!o%j%k%l&w'V'W'X'['i*Z+T+U,s-V-W-_-a/h0]2Q2X2`2d4Q6Y6^8o:TS%mx!gQ+Q%hQ+z&UW1R+{+|+},OU5a1S1T1US7m4x4|S8U5b5cW9d7n7s7x7yQ9s8VW:h9g9h9j9kS;Q:i:jS;`;R;SQ;i;a!r<w$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`Q=Q=^R=R=_%OeOPXYrstu!X!^!l#P#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'f'x(O(Y(k(o(s)r*t*|+h,Y,^,c-S-[-o-x.U.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2u2}4y5]5o5q5r6U6j7w8R8`8l:Q:v;ZY#_WZ#T#W'v!U%x|}#d#f#i%Z%v(P(W(X(]+f+g+i,[,p-s-v-z-{-}1o2m2n5z6dQ,X&a!p<x$X$j)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`R<{&yS&}!c%wR2O,y%QdOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t+h,Y,^,c-S-[-o-x.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2}4y5]5o5q5r6U7w8R8`8l:Q:v;Z!r)T$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`Q,W&aQ0T*|Q2q.UQ6i2uR8x6j!l$Rc#V%a'u'{(g(n(})O)P)Q)V)Z+_-h-m-r-w.^.d.{/}2Z2j2|3_4Z4b6T6b6m8j:O:t;X;d;p!T;})S)e,t.j1v1y3R3Z3[3]3^3b3h5}6n6s6t7l8f8y8}9O:d:r=S!h$Tc#V%a'u'{(g(n)P)Q)V)Z+_-h-m-r-w.^.d.{/}2Z2j2|3_4Z4b6T6b6m8j:O:t;X;d;p!P<P)S)e,t.j1v1y3R3]3^3b3h5}6n6s6t7l8f8y8}9O:d:r=S!d$Xc#V%a'u'{(g(n)V)Z+_-h-m-r-w.^.d.{/}2Z2j2|3_4Z4b6T6b6m8j:O:t;X;d;pQ3l/Tz=`)S)e,t.j1v1y3R3b3h5}6n6s6t7l8f8y8}9O:d:r=SQ=e=gR=f=h'OkOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`S$kh$lR3e.p'VgOPWXYZhrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.p.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`T$gf$mQ$efS)^$h)bR)j$mT$ff$mT)`$h)b'VhOPWXYZhrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$X$^$b$j$l%]%c%p&]&`&a&d&f&g&i&m&u&y'S'f'v'x(O(Y(k(o(s)g)r*t*|+h,Y,^,c,o,r-S-[-o-x.U.b.i.p.q/z0P0^0}1_1`1a1c1g1j1l1{2]2k2u2}3d4v4y5]5o5q5r5{6U6j7w8R8`8l9a9|:Q:v;Z;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`T$kh$lQ$nhR)i$l%[jOPWXYZrstu!X!^!l#P#T#W#a#k#q#u#x#{#|#}$O$P$Q$R$S$T$U$V$^$b%]%c%p&]&`&a&d&f&g&i&m&u'S'f'v'x(O(Y(k(o(s)r*t*|+h,Y,^,c-S-[-o-x.U.b.i/z0P0^0}1_1`1a1c1g1j1l2]2k2u2}4y5]5o5q5r6U6j7w8R8`8l:Q:v;Z!s=^$X$j&y)g,o,r.q1{3d4v5{9a9|;n;q;r;s;v;w;x;y;z;{;|;}<O<P<Q<R<S<W<a<b<c<e<l<m<r<s=`#alOPXZr!X!^!l#P#a#k#x$j%]&]&`&a&d&f&g&i&m&u'S(s)g*|+h,Y,^,c-S.U.q/z0}1_1`1a1c1g1j1l2u3d4y5]5o5q5r6j7w8R8`v$zi#t%T%U%Y)w)y*R*g*h._/^/|3l4U9Q=]=e=f!z(j#r$`$a$u$x)n)z*X*{+O+m+p.T/_/a0q0t0|2t3v4O4]4_5[6g6}7W8O8u9o:X:n:{<Z<]<_<f<h<j<n<p<t=i=jQ*q%WQ.|)sg3a<U<V<[<^<`<g<i<k<o<q<uv$vi#t%T%U%Y)w)y*R*g*h._/^/|3l4U9Q=]=e=fQ*T$wS*^$y*aQ*r%XQ/l*_!z=O#r$`$a$u$x)n)z*X*{+O+m+p.T/_/a0q0t0|2t3v4O4]4_5[6g6}7W8O8u9o:X:n:{<Z<]<_<f<h<j<n<p<t=i=jf=P<U<V<[<^<`<g<i<k<o<q<uQ=T=aQ=U=bQ=V=cR=W=dv$zi#t%T%U%Y)w)y*R*g*h._/^/|3l4U9Q=]=e=f!z(j#r$`$a$u$x)n)z*X*{+O+m+p.T/_/a0q0t0|2t3v4O4]4_5[6g6}7W8O8u9o:X:n:{<Z<]<_<f<h<j<n<p<t=i=jg3a<U<V<[<^<`<g<i<k<o<q<ulnOXr!X#a%]&d&f&g&i,^,c1g1jQ*W$xQ,l&pQ,m&rR3u/_$Y${i#r#t$`$a$u$x%T%U%Y)n)w)y)z*R*X*g*h*{+O+m+p.T._/^/_/a/|0q0t0|2t3l3v4O4U4]4_5[6g6}7W8O8u9Q9o:X:n:{<U<V<Z<[<]<^<_<`<f<g<h<i<j<k<n<o<p<q<t<u=]=e=f=i=jQ+o&OQ0s+qQ4r0rR7i4sT*`$y*aS*`$y*aT5P0z5QS/j*]4yT4S/r7wQ+P%gQ/k*^Q0Y+QQ1Q+zQ5`1RQ8T5aQ9c7mQ9r8UQ:f9dQ:p9sQ;P:hQ;_;QQ;h;`R;l;in)w$s(l*s/]/t/u2z3s4Y6w7Y:]<}=Z=[!W<f(h)X)}*V.[.x/T/b0R0p0r2y3t3x4q4s6k6l7O7S7[7^9U9Y:|=g=h]<g3`6r8z:Z:[;fp)y$s(l*s/R/]/t/u2z3s4Y6w7Y:]<}=Z=[!Y<h(h)X)}*V.[.x/T/b0R0p0r2w2y3t3x4q4s6k6l7O7S7[7^9U9Y:|=g=h_<i3`6r8z8{:Z:[;fpmOXr!T!X#a%]&Z&d&f&g&i,^,c1g1jQ&W!SR,Y&apmOXr!T!X#a%]&Z&d&f&g&i,^,c1g1jR&W!SQ+s&PR0o+lqmOXr!T!X#a%]&Z&d&f&g&i,^,c1g1jQ0{+xS5Z1O1PU7}5X5Y5^S9n8P8QS:l9m9pQ;T:mR;b;UQ&_!TR,S&ZR5g1XS%oz%tR0e+]Q&d!UR,^&eR,d&jT1h,c1jR,h&kQ,g&kR1q,hQ'm!xR-i'mQrOQ#aXT%`r#aQ!{TR'o!{Q#OUR'q#OQ)p$rR.y)pQ#RVR's#RQ#UWU'y#U'z-pQ'z#VR-p'{Q,w&zR1},wQ.`(lR2{.`Q.c(nS3O.c3PR3P.dQ-O'QR2R-Or_OXr!T!X#a%]&Z&]&d&f&g&i,^,c1g1jU!mQ'Q-OS#dZ%ZY#n_!m#d-z4zQ-z(]T4z0z5QS#[W%vU(Q#[(R-qQ(R#]R-q'|Q,z&}R2P,zQ(^#gQ-t(VW.O(^-t2h6aQ2h-uR6a2iQ)b$hR.r)bQ$lhR)h$lQ$_cU)W$_-l<TQ-l;pR<T)eQ/W*OW3o/W3p6{9TU3p/X/Y/ZS6{3q3rR9T6|#m)u$s(h(l)X)}*V*n*o*s.Y.Z.[.x/R/S/T/]/b/t/u0R0p0r2w2x2y2z3`3s3t3x4Y4q4s6k6l6p6q6r6w7O7S7Y7[7^8z8{8|9U9Y:Z:[:]:|;f<}=Z=[=g=hQ/`*VU3w/`3y7PQ3y/bR7P3xQ*a$yR/n*aQ*j$}R/w*jQ4^0RR7]4^Q+j%yR0n+jQ4u0uS7k4u9bR9b7lQ+u&QR0x+uQ5Q0zR7u5QQ1W,PS5e1W8XR8X5gQ0`+XW4g0`4i7c9^Q4i0cQ7c4hR9^7dQ+^%oR0f+^Q1j,cR5u1jWqOXr#aQ&h!XQ*v%]Q,]&dQ,_&fQ,`&gQ,b&iQ1e,^S1h,c1jR5t1gQ%_oQ&l!]Q&o!_Q&q!`Q&s!aU'e!o4{4|Q+e%uQ+k%zQ,R&_Q,j&nY-Z'['g'h'k7yQ/m*`S1Z,S,VQ1r,iQ1s,lQ1t,m[2[-]-^-a-f-h9kQ4l0iQ4p0pQ5_1QQ5i1]Q5s1fY6S2Z2^2a2c2dQ7g4nQ7h4qQ7t5PQ8S5`Q8Y5hY8i6T6X6Z6]6^Q9_7eQ9q8TQ9v8ZW9}8j8n8p8rQ:c9`Q:e9cQ:o9rU:s:O:S:UQ;O:fQ;V:pS;W:t:xQ;^;PQ;c;XQ;g;_Q;j;dQ;k;hR;m;lQ%iwQ'U!fQ'c!oU+S%j%k%lQ,q&wU-U'V'W'XS-Y'['iQ/d*ZS0[+T+UQ1z,sS2W-V-WS2_-_-aQ3|/hQ4a0]Q6O2QQ6R2XS6W2`2dQ7T4QS8m6Y6^Q:R8oR:w:TS$ti=]R*k%OU$}i%O=]R/v*iQ$siS(h#r+OQ(l#tS)X$`$aQ)}$uQ*V$xQ*n%TQ*o%UQ*s%YQ.Y<ZQ.Z<]Q.[<_Q.x)nQ/R)wQ/S)yQ/T)zQ/]*RQ/b*XQ/t*gQ/u*hh0R*{.T0|2t5[6g8O8u9o:X:n:{Q0p+mQ0r+pQ2w<fQ2x<hQ2y<jQ2z._S3`<U<VQ3s/^Q3t/_Q3x/aQ4Y/|Q4q0qQ4s0tQ6k<nQ6l<pQ6p<[Q6q<^Q6r<`Q6w3lQ7O3vQ7S4OQ7Y4UQ7[4]Q7^4_Q8z<kQ8{<gQ8|<iQ9U6}Q9Y7WQ:Z<oQ:[<qQ:]9QQ:|<tQ;f<uQ<}=]Q=Z=eQ=[=fQ=g=iR=h=jloOXr!X#a%]&d&f&g&i,^,c1g1jQ!dPS#cZ#kQ&n!^U'Y!l4y7wQ'r#PQ(u#xQ)f$jS,V&]&`Q,Z&aQ,i&mQ,n&uQ-Q'SQ.f(sQ.v)gQ0U*|Q0l+hQ1b,YQ2U-SQ2r.UQ3g.qQ4W/zQ5Y0}Q5k1_Q5l1`Q5n1aQ5p1cQ5w1lQ6f2uQ6u3dQ8Q5]Q8_5oQ8a5qQ8b5rQ8w6jQ9p8RR9x8`#UcOPXZr!X!^!l#a#k#x%]&]&`&a&d&f&g&i&m&u'S(s*|+h,Y,^,c-S.U/z0}1_1`1a1c1g1j1l2u4y5]5o5q5r6j7w8R8`Q#VWQ#bYQ%asQ%btQ%duS'u#T'xQ'{#WQ(g#qQ(n#uQ(v#{Q(w#|Q(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)S$XQ)V$^Q)Z$bW)e$j)g.q3dQ*y%cQ+_%pS,t&y1{Q-h'fS-m'v-oQ-r(OQ-w(YQ.^(kQ.d(oQ.h;nQ.j;qQ.k;rQ.l;sQ.{)rQ/}*tQ1v,oQ1y,rQ2Z-[Q2j-xQ2|.bQ3R;vQ3S;wQ3T;xQ3U;yQ3V;zQ3W;{Q3X;|Q3Y;}Q3Z<OQ3[<PQ3]<QQ3^<RQ3_.iQ3b<WQ3c<aQ3h<SQ4Z0PQ4b0^Q5}<bQ6T2]Q6b2kQ6m2}Q6n<cQ6s<eQ6t<lQ7l4vQ8f5{Q8j6UQ8y<mQ8}<rQ9O<sQ:O8lQ:d9aQ:r9|Q:t:QQ;X:vQ;d;ZQ;p#PR=S=`R#XWR&{!cU!oQ'Q-OS&w!c,vY'[!m!s!t!u!vS'i!p!r['k!w4z5S5T5U5VS,s&x'PS-_']'^U-a'_'`'aY-f'b7p7q7r7|Q2Q,|S2`-`-bU2c-c9e9fS2d-d-eS4{0z5QS6Y2b2eS6]2f:gQ6^2gS8o6[6_Q8r6`R:T8qR(m#tR(p#uQ!dQT,}'Q-OQ#l]R'Z;oT#hZ%ZS#gZ%ZU%y|},[U(V#d#f#iS-u(W(XQ-|(]Q0m+iQ2i-vU2l-z-{-}S6c2m2nR8s6d`#ZW#T#W%v'v(P+f-st#eZ|}#d#f#i%Z(W(X(]+i-v-z-{-}2m2n6dQ1d,[Q1w,pQ5y1oQ8e5zT<z&y+gT#^W%vS#]W%vS'w#T(PS'|#W+fS,u&y+gT-n'v-sT'O!c%wQ$hfR)l$mT)a$h)bR3f.pT*Q$u*SR*Y$xQ0S*{Q2p.TQ5X0|Q6h2tQ8P5[Q8v6gQ9m8OQ:V8uQ:m9oQ:z:XQ;U:nR;]:{lpOXr!X#a%]&d&f&g&i,^,c1g1jQ&^!TR,R&ZV%z|},[R0v+rR,Q&XQ%szR+d%tR+Y%nT&b!U&eT&c!U&eT1i,c1j",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:362,context:av,nodeProps:[["group",-26,6,14,16,62,198,202,205,206,208,211,214,225,227,233,235,237,239,242,248,254,256,258,260,262,264,265,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,102,103,112,113,130,133,135,136,137,138,140,141,161,162,164,"Expression",-23,24,26,30,34,36,38,165,167,169,170,172,173,174,176,177,178,180,181,182,192,194,196,197,"Type",-3,84,95,101,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",142,"JSXStartTag",154,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",143,"JSXSelfCloseEndTag JSXEndTag",159,"JSXEndTag"]],propSources:[uv],skippedNodes:[0,3,4,268],repeatNodeCount:32,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$c&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$c&j'y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$c&j'vpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'vpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'vp'y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$c&j'vp'y!b'l(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'w#S$c&j'm(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$c&j'vp'y!b'm(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$c&j!l$Ip'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#p$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#p$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'u$(n$c&j'y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$c&j'y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$c&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$^#t$c&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$^#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$^#t$c&j'y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$^#t'y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$c&j(_!L^'vp'y!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$c&j'vp'y!b(T!LY's&;d$V#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$c&j'vp'y!b$V#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$c&j'vp'y!b#h$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$c&j#z$Id'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(h%<v$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$c&j#t$Id'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'x$)`$c&j'vpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$c&j'vpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$c&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$^#t$c&j'vpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'vpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$^#t'vpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$c&j'vp'y!b't#)d#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$c&j'vp'y!b#f$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$c&j'vp'y!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$c&j'vp'y!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$c&j'vp'y!b#g$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$c&j'vp'y!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$c&j'y!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$c&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$c&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$c&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$c&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$c&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$c&j'y!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'y!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'y!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'y!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$c&j'y!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$c&j'vp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$c&j'vp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'vp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'vp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'vpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$c&j'vpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$c&j'vp'y!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'vp'y!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'vp'y!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'vp'y!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$c&j'vp'y!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$c&j'vp'y!b'n(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$c&j'vp'y!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$c&j'y!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$c&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'y!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$c&j'vpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'vpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'vp'y!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$c&j#z$Id'vp'y!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$S#t$c&j'vp'y!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$c&j'vp'y!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$c&j#x%<f'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^'|!*v!e'.r'vp'y!b$T)d(lSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$e&j'vp'y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#j$Id'vp'y!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#z$Id'vp'y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#k$Id'vp'y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#W%?x$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#c$Ih$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#k$Id$`#|$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#k$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#j$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#j$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(`$Ip$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$c&j#u$Id'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$c&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$c&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$c&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$c&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$c&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$c&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!'l$-S_!SM|$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#r$Id$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$c&j'vp'y!b(Q&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$c&j'vp'y!b(T!LY's&;d$X#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$c&j'vp'y!b$X#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'vp'y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(g%<v$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$c&j'vp'y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$c&j'vp'y!b'l(;d(T!LY's&;d$V#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$c&j'vp'y!b'm(;d(T!LY's&;d$V#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[hv,cv,2,3,4,5,6,7,8,9,10,11,12,13,lv,new Xl("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(S~~",141,325),new Xl("j~RQYZXz{^~^O'p~~aP!P!Qd~iO'q~~",25,307)],topRules:{Script:[0,5],SingleExpression:[1,266],SingleClassItem:[2,267]},dialects:{jsx:13213,ts:13215},dynamicPrecedences:{76:1,78:1,162:1,190:1},specialized:[{term:311,get:e=>fv[e]||-1},{term:327,get:e=>dv[e]||-1},{term:67,get:e=>Ov[e]||-1}],tokenPrec:13238}),gv=[Hg("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Hg("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Hg("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Hg("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Hg("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Hg("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Hg("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Hg("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Hg("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Hg('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Hg('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],mv=new rl,Sv=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function bv(e){return(t,n)=>{let i=t.node.getChild("VariableDefinition");return i&&n(i,e),!0}}const yv=["FunctionDeclaration"],xv={FunctionDeclaration:bv("function"),ClassDeclaration:bv("class"),ClassExpression:()=>!0,EnumDeclaration:bv("constant"),TypeAliasDeclaration:bv("type"),NamespaceDeclaration:bv("namespace"),VariableDefinition(e,t){e.matchContext(yv)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function vv(e,t){let n=mv.get(t);if(n)return n;let i=[],r=!0;function s(t,n){let r=e.sliceString(t.from,t.to);i.push({label:r,type:n})}return t.cursor(Ea.IncludeAnonymous).iterate(t=>{if(r)r=!1;else if(t.name){let e=xv[t.name];if(e&&e(t,s)||Sv.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of vv(e,t.node))i.push(n);return!1}}),mv.set(t,i),i}const Qv=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,wv=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function kv(e){let t=oc(e.state).resolveInner(e.pos,-1);if(wv.indexOf(t.name)>-1)return null;let n="VariableName"==t.name||t.to-t.from<20&&Qv.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let n=t;n;n=n.parent)Sv.has(n.name)&&(i=i.concat(vv(e.state.doc,n)));return{options:i,from:n?t.from:e.pos,validFor:Qv}}const $v=sc.define({name:"javascript",parser:pv.configure({props:[wc.add({IfStatement:_c({except:/^\s*({|else\b)/}),TryStatement:_c({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Rc,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),i=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:i?1:2)*e.unit},Block:Wc({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":_c({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),Ec.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":Uc,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Pv={test:e=>/^JSX/.test(e.name),facet:tc({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Cv=$v.configure({dialect:"ts"},"typescript"),Tv=$v.configure({dialect:"jsx",props:[nc.add(e=>e.isTop?[Pv]:void 0)]}),Av=$v.configure({dialect:"jsx ts",props:[nc.add(e=>e.isTop?[Pv]:void 0)]},"typescript"),Xv="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(e=>({label:e,type:"keyword"}));function Zv(e={}){let t=e.jsx?e.typescript?Av:Tv:e.typescript?Cv:$v;return new gc(t,[$v.data.of({autocomplete:Ip(wv,zp(gv.concat(Xv)))}),$v.data.of({autocomplete:kv}),e.jsx?_v:[]])}function Wv(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if(!e.parent)return null;e=e.parent}}function Vv(e,t,n=e.length){for(let i=null==t?void 0:t.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return e.sliceString(i.from,Math.min(i.to,n));return""}const Rv="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),_v=ys.inputHandler.of((e,t,n,i)=>{if((Rv?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||">"!=i&&"/"!=i||!$v.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(e=>{var t,n;let s,{head:o}=e,a=oc(r).resolveInner(o,-1);if("JSXStartTag"==a.name&&(a=a.parent),">"==i&&"JSXFragmentTag"==a.name)return{range:W.cursor(o+1),changes:{from:o,insert:"></>"}};if("/"==i&&"JSXFragmentTag"==a.name){let e=a.parent,n=null==e?void 0:e.parent;if(e.from==o-1&&"JSXEndTag"!=(null===(t=n.lastChild)||void 0===t?void 0:t.name)&&(s=Vv(r.doc,null==n?void 0:n.firstChild,o))){let e=`/${s}>`;return{range:W.cursor(o+e.length),changes:{from:o,insert:e}}}}else if(">"==i){let e=Wv(a);if(e&&"JSXEndTag"!=(null===(n=e.lastChild)||void 0===n?void 0:n.name)&&"</"!=r.sliceDoc(o,o+2)&&(s=Vv(r.doc,e,o)))return{range:W.cursor(o+1),changes:{from:o,insert:`></${s}>`}}}return{range:e}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)}),Yv=["_blank","_self","_top","_parent"],Mv=["ascii","utf-8","utf-16","latin1","latin1"],qv=["get","post","put","delete"],Ev=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Uv=["true","false"],Dv={},jv={a:{attrs:{href:null,ping:null,type:null,media:null,target:Yv,hreflang:null}},abbr:Dv,address:Dv,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Dv,aside:Dv,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Dv,base:{attrs:{href:null,target:Yv}},bdi:Dv,bdo:Dv,blockquote:{attrs:{cite:null}},body:Dv,br:Dv,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ev,formmethod:qv,formnovalidate:["novalidate"],formtarget:Yv,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Dv,center:Dv,cite:Dv,code:Dv,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Dv,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Dv,div:Dv,dl:Dv,dt:Dv,em:Dv,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Dv,figure:Dv,footer:Dv,form:{attrs:{action:null,name:null,"accept-charset":Mv,autocomplete:["on","off"],enctype:Ev,method:qv,novalidate:["novalidate"],target:Yv}},h1:Dv,h2:Dv,h3:Dv,h4:Dv,h5:Dv,h6:Dv,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Dv,hgroup:Dv,hr:Dv,html:{attrs:{manifest:null}},i:Dv,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ev,formmethod:qv,formnovalidate:["novalidate"],formtarget:Yv,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Dv,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Dv,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Dv,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Mv,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Dv,noscript:Dv,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Dv,param:{attrs:{name:null,value:null}},pre:Dv,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Dv,rt:Dv,ruby:Dv,samp:Dv,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Mv}},section:Dv,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Dv,source:{attrs:{src:null,type:null,media:null}},span:Dv,strong:Dv,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Dv,summary:Dv,sup:Dv,table:Dv,tbody:Dv,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Dv,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Dv,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Dv,time:{attrs:{datetime:null}},title:Dv,tr:Dv,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Dv,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Dv},zv={accesskey:null,class:null,contenteditable:Uv,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Uv,autocorrect:Uv,autocapitalize:Uv,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Uv,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Uv,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Uv,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Uv,"aria-hidden":Uv,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Uv,"aria-multiselectable":Uv,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Uv,"aria-relevant":null,"aria-required":Uv,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Iv="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Iv)zv[e]=null;class Bv{constructor(e,t){this.tags=Object.assign(Object.assign({},jv),e),this.globalAttrs=Object.assign(Object.assign({},zv),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Lv(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Gv(e,t=!1){for(let n=e.parent;n;n=n.parent)if("Element"==n.name){if(!t)return n;t=!1}return null}function Nv(e,t,n){let i=n.tags[Lv(e,Gv(t,!0))];return(null==i?void 0:i.children)||n.allTags}function Fv(e,t){let n=[];for(let i=t;i=Gv(i);){let r=Lv(e,i);if(r&&"CloseTag"==i.lastChild.name)break;r&&n.indexOf(r)<0&&("EndTag"==t.name||t.from>=i.firstChild.to)&&n.push(r)}return n}Bv.default=new Bv;const Hv=/^[:\-\.\w\u00b7-\uffff]*$/;function Jv(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:i,to:r,options:Nv(e.doc,n,t).map(e=>({label:e,type:"type"})).concat(Fv(e.doc,n).map((e,t)=>({label:"/"+e,apply:"/"+e+s,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Kv(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:Fv(e.doc,t).map((e,t)=>({label:e,apply:e+r,type:"type",boost:99-t})),validFor:Hv}}function eQ(e,t,n,i){let r=[],s=0;for(let i of Nv(e.doc,n,t))r.push({label:"<"+i,type:"type"});for(let t of Fv(e.doc,n))r.push({label:"</"+t+">",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function tQ(e,t,n,i,r){let s=Gv(n),o=s?t.tags[Lv(e.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[];return{from:i,to:r,options:(o&&!1===o.globalAttrs?a:a.length?a.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:"property"})),validFor:Hv}}function nQ(e,t,n,i,r){var s;let o=null===(s=n.parent)||void 0===s?void 0:s.getChild("AttributeName"),a=[],l=void 0;if(o){let s=e.sliceDoc(o.from,o.to),h=t.globalAttrs[s];if(!h){let i=Gv(n),r=i?t.tags[Lv(e.doc,i)]:null;h=(null==r?void 0:r.attrs)&&r.attrs[s]}if(h){let t=e.sliceDoc(i,r).toLowerCase(),n='"',s='"';/^['"]/.test(t)?(l='"'==t[0]?/^[^"]*$/:/^[^']*$/,n="",s=e.sliceDoc(r,r+1)==t[0]?"":t[0],t=t.slice(1),i++):l=/^[^\s<>='"]*$/;for(let e of h)a.push({label:e,apply:n+e+s,type:"constant"})}}return{from:i,to:r,options:a,validFor:l}}function iQ(e,t){let{state:n,pos:i}=t,r=oc(n).resolveInner(i),s=r.resolve(i,-1);for(let e,t=i;r==s&&(e=s.childBefore(t));){let n=e.lastChild;if(!n||!n.type.isError||n.from<n.to)break;r=s=e,t=n.from}return"TagName"==s.name?s.parent&&/CloseTag$/.test(s.parent.name)?Kv(n,s,s.from,i):Jv(n,e,s,s.from,i):"StartTag"==s.name?Jv(n,e,s,i,i):"StartCloseTag"==s.name||"IncompleteCloseTag"==s.name?Kv(n,s,i,i):t.explicit&&("OpenTag"==s.name||"SelfClosingTag"==s.name)||"AttributeName"==s.name?tQ(n,e,s,"AttributeName"==s.name?s.from:i,i):"Is"==s.name||"AttributeValue"==s.name||"UnquotedAttributeValue"==s.name?nQ(n,e,s,"Is"==s.name?i:s.from,i):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:eQ(n,e,s,i)}function rQ(e){let{extraTags:t,extraGlobalAttributes:n}=e,i=n||t?new Bv(t,n):Bv.default;return e=>iQ(i,e)}const sQ=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:Cv.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Tv.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:Av.parser},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:$v.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:$y.parser}],oQ=[{name:"style",parser:$y.parser.configure({top:"Styles"})}].concat(Iv.map(e=>({name:e,parser:$v.parser}))),aQ=sc.define({name:"html",parser:Ux.configure({props:[wc.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,n=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;n=t=e}return n&&(!(t=n.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(n.from)+e.unit:null}}),Ec.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),$u.add({"OpenTag CloseTag":e=>e.getChild("TagName")})],wrap:Ix(sQ,oQ)}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}});function lQ(e={}){let t,n="";!1===e.matchClosingTags&&(n="noMatch"),!0===e.selfClosingTags&&(n=(n?n+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Ix((e.nestedLanguages||[]).concat(sQ),(e.nestedAttributes||[]).concat(oQ)));let i=t||n?aQ.configure({dialect:n,wrap:t}):aQ;return new gc(i,[aQ.data.of({autocomplete:rQ(e)}),!1!==e.autoCloseTags?cQ:[],Zv().support,Py().support])}const hQ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cQ=ys.inputHandler.of((e,t,n,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=i&&"/"!=i||!aQ.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(t=>{var n,s,o;let a,{head:l}=t,h=oc(r).resolveInner(l,-1);if("TagName"!=h.name&&"StartTag"!=h.name||(h=h.parent),">"==i&&"OpenTag"==h.name){if("CloseTag"!=(null===(s=null===(n=h.parent)||void 0===n?void 0:n.lastChild)||void 0===s?void 0:s.name)&&(a=Lv(r.doc,h.parent,l))&&!hQ.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),n=`${t?"":">"}</${a}>`;return{range:W.cursor(l+1),changes:{from:l+(t?1:0),insert:n}}}}else if("/"==i&&"OpenTag"==h.name){let t=h.parent,n=null==t?void 0:t.parent;if(t.from==l-1&&"CloseTag"!=(null===(o=n.lastChild)||void 0===o?void 0:o.name)&&(a=Lv(r.doc,n,l))&&!hQ.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),n=`/${a}${t?"":">"}`,i=l+n.length+(t?1:0);return{range:W.cursor(i),changes:{from:l,insert:n}}}}return{range:t}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)});var uQ,fQ=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class dQ extends kS{constructor(e,t=[]){super(e,t,XS)}getExtensions(e){return fQ(this,null,(function*(){return[lQ({selfClosingTags:!1}),AS()]}))}serialize(){return this.editor.content}}class OQ{constructor(e,t,n,i,r,s,o){this.type=e,this.value=t,this.from=n,this.hash=i,this.end=r,this.children=s,this.positions=o,this.hashProp=[[Wa.contextHash,i]]}static create(e,t,n,i,r){return new OQ(e,t,n,i+(i<<8)+e+(t<<4)|0,r,[],[])}addChild(e,t){e.prop(Wa.contextHash)!=this.hash&&(e=new Ua(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new Ua(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,n)=>new Ua(_a.none,e,t,n,this.hashProp)})}}!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(uQ||(uQ={}));class pQ{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class gQ{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return yQ(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let i=t;i<e;i++)n+=9==this.text.charCodeAt(i)?4-n%4:1;return n}findColumn(e){let t=0;for(let n=0;t<this.text.length&&n<e;t++)n+=9==this.text.charCodeAt(t)?4-n%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function mQ(e,t,n){if(n.pos==n.text.length||e!=t.block&&n.indent>=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let i=(e.type==uQ.OrderedList?PQ:$Q)(n,t,!1);return i>0&&(e.type!=uQ.BulletList||wQ(n,t,!1)<0)&&n.text.charCodeAt(n.pos+i-1)==e.value}const SQ={[uQ.Blockquote]:(e,t,n)=>62==n.next&&(n.markers.push(tw(uQ.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(bQ(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0),[uQ.ListItem]:(e,t,n)=>!(n.indent<n.baseIndent+e.value&&n.next>-1)&&(n.moveBaseColumn(n.baseIndent+e.value),!0),[uQ.OrderedList]:mQ,[uQ.BulletList]:mQ,[uQ.Document]:()=>!0};function bQ(e){return 32==e||9==e||10==e||13==e}function yQ(e,t=0){for(;t<e.length&&bQ(e.charCodeAt(t));)t++;return t}function xQ(e,t,n){for(;t>n&&bQ(e.charCodeAt(t-1));)t--;return t}function vQ(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let n=t;n<e.text.length;n++)if(96==e.text.charCodeAt(n))return-1;return t}function QQ(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function wQ(e,t,n){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let i=1;for(let t=e.pos+1;t<e.text.length;t++){let n=e.text.charCodeAt(t);if(n==e.next)i++;else if(!bQ(n))return-1}return n&&45==e.next&&TQ(e)>-1&&e.depth==t.stack.length||i<3?-1:1}function kQ(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function $Q(e,t,n){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!bQ(e.text.charCodeAt(e.pos+1))||!(!n||kQ(t,uQ.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function PQ(e,t,n){let i=e.pos,r=e.next;for(;r>=48&&r<=57;){if(i++,i==e.text.length)return-1;r=e.text.charCodeAt(i)}return i==e.pos||i>e.pos+9||46!=r&&41!=r||i<e.text.length-1&&!bQ(e.text.charCodeAt(i+1))||n&&!kQ(t,uQ.OrderedList)&&(e.skipSpace(i+1)==e.text.length||i>e.pos+1||49!=e.next)?-1:i+1-e.pos}function CQ(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let n=t-e.pos;return n>6?-1:n}function TQ(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let n=t;for(;t<e.text.length&&bQ(e.text.charCodeAt(t));)t++;return t==e.text.length?n:-1}const AQ=/^[ \t]*$/,XQ=/-->/,ZQ=/\?>/,WQ=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,XQ],[/^\s*<\?/,ZQ],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,AQ],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,AQ]];function VQ(e,t,n){if(60!=e.next)return-1;let i=e.text.slice(e.pos);for(let e=0,t=WQ.length-(n?1:0);e<t;e++)if(WQ[e][0].test(i))return e;return-1}function RQ(e,t){let n=e.countIndent(t,e.pos,e.indent),i=e.countIndent(e.skipSpace(t),t,n);return i>=n+5?n+1:i}function _Q(e,t,n){let i=e.length-1;i>=0&&e[i].to==t&&e[i].type==uQ.CodeText?e[i].to=n:e.push(tw(uQ.CodeText,t,n))}const YQ={LinkReference:void 0,IndentedCode(e,t){let n=t.baseIndent+4;if(t.indent<n)return!1;let i=t.findColumn(n),r=e.lineStart+i,s=e.lineStart+t.text.length,o=[],a=[];for(_Q(o,r,s);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){_Q(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e)}else{if(t.indent<n)break;{if(a.length){for(let e of a)e.type==uQ.CodeText?_Q(o,e.from,e.to):o.push(e);a=[]}_Q(o,e.lineStart-1,e.lineStart);for(let e of t.markers)o.push(e);s=e.lineStart+t.text.length;let n=e.lineStart+t.findColumn(t.baseIndent+4);n<s&&_Q(o,n,s)}}return a.length&&(a=a.filter(e=>e.type!=uQ.CodeText),a.length&&(t.markers=a.concat(t.markers))),e.addNode(e.buffer.writeElements(o,-r).finish(uQ.CodeBlock,s-r),r),!0},FencedCode(e,t){let n=vQ(t);if(n<0)return!1;let i=e.lineStart+t.pos,r=t.next,s=n-t.pos,o=t.skipSpace(n),a=xQ(t.text,t.text.length,o),l=[tw(uQ.CodeMark,i,i+s)];o<a&&l.push(tw(uQ.CodeInfo,e.lineStart+o,e.lineStart+a));for(let n=!0;e.nextLine()&&t.depth>=e.stack.length;n=!1){let i=t.pos;if(t.indent-t.baseIndent<4)for(;i<t.text.length&&t.text.charCodeAt(i)==r;)i++;if(i-t.pos>=s&&t.skipSpace(i)==t.text.length){for(let e of t.markers)l.push(e);l.push(tw(uQ.CodeMark,e.lineStart+t.pos,e.lineStart+i)),e.nextLine();break}{n||_Q(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let i=e.lineStart+t.basePos,r=e.lineStart+t.text.length;i<r&&_Q(l,i,r)}}return e.addNode(e.buffer.writeElements(l,-i).finish(uQ.FencedCode,e.prevLineEnd()-i),i),!0},Blockquote(e,t){let n=QQ(t);return!(n<0)&&(e.startContext(uQ.Blockquote,t.pos),e.addNode(uQ.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+n),null)},HorizontalRule(e,t){if(wQ(t,e,!1)<0)return!1;let n=e.lineStart+t.pos;return e.nextLine(),e.addNode(uQ.HorizontalRule,n),!0},BulletList(e,t){let n=$Q(t,e,!1);if(n<0)return!1;e.block.type!=uQ.BulletList&&e.startContext(uQ.BulletList,t.basePos,t.next);let i=RQ(t,t.pos+1);return e.startContext(uQ.ListItem,t.basePos,i-t.baseIndent),e.addNode(uQ.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+n),t.moveBaseColumn(i),null},OrderedList(e,t){let n=PQ(t,e,!1);if(n<0)return!1;e.block.type!=uQ.OrderedList&&e.startContext(uQ.OrderedList,t.basePos,t.text.charCodeAt(t.pos+n-1));let i=RQ(t,t.pos+n);return e.startContext(uQ.ListItem,t.basePos,i-t.baseIndent),e.addNode(uQ.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+n),t.moveBaseColumn(i),null},ATXHeading(e,t){let n=CQ(t);if(n<0)return!1;let i=t.pos,r=e.lineStart+i,s=xQ(t.text,t.text.length,i),o=s;for(;o>i&&t.text.charCodeAt(o-1)==t.next;)o--;o!=s&&o!=i&&bQ(t.text.charCodeAt(o-1))||(o=t.text.length);let a=e.buffer.write(uQ.HeaderMark,0,n).writeElements(e.parser.parseInline(t.text.slice(i+n+1,o),r+n+1),-r);o<t.text.length&&a.write(uQ.HeaderMark,o-i,s-i);let l=a.finish(uQ.ATXHeading1-1+n,t.text.length-i);return e.nextLine(),e.addNode(l,r),!0},HTMLBlock(e,t){let n=VQ(t,e,!1);if(n<0)return!1;let i=e.lineStart+t.pos,r=WQ[n][1],s=[],o=r!=AQ;for(;!r.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){o=!1;break}for(let e of t.markers)s.push(e)}o&&e.nextLine();let a=r==XQ?uQ.CommentBlock:r==ZQ?uQ.ProcessingInstructionBlock:uQ.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(s,-i).finish(a,l-i),i),!0},SetextHeading:void 0};class MQ{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,n){if(-1==this.stage)return!1;let i=n.content+"\n"+t.scrub(),r=this.advance(i);return r>-1&&r<i.length&&this.complete(e,n,r)}finish(e,t){return(2==this.stage||3==this.stage)&&yQ(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,n){return e.addLeafElement(t,tw(uQ.LinkReference,this.start,this.start+n,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(dw(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(tw(uQ.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=yQ(e,this.pos),n=0;if(t>this.pos){let i=fw(e,t,this.start);if(i){let t=qQ(e,i.to-this.start);t>0&&(this.nextStage(i),n=t)}}return n||(n=qQ(e,this.pos)),n>0&&n<e.length?n:-1}return qQ(e,this.pos)}if(!this.nextStage(uw(e,yQ(e,this.pos),this.start)))return-1}}}}function qQ(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(10==n)break;if(!bQ(n))return-1}return t}class EQ{nextLine(e,t,n){let i=t.depth<e.stack.length?-1:TQ(t),r=t.next;if(i<0)return!1;let s=tw(uQ.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(n,tw(61==r?uQ.SetextHeading1:uQ.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),s])),!0}finish(){return!1}}const UQ={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new MQ(t):null,SetextHeading:()=>new EQ},DQ=[(e,t)=>CQ(t)>=0,(e,t)=>vQ(t)>=0,(e,t)=>QQ(t)>=0,(e,t)=>$Q(t,e,!0)>=0,(e,t)=>PQ(t,e,!0)>=0,(e,t)=>wQ(t,e,!0)>=0,(e,t)=>VQ(t,e,!0)>=0],jQ={text:"",end:0};class zQ{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.line=new gQ,this.atEnd=!1,this.dontInject=new Set,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=OQ.create(uQ.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new mw(n,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let n=t(this,e);if(0!=n){if(1==n)return null;e.forward();continue e}}break}let t=new pQ(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let n=e(this,t);n&&t.parsers.push(n)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e;for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let n of e.markers)t.marks.push(n)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);if(!t)return!1;let n=t,i=this.absoluteLineStart+t;for(let e=1;e<this.ranges.length;e++){let t=this.ranges[e-1].to,r=this.ranges[e].from;t>=this.lineStart&&r<i&&(n-=r-t)}return this.lineStart+=n,this.absoluteLineStart+=t,this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=jQ;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,n=this.rangeI;for(;this.ranges[n].to<t.end;){n++;let i=this.ranges[n].from,r=this.lineChunkAt(i);t.end=i+r.length,t.text=t.text.slice(0,this.ranges[n-1].to-e)+r,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],n=this.parser.skipContextMarkup[t.type];if(!n)throw new Error("Unhandled block context "+uQ[t.type]);if(!n(t,this,e))break;e.forward()}}lineChunkAt(e){let t,n=this.input.chunk(e);if(this.input.lineChunks)t="\n"==n?"":n;else{let e=n.indexOf("\n");t=e<0?n:n.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,n=0){this.block=OQ.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){"number"==typeof e&&(e=new Ua(this.parser.nodeSet.types[e],HQ,HQ,(null!=n?n:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(pw(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?IQ(this.ranges,0,e.topNode,this.ranges[0].from,this.dontInject):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=pw(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(uQ.Paragraph,e.content.length),e.start)}elt(e,t,n,i){return"string"==typeof e?tw(this.parser.getNodeType(e),t,n,i):new ew(e,t)}get buffer(){return new JQ(this.parser.nodeSet)}}function IQ(e,t,n,i,r){if(r.has(n.tree))return n.tree;let s=e[t].to,o=[],a=[],l=n.from+i;function h(n,r){for(;r?n>=s:n>s;){let r=e[t+1].from-s;i+=r,n+=r,t++,s=e[t].to}}for(let c=n.firstChild;c;c=c.nextSibling){h(c.from+i,!0);let n,u=c.from+i;c.to+i>s?(n=IQ(e,t,c,i,r),h(c.to+i,!1)):n=c.toTree(),o.push(n),a.push(u-l)}return h(n.to+i,!1),new Ua(n.type,o,a,n.to+i-l,n.tree?n.tree.propValues:void 0)}class BQ extends ol{constructor(e,t,n,i,r,s,o,a,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=i,this.endLeafBlock=r,this.skipContextMarkup=s,this.inlineParsers=o,this.inlineNames=a,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,n){let i=new zQ(this,e,t,n);for(let r of this.wrappers)i=r(i,e,t,n);return i}configure(e){let t=GQ(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:i}=this,r=this.blockParsers.slice(),s=this.leafBlockParsers.slice(),o=this.blockNames.slice(),a=this.inlineParsers.slice(),l=this.inlineNames.slice(),h=this.endLeafBlock.slice(),c=this.wrappers;if(LQ(t.defineNodes)){i=Object.assign({},i);let e,r=n.types.slice();for(let n of t.defineNodes){let{name:t,block:s,composite:o,style:a}="string"==typeof n?{name:n}:n;if(r.some(e=>e.name==t))continue;o&&(i[r.length]=(e,t,n)=>o(t,n,e.value));let l=r.length,h=o?["Block","BlockContext"]:s?l>=uQ.ATXHeading1&&l<=uQ.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;r.push(_a.define({id:l,name:t,props:h&&[[Wa.group,h]]})),a&&(e||(e={}),Array.isArray(a)||a instanceof Kl?e[t]=a:Object.assign(e,a))}n=new Ya(r),e&&(n=n.extend(rh(e)))}if(LQ(t.props)&&(n=n.extend(...t.props)),LQ(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),n=this.inlineNames.indexOf(e);t>-1&&(r[t]=s[t]=void 0),n>-1&&(a[n]=void 0)}if(LQ(t.parseBlock))for(let e of t.parseBlock){let t=o.indexOf(e.name);if(t>-1)r[t]=e.parse,s[t]=e.leaf;else{let t=e.before?NQ(o,e.before):e.after?NQ(o,e.after)+1:o.length-1;r.splice(t,0,e.parse),s.splice(t,0,e.leaf),o.splice(t,0,e.name)}e.endLeaf&&h.push(e.endLeaf)}if(LQ(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)a[t]=e.parse;else{let t=e.before?NQ(l,e.before):e.after?NQ(l,e.after)+1:l.length-1;a.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(c=c.concat(t.wrap)),new BQ(n,r,s,o,h,i,a,l,c)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let n=new Ow(this,e,t);e:for(let e=t;e<n.end;){let t=n.char(e);for(let i of this.inlineParsers)if(i){let r=i(n,t,e);if(r>=0){e=r;continue e}}e++}return n.resolveMarkers(0)}}function LQ(e){return null!=e&&e.length>0}function GQ(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=GQ(e[0]);if(1==e.length)return t;let n=GQ(e.slice(1));if(!n||!t)return t||n;let i=(e,t)=>(e||HQ).concat(t||HQ),r=t.wrap,s=n.wrap;return{props:i(t.props,n.props),defineNodes:i(t.defineNodes,n.defineNodes),parseBlock:i(t.parseBlock,n.parseBlock),parseInline:i(t.parseInline,n.parseInline),remove:i(t.remove,n.remove),wrap:r?s?(e,t,n,i)=>r(s(e,t,n,i),t,n,i):r:s}}function NQ(e,t){let n=e.indexOf(t);if(n<0)throw new RangeError("Position specified relative to unknown parser "+t);return n}let FQ=[_a.none];for(let e,t=1;e=uQ[t];t++)FQ[t]=_a.define({id:t,name:e,props:t>=uQ.Escape?[]:[[Wa.group,t in SQ?["Block","BlockContext"]:["Block","LeafBlock"]]]});const HQ=[];class JQ{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,i=0){return this.content.push(e,t,n,4+4*i),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return Ua.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class KQ{constructor(e,t,n,i=HQ){this.type=e,this.from=t,this.to=n,this.children=i}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new JQ(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class ew{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return HQ}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function tw(e,t,n,i){return new KQ(e,t,n,i)}const nw={resolve:"Emphasis",mark:"EmphasisMark"},iw={resolve:"Emphasis",mark:"EmphasisMark"},rw={},sw={};class ow{constructor(e,t,n,i){this.type=e,this.from=t,this.to=n,this.side=i}}const aw="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let lw=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{lw=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(e){}const hw={Escape(e,t,n){if(92!=t||n==e.end-1)return-1;let i=e.char(n+1);for(let t=0;t<aw.length;t++)if(aw.charCodeAt(t)==i)return e.append(tw(uQ.Escape,n,n+2));return-1},Entity(e,t,n){if(38!=t)return-1;let i=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(n+1,n+31));return i?e.append(tw(uQ.Entity,n,n+1+i[0].length)):-1},InlineCode(e,t,n){if(96!=t||n&&96==e.char(n-1))return-1;let i=n+1;for(;i<e.end&&96==e.char(i);)i++;let r=i-n,s=0;for(;i<e.end;i++)if(96==e.char(i)){if(s++,s==r&&96!=e.char(i+1))return e.append(tw(uQ.InlineCode,n,i+1,[tw(uQ.CodeMark,n,n+r),tw(uQ.CodeMark,i+1-r,i+1)]))}else s=0;return-1},HTMLTag(e,t,n){if(60!=t||n==e.end-1)return-1;let i=e.slice(n+1,e.end),r=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(i);if(r)return e.append(tw(uQ.URL,n,n+1+r[0].length));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(s)return e.append(tw(uQ.Comment,n,n+1+s[0].length));let o=/^\?[^]*?\?>/.exec(i);if(o)return e.append(tw(uQ.ProcessingInstruction,n,n+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return a?e.append(tw(uQ.HTMLTag,n,n+1+a[0].length)):-1},Emphasis(e,t,n){if(95!=t&&42!=t)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),o=lw.test(r),a=lw.test(s),l=/\s|^$/.test(r),h=/\s|^$/.test(s),c=!h&&(!a||l||o),u=!l&&(!o||h||a),f=c&&(42==t||!u||o),d=u&&(42==t||!c||a);return e.append(new ow(95==t?nw:iw,n,i,(f?1:0)|(d?2:0)))},HardBreak(e,t,n){if(92==t&&10==e.char(n+1))return e.append(tw(uQ.HardBreak,n,n+2));if(32==t){let t=n+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=n+2)return e.append(tw(uQ.HardBreak,n,t+1))}return-1},Link:(e,t,n)=>91==t?e.append(new ow(rw,n,n+1,1)):-1,Image:(e,t,n)=>33==t&&91==e.char(n+1)?e.append(new ow(sw,n,n+2,1)):-1,LinkEnd(e,t,n){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let i=e.parts[t];if(i instanceof ow&&(i.type==rw||i.type==sw)){if(!i.side||e.skipSpace(i.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let r=e.takeContent(t),s=e.parts[t]=cw(e,r,i.type==rw?uQ.Link:uQ.Image,i.from,n+1);if(i.type==rw)for(let n=0;n<t;n++){let t=e.parts[n];t instanceof ow&&t.type==rw&&(t.side=0)}return s.to}}return-1}};function cw(e,t,n,i,r){let{text:s}=e,o=e.char(r),a=r;if(t.unshift(tw(uQ.LinkMark,i,i+(n==uQ.Image?2:1))),t.push(tw(uQ.LinkMark,r-1,r)),40==o){let n,i=e.skipSpace(r+1),o=uw(s,i-e.offset,e.offset);o&&(i=e.skipSpace(o.to),n=fw(s,i-e.offset,e.offset),n&&(i=e.skipSpace(n.to))),41==e.char(i)&&(t.push(tw(uQ.LinkMark,r,r+1)),a=i+1,o&&t.push(o),n&&t.push(n),t.push(tw(uQ.LinkMark,i,a)))}else if(91==o){let n=dw(s,r-e.offset,e.offset,!1);n&&(t.push(n),a=n.to)}return tw(n,i,a,t)}function uw(e,t,n){if(60==e.charCodeAt(t)){for(let i=t+1;i<e.length;i++){let r=e.charCodeAt(i);if(62==r)return tw(uQ.URL,t+n,i+1+n);if(60==r||10==r)return!1}return null}{let i=0,r=t;for(let t=!1;r<e.length;r++){let n=e.charCodeAt(r);if(bQ(n))break;if(t)t=!1;else if(40==n)i++;else if(41==n){if(!i)break;i--}else 92==n&&(t=!0)}return r>t?tw(uQ.URL,t+n,r+n):r==e.length&&null}}function fw(e,t,n){let i=e.charCodeAt(t);if(39!=i&&34!=i&&40!=i)return!1;let r=40==i?41:i;for(let i=t+1,s=!1;i<e.length;i++){let o=e.charCodeAt(i);if(s)s=!1;else{if(o==r)return tw(uQ.LinkTitle,t+n,i+1+n);92==o&&(s=!0)}}return null}function dw(e,t,n,i){for(let r=!1,s=t+1,o=Math.min(e.length,s+999);s<o;s++){let o=e.charCodeAt(s);if(r)r=!1;else{if(93==o)return!i&&tw(uQ.LinkLabel,t+n,s+1+n);if(i&&!bQ(o)&&(i=!1),91==o)return!1;92==o&&(r=!0)}}return null}class Ow{constructor(e,t,n){this.parser=e,this.text=t,this.offset=n,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,i,r){return this.append(new ow(e,t,n,(i?1:0)|(r?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let n=this.parts[t];if(!(n instanceof ow&&n.type.resolve&&2&n.side))continue;let i,r=n.type==nw||n.type==iw,s=n.to-n.from,o=t-1;for(;o>=e;o--){let e=this.parts[o];if(e instanceof ow&&1&e.side&&e.type==n.type&&!(r&&(1&n.side||2&e.side)&&(e.to-e.from+s)%3==0&&((e.to-e.from)%3||s%3))){i=e;break}}if(!i)continue;let a=n.type.resolve,l=[],h=i.from,c=n.to;if(r){let e=Math.min(2,i.to-i.from,s);h=i.to-e,c=n.from+e,a=1==e?"Emphasis":"StrongEmphasis"}i.type.mark&&l.push(this.elt(i.type.mark,h,i.to));for(let e=o+1;e<t;e++)this.parts[e]instanceof KQ&&l.push(this.parts[e]),this.parts[e]=null;n.type.mark&&l.push(this.elt(n.type.mark,n.from,c));let u=this.elt(a,h,c,l);this.parts[o]=r&&i.from!=h?new ow(i.type,i.from,h,i.side):null,(this.parts[t]=r&&n.to!=c?new ow(n.type,c,n.to,n.side):null)?this.parts.splice(t,0,u):this.parts[t]=u}let t=[];for(let n=e;n<this.parts.length;n++){let e=this.parts[n];e instanceof KQ&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof ow&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return yQ(this.text,e-this.offset)+this.offset}elt(e,t,n,i){return"string"==typeof e?tw(this.parser.getNodeType(e),t,n,i):new ew(e,t)}}function pw(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let e of t){for(;i<n.length&&n[i].to<e.to;)i++;if(i<n.length&&n[i].from<e.from){let t=n[i];t instanceof KQ&&(n[i]=new KQ(t.type,t.from,t.to,pw(t.children,[e])))}else n.splice(i++,0,e)}return n}const gw=[uQ.CodeBlock,uQ.ListItem,uQ.OrderedList,uQ.BulletList];class mw{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=t;if(!n.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Wa.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),r=e.absoluteLineStart,s=r,o=e.block.children.length,a=s,l=o;for(;;){if(t.to-n>i){if(t.type.isAnonymous&&t.firstChild())continue;break}if(e.dontInject.add(t.tree),e.addNode(t.tree,t.from-n),t.type.is("Block")&&(gw.indexOf(t.type.id)<0?(s=t.to-n,o=e.block.children.length):(s=a,o=l,a=t.to-n,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-r}}const Sw=rh({"Blockquote/...":Ph.quote,HorizontalRule:Ph.contentSeparator,"ATXHeading1/... SetextHeading1/...":Ph.heading1,"ATXHeading2/... SetextHeading2/...":Ph.heading2,"ATXHeading3/...":Ph.heading3,"ATXHeading4/...":Ph.heading4,"ATXHeading5/...":Ph.heading5,"ATXHeading6/...":Ph.heading6,"Comment CommentBlock":Ph.comment,Escape:Ph.escape,Entity:Ph.character,"Emphasis/...":Ph.emphasis,"StrongEmphasis/...":Ph.strong,"Link/... Image/...":Ph.link,"OrderedList/... BulletList/...":Ph.list,"BlockQuote/...":Ph.quote,"InlineCode CodeText":Ph.monospace,URL:Ph.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":Ph.processingInstruction,"CodeInfo LinkLabel":Ph.labelName,LinkTitle:Ph.string,Paragraph:Ph.content}),bw=new BQ(new Ya(FQ).extend(Sw),Object.keys(YQ).map(e=>YQ[e]),Object.keys(YQ).map(e=>UQ[e]),Object.keys(YQ),DQ,SQ,Object.keys(hw).map(e=>hw[e]),Object.keys(hw),[]);function yw(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let e=r?r.from:n;if(e>s&&i.push({from:s,to:e}),!r)break;s=r.to}return i}function xw(e){let{codeParser:t,htmlParser:n}=e;return{wrap:ll((e,i)=>{let r=e.type.id;if(!t||r!=uQ.CodeBlock&&r!=uQ.FencedCode){if(n&&(r==uQ.HTMLBlock||r==uQ.HTMLTag))return{parser:n,overlay:yw(e.node,e.from,e.to)}}else{let n="";if(r==uQ.FencedCode){let t=e.node.getChild(uQ.CodeInfo);t&&(n=i.read(t.from,t.to))}let s=t(n);if(s)return{parser:s,overlay:e=>e.type.id==uQ.CodeText}}return null})}}const vw={resolve:"Strikethrough",mark:"StrikethroughMark"},Qw={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":Ph.strikethrough}},{name:"StrikethroughMark",style:Ph.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(126!=t||126!=e.char(n+1)||126==e.char(n+2))return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),o=/\s|^$/.test(r),a=lw.test(i),l=lw.test(r);return e.addDelimiter(vw,n,n+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function ww(e,t,n=0,i,r=0){let s=0,o=!0,a=-1,l=-1,h=!1,c=()=>{i.push(e.elt("TableCell",r+a,r+l,e.parser.parseInline(t.slice(a,l),r+a)))};for(let u=n;u<t.length;u++){let n=t.charCodeAt(u);124!=n||h?(h||32!=n&&9!=n)&&(a<0&&(a=u),l=u+1):((!o||a>-1)&&s++,o=!1,i&&(a>-1&&c(),i.push(e.elt("TableDelimiter",u+r,u+r+1))),a=l=-1),h=!h&&92==n}return a>-1&&(s++,i&&c()),s}function kw(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(124==t)return!0;92==t&&n++}return!1}const $w=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class Pw{constructor(){this.rows=null}nextLine(e,t,n){if(null==this.rows){let i;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&$w.test(i=t.text.slice(t.pos))){let r=[];ww(e,n.content,0,r,n.start)==ww(e,i,t.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,r),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];ww(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,n))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const Cw={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":Ph.heading}},"TableRow",{name:"TableCell",style:Ph.content},{name:"TableDelimiter",style:Ph.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>kw(t.content,0)?new Pw:null,endLeaf(e,t,n){if(n.parsers.some(e=>e instanceof Pw)||!kw(t.text,t.basePos))return!1;let i=e.scanLine(e.absoluteLineEnd+1).text;return $w.test(i)&&ww(e,t.text,t.basePos)==ww(e,i,t.basePos)},before:"SetextHeading"}]};class Tw{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const Aw=[Cw,{defineNodes:[{name:"Task",block:!0,style:Ph.list},{name:"TaskMarker",style:Ph.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\]/.test(t.content)&&"ListItem"==e.parentType().name?new Tw:null,after:"SetextHeading"}]},Qw];function Xw(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let o=[i.elt(n,s,s+1)];for(let r=s+1;r<i.end;r++){let a=i.char(r);if(a==e)return i.addElement(i.elt(t,s,r+1,o.concat(i.elt(n,r,r+1))));if(92==a&&o.push(i.elt("Escape",r,2+r++)),bQ(a))break}return-1}}const Zw={defineNodes:[{name:"Superscript",style:Ph.special(Ph.content)},{name:"SuperscriptMark",style:Ph.processingInstruction}],parseInline:[{name:"Superscript",parse:Xw(94,"Superscript","SuperscriptMark")}]},Ww={defineNodes:[{name:"Subscript",style:Ph.special(Ph.content)},{name:"SubscriptMark",style:Ph.processingInstruction}],parseInline:[{name:"Subscript",parse:Xw(126,"Subscript","SubscriptMark")}]},Vw={defineNodes:[{name:"Emoji",style:Ph.character}],parseInline:[{name:"Emoji",parse(e,t,n){let i;return 58==t&&(i=/^[a-zA-Z_0-9]+:/.exec(e.slice(n+1,e.end)))?e.addElement(e.elt("Emoji",n,n+1+i[0].length)):-1}}]},Rw=tc({block:{open:"\x3c!--",close:"--\x3e"}}),_w=new Wa,Yw=bw.configure({props:[Ec.add(e=>!e.is("Block")||e.is("Document")||null!=Mw(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),_w.add(Mw),wc.add({Document:()=>null}),ec.add({Document:Rw})]});function Mw(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function qw(e,t){let n=e;for(;;){let e,i=n.nextSibling;if(!i||null!=(e=Mw(i.type))&&e<=t)break;n=i}return n.to}const Ew=qc.of((e,t,n)=>{for(let i=oc(e).resolveInner(n,-1);i&&!(i.from<t);i=i.parent){let e=i.type.prop(_w);if(null==e)continue;let t=qw(i,e);if(t>n)return{from:n,to:t}}return null});function Uw(e){return new ic(Rw,e,[Ew],"markdown")}const Dw=Uw(Yw),jw=Uw(Yw.configure([Aw,Ww,Zw,Vw]));function zw(e,t){return n=>{if(n&&e){let t=null;if(n=/\S*/.exec(n)[0],t="function"==typeof e?e(n):mc.matchLanguageName(e,n,!0),t instanceof mc)return t.support?t.support.language.parser:hc.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}class Iw{constructor(e,t,n,i,r,s,o){this.node=e,this.from=t,this.to=n,this.spaceBefore=i,this.spaceAfter=r,this.type=s,this.item=o}blank(e,t=!0){let n=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;n.length<e;)n+=" ";return n}for(let e=this.to-this.from-n.length-this.spaceAfter.length;e>0;e--)n+=" ";return n+(t?this.spaceAfter:"")}marker(e,t){let n="OrderedList"==this.node.name?String(+Lw(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}}function Bw(e,t){let n=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||n.push(t);let i=[];for(let e=n.length-1;e>=0;e--){let r,s=n[e],o=t.lineAt(s.from),a=s.from-o.from;if("FencedCode"==s.name)i.push(new Iw(s,a,a,"","","",null));else if("Blockquote"==s.name&&(r=/^[ \t]*>( ?)/.exec(o.text.slice(a))))i.push(new Iw(s,a,a+r[0].length,"",r[1],">",null));else if("ListItem"==s.name&&"OrderedList"==s.parent.name&&(r=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(a)))){let e=r[3],t=r[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),i.push(new Iw(s.parent,a,a+t,r[1],e,r[2],s))}else if("ListItem"==s.name&&"BulletList"==s.parent.name&&(r=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(a)))){let e=r[4],t=r[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let n=r[2];r[3]&&(n+=r[3].replace(/[xX]/," ")),i.push(new Iw(s.parent,a,a+t,r[1],e,n,s))}}return i}function Lw(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Gw(e,t,n,i=0){for(let r=-1,s=e;;){if("ListItem"==s.name){let e=Lw(s,t),o=+e[2];if(r>=0){if(o!=r+1)return;n.push({from:s.from+e[1].length,to:s.from+e[0].length,insert:String(r+2+i)})}r=o}let e=s.nextSibling;if(!e)break;s=e}}function Nw(e){return"QuoteMark"==e.name||"ListMark"==e.name}function Fw(e,t){let n,i=e.resolveInner(t,-1),r=t;for(Nw(i)&&(r=i.from,i=i.parent);n=i.childBefore(r);)if(Nw(n))r=n.from;else{if("OrderedList"!=n.name&&"BulletList"!=n.name)break;i=n.lastChild,r=i.to}return i}const Hw=[{key:"Enter",run:({state:e,dispatch:t})=>{let n=oc(e),{doc:i}=e,r=null,s=e.changeByRange(t=>{if(!t.empty||!jw.isActiveAt(e,t.from))return r={range:t};let s=t.from,o=i.lineAt(s),a=Bw(n.resolveInner(s,-1),i);for(;a.length&&a[a.length-1].from>s-o.from;)a.pop();if(!a.length)return r={range:t};let l=a[a.length-1];if(l.to-l.spaceAfter.length>s-o.from)return r={range:t};let h=s>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){if(l.node.firstChild.to>=s||o.from>0&&!/[^\s>]/.test(i.lineAt(o.from-1).text)){let e,t=a.length>1?a[a.length-2]:null,n="";t&&t.item?(e=o.from+t.from,n=t.marker(i,1)):e=o.from+(t?t.to:0);let r=[{from:e,to:s,insert:n}];return"OrderedList"==l.node.name&&Gw(l.item,i,r,-2),t&&"OrderedList"==t.node.name&&Gw(t.item,i,r),{range:W.cursor(e+n.length),changes:r}}{let t="";for(let e=0,n=a.length-2;e<=n;e++)t+=a[e].blank(e<n?a[e+1].from-t.length:null,e<n);return t+=e.lineBreak,{range:W.cursor(s+t.length),changes:{from:o.from,insert:t}}}}if("Blockquote"==l.node.name&&h&&o.from){let n=i.lineAt(o.from-1),r=/>\s*$/.exec(n.text);if(r&&r.index==l.from){let i=e.changes([{from:n.from+r.index,to:n.to},{from:o.from+l.from,to:o.to}]);return{range:t.map(i),changes:i}}}let c=[];"OrderedList"==l.node.name&&Gw(l.item,i,c);let u=l.item&&l.item.from<o.from,f="";if(!u||/^[\s\d.)\-+*>]*/.exec(o.text)[0].length>=l.to)for(let e=0,t=a.length-1;e<=t;e++)f+=e!=t||u?a[e].blank(e<t?a[e+1].from-f.length:null):a[e].marker(i,1);let d=s;for(;d>o.from&&/\s/.test(o.text.charAt(d-o.from-1));)d--;return f=e.lineBreak+f,c.push({from:d,to:s,insert:f}),{range:W.cursor(d+f.length),changes:c}});return!r&&(t(e.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let n=oc(e),i=null,r=e.changeByRange(t=>{let r=t.from,{doc:s}=e;if(t.empty&&jw.isActiveAt(e,t.from)){let e=s.lineAt(r),i=Bw(Fw(n,r),s);if(i.length){let n=i[i.length-1],s=n.to-n.spaceAfter.length+(n.spaceAfter?1:0);if(r-e.from>s&&!/\S/.test(e.text.slice(s,r-e.from)))return{range:W.cursor(e.from+s),changes:{from:e.from+s,to:r}};if(r-e.from==s){let i=e.from+n.from;if(n.item&&n.node.from<n.item.from&&/\S/.test(e.text.slice(n.from,n.to)))return{range:t,changes:{from:i,to:e.from+n.to,insert:n.blank(n.to-n.from)}};if(i<r)return{range:W.cursor(i),changes:{from:i,to:r}}}}}return i={range:t}});return!i&&(t(e.update(r,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],Jw=lQ({matchClosingTags:!1});function Kw(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:i=!0,base:{parser:r}=Dw}=e;if(!(r instanceof BQ))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let s,o=e.extensions?[e.extensions]:[],a=[Jw.support];n instanceof gc?(a.push(n.support),s=n.language):n&&(s=n);let l=t||s?zw(t,s):void 0;return o.push(xw({codeParser:l,htmlParser:Jw.language.parser})),i&&a.push(B.high(Ts.of(Hw))),new gc(Uw(r.configure(o)),a)}var ek=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class tk extends kS{constructor(e,t=[]){super(e,t)}getExtensions(e){return ek(this,null,(function*(){return[Kw()]}))}serialize(){return this.editor.content}}class nk extends HTMLElement{constructor(){super(),this._mode=bS.xml,this._placeholder="",this.attachShadow({mode:"open"})}static get observedAttributes(){return["placeholder","mode"]}connectedCallback(){var e,t,n,i;const r=document.createElement("style");r.innerHTML=this.styles(),null==(e=this.shadowRoot)||e.appendChild(r);const s=document.createElement("slot");s.name="toolbar",null==(t=this.shadowRoot)||t.appendChild(s);const o=document.createElement("div");o.id="editor",null==(n=this.shadowRoot)||n.appendChild(o),this.registerToolbar(null==(i=this.shadowRoot)?void 0:i.querySelector("[name=toolbar]")),this._placeholder=this.getAttribute("placeholder")||"",this.namespace=this.getAttribute("namespace"),this.linter=this.getAttribute("linter"),this.mode=this.initModes()||this.getAttribute("mode")||"xml",this.hasAttribute("mode")||this.setAttribute("mode",this._mode),this.hasAttribute("code")&&(this.value=this.getAttribute("code")),this.hasAttribute("theme")&&(this.theme=this.getAttribute("theme")),this.addEventListener("blur",e=>{const t=e.relatedTarget;if(t){let n=t.parentNode;for(;n;){if(n===this)return e.preventDefault(),void e.stopPropagation();n=n.parentNode}}})}attributeChangedCallback(e,t,n){if(t&&t!==n)switch(e){case"placeholder":this.placeholder=n;break;case"mode":this.mode=n}}focus(){this._editor&&this._editor.focus()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.setMode(this.mode)}set mode(e){this.setMode(e)}setMode(e,t=!0){var n,i,r;const s=null==(n=this.shadowRoot)?void 0:n.getElementById("editor");if(!s)return;this._editor&&(this._editor.destroy(),s.innerHTML=""),this._mode=bS[e],console.log("<jinn-codemirror> mode: "+this.mode),this.activateToolbar(null==(i=this.shadowRoot)?void 0:i.querySelector("[name=toolbar]")),this.configure();const o=this.querySelector("[name=modes]");o&&o instanceof HTMLSelectElement&&(o.value=this._mode),null==(r=this._config)||r.getConfig().then(e=>{this._editor=new ys({state:ke.create(e),parent:s}),this._config&&t&&(this.content=this._config.setFromValue(this._value))})}configure(){var e;const t=this.getToolbarControls(null==(e=this.shadowRoot)?void 0:e.querySelector("[name=toolbar]"));switch(this._mode){case bS.edcs:case bS.phi:this._config=new kb(this,t,this._mode);break;case bS.leiden_plus:this._config=new cb(this,t);break;case bS.xquery:this._config=new Gb(this,t,this.linter);break;case bS.css:this._config=new Ty(this,t);break;case bS.tex:this._config=new Ry(this,t);break;case bS.html:this._config=new dQ(this,t);break;case bS.xml:this._config=new ES(this,t,this.namespace);break;case bS.markdown:this._config=new tk(this,t);break;default:this._config=new Xy(this,t)}}get mode(){return this._mode}set valid(e){this.setAttribute("valid",e.toString())}get valid(){return Boolean(this.hasAttribute("valid"))}set content(e){this._editor?setTimeout(()=>this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:e}})):console.log("no editor")}get content(){var e;return(null==(e=this._editor)?void 0:e.state.doc.toString())||""}set value(e){var t;this.setValue(e),this._editor&&this._config&&(this.content=null==(t=this._config)?void 0:t.setFromValue(this._value))}get value(){return this.getValue()}setValue(e){if(!this._config)return!1;const t=this._config.setFromValue(e);return this._value!==t&&(this._value=e,!0)}getValue(){return this._value?this._value:null}emitUpdateEvent(e){this.dispatchEvent(new CustomEvent("update",{detail:{content:e},composed:!0,bubbles:!0}))}initModes(){const e=this.querySelector("[name=modes]");return e&&e instanceof HTMLSelectElement?(e.addEventListener("change",()=>{this.mode=e.value}),e.value):null}registerToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.registerToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e.dataset.command;e.hasAttribute("data-key")&&(e.title=`${e.title} (${e.getAttribute("data-key")})`),e.addEventListener("click",()=>{var n;if(!this._config)return;const i=this._config.getCommands()[t];if(i){const r=QS(t,i,e);r&&(r(this._editor),"encloseWithCommand"!==t&&(null==(n=this._editor)||n.focus()))}})})})}activateToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.activateToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e;t.dataset.mode&&t.dataset.mode!==this._mode?t.style.display="none":t.style.display="inline"})})}getToolbarControls(e,t=[]){return null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("[data-command]").forEach(e=>{t.push(e)}),e.querySelectorAll("slot").forEach(e=>this.getToolbarControls(e,t))}),t}styles(){return"\n :host > div {\n width: 100%;\n background-color: var(--jinn-codemirror-background-color, #fff);\n }\n "}}window.customElements.define("jinn-codemirror",nk);