@kerebron/legacy-compat 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/kerebron.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_rolldown_runtime=require("./rolldown-runtime-C6qsp3rV.cjs");function OrderedMap(e){this.content=e}OrderedMap.prototype={constructor:OrderedMap,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,a=r.find(e),o=r.content.slice();return a==-1?o.push(n||e,t):(o[a+1]=t,n&&(o[a]=n)),new OrderedMap(o)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new OrderedMap(n)},addToStart:function(e,t){return new OrderedMap([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new OrderedMap(n)},addBefore:function(e,t,n){var r=this.remove(t),a=r.content.slice(),o=r.find(e);return a.splice(o==-1?a.length:o,0,t,n),new OrderedMap(a)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=OrderedMap.from(e),e.size?new OrderedMap(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=OrderedMap.from(e),e.size?new OrderedMap(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=OrderedMap.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},OrderedMap.from=function(e){if(e instanceof OrderedMap)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new OrderedMap(t)};function findDiffStart(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let a=e.child(r),o=t.child(r);if(a==o){n+=a.nodeSize;continue}if(!a.sameMarkup(o))return n;if(a.isText&&a.text!=o.text){let e=a.text,t=o.text,r=0;for(;e[r]==t[r];r++)n++;return r&&r<e.length&&r<t.length&&surrogateHigh(e.charCodeAt(r-1))&&surrogateLow(e.charCodeAt(r))&&n--,n}if(a.content.size||o.content.size){let e=findDiffStart(a.content,o.content,n+1);if(e!=null)return e}n+=a.nodeSize}}function findDiffEnd(e,t,n,r){for(let a=e.childCount,o=t.childCount;;){if(a==0||o==0)return a==o?null:{a:n,b:r};let s=e.child(--a),c=t.child(--o),l=s.nodeSize;if(s==c){n-=l,r-=l;continue}if(!s.sameMarkup(c))return{a:n,b:r};if(s.isText&&s.text!=c.text){let e=s.text,t=c.text,a=e.length,o=t.length;for(;a>0&&o>0&&e[a-1]==t[o-1];)a--,o--,n--,r--;return a&&o&&a<e.length&&surrogateHigh(e.charCodeAt(a-1))&&surrogateLow(e.charCodeAt(a))&&(n++,r++),{a:n,b:r}}if(s.content.size||c.content.size){let e=findDiffEnd(s.content,c.content,n-1,r-1);if(e)return e}n-=l,r-=l}}function surrogateLow(e){return e>=56320&&e<57344}function surrogateHigh(e){return e>=55296&&e<56320}var Fragment=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,a){for(let o=0,s=0;s<t;o++){let c=this.content[o],l=s+c.nodeSize;if(l>e&&n(c,r+s,a||null,o)!==!1&&c.content.size){let a=s+1;c.nodesBetween(Math.max(0,e-a),Math.min(c.content.size,t-a),n,r+a)}s=l}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let a=``,o=!0;return this.nodesBetween(e,t,(s,c)=>{let l=s.isText?s.text.slice(Math.max(e,c)-c,t-c):s.isLeaf?r?typeof r==`function`?r(s):r:s.type.spec.leafText?s.type.spec.leafText(s):``:``;s.isBlock&&(s.isLeaf&&l||s.isTextblock)&&n&&(o?o=!1:a+=n),a+=l},0),a}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,a=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(r)&&(a[a.length-1]=n.withText(n.text+r.text),o=1);o<t.content.length;o++)a.push(t.content[o]);return new e(a,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],a=0;if(n>t)for(let e=0,o=0;o<n;e++){let s=this.content[e],c=o+s.nodeSize;c>t&&((o<t||c>n)&&(s=s.isText?s.cut(Math.max(0,t-o),Math.min(s.text.length,n-o)):s.cut(Math.max(0,t-o-1),Math.min(s.content.size,n-o-1))),r.push(s),a+=s.nodeSize),o=c}return new e(r,a)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let a=this.content.slice(),o=this.size+n.nodeSize-r.nodeSize;return a[t]=n,new e(a,o)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return findDiffStart(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return findDiffEnd(this,e,t,n)}findIndex(e){if(e==0)return retIndex(0,e);if(e==this.size)return retIndex(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),a=n+r.nodeSize;if(a>=e)return a==e?retIndex(t+1,a):retIndex(t,n);n=a}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return e.fromArray(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let a=t[e];r+=a.nodeSize,e&&a.isText&&t[e-1].sameMarkup(a)?(n||=t.slice(0,e),n[n.length-1]=a.withText(n[n.length-1].text+a.text)):n&&n.push(a)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};Fragment.empty=new Fragment([],0);var found={index:0,offset:0};function retIndex(e,t){return found.index=e,found.offset=t,found}function compareDeep(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!compareDeep(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!compareDeep(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var Mark$1=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let a=e[r];if(this.eq(a))return e;if(this.type.excludes(a.type))t||=e.slice(0,r);else if(a.type.excludes(this.type))return e;else!n&&a.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(a)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&compareDeep(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};Mark$1.none=[];var ReplaceError=class extends Error{},Slice=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=insertInto(this.content,t+this.openStart,n,this.openStart+1,this.openEnd+1);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(removeRange(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,a=n.openEnd||0;if(typeof r!=`number`||typeof a!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(Fragment.fromJSON(t,n.content),r,a)}static maxOpen(t,n=!0){let r=0,a=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)a++;return new e(t,r,a)}};Slice.empty=new Slice(Fragment.empty,0,0);function removeRange(e,t,n){let{index:r,offset:a}=e.findIndex(t),o=e.maybeChild(r),{index:s,offset:c}=e.findIndex(n);if(a==t||o.isText){if(c!=n&&!e.child(s).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=s)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,o.copy(removeRange(o.content,t-a-1,n-a-1)))}function insertInto(e,t,n,r,a,o){let{index:s,offset:c}=e.findIndex(t),l=e.maybeChild(s);if(c==t||l.isText)return o&&r<=0&&a<=0&&!o.canReplace(s,s,n)?null:e.cut(0,t).append(n).append(e.cut(t));let u=insertInto(l.content,t-c-1,n,s==0?r-1:0,s==e.childCount-1?a-1:0,l);return u&&e.replaceChild(s,l.copy(u))}function replace(e,t,n){if(n.openStart>e.depth)throw new ReplaceError(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new ReplaceError(`Inconsistent open depths`);return replaceOuter(e,t,n,0)}function replaceOuter(e,t,n,r){let a=e.index(r),o=e.node(r);if(a==t.index(r)&&r<e.depth-n.openStart){let s=replaceOuter(e,t,n,r+1);return o.copy(o.content.replaceChild(a,s))}else if(!n.content.size)return close(o,replaceTwoWay(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,a=r.content;return close(r,a.cut(0,e.parentOffset).append(n.content).append(a.cut(t.parentOffset)))}else{let{start:a,end:s}=prepareSliceForReplace(n,e);return close(o,replaceThreeWay(e,a,s,t,r))}}function checkJoin(e,t){if(!t.type.compatibleContent(e.type))throw new ReplaceError(`Cannot join `+t.type.name+` onto `+e.type.name)}function joinable$1(e,t,n){let r=e.node(n);return checkJoin(r,t.node(n)),r}function addNode(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function addRange(e,t,n,r){let a=(t||e).node(n),o=0,s=t?t.index(n):a.childCount;e&&(o=e.index(n),e.depth>n?o++:e.textOffset&&(addNode(e.nodeAfter,r),o++));for(let e=o;e<s;e++)addNode(a.child(e),r);t&&t.depth==n&&t.textOffset&&addNode(t.nodeBefore,r)}function close(e,t){if(!e.type.validContent(t))throw new ReplaceError(`Invalid content for node `+e.type.name);return e.copy(t)}function replaceThreeWay(e,t,n,r,a){let o=e.depth>a&&joinable$1(e,t,a+1),s=r.depth>a&&joinable$1(n,r,a+1),c=[];return addRange(null,e,a,c),o&&s&&t.index(a)==n.index(a)?(checkJoin(o,s),addNode(close(o,replaceThreeWay(e,t,n,r,a+1)),c)):(o&&addNode(close(o,replaceTwoWay(e,t,a+1)),c),addRange(t,n,a,c),s&&addNode(close(s,replaceTwoWay(n,r,a+1)),c)),addRange(r,null,a,c),new Fragment(c)}function replaceTwoWay(e,t,n){let r=[];return addRange(null,e,n,r),e.depth>n&&addNode(close(joinable$1(e,t,n+1),replaceTwoWay(e,t,n+1)),r),addRange(t,null,n,r),new Fragment(r)}function prepareSliceForReplace(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(Fragment.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var ResolvedPos=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return Mark$1.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let a=n.marks;for(var o=0;o<a.length;o++)a[o].type.spec.inclusive===!1&&(!r||!a[o].isInSet(r.marks))&&(a=a[o--].removeFromSet(a));return a}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var a=0;a<n.length;a++)n[a].type.spec.inclusive===!1&&(!r||!n[a].isInSet(r.marks))&&(n=n[a--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new NodeRange(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],a=0,o=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(o),s=o-n;if(r.push(e,t,a+n),!s||(e=e.child(t),e.isText))break;o=s-1,a+=n+1}return new e(n,r,o)}static resolveCached(t,n){let r=resolveCache.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else resolveCache.set(t,r=new ResolveCache);let a=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%resolveCacheSize,a}},ResolveCache=class{constructor(){this.elts=[],this.i=0}},resolveCacheSize=12,resolveCache=new WeakMap,NodeRange=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},emptyAttrs=Object.create(null),Node$3=class e{constructor(e,t,n,r=Mark$1.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||Fragment.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&compareDeep(this.attrs,t||e.defaultAttrs||emptyAttrs)&&Mark$1.sameSet(this.marks,n||Mark$1.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return Slice.empty;let r=this.resolve(e),a=this.resolve(t),o=n?0:r.sharedDepth(t),s=r.start(o);return new Slice(r.node(o).content.cut(r.pos-s,a.pos-s),r.depth-o,a.depth-o)}replace(e,t,n){return replace(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return ResolvedPos.resolveCached(this,e)}resolveNoCache(e){return ResolvedPos.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),wrapMarks(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=Fragment.empty,r=0,a=n.childCount){let o=this.contentMatchAt(e).matchFragment(n,r,a),s=o&&o.matchFragment(this.content,t);if(!s||!s.validEnd)return!1;for(let e=r;e<a;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let a=this.contentMatchAt(e).matchType(n),o=a&&a.matchFragment(this.content,t);return o?o.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Mark$1.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!Mark$1.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=Fragment.fromJSON(e,t.content),a=e.nodeType(t.type).create(t.attrs,r,n);return a.type.checkAttrs(a.attrs),a}};Node$3.prototype.text=void 0;var TextNode=class e extends Node$3{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):wrapMarks(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function wrapMarks(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var ContentMatch=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new TokenStream(t,n);if(r.next==null)return e.empty;let a=parseExpr(r);r.next&&r.err(`Unexpected trailing text`);let o=dfa(nfa(a));return checkForDeadEnds(o,r),o}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let a=t;r&&a<n;a++)r=r.matchType(e.child(a).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function a(o,s){let c=o.matchFragment(e,n);if(c&&(!t||c.validEnd))return Fragment.from(s.map(e=>e.createAndFill()));for(let e=0;e<o.next.length;e++){let{type:t,next:n}=o.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=a(n,s.concat(t));if(e)return e}}return null}return a(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),a=r.match;if(a.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<a.next.length;e++){let{type:o,next:s}=a.next[e];!o.isLeaf&&!o.hasRequiredAttrs()&&!(o.name in t)&&(!r.type||s.validEnd)&&(n.push({match:o.contentMatch,type:o,via:r}),t[o.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_rolldown_runtime=require("./rolldown-runtime-mLOUI7ql.cjs");function OrderedMap(e){this.content=e}OrderedMap.prototype={constructor:OrderedMap,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,a=r.find(e),o=r.content.slice();return a==-1?o.push(n||e,t):(o[a+1]=t,n&&(o[a]=n)),new OrderedMap(o)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new OrderedMap(n)},addToStart:function(e,t){return new OrderedMap([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new OrderedMap(n)},addBefore:function(e,t,n){var r=this.remove(t),a=r.content.slice(),o=r.find(e);return a.splice(o==-1?a.length:o,0,t,n),new OrderedMap(a)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=OrderedMap.from(e),e.size?new OrderedMap(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=OrderedMap.from(e),e.size?new OrderedMap(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=OrderedMap.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},OrderedMap.from=function(e){if(e instanceof OrderedMap)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new OrderedMap(t)};function findDiffStart(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let a=e.child(r),o=t.child(r);if(a==o){n+=a.nodeSize;continue}if(!a.sameMarkup(o))return n;if(a.isText&&a.text!=o.text){let e=a.text,t=o.text,r=0;for(;e[r]==t[r];r++)n++;return r&&r<e.length&&r<t.length&&surrogateHigh(e.charCodeAt(r-1))&&surrogateLow(e.charCodeAt(r))&&n--,n}if(a.content.size||o.content.size){let e=findDiffStart(a.content,o.content,n+1);if(e!=null)return e}n+=a.nodeSize}}function findDiffEnd(e,t,n,r){for(let a=e.childCount,o=t.childCount;;){if(a==0||o==0)return a==o?null:{a:n,b:r};let s=e.child(--a),c=t.child(--o),l=s.nodeSize;if(s==c){n-=l,r-=l;continue}if(!s.sameMarkup(c))return{a:n,b:r};if(s.isText&&s.text!=c.text){let e=s.text,t=c.text,a=e.length,o=t.length;for(;a>0&&o>0&&e[a-1]==t[o-1];)a--,o--,n--,r--;return a&&o&&a<e.length&&surrogateHigh(e.charCodeAt(a-1))&&surrogateLow(e.charCodeAt(a))&&(n++,r++),{a:n,b:r}}if(s.content.size||c.content.size){let e=findDiffEnd(s.content,c.content,n-1,r-1);if(e)return e}n-=l,r-=l}}function surrogateLow(e){return e>=56320&&e<57344}function surrogateHigh(e){return e>=55296&&e<56320}var Fragment=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,a){for(let o=0,s=0;s<t;o++){let c=this.content[o],l=s+c.nodeSize;if(l>e&&n(c,r+s,a||null,o)!==!1&&c.content.size){let a=s+1;c.nodesBetween(Math.max(0,e-a),Math.min(c.content.size,t-a),n,r+a)}s=l}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let a=``,o=!0;return this.nodesBetween(e,t,(s,c)=>{let l=s.isText?s.text.slice(Math.max(e,c)-c,t-c):s.isLeaf?r?typeof r==`function`?r(s):r:s.type.spec.leafText?s.type.spec.leafText(s):``:``;s.isBlock&&(s.isLeaf&&l||s.isTextblock)&&n&&(o?o=!1:a+=n),a+=l},0),a}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,a=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(r)&&(a[a.length-1]=n.withText(n.text+r.text),o=1);o<t.content.length;o++)a.push(t.content[o]);return new e(a,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],a=0;if(n>t)for(let e=0,o=0;o<n;e++){let s=this.content[e],c=o+s.nodeSize;c>t&&((o<t||c>n)&&(s=s.isText?s.cut(Math.max(0,t-o),Math.min(s.text.length,n-o)):s.cut(Math.max(0,t-o-1),Math.min(s.content.size,n-o-1))),r.push(s),a+=s.nodeSize),o=c}return new e(r,a)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let a=this.content.slice(),o=this.size+n.nodeSize-r.nodeSize;return a[t]=n,new e(a,o)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return findDiffStart(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return findDiffEnd(this,e,t,n)}findIndex(e){if(e==0)return retIndex(0,e);if(e==this.size)return retIndex(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),a=n+r.nodeSize;if(a>=e)return a==e?retIndex(t+1,a):retIndex(t,n);n=a}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return e.fromArray(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let a=t[e];r+=a.nodeSize,e&&a.isText&&t[e-1].sameMarkup(a)?(n||=t.slice(0,e),n[n.length-1]=a.withText(n[n.length-1].text+a.text)):n&&n.push(a)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};Fragment.empty=new Fragment([],0);var found={index:0,offset:0};function retIndex(e,t){return found.index=e,found.offset=t,found}function compareDeep(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!compareDeep(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!compareDeep(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var Mark$1=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let a=e[r];if(this.eq(a))return e;if(this.type.excludes(a.type))t||=e.slice(0,r);else if(a.type.excludes(this.type))return e;else!n&&a.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(a)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&compareDeep(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};Mark$1.none=[];var ReplaceError=class extends Error{},Slice=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=insertInto(this.content,t+this.openStart,n,this.openStart+1,this.openEnd+1);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(removeRange(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,a=n.openEnd||0;if(typeof r!=`number`||typeof a!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(Fragment.fromJSON(t,n.content),r,a)}static maxOpen(t,n=!0){let r=0,a=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)a++;return new e(t,r,a)}};Slice.empty=new Slice(Fragment.empty,0,0);function removeRange(e,t,n){let{index:r,offset:a}=e.findIndex(t),o=e.maybeChild(r),{index:s,offset:c}=e.findIndex(n);if(a==t||o.isText){if(c!=n&&!e.child(s).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=s)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,o.copy(removeRange(o.content,t-a-1,n-a-1)))}function insertInto(e,t,n,r,a,o){let{index:s,offset:c}=e.findIndex(t),l=e.maybeChild(s);if(c==t||l.isText)return o&&r<=0&&a<=0&&!o.canReplace(s,s,n)?null:e.cut(0,t).append(n).append(e.cut(t));let u=insertInto(l.content,t-c-1,n,s==0?r-1:0,s==e.childCount-1?a-1:0,l);return u&&e.replaceChild(s,l.copy(u))}function replace(e,t,n){if(n.openStart>e.depth)throw new ReplaceError(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new ReplaceError(`Inconsistent open depths`);return replaceOuter(e,t,n,0)}function replaceOuter(e,t,n,r){let a=e.index(r),o=e.node(r);if(a==t.index(r)&&r<e.depth-n.openStart){let s=replaceOuter(e,t,n,r+1);return o.copy(o.content.replaceChild(a,s))}else if(!n.content.size)return close(o,replaceTwoWay(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,a=r.content;return close(r,a.cut(0,e.parentOffset).append(n.content).append(a.cut(t.parentOffset)))}else{let{start:a,end:s}=prepareSliceForReplace(n,e);return close(o,replaceThreeWay(e,a,s,t,r))}}function checkJoin(e,t){if(!t.type.compatibleContent(e.type))throw new ReplaceError(`Cannot join `+t.type.name+` onto `+e.type.name)}function joinable$1(e,t,n){let r=e.node(n);return checkJoin(r,t.node(n)),r}function addNode(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function addRange(e,t,n,r){let a=(t||e).node(n),o=0,s=t?t.index(n):a.childCount;e&&(o=e.index(n),e.depth>n?o++:e.textOffset&&(addNode(e.nodeAfter,r),o++));for(let e=o;e<s;e++)addNode(a.child(e),r);t&&t.depth==n&&t.textOffset&&addNode(t.nodeBefore,r)}function close(e,t){if(!e.type.validContent(t))throw new ReplaceError(`Invalid content for node `+e.type.name);return e.copy(t)}function replaceThreeWay(e,t,n,r,a){let o=e.depth>a&&joinable$1(e,t,a+1),s=r.depth>a&&joinable$1(n,r,a+1),c=[];return addRange(null,e,a,c),o&&s&&t.index(a)==n.index(a)?(checkJoin(o,s),addNode(close(o,replaceThreeWay(e,t,n,r,a+1)),c)):(o&&addNode(close(o,replaceTwoWay(e,t,a+1)),c),addRange(t,n,a,c),s&&addNode(close(s,replaceTwoWay(n,r,a+1)),c)),addRange(r,null,a,c),new Fragment(c)}function replaceTwoWay(e,t,n){let r=[];return addRange(null,e,n,r),e.depth>n&&addNode(close(joinable$1(e,t,n+1),replaceTwoWay(e,t,n+1)),r),addRange(t,null,n,r),new Fragment(r)}function prepareSliceForReplace(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(Fragment.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var ResolvedPos=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return Mark$1.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let a=n.marks;for(var o=0;o<a.length;o++)a[o].type.spec.inclusive===!1&&(!r||!a[o].isInSet(r.marks))&&(a=a[o--].removeFromSet(a));return a}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var a=0;a<n.length;a++)n[a].type.spec.inclusive===!1&&(!r||!n[a].isInSet(r.marks))&&(n=n[a--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new NodeRange(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],a=0,o=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(o),s=o-n;if(r.push(e,t,a+n),!s||(e=e.child(t),e.isText))break;o=s-1,a+=n+1}return new e(n,r,o)}static resolveCached(t,n){let r=resolveCache.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else resolveCache.set(t,r=new ResolveCache);let a=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%resolveCacheSize,a}},ResolveCache=class{constructor(){this.elts=[],this.i=0}},resolveCacheSize=12,resolveCache=new WeakMap,NodeRange=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},emptyAttrs=Object.create(null),Node$3=class e{constructor(e,t,n,r=Mark$1.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||Fragment.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&compareDeep(this.attrs,t||e.defaultAttrs||emptyAttrs)&&Mark$1.sameSet(this.marks,n||Mark$1.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return Slice.empty;let r=this.resolve(e),a=this.resolve(t),o=n?0:r.sharedDepth(t),s=r.start(o);return new Slice(r.node(o).content.cut(r.pos-s,a.pos-s),r.depth-o,a.depth-o)}replace(e,t,n){return replace(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return ResolvedPos.resolveCached(this,e)}resolveNoCache(e){return ResolvedPos.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),wrapMarks(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=Fragment.empty,r=0,a=n.childCount){let o=this.contentMatchAt(e).matchFragment(n,r,a),s=o&&o.matchFragment(this.content,t);if(!s||!s.validEnd)return!1;for(let e=r;e<a;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let a=this.contentMatchAt(e).matchType(n),o=a&&a.matchFragment(this.content,t);return o?o.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Mark$1.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!Mark$1.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=Fragment.fromJSON(e,t.content),a=e.nodeType(t.type).create(t.attrs,r,n);return a.type.checkAttrs(a.attrs),a}};Node$3.prototype.text=void 0;var TextNode=class e extends Node$3{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):wrapMarks(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function wrapMarks(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var ContentMatch=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new TokenStream(t,n);if(r.next==null)return e.empty;let a=parseExpr(r);r.next&&r.err(`Unexpected trailing text`);let o=dfa(nfa(a));return checkForDeadEnds(o,r),o}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let a=t;r&&a<n;a++)r=r.matchType(e.child(a).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function a(o,s){let c=o.matchFragment(e,n);if(c&&(!t||c.validEnd))return Fragment.from(s.map(e=>e.createAndFill()));for(let e=0;e<o.next.length;e++){let{type:t,next:n}=o.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=a(n,s.concat(t));if(e)return e}}return null}return a(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),a=r.match;if(a.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<a.next.length;e++){let{type:o,next:s}=a.next[e];!o.isLeaf&&!o.hasRequiredAttrs()&&!(o.name in t)&&(!r.type||s.validEnd)&&(n.push({match:o.contentMatch,type:o,via:r}),t[o.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
2
2
  `)}};ContentMatch.empty=new ContentMatch(!0);var TokenStream=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function parseExpr(e){let t=[];do t.push(parseExprSeq(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function parseExprSeq(e){let t=[];do t.push(parseExprSubscript(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function parseExprSubscript(e){let t=parseExprAtom(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=parseExprRange(e,t);else break;return t}function parseNum(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function parseExprRange(e,t){let n=parseNum(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:parseNum(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function resolveName(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let a=[];for(let e in n){let r=n[e];r.isInGroup(t)&&a.push(r)}return a.length==0&&e.err(`No node type or group '`+t+`' found`),a}function parseExprAtom(e){if(e.eat(`(`)){let t=parseExpr(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=resolveName(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function nfa(e){let t=[[]];return a(o(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let a={term:r,to:n};return t[e].push(a),a}function a(e,t){e.forEach(e=>e.to=t)}function o(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(o(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let s=o(e.exprs[r],t);if(r==e.exprs.length-1)return s;a(s,t=n())}else if(e.type==`star`){let s=n();return r(t,s),a(o(e.expr,s),s),[r(s)]}else if(e.type==`plus`){let s=n();return a(o(e.expr,t),s),a(o(e.expr,s),s),[r(s)]}else if(e.type==`opt`)return[r(t)].concat(o(e.expr,t));else if(e.type==`range`){let s=t;for(let t=0;t<e.min;t++){let t=n();a(o(e.expr,s),t),s=t}if(e.max==-1)a(o(e.expr,s),s);else for(let t=e.min;t<e.max;t++){let t=n();r(s,t),a(o(e.expr,s),t),s=t}return[r(s)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function cmp(e,t){return t-e}function nullFrom(e,t){let n=[];return r(t),n.sort(cmp);function r(t){let a=e[t];if(a.length==1&&!a[0].term)return r(a[0].to);n.push(t);for(let e=0;e<a.length;e++){let{term:t,to:o}=a[e];!t&&n.indexOf(o)==-1&&r(o)}}}function dfa(e){let t=Object.create(null);return n(nullFrom(e,0));function n(r){let a=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<a.length;e++)a[e][0]==t&&(r=a[e][1]);nullFrom(e,n).forEach(e=>{r||a.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let o=t[r.join(`,`)]=new ContentMatch(r.indexOf(e.length-1)>-1);for(let e=0;e<a.length;e++){let r=a[e][1].sort(cmp);o.next.push({type:a[e][0],next:t[r.join(`,`)]||n(r)})}return o}}function checkForDeadEnds(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],a=!e.validEnd,o=[];for(let t=0;t<e.next.length;t++){let{type:n,next:s}=e.next[t];o.push(n.name),a&&!(n.isText||n.hasRequiredAttrs())&&(a=!1),r.indexOf(s)==-1&&r.push(s)}a&&t.err(`Only non-generatable nodes (`+o.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function defaultAttrs(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function computeAttrs(e,t){let n=Object.create(null);for(let r in e){let a=t&&t[r];if(a===void 0){let t=e[r];if(t.hasDefault)a=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=a}return n}function checkAttrs(e,t,n,r){for(let a in t)if(!(a in e))throw RangeError(`Unsupported attribute ${a} for ${n} of type ${r}`);for(let n in e)e[n].validate&&e[n].validate(t[n])}function initAttrs(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new Attribute(e,r,t[r]);return n}var NodeType$1=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=initAttrs(e,n.attrs),this.defaultAttrs=defaultAttrs(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==ContentMatch.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:computeAttrs(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new Node$3(this,this.computeAttrs(e),Fragment.from(t),Mark$1.setFrom(n))}createChecked(e=null,t,n){return t=Fragment.from(t),this.checkContent(t),new Node$3(this,this.computeAttrs(e),t,Mark$1.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=Fragment.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),a=r&&r.fillBefore(Fragment.empty,!0);return a?new Node$3(this,e,t.append(a),Mark$1.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){checkAttrs(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:Mark$1.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,a)=>r[t]=new e(t,n,a));let a=n.spec.topNode||`doc`;if(!r[a])throw RangeError(`Schema is missing its top node type ('`+a+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function validateType(e,t,n){let r=n.split(`|`);return n=>{let a=n===null?`null`:typeof n;if(r.indexOf(a)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${a}`)}}var Attribute=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?validateType(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},MarkType=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=initAttrs(e,r.attrs),this.excluded=null;let a=defaultAttrs(this.attrs);this.instance=a?new Mark$1(this,a):null}create(e=null){return!e&&this.instance?this.instance:new Mark$1(this,computeAttrs(this.attrs,e))}static compile(t,n){let r=Object.create(null),a=0;return t.forEach((t,o)=>r[t]=new e(t,a++,n,o)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){checkAttrs(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},Schema=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=OrderedMap.from(e.nodes),t.marks=OrderedMap.from(e.marks||{}),this.nodes=NodeType$1.compile(this.spec.nodes,this),this.marks=MarkType.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,a=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=ContentMatch.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=a==`_`?null:a?gatherMarks(this,a.split(` `)):a==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:gatherMarks(this,n.split(` `))}this.nodeFromJSON=e=>Node$3.fromJSON(this,e),this.markFromJSON=e=>Mark$1.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof NodeType$1))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new TextNode(n,n.defaultAttrs,e,Mark$1.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function gatherMarks(e,t){let n=[];for(let r=0;r<t.length;r++){let a=t[r],o=e.marks[a],s=o;if(o)n.push(o);else for(let t in e.marks){let r=e.marks[t];(a==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(a)>-1)&&n.push(s=r)}if(!s)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function isTagRule(e){return e.tag!=null}function isStyleRule(e){return e.style!=null}var DOMParser$1=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(isTagRule(e))this.tags.push(e);else if(isStyleRule(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new ParseContext(this,t,!1);return n.addAll(e,Mark$1.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new ParseContext(this,t,!0);return n.addAll(e,Mark$1.none,t.from,t.to),Slice.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(matches(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let a=r?this.styles.indexOf(r)+1:0;a<this.styles.length;a++){let r=this.styles[a],o=r.style;if(!(o.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||o.length>e.length&&(o.charCodeAt(e.length)!=61||o.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=copy(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=copy(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},blockTags={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},ignoreTags={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},listTags={ol:!0,ul:!0},OPT_PRESERVE_WS=1,OPT_PRESERVE_WS_FULL=2,OPT_OPEN_LEFT=4;function wsOptionsFor(e,t,n){return t==null?e&&e.whitespace==`pre`?3:n&-5:(t?OPT_PRESERVE_WS:0)|(t===`full`?OPT_PRESERVE_WS_FULL:0)}var NodeContext=class{constructor(e,t,n,r,a,o){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=o,this.content=[],this.activeMarks=Mark$1.none,this.match=a||(o&OPT_OPEN_LEFT?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(Fragment.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&OPT_PRESERVE_WS)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=Fragment.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(Fragment.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!blockTags.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},ParseContext=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,a,o=wsOptionsFor(null,t.preserveWhitespace,0)|(n?OPT_OPEN_LEFT:0);a=r?new NodeContext(r.type,r.attrs,Mark$1.none,!0,t.topMatch||r.type.contentMatch,o):n?new NodeContext(null,null,Mark$1.none,!0,null,o):new NodeContext(e.schema.topNodeType,null,Mark$1.none,!0,null,o),this.nodes=[a],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,a=r.options&OPT_PRESERVE_WS_FULL?`full`:this.localPreserveWS||(r.options&OPT_PRESERVE_WS)>0,{schema:o}=this.parser;if(a===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!a){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],a=e.previousSibling;(!t||a&&a.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(a===`full`)n=n.replace(/\r\n?/g,`
3
3
  `);else if(o.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(o.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(o.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(o.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(o.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,a=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let o=e.nodeName.toLowerCase(),s;listTags.hasOwnProperty(o)&&this.parser.normalizeLists&&normalizeList(e);let c=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(s=this.parser.matchTag(e,this,n));out:if(c?c.ignore:ignoreTags.hasOwnProperty(o))this.findInside(e),this.ignoreFallback(e,t);else if(!c||c.skip||c.closeParent){c&&c.closeParent?this.open=Math.max(0,this.open-1):c&&c.skip.nodeType&&(e=c.skip);let n,r=this.needsBlock;if(blockTags.hasOwnProperty(o))a.content.length&&a.content[0].isInline&&this.open&&(this.open--,a=this.top),n=!0,a.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let s=c&&c.skip?t:this.readStyles(e,t);s&&this.addAll(e,s),n&&this.sync(a),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,c,n,c.consuming===!1?s:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
4
4
  `),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],a=n.getPropertyValue(r);if(a)for(let e;;){let n=this.parser.matchStyle(r,a,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let a,o;if(t.node)if(o=this.parser.schema.nodes[t.node],o.isLeaf)this.insertNode(o.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(o,t.attrs||null,n,t.preserveWhitespace);e&&(a=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let s=this.top;if(o&&o.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}a&&this.sync(s)&&this.open--}addAll(e,t,n,r){let a=n||0;for(let o=n?e.childNodes[n]:e.firstChild,s=r==null?null:e.childNodes[r];o!=s;o=o.nextSibling,++a)this.findAtPoint(e,a),this.addDOM(o,t);this.findAtPoint(e,a)}findPlace(e,t,n){let r,a;for(let t=this.open,o=0;t>=0;t--){let s=this.nodes[t],c=s.findWrapping(e);if(c&&(!r||r.length>c.length+o)&&(r=c,a=s,!c.length))break;if(s.solid){if(n)break;o+=2}}if(!r)return null;this.sync(a);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=Mark$1.none;for(let a of r.concat(e.marks))(t.type?t.type.allowsMarkType(a.type):markMayApply(a.type,e.type))&&(n=a.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let a=this.findPlace(e.create(t),n,!1);return a&&=this.enterInner(e,t,n,!0,r),a}enterInner(e,t,n,r=!1,a){this.closeExtra();let o=this.top;o.match=o.match&&o.match.matchType(e);let s=wsOptionsFor(e,a,o.options);o.options&OPT_OPEN_LEFT&&o.content.length==0&&(s|=OPT_OPEN_LEFT);let c=Mark$1.none;return n=n.filter(t=>(o.type?o.type.allowsMarkType(t.type):markMayApply(t.type,e))?(c=t.addToSet(c),!1):!0),this.nodes.push(new NodeContext(e,t,c,r,null,s)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=OPT_PRESERVE_WS);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),a=-(n?n.depth+1:0)+ +!r,o=(e,s)=>{for(;e>=0;e--){let c=t[e];if(c==``){if(e==t.length-1||e==0)continue;for(;s>=a;s--)if(o(e-1,s))return!0;return!1}else{let e=s>0||s==0&&r?this.nodes[s].type:n&&s>=a?n.node(s-a).type:null;if(!e||e.name!=c&&!e.isInGroup(c))return!1;s--}}return!0};return o(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function normalizeList(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&listTags.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function matches(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function copy(e){let t={};for(let n in e)t[n]=e[n];return t}function markMayApply(e,t){let n=t.schema.nodes;for(let r in n){let a=n[r];if(!a.allowsMarkType(e))continue;let o=[],s=e=>{o.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:a}=e.edge(n);if(r==t||o.indexOf(a)<0&&s(a))return!0}};if(s(a.contentMatch))return!0}}var DOMSerializer=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=doc$1(t).createDocumentFragment();let r=n,a=[];return e.forEach(e=>{if(a.length||e.marks.length){let n=0,o=0;for(;n<a.length&&o<e.marks.length;){let t=e.marks[o];if(!this.marks[t.type.name]){o++;continue}if(!t.eq(a[n][0])||t.type.spec.spanning===!1)break;n++,o++}for(;n<a.length;)r=a.pop()[1];for(;o<e.marks.length;){let n=e.marks[o++],s=this.serializeMark(n,e.isInline,t);s&&(a.push([n,r]),r.appendChild(s.dom),r=s.contentDOM||s.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){if(e.isText)return doc$1(t).createTextNode(e.text);let{dom:n,contentDOM:r}=renderSpec(doc$1(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let a=this.serializeMark(e.marks[r],e.isInline,t);a&&((a.contentDOM||a.dom).appendChild(n),n=a.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&renderSpec(doc$1(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return typeof t==`string`?{dom:e.createTextNode(t)}:renderSpec(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=gatherToDOM(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return gatherToDOM(e.marks)}};function gatherToDOM(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function doc$1(e){return e.document||window.document}var suspiciousAttributeCache=new WeakMap;function suspiciousAttributes(e){let t=suspiciousAttributeCache.get(e);return t===void 0&&suspiciousAttributeCache.set(e,t=suspiciousAttributesInner(e)),t}function suspiciousAttributesInner(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function renderSpec(e,t,n,r){if(t.nodeType==1)return{dom:t};if(t.dom&&t.dom.nodeType==1)return t;let a=t[0],o;if(typeof a!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(o=suspiciousAttributes(r))&&o.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let s=a.indexOf(` `);s>0&&(n=a.slice(0,s),a=a.slice(s+1));let c,l=n?e.createElementNS(n,a):e.createElement(a),u=t[1],d=1;if(u&&typeof u==`object`&&u.nodeType==null&&!Array.isArray(u)){d=2;for(let e in u)if(u[e]!=null){let t=e.indexOf(` `);t>0?l.setAttributeNS(e.slice(0,t),e.slice(t+1),u[e]):e==`style`&&l.style?l.style.cssText=u[e]:l.setAttribute(e,u[e])}}for(let a=d;a<t.length;a++){let o=t[a];if(o===0){if(a<t.length-1||a>d)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:l,contentDOM:l}}else if(typeof o==`string`)l.appendChild(e.createTextNode(o));else{let{dom:t,contentDOM:a}=renderSpec(e,o,n,r);if(l.appendChild(t),a){if(c)throw RangeError(`Multiple content holes`);c=a}}}return{dom:l,contentDOM:c}}var lower16=65535,factor16=2**16;function makeRecover(e,t){return e+t*factor16}function recoverIndex(e){return e&lower16}function recoverOffset(e){return(e-(e&lower16))/factor16}var DEL_BEFORE=1,DEL_AFTER=2,DEL_ACROSS=4,DEL_SIDE=8,MapResult=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&DEL_SIDE)>0}get deletedBefore(){return(this.delInfo&5)>0}get deletedAfter(){return(this.delInfo&6)>0}get deletedAcross(){return(this.delInfo&DEL_ACROSS)>0}},StepMap=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=recoverIndex(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+recoverOffset(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,a=this.inverted?2:1,o=this.inverted?1:2;for(let s=0;s<this.ranges.length;s+=3){let c=this.ranges[s]-(this.inverted?r:0);if(c>e)break;let l=this.ranges[s+a],u=this.ranges[s+o],d=c+l;if(e<=d){let a=l?e==c?-1:e==d?1:t:t,o=c+r+(a<0?0:u);if(n)return o;let f=e==(t<0?c:d)?null:makeRecover(s/3,e-c),p=e==c?DEL_AFTER:e==d?DEL_BEFORE:DEL_ACROSS;return(t<0?e!=c:e!=d)&&(p|=DEL_SIDE),new MapResult(o,p,f)}r+=u-l}return n?e+r:new MapResult(e+r,0,null)}touches(e,t){let n=0,r=recoverIndex(t),a=this.inverted?2:1,o=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let s=this.ranges[t]-(this.inverted?n:0);if(s>e)break;let c=this.ranges[t+a];if(e<=s+c&&t==r*3)return!0;n+=this.ranges[t+o]-c}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,a=0;r<this.ranges.length;r+=3){let o=this.ranges[r],s=o-(this.inverted?a:0),c=o+(this.inverted?0:a),l=this.ranges[r+t],u=this.ranges[r+n];e(s,s+l,c,c+u),a+=u-l}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};StepMap.empty=new StepMap([]);var Mapping=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let a=this._maps[n].mapResult(e,t);if(a.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(a.recover);continue}}r|=a.delInfo,e=a.pos}return n?e:new MapResult(e,r,null)}},stepsByID=Object.create(null),Step=class{getMap(){return StepMap.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=stepsByID[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in stepsByID)throw RangeError(`Duplicate use of step JSON ID `+e);return stepsByID[e]=t,t.prototype.jsonID=e,t}},StepResult=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,a){try{return e.ok(t.replace(n,r,a))}catch(t){if(t instanceof ReplaceError)return e.fail(t.message);throw t}}};function mapFragment(e,t,n){let r=[];for(let a=0;a<e.childCount;a++){let o=e.child(a);o.content.size&&(o=o.copy(mapFragment(o.content,t,o))),o.isInline&&(o=t(o,n,a)),r.push(o)}return Fragment.fromArray(r)}var AddMarkStep=class e extends Step{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),a=new Slice(mapFragment(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return StepResult.fromReplace(e,this.from,this.to,a)}invert(){return new RemoveMarkStep(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Step.jsonID(`addMark`,AddMarkStep);var RemoveMarkStep=class e extends Step{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new Slice(mapFragment(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return StepResult.fromReplace(e,this.from,this.to,n)}invert(){return new AddMarkStep(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Step.jsonID(`removeMark`,RemoveMarkStep);var AddNodeMarkStep=class e extends Step{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return StepResult.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return StepResult.fromReplace(e,this.pos,this.pos+1,new Slice(Fragment.from(n),0,+!t.isLeaf))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new RemoveNodeMarkStep(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Step.jsonID(`addNodeMark`,AddNodeMarkStep);var RemoveNodeMarkStep=class e extends Step{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return StepResult.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return StepResult.fromReplace(e,this.pos,this.pos+1,new Slice(Fragment.from(n),0,+!t.isLeaf))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new AddNodeMarkStep(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Step.jsonID(`removeNodeMark`,RemoveNodeMarkStep);var ReplaceStep=class e extends Step{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&contentBetween(e,this.from,this.to)?StepResult.fail(`Structure replace would overwrite content`):StepResult.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new StepMap([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new e(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?Slice.empty:new Slice(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?Slice.empty:new Slice(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,Slice.fromJSON(t,n.slice),!!n.structure)}};Step.jsonID(`replace`,ReplaceStep);var ReplaceAroundStep=class e extends Step{constructor(e,t,n,r,a,o,s=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=a,this.insert=o,this.structure=s}apply(e){if(this.structure&&(contentBetween(e,this.from,this.gapFrom)||contentBetween(e,this.gapTo,this.to)))return StepResult.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return StepResult.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?StepResult.fromReplace(e,this.from,this.to,n):StepResult.fail(`Content does not fit in gap`)}getMap(){return new StepMap([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),a=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),o=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||a<n.pos||o>r.pos?null:new e(n.pos,r.pos,a,o,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,Slice.fromJSON(t,n.slice),n.insert,!!n.structure)}};Step.jsonID(`replaceAround`,ReplaceAroundStep);function contentBetween(e,t,n){let r=e.resolve(t),a=n-t,o=r.depth;for(;a>0&&o>0&&r.indexAfter(o)==r.node(o).childCount;)o--,a--;if(a>0){let e=r.node(o).maybeChild(r.indexAfter(o));for(;a>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,a--}}return!1}function addMark(e,t,n,r){let a=[],o=[],s,c;e.doc.nodesBetween(t,n,(e,l,u)=>{if(!e.isInline)return;let d=e.marks;if(!r.isInSet(d)&&u.type.allowsMarkType(r.type)){let u=Math.max(l,t),f=Math.min(l+e.nodeSize,n),p=r.addToSet(d);for(let e=0;e<d.length;e++)d[e].isInSet(p)||(s&&s.to==u&&s.mark.eq(d[e])?s.to=f:a.push(s=new RemoveMarkStep(u,f,d[e])));c&&c.to==u?c.to=f:o.push(c=new AddMarkStep(u,f,r))}}),a.forEach(t=>e.step(t)),o.forEach(t=>e.step(t))}function removeMark(e,t,n,r){let a=[],o=0;e.doc.nodesBetween(t,n,(e,s)=>{if(!e.isInline)return;o++;let c=null;if(r instanceof MarkType){let t=e.marks,n;for(;n=r.isInSet(t);)(c||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(c=[r]):c=e.marks;if(c&&c.length){let r=Math.min(s+e.nodeSize,n);for(let e=0;e<c.length;e++){let n=c[e],l;for(let e=0;e<a.length;e++){let t=a[e];t.step==o-1&&n.eq(a[e].style)&&(l=t)}l?(l.to=r,l.step=o):a.push({style:n,from:Math.max(s,t),to:r,step:o})}}}),a.forEach(t=>e.step(new RemoveMarkStep(t.from,t.to,t.style)))}function clearIncompatible(e,t,n,r=n.contentMatch,a=!0){let o=e.doc.nodeAt(t),s=[],c=t+1;for(let t=0;t<o.childCount;t++){let l=o.child(t),u=c+l.nodeSize,d=r.matchType(l.type);if(!d)s.push(new ReplaceStep(c,u,Slice.empty));else{r=d;for(let t=0;t<l.marks.length;t++)n.allowsMarkType(l.marks[t].type)||e.step(new RemoveMarkStep(c,u,l.marks[t]));if(a&&l.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(l.text);)r||=new Slice(Fragment.from(n.schema.text(` `,n.allowedMarks(l.marks))),0,0),s.push(new ReplaceStep(c+e.index,c+e.index+e[0].length,r))}}c=u}if(!r.validEnd){let t=r.fillBefore(Fragment.empty,!0);e.replace(c,c,new Slice(t,0,0))}for(let t=s.length-1;t>=0;t--)e.step(s[t])}function canCut(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function liftTarget(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth;;--n){let r=e.$from.node(n),a=e.$from.index(n),o=e.$to.indexAfter(n);if(n<e.depth&&r.canReplace(a,o,t))return n;if(n==0||r.type.spec.isolating||!canCut(r,a,o))break}return null}function lift$1(e,t,n){let{$from:r,$to:a,depth:o}=t,s=r.before(o+1),c=a.after(o+1),l=s,u=c,d=Fragment.empty,f=0;for(let e=o,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,d=Fragment.from(r.node(e).copy(d)),f++):l--;let p=Fragment.empty,m=0;for(let e=o,t=!1;e>n;e--)t||a.after(e+1)<a.end(e)?(t=!0,p=Fragment.from(a.node(e).copy(p)),m++):u++;e.step(new ReplaceAroundStep(l,u,s,c,new Slice(d.append(p),f,m),d.size-f,!0))}function findWrapping(e,t,n=null,r=e){let a=findWrappingOutside(e,t),o=a&&findWrappingInside(r,t);return o?a.map(withAttrs).concat({type:t,attrs:n}).concat(o.map(withAttrs)):null}function withAttrs(e){return{type:e,attrs:null}}function findWrappingOutside(e,t){let{parent:n,startIndex:r,endIndex:a}=e,o=n.contentMatchAt(r).findWrapping(t);if(!o)return null;let s=o.length?o[0]:t;return n.canReplaceWith(r,a,s)?o:null}function findWrappingInside(e,t){let{parent:n,startIndex:r,endIndex:a}=e,o=n.child(r),s=t.contentMatch.findWrapping(o.type);if(!s)return null;let c=(s.length?s[s.length-1]:t).contentMatch;for(let e=r;c&&e<a;e++)c=c.matchType(n.child(e).type);return!c||!c.validEnd?null:s}function wrap(e,t,n){let r=Fragment.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=Fragment.from(n[e].type.create(n[e].attrs,r))}let a=t.start,o=t.end;e.step(new ReplaceAroundStep(a,o,a,o,new Slice(r,0,0),n.length,!0))}function setBlockType$1(e,t,n,r,a){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let o=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let s=typeof a==`function`?a(t):a;if(t.isTextblock&&!t.hasMarkup(r,s)&&canChangeType(e.doc,e.mapping.slice(o).map(n),r)){let a=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?a=!1:!e&&t&&(a=!0)}a===!1&&replaceLinebreaks(e,t,n,o),clearIncompatible(e,e.mapping.slice(o).map(n,1),r,void 0,a===null);let c=e.mapping.slice(o),l=c.map(n,1),u=c.map(n+t.nodeSize,1);return e.step(new ReplaceAroundStep(l,u,l+1,u-1,new Slice(Fragment.from(r.create(s,null,t.marks)),0,0),1,!0)),a===!0&&replaceNewlines(e,t,n,o),!1}})}function replaceNewlines(e,t,n,r){t.forEach((a,o)=>{if(a.isText){let s,c=/\r?\n|\r/g;for(;s=c.exec(a.text);){let a=e.mapping.slice(r).map(n+1+o+s.index);e.replaceWith(a,a+1,t.type.schema.linebreakReplacement.create())}}})}function replaceLinebreaks(e,t,n,r){t.forEach((a,o)=>{if(a.type==a.type.schema.linebreakReplacement){let a=e.mapping.slice(r).map(n+1+o);e.replaceWith(a,a+1,t.type.schema.text(`
@@ -6,14 +6,18 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require
6
6
  `),d&&t==e.nodeValue.length)for(let t=e,n;t;t=t.parentNode){if(n=t.nextSibling){n.nodeName==`BR`&&(s=c={node:n.parentNode,offset:domIndex(n)+1});break}let e=t.pmViewDesc;if(e&&e.node&&e.node.isBlock)break}}else{let n=e.childNodes[t-1];d=n&&(n.nodeName==`BR`||n.contentEditable==`false`)}}if(gecko&&u.focusNode&&u.focusNode!=c.node&&u.focusNode.nodeType==1){let e=u.focusNode.childNodes[u.focusOffset];e&&e.contentEditable==`false`&&(r=!0)}if(!(r||d&&safari)&&isEquivalentPosition(s.node,s.offset,u.anchorNode,u.anchorOffset)&&isEquivalentPosition(c.node,c.offset,u.focusNode,u.focusOffset))return;let f=!1;if((l.extend||e==t)&&!d){l.collapse(s.node,s.offset);try{e!=t&&l.extend(c.node,c.offset),f=!0}catch{}}if(!f){if(e>t){let e=s;s=c,c=e}let n=document.createRange();n.setEnd(c.node,c.offset),n.setStart(s.node,s.offset),l.removeAllRanges(),l.addRange(n)}}ignoreMutation(e){return!this.contentDOM&&e.type!=`selection`}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,t){for(let n=0,r=0;r<this.children.length;r++){let a=this.children[r],o=n+a.size;if(n==o?e<=o&&t>=n:e<o&&t>n){let r=n+a.border,s=o-a.border;if(e>=r&&t<=s){this.dirty=e==n||t==o?CONTENT_DIRTY:CHILD_DIRTY,e==r&&t==s&&(a.contentLost||a.dom.parentNode!=this.contentDOM)?a.dirty=NODE_DIRTY:a.markDirty(e-r,t-r);return}else a.dirty=a.dom==a.contentDOM&&a.dom.parentNode==this.contentDOM&&!a.children.length?CONTENT_DIRTY:NODE_DIRTY}n=o}this.dirty=CONTENT_DIRTY}markParentsDirty(){let e=1;for(let t=this.parent;t;t=t.parent,e++){let n=e==1?CONTENT_DIRTY:CHILD_DIRTY;t.dirty<n&&(t.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}get ignoreForSelection(){return!1}isText(e){return!1}},WidgetViewDesc=class extends ViewDesc{constructor(e,t,n,r){let a,o=t.type.toDOM;if(typeof o==`function`&&(o=o(n,()=>{if(!a)return r;if(a.parent)return a.parent.posBeforeChild(a)})),!t.type.spec.raw){if(o.nodeType!=1){let e=document.createElement(`span`);e.appendChild(o),o=e}o.contentEditable=`false`,o.classList.add(`ProseMirror-widget`)}super(e,[],o,null),this.widget=t,this.widget=t,a=this}matchesWidget(e){return this.dirty==NOT_DIRTY&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let t=this.widget.spec.stopEvent;return t?t(e):!1}ignoreMutation(e){return e.type!=`selection`||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},CompositionViewDesc=class extends ViewDesc{constructor(e,t,n,r){super(e,[],t,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(e,t){return e==this.textDOM?this.posAtStart+t:this.posAtStart+(t?this.size:0)}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type===`characterData`&&e.target.nodeValue==e.oldValue}},MarkViewDesc=class e extends ViewDesc{constructor(e,t,n,r,a){super(e,[],n,r),this.mark=t,this.spec=a}static create(t,n,r,a){let o=a.nodeViews[n.type.name],s=o&&o(n,a,r);return(!s||!s.dom)&&(s=DOMSerializer.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new e(t,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&NODE_DIRTY||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=NODE_DIRTY&&this.mark.eq(e)}markDirty(e,t){if(super.markDirty(e,t),this.dirty!=NOT_DIRTY){let e=this.parent;for(;!e.node;)e=e.parent;e.dirty<this.dirty&&(e.dirty=this.dirty),this.dirty=NOT_DIRTY}}slice(t,n,r){let a=e.create(this.parent,this.mark,!0,r),o=this.children,s=this.size;n<s&&(o=replaceNodes(o,n,s,r)),t>0&&(o=replaceNodes(o,0,t,r));for(let e=0;e<o.length;e++)o[e].parent=a;return a.children=o,a}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}},NodeViewDesc=class e extends ViewDesc{constructor(e,t,n,r,a,o,s,c,l){super(e,[],a,o),this.node=t,this.outerDeco=n,this.innerDeco=r,this.nodeDOM=s}static create(t,n,r,a,o,s){let c=o.nodeViews[n.type.name],l,u=c&&c(n,o,()=>{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},r,a),d=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!d)d=document.createTextNode(n.text);else if(d.nodeType!=3)throw RangeError(`Text must be rendered as a DOM text node`)}else if(!d){let e=DOMSerializer.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs);({dom:d,contentDOM:f}=e)}!f&&!n.isText&&d.nodeName!=`BR`&&(d.hasAttribute(`contenteditable`)||(d.contentEditable=`false`),n.type.spec.draggable&&(d.draggable=!0));let p=d;return d=applyOuterDeco(d,r,n),u?l=new CustomNodeViewDesc(t,n,r,a,d,f||null,p,u,o,s+1):n.isText?new TextViewDesc(t,n,r,a,d,p,o):new e(t,n,r,a,d,f||null,p,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace==`pre`&&(e.preserveWhitespace=`full`),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let t=this.children.length-1;t>=0;t--){let n=this.children[t];if(this.dom.contains(n.dom.parentNode)){e.contentElement=n.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Fragment.empty)}return e}matchesNode(e,t,n){return this.dirty==NOT_DIRTY&&e.eq(this.node)&&sameOuterDeco(t,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return+!this.node.isLeaf}updateChildren(e,t){let n=this.node.inlineContent,r=t,a=e.composing?this.localCompositionInfo(e,t):null,o=a&&a.pos>-1?a:null,s=a&&a.pos<0,c=new ViewTreeUpdater(this,o&&o.node,e);iterDeco(this.node,this.innerDeco,(t,a,o)=>{t.spec.marks?c.syncToMarks(t.spec.marks,n,e):t.type.side>=0&&!o&&c.syncToMarks(a==this.node.childCount?Mark$1.none:this.node.child(a).marks,n,e),c.placeWidget(t,e,r)},(t,o,l,u)=>{c.syncToMarks(t.marks,n,e);let d;c.findNodeMatch(t,o,l,u)||s&&e.state.selection.from>r&&e.state.selection.to<r+t.nodeSize&&(d=c.findIndexWithChild(a.node))>-1&&c.updateNodeAt(t,o,l,d,e)||c.updateNextNode(t,o,l,e,u,r)||c.addNode(t,o,l,e,r),r+=t.nodeSize}),c.syncToMarks([],n,e),this.node.isTextblock&&c.addTextblockHacks(),c.destroyRest(),(c.changed||this.dirty==CONTENT_DIRTY)&&(o&&this.protectLocalComposition(e,o),renderDescs(this.contentDOM,this.children,e),ios&&iosHacks(this.dom))}localCompositionInfo(e,t){let{from:n,to:r}=e.state.selection;if(!(e.state.selection instanceof TextSelection)||n<t||r>t+this.node.content.size)return null;let a=e.input.compositionNode;if(!a||!this.dom.contains(a.parentNode))return null;if(this.node.inlineContent){let e=a.nodeValue,o=findTextInFragment(this.node.content,e,n-t,r-t);return o<0?null:{node:a,pos:o,text:e}}else return{node:a,pos:-1,text:``}}protectLocalComposition(e,{node:t,pos:n,text:r}){if(this.getDesc(t))return;let a=t;for(;a.parentNode!=this.contentDOM;a=a.parentNode){for(;a.previousSibling;)a.parentNode.removeChild(a.previousSibling);for(;a.nextSibling;)a.parentNode.removeChild(a.nextSibling);a.pmViewDesc&&=void 0}let o=new CompositionViewDesc(this,a,t,r);e.input.compositionNodes.push(o),this.children=replaceNodes(this.children,n,n+r.length,e,o)}update(e,t,n,r){return this.dirty==NODE_DIRTY||!e.sameMarkup(this.node)?!1:(this.updateInner(e,t,n,r),!0)}updateInner(e,t,n,r){this.updateOuterDeco(t),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=NOT_DIRTY}updateOuterDeco(e){if(sameOuterDeco(e,this.outerDeco))return;let t=this.nodeDOM.nodeType!=1,n=this.dom;this.dom=patchOuterDeco(this.dom,this.nodeDOM,computeOuterDeco(this.outerDeco,this.node,t),computeOuterDeco(e,this.node,t)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute(`draggable`))}get domAtom(){return this.node.isAtom}};function docViewDesc(e,t,n,r,a){applyOuterDeco(r,t,e);let o=new NodeViewDesc(void 0,e,t,n,r,r,r,a,0);return o.contentDOM&&o.updateChildren(a,0),o}var TextViewDesc=class e extends NodeViewDesc{constructor(e,t,n,r,a,o,s){super(e,t,n,r,a,null,o,s,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,t,n,r){return this.dirty==NODE_DIRTY||this.dirty!=NOT_DIRTY&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(t),(this.dirty!=NOT_DIRTY||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=e,this.dirty=NOT_DIRTY,!0)}inParent(){let e=this.parent.contentDOM;for(let t=this.nodeDOM;t;t=t.parentNode)if(t==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,t,n){return e==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):super.localPosFromDOM(e,t,n)}ignoreMutation(e){return e.type!=`characterData`&&e.type!=`selection`}slice(t,n,r){let a=this.node.cut(t,n),o=document.createTextNode(a.text);return new e(this.parent,a,this.outerDeco,this.innerDeco,o,o,r)}markDirty(e,t){super.markDirty(e,t),this.dom!=this.nodeDOM&&(e==0||t==this.nodeDOM.nodeValue.length)&&(this.dirty=NODE_DIRTY)}get domAtom(){return!1}isText(e){return this.node.text==e}},TrailingHackViewDesc=class extends ViewDesc{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==NOT_DIRTY&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName==`IMG`}},CustomNodeViewDesc=class extends NodeViewDesc{constructor(e,t,n,r,a,o,s,c,l,u){super(e,t,n,r,a,o,s,l,u),this.spec=c}update(e,t,n,r){if(this.dirty==NODE_DIRTY)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let a=this.spec.update(e,t,n);return a&&this.updateInner(e,t,n,r),a}else if(!this.contentDOM&&!e.isLeaf)return!1;else return super.update(e,t,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,t,n,r){this.spec.setSelection?this.spec.setSelection(e,t,n.root):super.setSelection(e,t,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}};function renderDescs(e,t,n){let r=e.firstChild,a=!1;for(let o=0;o<t.length;o++){let s=t[o],c=s.dom;if(c.parentNode==e){for(;c!=r;)r=rm(r),a=!0;r=r.nextSibling}else a=!0,e.insertBefore(c,r);if(s instanceof MarkViewDesc){let t=r?r.previousSibling:e.lastChild;renderDescs(s.contentDOM,s.children,n),r=t?t.nextSibling:e.firstChild}}for(;r;)r=rm(r),a=!0;a&&n.trackWrites==e&&(n.trackWrites=null)}var OuterDecoLevel=function(e){e&&(this.nodeName=e)};OuterDecoLevel.prototype=Object.create(null);var noDeco=[new OuterDecoLevel];function computeOuterDeco(e,t,n){if(e.length==0)return noDeco;let r=n?noDeco[0]:new OuterDecoLevel,a=[r];for(let o=0;o<e.length;o++){let s=e[o].type.attrs;if(s){s.nodeName&&a.push(r=new OuterDecoLevel(s.nodeName));for(let e in s){let o=s[e];o!=null&&(n&&a.length==1&&a.push(r=new OuterDecoLevel(t.isInline?`span`:`div`)),e==`class`?r.class=(r.class?r.class+` `:``)+o:e==`style`?r.style=(r.style?r.style+`;`:``)+o:e!=`nodeName`&&(r[e]=o))}}}return a}function patchOuterDeco(e,t,n,r){if(n==noDeco&&r==noDeco)return t;let a=t;for(let t=0;t<r.length;t++){let o=r[t],s=n[t];if(t){let t;s&&s.nodeName==o.nodeName&&a!=e&&(t=a.parentNode)&&t.nodeName.toLowerCase()==o.nodeName?a=t:(t=document.createElement(o.nodeName),t.pmIsDeco=!0,t.appendChild(a),s=noDeco[0],a=t)}patchAttributes(a,s||noDeco[0],o)}return a}function patchAttributes(e,t,n){for(let r in t)r!=`class`&&r!=`style`&&r!=`nodeName`&&!(r in n)&&e.removeAttribute(r);for(let r in n)r!=`class`&&r!=`style`&&r!=`nodeName`&&n[r]!=t[r]&&e.setAttribute(r,n[r]);if(t.class!=n.class){let r=t.class?t.class.split(` `).filter(Boolean):[],a=n.class?n.class.split(` `).filter(Boolean):[];for(let t=0;t<r.length;t++)a.indexOf(r[t])==-1&&e.classList.remove(r[t]);for(let t=0;t<a.length;t++)r.indexOf(a[t])==-1&&e.classList.add(a[t]);e.classList.length==0&&e.removeAttribute(`class`)}if(t.style!=n.style){if(t.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;for(;r=n.exec(t.style);)e.style.removeProperty(r[1])}n.style&&(e.style.cssText+=n.style)}}function applyOuterDeco(e,t,n){return patchOuterDeco(e,e,noDeco,computeOuterDeco(t,n,e.nodeType!=1))}function sameOuterDeco(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].type.eq(t[n].type))return!1;return!0}function rm(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}var ViewTreeUpdater=class{constructor(e,t,n){this.lock=t,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=preMatch(e.node.content,e)}destroyBetween(e,t){if(e!=t){for(let n=e;n<t;n++)this.top.children[n].destroy();this.top.children.splice(e,t-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,t,n){let r=0,a=this.stack.length>>1,o=Math.min(a,e.length);for(;r<o&&(r==a-1?this.top:this.stack[r+1<<1]).matchesMark(e[r])&&e[r].type.spec.spanning!==!1;)r++;for(;r<a;)this.destroyRest(),this.top.dirty=NOT_DIRTY,this.index=this.stack.pop(),this.top=this.stack.pop(),a--;for(;a<e.length;){this.stack.push(this.top,this.index+1);let r=-1;for(let t=this.index;t<Math.min(this.index+3,this.top.children.length);t++){let n=this.top.children[t];if(n.matchesMark(e[a])&&!this.isLocked(n.dom)){r=t;break}}if(r>-1)r>this.index&&(this.changed=!0,this.destroyBetween(this.index,r)),this.top=this.top.children[this.index];else{let r=MarkViewDesc.create(this.top,e[a],t,n);this.top.children.splice(this.index,0,r),this.top=r,this.changed=!0}this.index=0,a++}}findNodeMatch(e,t,n,r){let a=-1,o;if(r>=this.preMatch.index&&(o=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&o.matchesNode(e,t,n))a=this.top.children.indexOf(o,this.index);else for(let r=this.index,o=Math.min(this.top.children.length,r+5);r<o;r++){let o=this.top.children[r];if(o.matchesNode(e,t,n)&&!this.preMatch.matched.has(o)){a=r;break}}return a<0?!1:(this.destroyBetween(this.index,a),this.index++,!0)}updateNodeAt(e,t,n,r,a){let o=this.top.children[r];return o.dirty==NODE_DIRTY&&o.dom==o.contentDOM&&(o.dirty=CONTENT_DIRTY),o.update(e,t,n,a)?(this.destroyBetween(this.index,r),this.index++,!0):!1}findIndexWithChild(e){for(;;){let t=e.parentNode;if(!t)return-1;if(t==this.top.contentDOM){let t=e.pmViewDesc;if(t){for(let e=this.index;e<this.top.children.length;e++)if(this.top.children[e]==t)return e}return-1}e=t}}updateNextNode(e,t,n,r,a,o){for(let s=this.index;s<this.top.children.length;s++){let c=this.top.children[s];if(c instanceof NodeViewDesc){let l=this.preMatch.matched.get(c);if(l!=null&&l!=a)return!1;let u=c.dom,d,f=this.isLocked(u)&&!(e.isText&&c.node&&c.node.isText&&c.nodeDOM.nodeValue==e.text&&c.dirty!=NODE_DIRTY&&sameOuterDeco(t,c.outerDeco));if(!f&&c.update(e,t,n,r))return this.destroyBetween(this.index,s),c.dom!=u&&(this.changed=!0),this.index++,!0;if(!f&&(d=this.recreateWrapper(c,e,t,n,r,o)))return this.destroyBetween(this.index,s),this.top.children[this.index]=d,d.contentDOM&&(d.dirty=CONTENT_DIRTY,d.updateChildren(r,o+1),d.dirty=NOT_DIRTY),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,t,n,r,a,o){if(e.dirty||t.isAtom||!e.children.length||!e.node.content.eq(t.content)||!sameOuterDeco(n,e.outerDeco)||!r.eq(e.innerDeco))return null;let s=NodeViewDesc.create(this.top,t,n,r,a,o);if(s.contentDOM){s.children=e.children,e.children=[];for(let e of s.children)e.parent=s}return e.destroy(),s}addNode(e,t,n,r,a){let o=NodeViewDesc.create(this.top,e,t,n,r,a);o.contentDOM&&o.updateChildren(r,a+1),this.top.children.splice(this.index++,0,o),this.changed=!0}placeWidget(e,t,n){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(e)&&(e==r.widget||!r.widget.type.toDOM.parentNode))this.index++;else{let r=new WidgetViewDesc(this.top,e,t,n);this.top.children.splice(this.index++,0,r),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],t=this.top;for(;e instanceof MarkViewDesc;)t=e,e=t.children[t.children.length-1];(!e||!(e instanceof TextViewDesc)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((safari||chrome)&&e&&e.dom.contentEditable==`false`&&this.addHackNode(`IMG`,t),this.addHackNode(`BR`,this.top))}addHackNode(e,t){if(t==this.top&&this.index<t.children.length&&t.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e==`IMG`&&(n.className=`ProseMirror-separator`,n.alt=``),e==`BR`&&(n.className=`ProseMirror-trailingBreak`);let r=new TrailingHackViewDesc(this.top,[],n,null);t==this.top?t.children.splice(this.index++,0,r):t.children.push(r),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}};function preMatch(e,t){let n=t,r=n.children.length,a=e.childCount,o=new Map,s=[];outer:for(;a>0;){let c;for(;;)if(r){let e=n.children[r-1];if(e instanceof MarkViewDesc)n=e,r=e.children.length;else{c=e,r--;break}}else if(n==t)break outer;else r=n.parent.children.indexOf(n),n=n.parent;let l=c.node;if(l){if(l!=e.child(a-1))break;--a,o.set(c,a),s.push(c)}}return{index:a,matched:o,matches:s.reverse()}}function compareSide(e,t){return e.type.side-t.type.side}function iterDeco(e,t,n,r){let a=t.locals(e),o=0;if(a.length==0){for(let n=0;n<e.childCount;n++){let s=e.child(n);r(s,a,t.forChild(o,s),n),o+=s.nodeSize}return}let s=0,c=[],l=null;for(let u=0;;){let d,f;for(;s<a.length&&a[s].to==o;){let e=a[s++];e.widget&&(d?(f||=[d]).push(e):d=e)}if(d)if(f){f.sort(compareSide);for(let e=0;e<f.length;e++)n(f[e],u,!!l)}else n(d,u,!!l);let p,m;if(l)m=-1,p=l,l=null;else if(u<e.childCount)m=u,p=e.child(u++);else break;for(let e=0;e<c.length;e++)c[e].to<=o&&c.splice(e--,1);for(;s<a.length&&a[s].from<=o&&a[s].to>o;)c.push(a[s++]);let h=o+p.nodeSize;if(p.isText){let e=h;s<a.length&&a[s].from<e&&(e=a[s].from);for(let t=0;t<c.length;t++)c[t].to<e&&(e=c[t].to);e<h&&(l=p.cut(e-o),p=p.cut(0,e-o),h=e,m=-1)}else for(;s<a.length&&a[s].to<h;)s++;let g=p.isInline&&!p.isLeaf?c.filter(e=>!e.inline):c.slice();r(p,g,t.forChild(o,p),m),o=h}}function iosHacks(e){if(e.nodeName==`UL`||e.nodeName==`OL`){let t=e.style.cssText;e.style.cssText=t+`; list-style: square !important`,window.getComputedStyle(e).listStyle,e.style.cssText=t}}function findTextInFragment(e,t,n,r){for(let a=0,o=0;a<e.childCount&&o<=r;){let s=e.child(a++),c=o;if(o+=s.nodeSize,!s.isText)continue;let l=s.text;for(;a<e.childCount;){let t=e.child(a++);if(o+=t.nodeSize,!t.isText)break;l+=t.text}if(o>=n){if(o>=r&&l.slice(r-t.length-c,r-c)==t)return r-t.length;let e=c<r?l.lastIndexOf(t,r-c-1):-1;if(e>=0&&e+t.length+c>=n)return c+e;if(n==r&&l.length>=r+t.length-c&&l.slice(r-c,r-c+t.length)==t)return r}}return-1}function replaceNodes(e,t,n,r,a){let o=[];for(let s=0,c=0;s<e.length;s++){let l=e[s],u=c,d=c+=l.size;u>=n||d<=t?o.push(l):(u<t&&o.push(l.slice(0,t-u,r)),a&&=(o.push(a),void 0),d>n&&o.push(l.slice(n-u,l.size,r)))}return o}function selectionFromDOM(e,t=null){let n=e.domSelectionRange(),r=e.state.doc;if(!n.focusNode)return null;let a=e.docView.nearestDesc(n.focusNode),o=a&&a.size==0,s=e.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let c=r.resolve(s),l,u;if(selectionCollapsed(n)){for(l=s;a&&!a.node;)a=a.parent;let e=a.node;if(a&&e.isAtom&&NodeSelection.isSelectable(e)&&a.parent&&!(e.isInline&&isOnEdge(n.focusNode,n.focusOffset,a.dom))){let e=a.posBefore;u=new NodeSelection(s==e?c:r.resolve(e))}}else{if(n instanceof e.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let t=s,a=s;for(let r=0;r<n.rangeCount;r++){let o=n.getRangeAt(r);t=Math.min(t,e.docView.posFromDOM(o.startContainer,o.startOffset,1)),a=Math.max(a,e.docView.posFromDOM(o.endContainer,o.endOffset,-1))}if(t<0)return null;[l,s]=a==e.state.selection.anchor?[a,t]:[t,a],c=r.resolve(s)}else l=e.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(l<0)return null}let d=r.resolve(l);if(!u){let n=t==`pointer`||e.state.selection.head<c.pos&&!o?1:-1;u=selectionBetween(e,d,c,n)}return u}function editorOwnsSelection(e){return e.editable?e.hasFocus():hasSelection(e)&&document.activeElement&&document.activeElement.contains(e.dom)}function selectionToDOM(e,t=!1){let n=e.state.selection;if(syncNodeSelection(e,n),editorOwnsSelection(e)){if(!t&&e.input.mouseDown&&e.input.mouseDown.allowDefault&&chrome){let t=e.domSelectionRange(),n=e.domObserver.currentSelection;if(t.anchorNode&&n.anchorNode&&isEquivalentPosition(t.anchorNode,t.anchorOffset,n.anchorNode,n.anchorOffset)){e.input.mouseDown.delayedSelectionSync=!0,e.domObserver.setCurSelection();return}}if(e.domObserver.disconnectSelection(),e.cursorWrapper)selectCursorWrapper(e);else{let{anchor:r,head:a}=n,o,s;brokenSelectBetweenUneditable&&!(n instanceof TextSelection)&&(n.$from.parent.inlineContent||(o=temporarilyEditableNear(e,n.from)),!n.empty&&!n.$from.parent.inlineContent&&(s=temporarilyEditableNear(e,n.to))),e.docView.setSelection(r,a,e,t),brokenSelectBetweenUneditable&&(o&&resetEditable(o),s&&resetEditable(s)),n.visible?e.dom.classList.remove(`ProseMirror-hideselection`):(e.dom.classList.add(`ProseMirror-hideselection`),`onselectionchange`in document&&removeClassOnSelectionChange(e))}e.domObserver.setCurSelection(),e.domObserver.connectSelection()}}var brokenSelectBetweenUneditable=safari||chrome&&chrome_version<63;function temporarilyEditableNear(e,t){let{node:n,offset:r}=e.docView.domFromPos(t,0),a=r<n.childNodes.length?n.childNodes[r]:null,o=r?n.childNodes[r-1]:null;if(safari&&a&&a.contentEditable==`false`)return setEditable(a);if((!a||a.contentEditable==`false`)&&(!o||o.contentEditable==`false`)){if(a)return setEditable(a);if(o)return setEditable(o)}}function setEditable(e){return e.contentEditable=`true`,safari&&e.draggable&&(e.draggable=!1,e.wasDraggable=!0),e}function resetEditable(e){e.contentEditable=`false`,e.wasDraggable&&=(e.draggable=!0,null)}function removeClassOnSelectionChange(e){let t=e.dom.ownerDocument;t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard);let n=e.domSelectionRange(),r=n.anchorNode,a=n.anchorOffset;t.addEventListener(`selectionchange`,e.input.hideSelectionGuard=()=>{(n.anchorNode!=r||n.anchorOffset!=a)&&(t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard),setTimeout(()=>{(!editorOwnsSelection(e)||e.state.selection.visible)&&e.dom.classList.remove(`ProseMirror-hideselection`)},20))})}function selectCursorWrapper(e){let t=e.domSelection(),n=document.createRange();if(!t)return;let r=e.cursorWrapper.dom,a=r.nodeName==`IMG`;a?n.setStart(r.parentNode,domIndex(r)+1):n.setStart(r,0),n.collapse(!0),t.removeAllRanges(),t.addRange(n),!a&&!e.state.selection.visible&&ie$1&&ie_version<=11&&(r.disabled=!0,r.disabled=!1)}function syncNodeSelection(e,t){if(t instanceof NodeSelection){let n=e.docView.descAt(t.from);n!=e.lastSelectedViewDesc&&(clearNodeSelection(e),n&&n.selectNode(),e.lastSelectedViewDesc=n)}else clearNodeSelection(e)}function clearNodeSelection(e){e.lastSelectedViewDesc&&=(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),void 0)}function selectionBetween(e,t,n,r){return e.someProp(`createSelectionBetween`,r=>r(e,t,n))||TextSelection.between(t,n,r)}function hasFocusAndSelection(e){return e.editable&&!e.hasFocus()?!1:hasSelection(e)}function hasSelection(e){let t=e.domSelectionRange();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function anchorInRightPlace(e){let t=e.docView.domFromPos(e.state.selection.anchor,0),n=e.domSelectionRange();return isEquivalentPosition(t.node,t.offset,n.anchorNode,n.anchorOffset)}function moveSelectionBlock(e,t){let{$anchor:n,$head:r}=e.selection,a=t>0?n.max(r):n.min(r),o=a.parent.inlineContent?a.depth?e.doc.resolve(t>0?a.after():a.before()):null:a;return o&&Selection.findFrom(o,t)}function apply(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function selectHorizontally(e,t,n){let r=e.state.selection;if(r instanceof TextSelection){if(n.indexOf(`s`)>-1){let{$head:n}=r,a=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter;if(!a||a.isText||!a.isLeaf)return!1;let o=e.state.doc.resolve(n.pos+a.nodeSize*(t<0?-1:1));return apply(e,new TextSelection(r.$anchor,o))}else if(!r.empty)return!1;else if(e.endOfTextblock(t>0?`forward`:`backward`)){let n=moveSelectionBlock(e.state,t);return n&&n instanceof NodeSelection?apply(e,n):!1}else if(!(mac$2&&n.indexOf(`m`)>-1)){let n=r.$head,a=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter,o;if(!a||a.isText)return!1;let s=t<0?n.pos-a.nodeSize:n.pos;return a.isAtom||(o=e.docView.descAt(s))&&!o.contentDOM?NodeSelection.isSelectable(a)?apply(e,new NodeSelection(t<0?e.state.doc.resolve(n.pos-a.nodeSize):n)):webkit?apply(e,new TextSelection(e.state.doc.resolve(t<0?s:s+a.nodeSize))):!1:!1}}else if(r instanceof NodeSelection&&r.node.isInline)return apply(e,new TextSelection(t>0?r.$to:r.$from));else{let n=moveSelectionBlock(e.state,t);return n?apply(e,n):!1}}function nodeLen(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function isIgnorable(e,t){let n=e.pmViewDesc;return n&&n.size==0&&(t<0||e.nextSibling||e.nodeName!=`BR`)}function skipIgnoredNodes(e,t){return t<0?skipIgnoredNodesBefore(e):skipIgnoredNodesAfter(e)}function skipIgnoredNodesBefore(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let a,o,s=!1;for(gecko&&n.nodeType==1&&r<nodeLen(n)&&isIgnorable(n.childNodes[r],-1)&&(s=!0);;)if(r>0){if(n.nodeType!=1)break;{let e=n.childNodes[r-1];if(isIgnorable(e,-1))a=n,o=--r;else if(e.nodeType==3)n=e,r=n.nodeValue.length;else break}}else if(isBlockNode(n))break;else{let t=n.previousSibling;for(;t&&isIgnorable(t,-1);)a=n.parentNode,o=domIndex(t),t=t.previousSibling;if(t)n=t,r=nodeLen(n);else{if(n=n.parentNode,n==e.dom)break;r=0}}s?setSelFocus(e,n,r):a&&setSelFocus(e,a,o)}function skipIgnoredNodesAfter(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let a=nodeLen(n),o,s;for(;;)if(r<a){if(n.nodeType!=1)break;let e=n.childNodes[r];if(isIgnorable(e,1))o=n,s=++r;else break}else if(isBlockNode(n))break;else{let t=n.nextSibling;for(;t&&isIgnorable(t,1);)o=t.parentNode,s=domIndex(t)+1,t=t.nextSibling;if(t)n=t,r=0,a=nodeLen(n);else{if(n=n.parentNode,n==e.dom)break;r=a=0}}o&&setSelFocus(e,o,s)}function isBlockNode(e){let t=e.pmViewDesc;return t&&t.node&&t.node.isBlock}function textNodeAfter(e,t){for(;e&&t==e.childNodes.length&&!hasBlockDesc(e);)t=domIndex(e)+1,e=e.parentNode;for(;e&&t<e.childNodes.length;){let n=e.childNodes[t];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=0}}function textNodeBefore(e,t){for(;e&&!t&&!hasBlockDesc(e);)t=domIndex(e),e=e.parentNode;for(;e&&t;){let n=e.childNodes[t-1];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=e.childNodes.length}}function setSelFocus(e,t,n){if(t.nodeType!=3){let e,r;(r=textNodeAfter(t,n))?(t=r,n=0):(e=textNodeBefore(t,n))&&(t=e,n=e.nodeValue.length)}let r=e.domSelection();if(!r)return;if(selectionCollapsed(r)){let e=document.createRange();e.setEnd(t,n),e.setStart(t,n),r.removeAllRanges(),r.addRange(e)}else r.extend&&r.extend(t,n);e.domObserver.setCurSelection();let{state:a}=e;setTimeout(()=>{e.state==a&&selectionToDOM(e)},50)}function findDirection(e,t){let n=e.state.doc.resolve(t);if(!(chrome||windows$1)&&n.parent.inlineContent){let r=e.coordsAtPos(t);if(t>n.start()){let n=e.coordsAtPos(t-1),a=(n.top+n.bottom)/2;if(a>r.top&&a<r.bottom&&Math.abs(n.left-r.left)>1)return n.left<r.left?`ltr`:`rtl`}if(t<n.end()){let n=e.coordsAtPos(t+1),a=(n.top+n.bottom)/2;if(a>r.top&&a<r.bottom&&Math.abs(n.left-r.left)>1)return n.left>r.left?`ltr`:`rtl`}}return getComputedStyle(e.dom).direction==`rtl`?`rtl`:`ltr`}function selectVertically(e,t,n){let r=e.state.selection;if(r instanceof TextSelection&&!r.empty||n.indexOf(`s`)>-1||mac$2&&n.indexOf(`m`)>-1)return!1;let{$from:a,$to:o}=r;if(!a.parent.inlineContent||e.endOfTextblock(t<0?`up`:`down`)){let n=moveSelectionBlock(e.state,t);if(n&&n instanceof NodeSelection)return apply(e,n)}if(!a.parent.inlineContent){let n=t<0?a:o,s=r instanceof AllSelection?Selection.near(n,t):Selection.findFrom(n,t);return s?apply(e,s):!1}return!1}function stopNativeHorizontalDelete(e,t){if(!(e.state.selection instanceof TextSelection))return!0;let{$head:n,$anchor:r,empty:a}=e.state.selection;if(!n.sameParent(r))return!0;if(!a)return!1;if(e.endOfTextblock(t>0?`forward`:`backward`))return!0;let o=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(o&&!o.isText){let r=e.state.tr;return t<0?r.delete(n.pos-o.nodeSize,n.pos):r.delete(n.pos,n.pos+o.nodeSize),e.dispatch(r),!0}return!1}function switchEditable(e,t,n){e.domObserver.stop(),t.contentEditable=n,e.domObserver.start()}function safariDownArrowBug(e){if(!safari||e.state.selection.$head.parentOffset>0)return!1;let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(t&&t.nodeType==1&&n==0&&t.firstChild&&t.firstChild.contentEditable==`false`){let n=t.firstChild;switchEditable(e,n,`true`),setTimeout(()=>switchEditable(e,n,`false`),20)}return!1}function getMods(e){let t=``;return e.ctrlKey&&(t+=`c`),e.metaKey&&(t+=`m`),e.altKey&&(t+=`a`),e.shiftKey&&(t+=`s`),t}function captureKeyDown(e,t){let n=t.keyCode,r=getMods(t);if(n==8||mac$2&&n==72&&r==`c`)return stopNativeHorizontalDelete(e,-1)||skipIgnoredNodes(e,-1);if(n==46&&!t.shiftKey||mac$2&&n==68&&r==`c`)return stopNativeHorizontalDelete(e,1)||skipIgnoredNodes(e,1);if(n==13||n==27)return!0;if(n==37||mac$2&&n==66&&r==`c`){let t=n==37?findDirection(e,e.state.selection.from)==`ltr`?-1:1:-1;return selectHorizontally(e,t,r)||skipIgnoredNodes(e,t)}else if(n==39||mac$2&&n==70&&r==`c`){let t=n==39?findDirection(e,e.state.selection.from)==`ltr`?1:-1:1;return selectHorizontally(e,t,r)||skipIgnoredNodes(e,t)}else if(n==38||mac$2&&n==80&&r==`c`)return selectVertically(e,-1,r)||skipIgnoredNodes(e,-1);else if(n==40||mac$2&&n==78&&r==`c`)return safariDownArrowBug(e)||selectVertically(e,1,r)||skipIgnoredNodes(e,1);else if(r==(mac$2?`m`:`c`)&&(n==66||n==73||n==89||n==90))return!0;return!1}function serializeForClipboard(e,t){e.someProp(`transformCopied`,n=>{t=n(t,e)});let n=[],{content:r,openStart:a,openEnd:o}=t;for(;a>1&&o>1&&r.childCount==1&&r.firstChild.childCount==1;){a--,o--;let e=r.firstChild;n.push(e.type.name,e.attrs==e.type.defaultAttrs?null:e.attrs),r=e.content}let s=e.someProp(`clipboardSerializer`)||DOMSerializer.fromSchema(e.state.schema),c=detachedDoc(),l=c.createElement(`div`);l.appendChild(s.serializeFragment(r,{document:c}));let u=l.firstChild,d,f=0;for(;u&&u.nodeType==1&&(d=wrapMap[u.nodeName.toLowerCase()]);){for(let e=d.length-1;e>=0;e--){let t=c.createElement(d[e]);for(;l.firstChild;)t.appendChild(l.firstChild);l.appendChild(t),f++}u=l.firstChild}return u&&u.nodeType==1&&u.setAttribute(`data-pm-slice`,`${a} ${o}${f?` -${f}`:``} ${JSON.stringify(n)}`),{dom:l,text:e.someProp(`clipboardTextSerializer`,n=>n(t,e))||t.content.textBetween(0,t.content.size,`
7
7
 
8
8
  `),slice:t}}function parseFromClipboard(e,t,n,r,a){let o=a.parent.type.spec.code,s,c;if(!n&&!t)return null;let l=t&&(r||o||!n);if(l){if(e.someProp(`transformPastedText`,n=>{t=n(t,o||r,e)}),o)return t?new Slice(Fragment.from(e.state.schema.text(t.replace(/\r\n?/g,`
9
- `))),0,0):Slice.empty;let n=e.someProp(`clipboardTextParser`,n=>n(t,a,r,e));if(n)c=n;else{let n=a.marks(),{schema:r}=e.state,o=DOMSerializer.fromSchema(r);s=document.createElement(`div`),t.split(/(?:\r\n?|\n)+/).forEach(e=>{let t=s.appendChild(document.createElement(`p`));e&&t.appendChild(o.serializeNode(r.text(e,n)))})}}else e.someProp(`transformPastedHTML`,t=>{n=t(n,e)}),s=readHTML(n),webkit&&restoreReplacedSpaces(s);let u=s&&s.querySelector(`[data-pm-slice]`),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute(`data-pm-slice`)||``);if(d&&d[3])for(let e=+d[3];e>0;e--){let e=s.firstChild;for(;e&&e.nodeType!=1;)e=e.nextSibling;if(!e)break;s=e}if(c||=(e.someProp(`clipboardParser`)||e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||d),context:a,ruleFromNode(e){return e.nodeName==`BR`&&!e.nextSibling&&e.parentNode&&!inlineParents.test(e.parentNode.nodeName)?{ignore:!0}:null}}),d)c=addContext(closeSlice$1(c,+d[1],+d[2]),d[4]);else if(c=Slice.maxOpen(normalizeSiblings$1(c.content,a),!0),c.openStart||c.openEnd){let e=0,t=0;for(let t=c.content.firstChild;e<c.openStart&&!t.type.spec.isolating;e++,t=t.firstChild);for(let e=c.content.lastChild;t<c.openEnd&&!e.type.spec.isolating;t++,e=e.lastChild);c=closeSlice$1(c,e,t)}return e.someProp(`transformPasted`,t=>{c=t(c,e)}),c}var inlineParents=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function normalizeSiblings$1(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling$1(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight$1(o[o.length-1],a.length));let n=withWrappers$1(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers$1(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling$1(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling$1(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers$1(n,e,a+1))))}}function closeRight$1(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight$1(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange$1(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange$1(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice$1(e,t,n){return t<e.openStart&&(e=new Slice(closeRange$1(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange$1(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}var wrapMap={thead:[`table`],tbody:[`table`],tfoot:[`table`],caption:[`table`],colgroup:[`table`],col:[`table`,`colgroup`],tr:[`table`,`tbody`],td:[`table`,`tbody`,`tr`],th:[`table`,`tbody`,`tr`]},_detachedDoc=null;function detachedDoc(){return _detachedDoc||=document.implementation.createHTMLDocument(`title`)}var _policy=null;function maybeWrapTrusted(e){let t=window.trustedTypes;return t?(_policy||=t.defaultPolicy||t.createPolicy(`ProseMirrorClipboard`,{createHTML:e=>e}),_policy.createHTML(e)):e}function readHTML(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=detachedDoc().createElement(`div`),r=/<([a-z][^>\s]+)/i.exec(e),a;if((a=r&&wrapMap[r[1].toLowerCase()])&&(e=a.map(e=>`<`+e+`>`).join(``)+e+a.map(e=>`</`+e+`>`).reverse().join(``)),n.innerHTML=maybeWrapTrusted(e),a)for(let e=0;e<a.length;e++)n=n.querySelector(a[e])||n;return n}function restoreReplacedSpaces(e){let t=e.querySelectorAll(chrome?`span:not([class]):not([style])`:`span.Apple-converted-space`);for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==`\xA0`&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(` `),r)}}function addContext(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:a,openStart:o,openEnd:s}=e;for(let e=r.length-2;e>=0;e-=2){let t=n.nodes[r[e]];if(!t||t.hasRequiredAttrs())break;a=Fragment.from(t.create(r[e+1],a)),o++,s++}return new Slice(a,o,s)}var handlers={},editHandlers={},passiveHandlers={touchstart:!0,touchmove:!0},InputState=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:``,button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function initInput(e){for(let t in handlers){let n=handlers[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=t=>{eventBelongsToView(e,t)&&!runCustomHandler(e,t)&&(e.editable||!(t.type in editHandlers))&&n(e,t)},passiveHandlers[t]?{passive:!0}:void 0)}safari&&e.dom.addEventListener(`input`,()=>null),ensureListeners(e)}function setSelectionOrigin(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function destroyInput(e){e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function ensureListeners(e){e.someProp(`handleDOMEvents`,t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=t=>runCustomHandler(e,t))})}function runCustomHandler(e,t){return e.someProp(`handleDOMEvents`,n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function eventBelongsToView(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function dispatchEvent(e,t){!runCustomHandler(e,t)&&handlers[t.type]&&(e.editable||!(t.type in editHandlers))&&handlers[t.type](e,t)}editHandlers.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!inOrNearComposition(e,n)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(android&&chrome&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),ios&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let t=Date.now();e.input.lastIOSEnter=t,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==t&&(e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))),e.input.lastIOSEnter=0)},200)}else e.someProp(`handleKeyDown`,t=>t(e,n))||captureKeyDown(e,n)?n.preventDefault():setSelectionOrigin(e,`key`)},editHandlers.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)},editHandlers.keypress=(e,t)=>{let n=t;if(inOrNearComposition(e,n)||!n.charCode||n.ctrlKey&&!n.altKey||mac$2&&n.metaKey)return;if(e.someProp(`handleKeyPress`,t=>t(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof TextSelection)||!r.$from.sameParent(r.$to)){let t=String.fromCharCode(n.charCode),a=()=>e.state.tr.insertText(t).scrollIntoView();!/[\r\n]/.test(t)&&!e.someProp(`handleTextInput`,n=>n(e,r.$from.pos,r.$to.pos,t,a))&&e.dispatch(a()),n.preventDefault()}};function eventCoords(e){return{left:e.clientX,top:e.clientY}}function isNear(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function runHandlerOnContext(e,t,n,r,a){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let r=o.depth+1;r>0;r--)if(e.someProp(t,t=>r>o.depth?t(e,n,o.nodeAfter,o.before(r),a,!0):t(e,n,o.node(r),o.before(r),a,!1)))return!0;return!1}function updateSelection(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n==`pointer`&&r.setMeta(`pointer`,!0),e.dispatch(r)}function selectClickedLeaf(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&NodeSelection.isSelectable(r)?(updateSelection(e,new NodeSelection(n),`pointer`),!0):!1}function selectClickedNode(e,t){if(t==-1)return!1;let n=e.state.selection,r,a;n instanceof NodeSelection&&(r=n.node);let o=e.state.doc.resolve(t);for(let e=o.depth+1;e>0;e--){let t=e>o.depth?o.nodeAfter:o.node(e);if(NodeSelection.isSelectable(t)){a=r&&n.$from.depth>0&&e>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?o.before(n.$from.depth):o.before(e);break}}return a==null?!1:(updateSelection(e,NodeSelection.create(e.state.doc,a),`pointer`),!0)}function handleSingleClick(e,t,n,r,a){return runHandlerOnContext(e,`handleClickOn`,t,n,r)||e.someProp(`handleClick`,n=>n(e,t,r))||(a?selectClickedNode(e,n):selectClickedLeaf(e,n))}function handleDoubleClick(e,t,n,r){return runHandlerOnContext(e,`handleDoubleClickOn`,t,n,r)||e.someProp(`handleDoubleClick`,n=>n(e,t,r))}function handleTripleClick$1(e,t,n,r){return runHandlerOnContext(e,`handleTripleClickOn`,t,n,r)||e.someProp(`handleTripleClick`,n=>n(e,t,r))||defaultTripleClick(e,n,r)}function defaultTripleClick(e,t,n){if(n.button!=0)return!1;let r=e.state.doc;if(t==-1)return r.inlineContent?(updateSelection(e,TextSelection.create(r,0,r.content.size),`pointer`),!0):!1;let a=r.resolve(t);for(let t=a.depth+1;t>0;t--){let n=t>a.depth?a.nodeAfter:a.node(t),o=a.before(t);if(n.inlineContent)updateSelection(e,TextSelection.create(r,o+1,o+1+n.content.size),`pointer`);else if(NodeSelection.isSelectable(n))updateSelection(e,NodeSelection.create(r,o),`pointer`);else continue;return!0}}function forceDOMFlush(e){return endComposition(e)}var selectNodeModifier=mac$2?`metaKey`:`ctrlKey`;handlers.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=forceDOMFlush(e),a=Date.now(),o=`singleClick`;a-e.input.lastClick.time<500&&isNear(n,e.input.lastClick)&&!n[selectNodeModifier]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type==`singleClick`?o=`doubleClick`:e.input.lastClick.type==`doubleClick`&&(o=`tripleClick`)),e.input.lastClick={time:a,x:n.clientX,y:n.clientY,type:o,button:n.button};let s=e.posAtCoords(eventCoords(n));s&&(o==`singleClick`?(e.input.mouseDown&&e.input.mouseDown.done(),e.input.mouseDown=new MouseDown(e,s,n,!!r)):(o==`doubleClick`?handleDoubleClick:handleTripleClick$1)(e,s.pos,s.inside,n)?n.preventDefault():setSelectionOrigin(e,`pointer`))};var MouseDown=class{constructor(e,t,n,r){this.view=e,this.pos=t,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[selectNodeModifier],this.allowDefault=n.shiftKey;let a,o;if(t.inside>-1)a=e.state.doc.nodeAt(t.inside),o=t.inside;else{let n=e.state.doc.resolve(t.pos);a=n.parent,o=n.depth?n.before():0}let s=r?null:n.target,c=s?e.docView.nearestDesc(s,!0):null;this.target=c&&c.dom.nodeType==1?c.dom:null;let{selection:l}=e.state;(n.button==0&&a.type.spec.draggable&&a.type.spec.selectable!==!1||l instanceof NodeSelection&&l.from<=o&&l.to>o)&&(this.mightDrag={node:a,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&gecko&&!this.target.hasAttribute(`contentEditable`))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute(`contentEditable`,`false`)},20),this.view.domObserver.start()),e.root.addEventListener(`mouseup`,this.up=this.up.bind(this)),e.root.addEventListener(`mousemove`,this.move=this.move.bind(this)),setSelectionOrigin(e,`pointer`)}done(){this.view.root.removeEventListener(`mouseup`,this.up),this.view.root.removeEventListener(`mousemove`,this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(`draggable`),this.mightDrag.setUneditable&&this.target.removeAttribute(`contentEditable`),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>selectionToDOM(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(eventCoords(e))),this.updateAllowDefault(e),this.allowDefault||!t?setSelectionOrigin(this.view,`pointer`):handleSingleClick(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||safari&&this.mightDrag&&!this.mightDrag.node.isAtom||chrome&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(updateSelection(this.view,Selection.near(this.view.state.doc.resolve(t.pos)),`pointer`),e.preventDefault()):setSelectionOrigin(this.view,`pointer`)}move(e){this.updateAllowDefault(e),setSelectionOrigin(this.view,`pointer`),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};handlers.touchstart=e=>{e.input.lastTouch=Date.now(),forceDOMFlush(e),setSelectionOrigin(e,`pointer`)},handlers.touchmove=e=>{e.input.lastTouch=Date.now(),setSelectionOrigin(e,`pointer`)},handlers.contextmenu=e=>forceDOMFlush(e);function inOrNearComposition(e,t){return e.composing?!0:safari&&Math.abs(t.timeStamp-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var timeoutComposition=android?5e3:-1;editHandlers.compositionstart=editHandlers.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof TextSelection&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(e=>e.type.spec.inclusive===!1)))e.markCursor=e.state.storedMarks||n.marks(),endComposition(e,!0),e.markCursor=null;else if(endComposition(e,!t.selection.empty),gecko&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let t=e.domSelectionRange();for(let n=t.focusNode,r=t.focusOffset;n&&n.nodeType==1&&r!=0;){let t=r<0?n.lastChild:n.childNodes[r-1];if(!t)break;if(t.nodeType==3){let n=e.domSelection();n&&n.collapse(t,t.nodeValue.length);break}else n=t,r=-1}}e.input.composing=!0}scheduleComposeEnd(e,timeoutComposition)},editHandlers.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=t.timeStamp,e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,scheduleComposeEnd(e,20))};function scheduleComposeEnd(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>endComposition(e),t))}function clearComposition(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=timestampFromCustomEvent());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function findCompositionNode(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=textNodeBefore$1(t.focusNode,t.focusOffset),r=textNodeAfter$1(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let t=r.pmViewDesc,a=e.domObserver.lastChangedTextNode;if(n==a||r==a)return a;if(!t||!t.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let e=n.pmViewDesc;if(!(!e||!e.isText(n.nodeValue)))return r}}return n||r}function timestampFromCustomEvent(){let e=document.createEvent(`Event`);return e.initEvent(`event`,!0,!0),e.timeStamp}function endComposition(e,t=!1){if(!(android&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),clearComposition(e),t||e.docView&&e.docView.dirty){let n=selectionFromDOM(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function captureCopy(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement(`div`));n.appendChild(t),n.style.cssText=`position: fixed; left: -10000px; top: 10px`;let r=getSelection(),a=document.createRange();a.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(a),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var brokenClipboardAPI=ie$1&&ie_version<15||ios&&webkit_version<604;handlers.copy=editHandlers.cut=(e,t)=>{let n=t,r=e.state.selection,a=n.type==`cut`;if(r.empty)return;let o=brokenClipboardAPI?null:n.clipboardData,{dom:s,text:c}=serializeForClipboard(e,r.content());o?(n.preventDefault(),o.clearData(),o.setData(`text/html`,s.innerHTML),o.setData(`text/plain`,c)):captureCopy(e,s),a&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(`uiEvent`,`cut`))};function sliceSingleNode$1(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function capturePaste(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?`textarea`:`div`));n||(r.contentEditable=`true`),r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.focus();let a=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?doPaste(e,r.value,null,a,t):doPaste(e,r.textContent,r.innerHTML,a,t)},50)}function doPaste(e,t,n,r,a){let o=parseFromClipboard(e,t,n,r,e.state.selection.$from);if(e.someProp(`handlePaste`,t=>t(e,a,o||Slice.empty)))return!0;if(!o)return!1;let s=sliceSingleNode$1(o),c=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(c.scrollIntoView().setMeta(`paste`,!0).setMeta(`uiEvent`,`paste`)),!0}function getText$1(e){let t=e.getData(`text/plain`)||e.getData(`Text`);if(t)return t;let n=e.getData(`text/uri-list`);return n?n.replace(/\r?\n/g,` `):``}editHandlers.paste=(e,t)=>{let n=t;if(e.composing&&!android)return;let r=brokenClipboardAPI?null:n.clipboardData,a=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&doPaste(e,getText$1(r),r.getData(`text/html`),a,n)?n.preventDefault():capturePaste(e,n)};var Dragging=class{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}},dragCopyModifier=mac$2?`altKey`:`ctrlKey`;function dragMoves(e,t){return e.someProp(`dragCopies`,e=>!e(t))??!t[dragCopyModifier]}handlers.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let a=e.state.selection,o=a.empty?null:e.posAtCoords(eventCoords(n)),s;if(!(o&&o.pos>=a.from&&o.pos<=(a instanceof NodeSelection?a.to-1:a.to))){if(r&&r.mightDrag)s=NodeSelection.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let t=e.docView.nearestDesc(n.target,!0);t&&t.node.type.spec.draggable&&t!=e.docView&&(s=NodeSelection.create(e.state.doc,t.posBefore))}}let{dom:c,text:l,slice:u}=serializeForClipboard(e,(s||e.state.selection).content());(!n.dataTransfer.files.length||!chrome||chrome_version>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(brokenClipboardAPI?`Text`:`text/html`,c.innerHTML),n.dataTransfer.effectAllowed=`copyMove`,brokenClipboardAPI||n.dataTransfer.setData(`text/plain`,l),e.dragging=new Dragging(u,dragMoves(e,n),s)},handlers.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)},editHandlers.dragover=editHandlers.dragenter=(e,t)=>t.preventDefault(),editHandlers.drop=(e,t)=>{let n=t,r=e.dragging;if(e.dragging=null,!n.dataTransfer)return;let a=e.posAtCoords(eventCoords(n));if(!a)return;let o=e.state.doc.resolve(a.pos),s=r&&r.slice;s?e.someProp(`transformPasted`,t=>{s=t(s,e)}):s=parseFromClipboard(e,getText$1(n.dataTransfer),brokenClipboardAPI?null:n.dataTransfer.getData(`text/html`),!1,o);let c=!!(r&&dragMoves(e,n));if(e.someProp(`handleDrop`,t=>t(e,n,s||Slice.empty,c))){n.preventDefault();return}if(!s)return;n.preventDefault();let l=s?dropPoint(e.state.doc,o.pos,s):o.pos;l??=o.pos;let u=e.state.tr;if(c){let{node:e}=r;e?e.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,p=u.doc;if(f?u.replaceRangeWith(d,d,s.content.firstChild):u.replaceRange(d,d,s),u.doc.eq(p))return;let m=u.doc.resolve(d);if(f&&NodeSelection.isSelectable(s.content.firstChild)&&m.nodeAfter&&m.nodeAfter.sameMarkup(s.content.firstChild))u.setSelection(new NodeSelection(m));else{let t=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((e,n,r,a)=>t=a),u.setSelection(selectionBetween(e,m,u.doc.resolve(t)))}e.focus(),e.dispatch(u.setMeta(`uiEvent`,`drop`))},handlers.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add(`ProseMirror-focused`),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&selectionToDOM(e)},20))},handlers.blur=(e,t)=>{let n=t;e.focused&&=(e.domObserver.stop(),e.dom.classList.remove(`ProseMirror-focused`),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),!1)},handlers.beforeinput=(e,t)=>{if(chrome&&android&&t.inputType==`deleteContentBackward`){e.domObserver.flushSoon();let{domChangeCount:t}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=t||(e.dom.blur(),e.focus(),e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))))return;let{$cursor:n}=e.state.selection;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())},50)}};for(let e in editHandlers)handlers[e]=editHandlers[e];function compareObjs(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var WidgetType=class e{constructor(e,t){this.toDOM=e,this.spec=t||noSpec,this.side=this.spec.side||0}map(e,t,n,r){let{pos:a,deleted:o}=e.mapResult(t.from+r,this.side<0?-1:1);return o?null:new Decoration(a-n,a-n,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&compareObjs(this.spec,t.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},InlineType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.map(t.from+r,this.spec.inclusiveStart?-1:1)-n,o=e.map(t.to+r,this.spec.inclusiveEnd?1:-1)-n;return a>=o?null:new Decoration(a,o,this)}valid(e,t){return t.from<t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}static is(t){return t.type instanceof e}destroy(){}},NodeType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.mapResult(t.from+r,1);if(a.deleted)return null;let o=e.mapResult(t.to+r,-1);return o.deleted||o.pos<=a.pos?null:new Decoration(a.pos-n,o.pos-n,this)}valid(e,t){let{index:n,offset:r}=e.content.findIndex(t.from),a;return r==t.from&&!(a=e.child(n)).isText&&r+a.nodeSize==t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}destroy(){}},Decoration=class e{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(t,n){return new e(t,n,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(t,n,r){return new e(t,t,new WidgetType(n,r))}static inline(t,n,r,a){return new e(t,n,new InlineType(r,a))}static node(t,n,r,a){return new e(t,n,new NodeType(r,a))}get spec(){return this.type.spec}get inline(){return this.type instanceof InlineType}get widget(){return this.type instanceof WidgetType}},none=[],noSpec={},DecorationSet=class e{constructor(e,t){this.local=e.length?e:none,this.children=t.length?t:none}static create(e,t){return t.length?buildTree(t,e,0,noSpec):empty$1}find(e,t,n){let r=[];return this.findInner(e??0,t??1e9,r,0,n),r}findInner(e,t,n,r,a){for(let o=0;o<this.local.length;o++){let s=this.local[o];s.from<=t&&s.to>=e&&(!a||a(s.spec))&&n.push(s.copy(s.from+r,s.to+r))}for(let o=0;o<this.children.length;o+=3)if(this.children[o]<t&&this.children[o+1]>e){let s=this.children[o]+1;this.children[o+2].findInner(e-s,t-s,n,r+s,a)}}map(e,t,n){return this==empty$1||e.maps.length==0?this:this.mapInner(e,t,0,0,n||noSpec)}mapInner(t,n,r,a,o){let s;for(let e=0;e<this.local.length;e++){let c=this.local[e].map(t,r,a);c&&c.type.valid(n,c)?(s||=[]).push(c):o.onRemove&&o.onRemove(this.local[e].spec)}return this.children.length?mapChildren(this.children,s||[],t,n,r,a,o):s?new e(s.sort(byPos),none):empty$1}add(t,n){return n.length?this==empty$1?e.create(t,n):this.addInner(t,n,0):this}addInner(t,n,r){let a,o=0;t.forEach((e,t)=>{let s=t+r,c;if(c=takeSpansForNode(n,e,s)){for(a||=this.children.slice();o<a.length&&a[o]<t;)o+=3;a[o]==t?a[o+2]=a[o+2].addInner(e,c,s+1):a.splice(o,0,t,t+e.nodeSize,buildTree(c,e,s+1,noSpec)),o+=3}});let s=moveSpans(o?withoutNulls(n):n,-r);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||s.splice(e--,1);return new e(s.length?this.local.concat(s).sort(byPos):this.local,a||this.children)}remove(e){return e.length==0||this==empty$1?this:this.removeInner(e,0)}removeInner(t,n){let r=this.children,a=this.local;for(let e=0;e<r.length;e+=3){let a,o=r[e]+n,s=r[e+1]+n;for(let e=0,n;e<t.length;e++)(n=t[e])&&n.from>o&&n.to<s&&(t[e]=null,(a||=[]).push(n));if(!a)continue;r==this.children&&(r=this.children.slice());let c=r[e+2].removeInner(a,o+1);c==empty$1?(r.splice(e,3),e-=3):r[e+2]=c}if(a.length){for(let e=0,r;e<t.length;e++)if(r=t[e])for(let e=0;e<a.length;e++)a[e].eq(r,n)&&(a==this.local&&(a=this.local.slice()),a.splice(e--,1))}return r==this.children&&a==this.local?this:a.length||r.length?new e(a,r):empty$1}forChild(t,n){if(this==empty$1)return this;if(n.isLeaf)return e.empty;let r,a;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){this.children[e]==t&&(r=this.children[e+2]);break}let o=t+1,s=o+n.content.size;for(let e=0;e<this.local.length;e++){let t=this.local[e];if(t.from<s&&t.to>o&&t.type instanceof InlineType){let e=Math.max(o,t.from)-o,n=Math.min(s,t.to)-o;e<n&&(a||=[]).push(t.copy(e,n))}}if(a){let t=new e(a.sort(byPos),none);return r?new DecorationGroup([t,r]):t}return r||empty$1}eq(t){if(this==t)return!0;if(!(t instanceof e)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return!1;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return!1;return!0}locals(e){return removeOverlap(this.localsInner(e))}localsInner(e){if(this==empty$1)return none;if(e.inlineContent||!this.local.some(InlineType.is))return this.local;let t=[];for(let e=0;e<this.local.length;e++)this.local[e].type instanceof InlineType||t.push(this.local[e]);return t}forEachSet(e){e(this)}};DecorationSet.empty=new DecorationSet([],[]),DecorationSet.removeOverlap=removeOverlap;var empty$1=DecorationSet.empty,DecorationGroup=class e{constructor(e){this.members=e}map(t,n){let r=this.members.map(e=>e.map(t,n,noSpec));return e.from(r)}forChild(t,n){if(n.isLeaf)return DecorationSet.empty;let r=[];for(let a=0;a<this.members.length;a++){let o=this.members[a].forChild(t,n);o!=empty$1&&(o instanceof e?r=r.concat(o.members):r.push(o))}return e.from(r)}eq(t){if(!(t instanceof e)||t.members.length!=this.members.length)return!1;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return!1;return!0}locals(e){let t,n=!0;for(let r=0;r<this.members.length;r++){let a=this.members[r].localsInner(e);if(a.length)if(!t)t=a;else{n&&=(t=t.slice(),!1);for(let e=0;e<a.length;e++)t.push(a[e])}}return t?removeOverlap(n?t:t.sort(byPos)):none}static from(t){switch(t.length){case 0:return empty$1;case 1:return t[0];default:return new e(t.every(e=>e instanceof DecorationSet)?t:t.reduce((e,t)=>e.concat(t instanceof DecorationSet?t:t.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function mapChildren(e,t,n,r,a,o,s){let c=e.slice();for(let e=0,t=o;e<n.maps.length;e++){let r=0;n.maps[e].forEach((e,n,a,o)=>{let s=o-a-(n-e);for(let a=0;a<c.length;a+=3){let o=c[a+1];if(o<0||e>o+t-r)continue;let l=c[a]+t-r;n>=l?c[a+1]=e<=l?-2:-1:e>=t&&s&&(c[a]+=s,c[a+1]+=s)}r+=s}),t=n.maps[e].map(t,-1)}let l=!1;for(let t=0;t<c.length;t+=3)if(c[t+1]<0){if(c[t+1]==-2){l=!0,c[t+1]=-1;continue}let u=n.map(e[t]+o),d=u-a;if(d<0||d>=r.content.size){l=!0;continue}let f=n.map(e[t+1]+o,-1)-a,{index:p,offset:m}=r.content.findIndex(d),h=r.maybeChild(p);if(h&&m==d&&m+h.nodeSize==f){let r=c[t+2].mapInner(n,h,u+1,e[t]+o+1,s);r==empty$1?(c[t+1]=-2,l=!0):(c[t]=d,c[t+1]=f,c[t+2]=r)}else l=!0}if(l){let l=buildTree(mapAndGatherRemainingDecorations(c,e,t,n,a,o,s),r,0,s);t=l.local;for(let e=0;e<c.length;e+=3)c[e+1]<0&&(c.splice(e,3),e-=3);for(let e=0,t=0;e<l.children.length;e+=3){let n=l.children[e];for(;t<c.length&&c[t]<n;)t+=3;c.splice(t,0,l.children[e],l.children[e+1],l.children[e+2])}}return new DecorationSet(t.sort(byPos),c)}function moveSpans(e,t){if(!t||!e.length)return e;let n=[];for(let r=0;r<e.length;r++){let a=e[r];n.push(new Decoration(a.from+t,a.to+t,a.type))}return n}function mapAndGatherRemainingDecorations(e,t,n,r,a,o,s){function c(e,t){for(let o=0;o<e.local.length;o++){let c=e.local[o].map(r,a,t);c?n.push(c):s.onRemove&&s.onRemove(e.local[o].spec)}for(let n=0;n<e.children.length;n+=3)c(e.children[n+2],e.children[n]+t+1)}for(let n=0;n<e.length;n+=3)e[n+1]==-1&&c(e[n+2],t[n]+o+1);return n}function takeSpansForNode(e,t,n){if(t.isLeaf)return null;let r=n+t.nodeSize,a=null;for(let t=0,o;t<e.length;t++)(o=e[t])&&o.from>n&&o.to<r&&((a||=[]).push(o),e[t]=null);return a}function withoutNulls(e){let t=[];for(let n=0;n<e.length;n++)e[n]!=null&&t.push(e[n]);return t}function buildTree(e,t,n,r){let a=[],o=!1;t.forEach((t,s)=>{let c=takeSpansForNode(e,t,s+n);if(c){o=!0;let e=buildTree(c,t,n+s+1,r);e!=empty$1&&a.push(s,s+t.nodeSize,e)}});let s=moveSpans(o?withoutNulls(e):e,-n).sort(byPos);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||(r.onRemove&&r.onRemove(s[e].spec),s.splice(e--,1));return s.length||a.length?new DecorationSet(s,a):empty$1}function byPos(e,t){return e.from-t.from||e.to-t.to}function removeOverlap(e){let t=e;for(let n=0;n<t.length-1;n++){let r=t[n];if(r.from!=r.to)for(let a=n+1;a<t.length;a++){let o=t[a];if(o.from==r.from){o.to!=r.to&&(t==e&&(t=e.slice()),t[a]=o.copy(o.from,r.to),insertAhead(t,a+1,o.copy(r.to,o.to)));continue}else{o.from<r.to&&(t==e&&(t=e.slice()),t[n]=r.copy(r.from,o.from),insertAhead(t,a,r.copy(o.from,r.to)));break}}}return t}function insertAhead(e,t,n){for(;t<e.length&&byPos(n,e[t])>0;)t++;e.splice(t,0,n)}function viewDecorations(e){let t=[];return e.someProp(`decorations`,n=>{let r=n(e.state);r&&r!=empty$1&&t.push(r)}),e.cursorWrapper&&t.push(DecorationSet.create(e.state.doc,[e.cursorWrapper.deco])),DecorationGroup.from(t)}var observeOptions={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},useCharData=ie$1&&ie_version<=11,SelectionState=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},DOMObserver=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new SelectionState,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(e=>{for(let t=0;t<e.length;t++)this.queue.push(e[t]);ie$1&&ie_version<=11&&e.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,observeOptions)),this.onCharData&&this.view.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener(`selectionchange`,this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener(`selectionchange`,this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hasFocusAndSelection(this.view)){if(this.suppressingSelectionUpdates)return selectionToDOM(this.view);if(ie$1&&ie_version<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,n;for(let n=e.focusNode;n;n=parentNode(n))t.add(n);for(let r=e.anchorNode;r;r=parentNode(r))if(t.has(r)){n=r;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:`selection`,target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hasFocusAndSelection(e)&&!this.ignoreSelectionChange(n),a=-1,o=-1,s=!1,c=[];if(e.editable)for(let e=0;e<t.length;e++){let n=this.registerMutation(t[e],c);n&&(a=a<0?n.from:Math.min(n.from,a),o=o<0?n.to:Math.max(n.to,o),n.typeOver&&(s=!0))}if(gecko&&c.length){let t=c.filter(e=>e.nodeName==`BR`);if(t.length==2){let[e,n]=t;e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}else{let{focusNode:n}=this.currentSelection;for(let r of t){let t=r.parentNode;t&&t.nodeName==`LI`&&(!n||blockParent(e,n)!=t)&&r.remove()}}}let l=null;a<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&selectionCollapsed(n)&&(l=selectionFromDOM(e))&&l.eq(Selection.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,selectionToDOM(e),this.currentSelection.set(n),e.scrollToSelection()):(a>-1||r)&&(a>-1&&(e.docView.markDirty(a,o),checkCSS(e)),this.handleDOMChange(a,o,s,c),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||selectionToDOM(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type==`attributes`&&(n==this.view.docView||e.attributeName==`contenteditable`||e.attributeName==`style`&&!e.oldValue&&!e.target.getAttribute(`style`))||!n||n.ignoreMutation(e))return null;if(e.type==`childList`){for(let n=0;n<e.addedNodes.length;n++){let r=e.addedNodes[n];t.push(r),r.nodeType==3&&(this.lastChangedTextNode=r)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,a=e.nextSibling;if(ie$1&&ie_version<=11&&e.addedNodes.length)for(let t=0;t<e.addedNodes.length;t++){let{previousSibling:n,nextSibling:o}=e.addedNodes[t];(!n||Array.prototype.indexOf.call(e.addedNodes,n)<0)&&(r=n),(!o||Array.prototype.indexOf.call(e.addedNodes,o)<0)&&(a=o)}let o=r&&r.parentNode==e.target?domIndex(r)+1:0,s=n.localPosFromDOM(e.target,o,-1),c=a&&a.parentNode==e.target?domIndex(a):e.target.childNodes.length;return{from:s,to:n.localPosFromDOM(e.target,c,1)}}else if(e.type==`attributes`)return{from:n.posAtStart-n.border,to:n.posAtEnd+n.border};else return this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}}},cssChecked=new WeakMap,cssCheckWarned=!1;function checkCSS(e){if(!cssChecked.has(e)&&(cssChecked.set(e,null),[`normal`,`nowrap`,`pre-line`].indexOf(getComputedStyle(e.dom).whiteSpace)!==-1)){if(e.requiresGeckoHackNode=gecko,cssCheckWarned)return;console.warn(`ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.`),cssCheckWarned=!0}}function rangeToSelectionRange(e,t){let n=t.startContainer,r=t.startOffset,a=t.endContainer,o=t.endOffset,s=e.domAtPos(e.state.selection.anchor);return isEquivalentPosition(s.node,s.offset,a,o)&&([n,r,a,o]=[a,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}}function safariShadowSelectionRange(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return rangeToSelectionRange(e,n)}let n;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.dom.addEventListener(`beforeinput`,r,!0),document.execCommand(`indent`),e.dom.removeEventListener(`beforeinput`,r,!0),n?rangeToSelectionRange(e,n):null}function blockParent(e,t){for(let n=t.parentNode;n&&n!=e.dom;n=n.parentNode){let t=e.docView.nearestDesc(n,!0);if(t&&t.node.isBlock)return n}return null}function parseBetween(e,t,n){let{node:r,fromOffset:a,toOffset:o,from:s,to:c}=e.docView.parseRange(t,n),l=e.domSelectionRange(),u,d=l.anchorNode;if(d&&e.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],selectionCollapsed(l)||u.push({node:l.focusNode,offset:l.focusOffset})),chrome&&e.input.lastKeyCode===8)for(let e=o;e>a;e--){let t=r.childNodes[e-1],n=t.pmViewDesc;if(t.nodeName==`BR`&&!n){o=e;break}if(!n||n.size)break}let f=e.state.doc,p=e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema),m=f.resolve(s),h=null,g=p.parse(r,{topNode:m.parent,topMatch:m.parent.contentMatchAt(m.index()),topOpen:!0,from:a,to:o,preserveWhitespace:m.parent.type.whitespace==`pre`?`full`:!0,findPositions:u,ruleFromNode,context:m});if(u&&u[0].pos!=null){let e=u[0].pos,t=u[1]&&u[1].pos;t??=e,h={anchor:e+s,head:t+s}}return{doc:g,sel:h,from:s,to:c}}function ruleFromNode(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==`BR`&&e.parentNode){if(safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let e=document.createElement(`div`);return e.appendChild(document.createElement(`li`)),{skip:e}}else if(e.parentNode.lastChild==e||safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==`IMG`&&e.getAttribute(`mark-placeholder`))return{ignore:!0};return null}var isInline=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function readDOMChange(e,t,n,r,a){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let t=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,n=selectionFromDOM(e,t);if(n&&!e.state.selection.eq(n)){if(chrome&&android&&e.input.lastKeyCode===13&&Date.now()-100<e.input.lastKeyCodeTime&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))))return;let r=e.state.tr.setSelection(n);t==`pointer`?r.setMeta(`pointer`,!0):t==`key`&&r.scrollIntoView(),o&&r.setMeta(`composition`,o),e.dispatch(r)}return}let s=e.state.doc.resolve(t),c=s.sharedDepth(n);t=s.before(c+1),n=e.state.doc.resolve(n).after(c+1);let l=e.state.selection,u=parseBetween(e,t,n),d=e.state.doc,f=d.slice(u.from,u.to),p,m;e.input.lastKeyCode===8&&Date.now()-100<e.input.lastKeyCodeTime?(p=e.state.selection.to,m=`end`):(p=e.state.selection.from,m=`start`),e.input.lastKeyCode=null;let h=findDiff(f.content,u.doc.content,u.from,p,m);if(h&&e.input.domChangeCount++,(ios&&e.input.lastIOSEnter>Date.now()-225||android)&&a.some(e=>e.nodeType==1&&!isInline.test(e.nodeName))&&(!h||h.endA>=h.endB)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(!h)if(r&&l instanceof TextSelection&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))h={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let t=resolveSelection(e,e.state.doc,u.sel);if(t&&!t.eq(e.state.selection)){let n=e.state.tr.setSelection(t);o&&n.setMeta(`composition`,o),e.dispatch(n)}}return}e.state.selection.from<e.state.selection.to&&h.start==h.endB&&e.state.selection instanceof TextSelection&&(h.start>e.state.selection.from&&h.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?h.start=e.state.selection.from:h.endA<e.state.selection.to&&h.endA>=e.state.selection.to-2&&e.state.selection.to<=u.to&&(h.endB+=e.state.selection.to-h.endA,h.endA=e.state.selection.to)),ie$1&&ie_version<=11&&h.endB==h.start+1&&h.endA==h.start&&h.start>u.from&&u.doc.textBetween(h.start-u.from-1,h.start-u.from+1)==` \xA0`&&(h.start--,h.endA--,h.endB--);let g=u.doc.resolveNoCache(h.start-u.from),_=u.doc.resolveNoCache(h.endB-u.from),v=d.resolve(h.start),y=g.sameParent(_)&&g.parent.inlineContent&&v.end()>=h.endA,b;if((ios&&e.input.lastIOSEnter>Date.now()-225&&(!y||a.some(e=>e.nodeName==`DIV`||e.nodeName==`P`))||!y&&g.pos<u.doc.content.size&&(!g.sameParent(_)||!g.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(g.pos,_.pos,``,``))&&(b=Selection.findFrom(u.doc.resolve(g.pos+1),1,!0))&&b.head>g.pos)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>h.start&&looksLikeBackspace(d,h.start,h.endA,g,_)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))){android&&chrome&&e.domObserver.suppressSelectionUpdates();return}chrome&&h.endB==h.start&&(e.input.lastChromeDelete=Date.now()),android&&!y&&g.start()!=_.start()&&_.parentOffset==0&&g.depth==_.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==h.endA&&(h.endB-=2,_=u.doc.resolveNoCache(h.endB-u.from),setTimeout(()=>{e.someProp(`handleKeyDown`,function(t){return t(e,keyEvent(13,`Enter`))})},20));let x=h.start,S=h.endA,w=t=>{let n=t||e.state.tr.replace(x,S,u.doc.slice(h.start-u.from,h.endB-u.from));if(u.sel){let t=resolveSelection(e,n.doc,u.sel);t&&!(chrome&&e.composing&&t.empty&&(h.start!=h.endB||e.input.lastChromeDelete<Date.now()-100)&&(t.head==x||t.head==n.mapping.map(S)-1)||ie$1&&t.empty&&t.head==x)&&n.setSelection(t)}return o&&n.setMeta(`composition`,o),n.scrollIntoView()},E;if(y){if(g.pos==_.pos){ie$1&&ie_version<=11&&g.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(()=>selectionToDOM(e),20));let t=w(e.state.tr.delete(x,S)),n=d.resolve(h.start).marksAcross(d.resolve(h.endA));n&&t.ensureMarks(n),e.dispatch(t)}else if(h.endA==h.endB&&(E=isMarkChange(g.parent.content.cut(g.parentOffset,_.parentOffset),v.parent.content.cut(v.parentOffset,h.endA-v.start())))){let t=w(e.state.tr);E.type==`add`?t.addMark(x,S,E.mark):t.removeMark(x,S,E.mark),e.dispatch(t)}else if(g.parent.child(g.index()).isText&&g.index()==_.index()-+!_.textOffset){let t=g.parent.textBetween(g.parentOffset,_.parentOffset),n=()=>w(e.state.tr.insertText(t,x,S));e.someProp(`handleTextInput`,r=>r(e,x,S,t,n))||e.dispatch(n())}}else e.dispatch(w())}function resolveSelection(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:selectionBetween(e,t.resolve(n.anchor),t.resolve(n.head))}function isMarkChange(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,a=n,o=r,s,c,l;for(let e=0;e<r.length;e++)a=r[e].removeFromSet(a);for(let e=0;e<n.length;e++)o=n[e].removeFromSet(o);if(a.length==1&&o.length==0)c=a[0],s=`add`,l=e=>e.mark(c.addToSet(e.marks));else if(a.length==0&&o.length==1)c=o[0],s=`remove`,l=e=>e.mark(c.removeFromSet(e.marks));else return null;let u=[];for(let e=0;e<t.childCount;e++)u.push(l(t.child(e)));if(Fragment.from(u).eq(e))return{mark:c,type:s}}function looksLikeBackspace(e,t,n,r,a){if(n-t<=a.pos-r.pos||skipClosingAndOpening(r,!0,!1)<a.pos)return!1;let o=e.resolve(t);if(!r.parent.isTextblock){let e=o.nodeAfter;return e!=null&&n==t+e.nodeSize}if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;let s=e.resolve(skipClosingAndOpening(o,!0,!0));return!s.parent.isTextblock||s.pos>n||skipClosingAndOpening(s,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(s.parent.content)}function skipClosingAndOpening(e,t,n){let r=e.depth,a=t?e.end():e.pos;for(;r>0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,a++,t=!1;if(n){let t=e.node(r).maybeChild(e.indexAfter(r));for(;t&&!t.isLeaf;)t=t.firstChild,a++}return a}function findDiff(e,t,n,r,a){let o=e.findDiffStart(t,n);if(o==null)return null;let{a:s,b:c}=e.findDiffEnd(t,n+e.size,n+t.size);if(a==`end`){let e=Math.max(0,o-Math.min(s,c));r-=s+e-o}if(s<o&&e.size<t.size){let e=r<=o&&r>=s?o-r:0;o-=e,o&&o<t.size&&isSurrogatePair(t.textBetween(o-1,o+1))&&(o+=e?1:-1),c=o+(c-s),s=o}else if(c<o){let t=r<=o&&r>=c?o-r:0;o-=t,o&&o<e.size&&isSurrogatePair(e.textBetween(o-1,o+1))&&(o+=t?1:-1),s=o+(s-c),c=o}return{start:o,endA:s,endB:c}}function isSurrogatePair(e){if(e.length!=2)return!1;let t=e.charCodeAt(0),n=e.charCodeAt(1);return t>=56320&&t<=57343&&n>=55296&&n<=56319}var EditorView=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new InputState,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(checkStateComponent$1),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement(`div`),e&&(e.appendChild?e.appendChild(this.dom):typeof e==`function`?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=getEditable$1(this),updateCursorWrapper(this),this.nodeViews=buildNodeViews$1(this),this.docView=docViewDesc(this.state.doc,computeDocDeco(this),viewDecorations(this),this.dom,this),this.domObserver=new DOMObserver(this,(e,t,n,r)=>readDOMChange(this,e,t,n,r)),this.domObserver.start(),initInput(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ensureListeners(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent$1),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var n;let r=this.state,a=!1,o=!1;e.storedMarks&&this.composing&&(clearComposition(this),o=!0),this.state=e;let s=r.plugins!=e.plugins||this._props.plugins!=t.plugins;if(s||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews$1(this);changedNodeViews$1(e,this.nodeViews)&&(this.nodeViews=e,a=!0)}(s||t.handleDOMEvents!=this._props.handleDOMEvents)&&ensureListeners(this),this.editable=getEditable$1(this),updateCursorWrapper(this);let c=viewDecorations(this),l=computeDocDeco(this),u=r.plugins!=e.plugins&&!r.doc.eq(e.doc)?`reset`:e.scrollToSelection>r.scrollToSelection?`to selection`:`preserve`,d=a||!this.docView.matchesNode(e.doc,l,c);(d||!e.selection.eq(r.selection))&&(o=!0);let f=u==`preserve`&&o&&this.dom.style.overflowAnchor==null&&storeScrollPos(this);if(o){this.domObserver.stop();let t=d&&(ie$1||chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&selectionContextChanged(r.selection,e.selection);if(d){let n=chrome?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=findCompositionNode(this)),(a||!this.docView.update(e.doc,l,c,this))&&(this.docView.updateOuterDeco(l),this.docView.destroy(),this.docView=docViewDesc(e.doc,l,c,this.dom,this)),n&&!this.trackWrites&&(t=!0)}t||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&anchorInRightPlace(this))?selectionToDOM(this,t):(syncNodeSelection(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(r),this.dragging?.node&&!r.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,r),u==`reset`?this.dom.scrollTop=0:u==`to selection`?this.scrollToSelection():f&&resetScrollPos(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))&&!this.someProp(`handleScrollToSelection`,e=>e(this)))if(this.state.selection instanceof NodeSelection){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&scrollRectIntoView(this,t.getBoundingClientRect(),e)}else scrollRectIntoView(this,this.coordsAtPos(this.state.selection.head,1),e)}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,r=-1;if(this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let e=n.from+(this.state.doc.content.size-t.doc.content.size);(e>0&&this.state.doc.nodeAt(e))==n.node&&(r=e)}this.dragging=new Dragging(e.slice,e.move,r<0?void 0:NodeSelection.create(this.state.doc,r))}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){if(ie$1){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable==`false`)return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&focusPreventScroll(this.dom),selectionToDOM(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let e=this.dom.parentNode;e;e=e.parentNode)if(e.nodeType==9||e.nodeType==11&&e.host)return e.getSelection||(Object.getPrototypeOf(e).getSelection=()=>e.ownerDocument.getSelection()),this._root=e}return e||document}updateRoot(){this._root=null}posAtCoords(e){return posAtCoords(this,e)}coordsAtPos(e,t=1){return coordsAtPos(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let r=this.docView.posFromDOM(e,t,n);if(r==null)throw RangeError(`DOM position not inside the editor`);return r}endOfTextblock(e,t){return endOfTextblock(this,t||this.state,e)}pasteHTML(e,t){return doPaste(this,``,e,!1,t||new ClipboardEvent(`paste`))}pasteText(e,t){return doPaste(this,e,null,!0,t||new ClipboardEvent(`paste`))}serializeForClipboard(e){return serializeForClipboard(this,e)}destroy(){this.docView&&(destroyInput(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],viewDecorations(this),this),this.dom.textContent=``):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,clearReusedRange())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return dispatchEvent(this,e)}domSelectionRange(){let e=this.domSelection();return e?safari&&this.root.nodeType===11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariShadowSelectionRange(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};EditorView.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function computeDocDeco(e){let t=Object.create(null);return t.class=`ProseMirror`,t.contenteditable=String(e.editable),e.someProp(`attributes`,n=>{if(typeof n==`function`&&(n=n(e.state)),n)for(let e in n)e==`class`?t.class+=` `+n[e]:e==`style`?t.style=(t.style?t.style+`;`:``)+n[e]:!t[e]&&e!=`contenteditable`&&e!=`nodeName`&&(t[e]=String(n[e]))}),t.translate||=`no`,[Decoration.node(0,e.state.doc.content.size,t)]}function updateCursorWrapper(e){if(e.markCursor){let t=document.createElement(`img`);t.className=`ProseMirror-separator`,t.setAttribute(`mark-placeholder`,`true`),t.setAttribute(`alt`,``),e.cursorWrapper={dom:t,deco:Decoration.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function getEditable$1(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function selectionContextChanged(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function buildNodeViews$1(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews$1(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent$1(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}var MAX_MATCH=500,InputRule=class{regex;handler;undoable;inCode;constructor(e,t,n={}){this.regex=e,this.regex=e,this.handler=typeof t==`string`?stringHandler(t):t,this.undoable=n.undoable!==!1,this.inCode=n.inCode||!1}};function stringHandler(e){return function(t,n,r,a,o){t||=n.tr;let s=e;if(r[1]){let e=r[0].lastIndexOf(r[1]);s+=r[0].slice(e+r[1].length),a+=e;let t=a-o;t>0&&(s=r[0].slice(e-t,e)+s,a=o)}return t.insertText(s,a,o)}}var InputRulesPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`input-rules`),state:{init(){return null},apply(e,t){return e.getMeta(this)||(e.selectionSet||e.docChanged?null:t)}},props:{handleTextInput(e,t,n,r){return runInputRulesRange(t,n,r)(e.state,t=>{e.dispatch(t)},e)},handleDOMEvents:{compositionend:e=>{setTimeout(()=>{let{$cursor:t}=e.state.selection;if(t)return runInputRulesRange(t.pos,t.pos,``)(e.state,t=>{e.dispatch(t)},e)})}}},rules:e,isInputRules:!0})}},runInputRulesTexts=()=>{let e=(e,t,n)=>{let r=e.plugins.find(e=>e.spec.isInputRules);if(!r)return!1;let a=r.spec.rules;if(n?.composing)return!1;let o=e.doc,s=e.tr;for(let t=0;t<a.length;t++){let n=a[t],c=[];if(o.descendants((e,t)=>{e.isText&&c.push({pos:t,node:e})}),c.length===0)return!1;for(let t=c.length-1;t>=0;t--){let{pos:a,node:l}=c[t];if(!l.isText||!l.text)continue;let u=l.text;if(l.type.spec.code){if(!n.inCode)continue}else if(n.inCode===`only`)continue;let d=n.regex.exec(u);if(!d)continue;let f=d.index,p=a+f,m=a+f+d[0].length,h=n.handler(s,e,d,p,m);h&&(s=h,o=s.doc,n.undoable&&s.setMeta(r,{transform:s,from:p,to:m,text:u}))}}return t&&t(s),s.docChanged};return e.displayName=`runInputRulesTexts`,e},runInputRulesRange=(e,t,n)=>{let r=(r,a,o)=>{let s=r.plugins.find(e=>e.spec.isInputRules);if(!s)return!1;let c=s.spec.rules;if(o?.composing)return!1;let l=r.doc.resolve(e),u=l.parent.textBetween(Math.max(0,l.parentOffset-MAX_MATCH),l.parentOffset,null,``)+n,d=r.tr;for(let a=0;a<c.length;a++){let o=c[a];if(l.parent.type.spec.code){if(!o.inCode)continue}else if(o.inCode===`only`)continue;let f=o.regex.exec(u);if(!f)continue;let p=o.handler(d,r,f,d.mapping.map(e-(f[0].length-n.length)),d.mapping.map(t));if(p){d=p,o.undoable&&d.setMeta(s,{transform:d,from:e,to:t,text:n});break}}return d.docChanged?(a?.(d),!0):!1};return r.displayName=`runInputRulesRange`,r},undoInputRuleCommand=(e,t)=>{let n=e.plugins.find(e=>e.spec.isInputRules);if(!n)return!1;let r=n.getState(e);if(!r)return!1;if(t){let n=e.tr,a=r.transform;for(let e=a.steps.length-1;e>=0;e--)n.step(a.steps[e].invert(a.docs[e]));if(r.text){let t=n.doc.resolve(r.from).marks();n.replaceWith(r.from,r.to,e.schema.text(r.text,t))}else n.delete(r.from,r.to);t(n)}return!0},base={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:`'`},shift={48:`)`,49:`!`,50:`@`,51:`#`,52:`$`,53:`%`,54:`^`,55:`&`,56:`*`,57:`(`,59:`:`,61:`+`,173:`_`,186:`:`,187:`+`,188:`<`,189:`_`,190:`>`,191:`?`,192:`~`,219:`{`,220:`|`,221:`}`,222:`"`},mac$1=typeof navigator<`u`&&/Mac/.test(navigator.platform),ie=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(let e=0;e<10;e++)base[48+e]=base[96+e]=String(e);for(let e=1;e<=24;e++)base[e+111]=`F`+e;for(let e=65;e<=90;e++)base[e]=String.fromCharCode(e+32),shift[e]=String.fromCharCode(e);for(let e in base)Object.prototype.hasOwnProperty.call(shift,e)||(shift[e]=base[e]);function keyName(e){let t=!(mac$1&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||ie&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var mac=typeof navigator<`u`&&/Mac|iP(hone|[oa]d)/.test(navigator?.platform),windows=typeof navigator<`u`&&/Win/.test(navigator?.platform);function normalizeKeyName(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==`Space`&&(n=` `);let r,a,o,s;for(let e=0;e<t.length-1;e++){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))a=!0;else if(/^s(hift)?$/i.test(n))o=!0;else if(/^mod$/i.test(n))mac?s=!0:a=!0;else throw Error(`Unrecognized modifier name: `+n)}return r&&(n=`Alt-`+n),a&&(n=`Ctrl-`+n),s&&(n=`Meta-`+n),o&&(n=`Shift-`+n),n}function normalize(e){let t=Object.create(null);for(let n in e)t[normalizeKeyName(n)]=e[n];return t}function modifiers(e,t,n=!0){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n&&t.shiftKey&&(e=`Shift-`+e),e}var KeymapPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`keymap`),props:{handleKeyDown:keydownHandler(e)}})}};function keydownHandler(e){let t=normalize(e);return function(e,n){let r=keyName(n),a,o=t[modifiers(r,n)];if(o&&o(e.state,e.dispatch,e))return!0;if(r.length==1&&r!=` `){if(n.shiftKey){let a=t[modifiers(r,n,!1)];if(a&&a(e.state,e.dispatch,e))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(windows&&n.ctrlKey&&n.altKey)&&(a=base[n.keyCode])&&a!=r){let r=t[modifiers(a,n)];if(r&&r(e.state,e.dispatch,e))return!0}}return!1}}function firstCommand$1(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}function getHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))t.attrs[r]===void 0?a.toDom?n[r]=a.toDom(t):n[r]=a.default:n[r]=t.attrs[r];return n}function setHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))a.fromDom?n[r]=a.fromDom(t):n[r]=a.default;return n}function addAttributesToSchema(e,t){if(t.attributes){e.attrs||={};for(let[n,r]of Object.entries(t.attributes))e.attrs[n]=r,r.toDom||=e=>e.attrs[n]}}var TrackSelecionPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`track-selection`),view(t){return{update(t,n){let r=t.state,a=n.selection,o=r.selection;if(!a.eq(o)){let t=new CustomEvent(`selection`,{detail:{selection:o}});e.dispatchEvent(t)}}}}})}};function splitExtensions(e){return{baseExtensions:Array.from(e).filter(e=>e.type===`extension`),nodeExtensions:Array.from(e).filter(e=>e.type===`node`),markExtensions:Array.from(e).filter(e=>e.type===`mark`)}}var ExtensionManager=class{editorKits;debug;extensions=new Set;plugins=[];nodeViews={};converters={};constructor(e,t=!1){this.editorKits=e,this.debug=t;let n=e.reduce((e,t)=>e.concat(t.getExtensions()),[]);this.setupExtensions(new Set(n))}initPlugins(e,t){let n=[],r=new Map,a=(t,n)=>{for(let n in t){if(!t[n])continue;let a=e.commandFactories[t[n]];if(!a){console.warn(`No command constructor: ${t[n]}`);continue}let o=a(),s=r.get(n);s?r.set(n,firstCommand$1(o,s)):r.set(n,o)}},o={};for(let r of this.extensions){if(r.setEditor(e),r.type===`node`){let s=t.nodes[r.name];n.push(...r.getInputRules(s)),this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e,s),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)};let c=r.getNodeView(e);c&&(this.nodeViews[r.name]=c)}if(r.type===`mark`){let o=t.marks[r.name];n.push(...r.getInputRules(o)),e.mergeCommandFactories(r.getCommandFactories(e,o),r.name),a(r.getKeyboardShortcuts(e),r.name)}r.type===`extension`&&(this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)})}if(this.debug)for(let e in r){let t=r.get(e);t&&r.set(e,firstCommand$1((t,n,r)=>(console.debug(`Key: ${e}`),!0),t))}this.converters=o,this.plugins.push(new InputRulesPlugin(n)),this.plugins.push(new KeymapPlugin(Object.fromEntries(r))),this.plugins.push(new TrackSelecionPlugin(e))}setupExtensions(e){let t=new Map,n=e=>{for(let r of e){if(`name`in r){let e=t.get(r.name);if(e&&`type`in e&&r.type!==e.type)throw Error(`Duplicate mark/node: ${r.name}`);t.set(r.name,r)}if(`requires`in r){let e=Array.from(r.requires).filter(e=>typeof e!=`string`);n(new Set(e))}}};n(e);let r=new Set,a=e=>{this.debug&&console.info(`Initialize ${e.type} ${e.name}`),this.extensions.add(e)};function o(e){if(!(`name`in e&&r.has(e.name))){if(`requires`in e){let n=(e.requires||[]).map(e=>typeof e==`string`?e:`name`in e?e.name:``);for(let a of n)if(!r.has(a)){let n=t.get(a);if(!n)throw Error(`Required extension for (${`name`in e?e.name:e}) not found: ${a}`);o(n)}}`name`in e&&(a(e),r.add(e.name),t.delete(e.name))}}for(let e of t.values())o(e);if(t.size>0)throw Error(`Not all extensions initialized: `+Array.from(t.keys()).join(`, `))}getSchemaByResolvedExtensions(){let{nodeExtensions:e,markExtensions:t,baseExtensions:n}=splitExtensions(this.extensions),r={},a=``;for(let t of e){if(r[t.name]=t.getNodeSpec(),r[t.name].EMPTY_DOC){if(a)throw Error(`Multiple topNodes: ${t.name}, ${a}`);a=t.name}addAttributesToSchema(r[t.name],t)}let o={};for(let e of t)o[e.name]=e.getMarkSpec(),addAttributesToSchema(o[e.name],e);let s={topNode:a||`doc`,nodes:r,marks:o};for(let e of n)`setupSpec`in n&&e.setupSpec(s);return new Schema(s)}created(e,t){let{nodeExtensions:n,markExtensions:r,baseExtensions:a}=splitExtensions(this.extensions);for(let e of a)if(Array.isArray(e.conflicts)){for(let t of e.conflicts)if(a.find(e=>e.name===t))throw Error(`Extension conflict: ${e.name} vs ${t}`)}for(let t of a)e.ci.register(t.name,t);this.initPlugins(e,t);for(let e of this.extensions)e.created()}};function createChainableState(e,t){let{selection:n}=e,{doc:r}=e,{storedMarks:a}=e;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return r},get tr(){return n=e.selection,r=e.doc,a=e.storedMarks,e}}}var wrapInList=(e,t=null)=>function(n,r,a){let{$from:o,$to:s}=n.selection,c=o.blockRange(s);if(!c)return!1;let l=r?n.tr:null;return wrapRangeInList(l,c,e,t).apply(this,[n,r])?(r&&r(l.scrollIntoView()),!0):!1},wrapRangeInList=(e,t,n,r=null)=>()=>{let a=!1,o=t,s=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let e=s.resolve(t.start-2);o=new NodeRange(e,e,t.depth),t.endIndex<t.parent.childCount&&(t=new NodeRange(t.$from,s.resolve(t.$to.end(t.depth)),t.depth)),a=!0}let c=findWrapping(o,n,r,t);return c?(e&&doWrapInList(e,t,c,a,n),!0):!1};function doWrapInList(e,t,n,r,a){let o=Fragment.empty;for(let e=n.length-1;e>=0;e--)o=Fragment.from(n[e].type.create(n[e].attrs,o));e.step(new ReplaceAroundStep(t.start-(r?2:0),t.end,t.start,t.end,new Slice(o,0,0),n.length,!0));let s=0;for(let e=0;e<n.length;e++)n[e].type==a&&(s=e+1);let c=n.length-s,l=t.start+n.length-(r?2:0),u=t.parent;for(let n=t.startIndex,r=t.endIndex,a=!0;n<r;n++,a=!1)!a&&canSplit(e.doc,l,c)&&(e.split(l,c),l+=2*c),l+=u.child(n).nodeSize;return e}var deleteSelection=()=>(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function atBlockStart(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var joinBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);if(!a){let n=r.blockRange(),a=n&&liftTarget(n);return a==null?!1:(t&&t(e.tr.lift(n,a).scrollIntoView()),!0)}let o=a.nodeBefore;if(deleteBarrier(e,a,t,-1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`end`)||NodeSelection.isSelectable(o)))for(let n=r.depth;;n--){let s=replaceStep(e.doc,r.before(n),r.after(n),Slice.empty);if(s&&s.slice.size<s.to-s.from){if(t){let n=e.tr.step(s);n.setSelection(textblockAt(o,`end`)?Selection.findFrom(n.doc.resolve(n.mapping.map(a.pos,-1)),-1):NodeSelection.create(n.doc,a.pos-o.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos-o.nodeSize,a.pos).scrollIntoView()),!0):!1},joinTextblockBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);return a?joinTextblocksAround(e,a,t):!1},joinTextblockForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);return a?joinTextblocksAround(e,a,t):!1};function joinTextblocksAround(e,t,n){let r=t.nodeBefore,a=t.pos-1;for(;!r.isTextblock;a--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let o=t.nodeAfter,s=t.pos+1;for(;!o.isTextblock;s++){if(o.type.spec.isolating)return!1;let e=o.firstChild;if(!e)return!1;o=e}let c=replaceStep(e.doc,a,s,Slice.empty);if(!c||c.from!=a||c instanceof ReplaceStep&&c.slice.size>=s-a)return!1;if(n){let t=e.tr.step(c);t.setSelection(TextSelection.create(t.doc,a)),n(t.scrollIntoView())}return!0}function textblockAt(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var selectNodeBackward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;o=findCutBefore(r)}let s=o&&o.nodeBefore;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function findCutBefore(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function atBlockEnd(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var joinForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);if(!a)return!1;let o=a.nodeAfter;if(deleteBarrier(e,a,t,1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`start`)||NodeSelection.isSelectable(o))){let n=replaceStep(e.doc,r.before(),r.after(),Slice.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(textblockAt(o,`start`)?Selection.findFrom(r.doc.resolve(r.mapping.map(a.pos)),1):NodeSelection.create(r.doc,r.mapping.map(a.pos))),t(r.scrollIntoView())}return!0}}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos,a.pos+o.nodeSize).scrollIntoView()),!0):!1},selectNodeForward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;o=findCutAfter(r)}let s=o&&o.nodeAfter;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos)).scrollIntoView()),!0)};function findCutAfter(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var joinUp=()=>(e,t)=>{let n=e.selection,r=n instanceof NodeSelection,a;if(r){if(n.node.isTextblock||!canJoin(e.doc,n.from))return!1;a=n.from}else if(a=joinPoint(e.doc,n.from,-1),a==null)return!1;if(t){let n=e.tr.join(a);r&&n.setSelection(NodeSelection.create(n.doc,a-e.doc.resolve(a).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},joinDown=()=>(e,t)=>{let n=e.selection,r;if(n instanceof NodeSelection){if(n.node.isTextblock||!canJoin(e.doc,n.to))return!1;r=n.to}else if(r=joinPoint(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},lift=()=>(e,t)=>{let{$from:n,$to:r}=e.selection,a=n.blockRange(r),o=a&&liftTarget(a);return o==null?!1:(t&&t(e.tr.lift(a,o).scrollIntoView()),!0)},newlineInCode=()=>{let e=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
10
- `).scrollIntoView()),!0)};return e.displayName=`newlineInCode()`,e};function defaultBlockAt(e){console.log(`defaultBlockAt`,e);for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}var exitCode=()=>(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let a=n.node(-1),o=n.indexAfter(-1),s=defaultBlockAt(a.contentMatchAt(o));if(!s||!a.canReplaceWith(o,o,s))return!1;if(t){let r=n.after(),a=e.tr.replaceWith(r,r,s.createAndFill());a.setSelection(Selection.near(a.doc.resolve(r),1)),t(a.scrollIntoView())}return!0},createParagraphNear=()=>{let e=(e,t)=>{let n=e.selection,{$from:r,$to:a}=n;if(n instanceof AllSelection||r.parent.inlineContent||a.parent.inlineContent)return!1;let o=defaultBlockAt(a.parent.contentMatchAt(a.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let n=(!r.parentOffset&&a.index()<a.parent.childCount?r:a).pos,s=e.tr.insert(n,o.createAndFill());s.setSelection(TextSelection.create(s.doc,n+1)),t(s.scrollIntoView())}return!0};return e.displayName=`createParagraphNear()`,e},liftEmptyBlock=()=>{let e=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(canSplit(e.doc,r))return t&&t(e.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),a=r&&liftTarget(r);return a==null?!1:(t&&t(e.tr.lift(r,a).scrollIntoView()),!0)};return e.displayName=`liftEmptyBlock()`,e},splitBlockAs=e=>{let t=(t,n)=>{let{$from:r,$to:a}=t.selection;if(t.selection instanceof NodeSelection&&t.selection.node.isBlock)return!r.parentOffset||!canSplit(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let o=[],s,c,l=!1,u=!1;for(let t=r.depth;;t--)if(r.node(t).isBlock){l=r.end(t)==r.pos+(r.depth-t),u=r.start(t)==r.pos-(r.depth-t),c=defaultBlockAt(r.node(t-1).contentMatchAt(r.indexAfter(t-1)));let n=e&&e(a.parent,l,r);o.unshift(n||(l&&c?{type:c}:null)),s=t;break}else{if(t==1)return!1;o.unshift(null)}let d=t.tr;(t.selection instanceof TextSelection||t.selection instanceof AllSelection)&&d.deleteSelection();let f=d.mapping.map(r.pos),p=canSplit(d.doc,f,o.length,o);if(p||=(o[0]=c?{type:c}:null,canSplit(d.doc,f,o.length,o)),d.split(f,o.length,o),!l&&u&&r.node(s).type!=c){let e=d.mapping.map(r.before(s)),t=d.doc.resolve(e);c&&r.node(s-1).canReplaceWith(t.index(),t.index()+1,c)&&d.setNodeMarkup(d.mapping.map(r.before(s)),c)}return n&&n(d.scrollIntoView()),!0};return t.displayName=`splitBlockAs()`,t},splitBlock=()=>splitBlockAs(),splitBlockKeepMarks=()=>(e,t)=>splitBlockAs().apply(void 0,[e,t&&(n=>{let r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();r&&n.ensureMarks(r),t(n)})]),selectParentNode=()=>(e,t)=>{let{$from:n,to:r}=e.selection,a,o=n.sharedDepth(r);return o==0?!1:(a=n.before(o),t&&t(e.tr.setSelection(NodeSelection.create(e.doc,a))),!0)},selectAll$1=()=>(e,t)=>(t&&t(e.tr.setSelection(new AllSelection(e.doc))),!0);function joinMaybeClear(e,t,n){let r=t.nodeBefore,a=t.nodeAfter,o=t.index();return!r||!a||!r.type.compatibleContent(a.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(a.isTextblock||canJoin(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function deleteBarrier(e,t,n,r){let a=t.nodeBefore,o=t.nodeAfter,s,c,l=a.type.spec.isolating||o.type.spec.isolating;if(!l&&joinMaybeClear(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(c=a.contentMatchAt(a.childCount)).findWrapping(o.type))&&c.matchType(s[0]||o.type).validEnd){if(n){let r=t.pos+o.nodeSize,c=Fragment.empty;for(let e=s.length-1;e>=0;e--)c=Fragment.from(s[e].create(null,c));c=Fragment.from(a.copy(c));let l=e.tr.step(new ReplaceAroundStep(t.pos-1,r,t.pos,r,new Slice(c,1,0),s.length,!0)),u=l.doc.resolve(r+2*s.length);u.nodeAfter&&u.nodeAfter.type==a.type&&canJoin(l.doc,u.pos)&&l.join(u.pos),n(l.scrollIntoView())}return!0}let d=o.type.spec.isolating||r>0&&l?null:Selection.findFrom(t,1),f=d&&d.$from.blockRange(d.$to),p=f&&liftTarget(f);if(p!=null&&p>=t.depth)return n&&n(e.tr.lift(f,p).scrollIntoView()),!0;if(u&&textblockAt(o,`start`,!0)&&textblockAt(a,`end`)){let r=a,s=[];for(;s.push(r),!r.isTextblock;)r=r.lastChild;let c=o,l=1;for(;!c.isTextblock;c=c.firstChild)l++;if(r.canReplace(r.childCount,r.childCount,c.content)){if(n){let r=Fragment.empty;for(let e=s.length-1;e>=0;e--)r=Fragment.from(s[e].copy(r));n(e.tr.step(new ReplaceAroundStep(t.pos-s.length,t.pos+o.nodeSize,t.pos+l,t.pos+o.nodeSize-l,new Slice(r,s.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function selectTextblockSide(e){return function(t,n){let r=t.selection,a=e<0?r.$from:r.$to,o=a.depth;for(;a.node(o).isInline;){if(!o)return!1;o--}return a.node(o).isTextblock?(n&&n(t.tr.setSelection(TextSelection.create(t.doc,e<0?a.start(o):a.end(o)))),!0):!1}}var wrapIn=(e,t=null)=>function(n,r){let{$from:a,$to:o}=n.selection,s=a.blockRange(o),c=s&&findWrapping(s,e,t);return c?(r&&r(n.tr.wrap(s,c).scrollIntoView()),!0):!1},setBlockType=(e,t=null)=>function(n,r){let a=!1;for(let r=0;r<n.selection.ranges.length&&!a;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];n.doc.nodesBetween(o,s,(r,o)=>{if(a)return!1;if(!(!r.isTextblock||r.hasMarkup(e,t)))if(r.type==e)a=!0;else{let t=n.doc.resolve(o),r=t.index();a=t.parent.canReplaceWith(r,r+1,e)}})}if(!a)return!1;if(r){let a=n.tr;for(let r=0;r<n.selection.ranges.length;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];a.setBlockType(o,s,e,t)}r(a.scrollIntoView())}return!0};function markApplies(e,t,n,r){for(let a=0;a<t.length;a++){let{$from:o,$to:s}=t[a],c=o.depth==0?e.inlineContent&&e.type.allowsMarkType(n):!1;if(e.nodesBetween(o.pos,s.pos,(e,t)=>{if(c||!r&&e.isAtom&&e.isInline&&t>=o.pos&&t+e.nodeSize<=s.pos)return!1;c=e.inlineContent&&e.type.allowsMarkType(n)}),c)return!0}return!1}function removeInlineAtoms(e){let t=[];for(let n=0;n<e.length;n++){let{$from:r,$to:a}=e[n];r.doc.nodesBetween(r.pos,a.pos,(e,n)=>{if(e.isAtom&&e.content.size&&e.isInline&&n>=r.pos&&n+e.nodeSize<=a.pos)return n+1>r.pos&&t.push(new SelectionRange(r,r.doc.resolve(n+1))),r=r.doc.resolve(n+1+e.content.size),!1}),r.pos<a.pos&&t.push(new SelectionRange(r,a))}return t}function toggleMark(e,t=null,n){let r=(n&&n.removeWhenPresent)!==!1,a=(n&&n.enterInlineAtoms)!==!1,o=!(n&&n.includeWhitespace);return function(n,s){let{empty:c,$cursor:l,ranges:u}=n.selection;if(c&&!l||!markApplies(n.doc,u,e,a))return!1;if(s)if(l)e.isInSet(n.storedMarks||l.marks())?s(n.tr.removeStoredMark(e)):s(n.tr.addStoredMark(e.create(t)));else{let c,l=n.tr;a||(u=removeInlineAtoms(u)),c=r?!u.some(t=>n.doc.rangeHasMark(t.$from.pos,t.$to.pos,e)):!u.every(t=>{let n=!1;return l.doc.nodesBetween(t.$from.pos,t.$to.pos,(r,a,o)=>{if(n)return!1;n=!e.isInSet(r.marks)&&!!o&&o.type.allowsMarkType(e)&&!(r.isText&&/^\s*$/.test(r.textBetween(Math.max(0,t.$from.pos-a),Math.min(r.nodeSize,t.$to.pos-a))))}),!n});for(let n=0;n<u.length;n++){let{$from:r,$to:a}=u[n];if(!c)l.removeMark(r.pos,a.pos,e);else{let n=r.pos,s=a.pos,c=r.nodeAfter,u=a.nodeBefore,d=o&&c&&c.isText?/^\s*/.exec(c.text)[0].length:0,f=o&&u&&u.isText?/\s*$/.exec(u.text)[0].length:0;n+d<s&&(n+=d,s-=f),l.addMark(n,s,e.create(t))}}s(l.scrollIntoView())}return!0}}var undoInputRule=()=>undoInputRuleCommand,command=e=>(...t)=>e.apply(void 0,t),baseCommandFactories={wrapInList,wrapRangeInList,deleteSelection,joinBackward,joinTextblockBackward,joinTextblockForward,joinForward,joinUp,joinDown,lift,newlineInCode,exitCode,createParagraphNear,liftEmptyBlock,splitBlockAs,splitBlock,splitBlockKeepMarks,selectAll:selectAll$1,selectParentNode,selectNodeBackward,selectNodeForward,selectTextblockStart:()=>selectTextblockSide(-1),selectTextblockEnd:()=>selectTextblockSide(1),wrapIn,setBlockType,toggleMark,undoInputRule,runInputRulesRange,runInputRulesTexts,command};function firstCommand(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}var backspace=firstCommand(baseCommandFactories.undoInputRule(),baseCommandFactories.deleteSelection(),baseCommandFactories.joinBackward(),baseCommandFactories.selectNodeBackward()),del=firstCommand(baseCommandFactories.deleteSelection(),baseCommandFactories.joinForward(),baseCommandFactories.selectNodeForward()),enter=firstCommand(baseCommandFactories.newlineInCode(),baseCommandFactories.createParagraphNear(),baseCommandFactories.liftEmptyBlock(),baseCommandFactories.splitBlock()),keyCommandFactories={backspace:()=>backspace,del:()=>del,enter:()=>enter},replaceRangeText=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);if(t.length>0){let e=new Slice(Fragment.from(n.schema.text(t)),0,0);a.replace(o,s,e)}else{let e=new Slice(Fragment.from(n.schema.topNodeType.createAndFill()),0,0);a.replace(o,s,e)}return r&&r(a),!0},replaceRangeSlice=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);return a.replace(o,s,t),r&&r(a),!0};function getTopMostBlockStartForOffset(e,t){let{doc:n}=e,r=n.resolve(t),a=r.before(r.depth);return r.depth===1?a:r.start(1)}function getTopMostBlockEndForOffset(e,t){let{doc:n}=e;return n.resolve(t).end(1)}function getAdjacentTopBlock(e,t){let{doc:n}=e;if(t<0||t>n.content.size)throw RangeError(`Offset is outside the document`);let r=n.resolve(t);return r.pos===r.start(r.depth)?getTopMostBlockStartForOffset(e,t):getTopMostBlockEndForOffset(e,t)}var insertBlockBefore=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockStartForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockAfter=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockEndForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockSmart=(e,t)=>(n,r)=>{let a=n.tr,o=getAdjacentTopBlock(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},replaceCommandFactories={replaceRangeText,replaceRangeSlice,insertBlockBefore,insertBlockAfter,insertBlockSmart},CommandManager=class{editor;commandFactories={};run={};debug=!0;constructor(e){this.editor=e,this.mergeCommandFactories(baseCommandFactories,`baseCommand`),this.mergeCommandFactories(keyCommandFactories,`key`),this.mergeCommandFactories(replaceCommandFactories,`replace`)}mergeCommandFactories(e,t){for(let n in e){let r=e[n];r&&this.overwriteCommandFactory(t,n,r)}}overwriteCommandFactory(e,t,n){if(this.debug){let r=(...r)=>{let a=n(...r);return(n,o,s)=>(o&&console.debug(`Command: ${e}.${t}`,...r),a.apply({editor:this.editor},[n,o,s]))};this.commandFactories[t]=r}else this.commandFactories[t]=n;this.run[t]=(...e)=>{let n=this.commandFactories[t],r=n(...e),a=this.editor.state,o=this.editor.view;return o instanceof EditorView?r.apply({editor:this.editor},[a,o.dispatch,o]):r.apply({editor:this.editor},[a,o.dispatch])}}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{commandFactories:n,editor:r}=this,a=this.editor.state,{view:o}=r,s=[],c=!!e,l=e||a.tr;l.setMeta(`isCommand`,!0);let u=createChainableState(l,a),d=()=>void 0,f={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=n(...e).apply({editor:this.editor},[u,t?d:void 0]);return s.push(r),f}])),run:()=>(!c&&t&&!l.getMeta(`preventDispatch`)&&o.dispatch(l),s.every(e=>e===!0)),chain:()=>this.createChain(l,t)};return f}createCan(e){return this.createChain(e,!1)}},SmartOutput=class{_rowPos=0;_colPos=0;_pos=0;chunks=[];metas=[];log(e,t){if(e.length===0)return;this.chunks.push(e),this.metas.push({pos:this._pos,colPos:this._colPos,rowPos:this._rowPos,item:t});let n=e.split(`
9
+ `))),0,0):Slice.empty;let n=e.someProp(`clipboardTextParser`,n=>n(t,a,r,e));if(n)c=n;else{let n=a.marks(),{schema:r}=e.state,o=DOMSerializer.fromSchema(r);s=document.createElement(`div`),t.split(/(?:\r\n?|\n)+/).forEach(e=>{let t=s.appendChild(document.createElement(`p`));e&&t.appendChild(o.serializeNode(r.text(e,n)))})}}else e.someProp(`transformPastedHTML`,t=>{n=t(n,e)}),s=readHTML(n),webkit&&restoreReplacedSpaces(s);let u=s&&s.querySelector(`[data-pm-slice]`),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute(`data-pm-slice`)||``);if(d&&d[3])for(let e=+d[3];e>0;e--){let e=s.firstChild;for(;e&&e.nodeType!=1;)e=e.nextSibling;if(!e)break;s=e}if(c||=(e.someProp(`clipboardParser`)||e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||d),context:a,ruleFromNode(e){return e.nodeName==`BR`&&!e.nextSibling&&e.parentNode&&!inlineParents.test(e.parentNode.nodeName)?{ignore:!0}:null}}),d)c=addContext(closeSlice$1(c,+d[1],+d[2]),d[4]);else if(c=Slice.maxOpen(normalizeSiblings$1(c.content,a),!0),c.openStart||c.openEnd){let e=0,t=0;for(let t=c.content.firstChild;e<c.openStart&&!t.type.spec.isolating;e++,t=t.firstChild);for(let e=c.content.lastChild;t<c.openEnd&&!e.type.spec.isolating;t++,e=e.lastChild);c=closeSlice$1(c,e,t)}return e.someProp(`transformPasted`,t=>{c=t(c,e)}),c}var inlineParents=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function normalizeSiblings$1(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling$1(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight$1(o[o.length-1],a.length));let n=withWrappers$1(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers$1(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling$1(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling$1(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers$1(n,e,a+1))))}}function closeRight$1(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight$1(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange$1(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange$1(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice$1(e,t,n){return t<e.openStart&&(e=new Slice(closeRange$1(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange$1(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}var wrapMap={thead:[`table`],tbody:[`table`],tfoot:[`table`],caption:[`table`],colgroup:[`table`],col:[`table`,`colgroup`],tr:[`table`,`tbody`],td:[`table`,`tbody`,`tr`],th:[`table`,`tbody`,`tr`]},_detachedDoc=null;function detachedDoc(){return _detachedDoc||=document.implementation.createHTMLDocument(`title`)}var _policy=null;function maybeWrapTrusted(e){let t=window.trustedTypes;return t?(_policy||=t.defaultPolicy||t.createPolicy(`ProseMirrorClipboard`,{createHTML:e=>e}),_policy.createHTML(e)):e}function readHTML(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=detachedDoc().createElement(`div`),r=/<([a-z][^>\s]+)/i.exec(e),a;if((a=r&&wrapMap[r[1].toLowerCase()])&&(e=a.map(e=>`<`+e+`>`).join(``)+e+a.map(e=>`</`+e+`>`).reverse().join(``)),n.innerHTML=maybeWrapTrusted(e),a)for(let e=0;e<a.length;e++)n=n.querySelector(a[e])||n;return n}function restoreReplacedSpaces(e){let t=e.querySelectorAll(chrome?`span:not([class]):not([style])`:`span.Apple-converted-space`);for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==`\xA0`&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(` `),r)}}function addContext(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:a,openStart:o,openEnd:s}=e;for(let e=r.length-2;e>=0;e-=2){let t=n.nodes[r[e]];if(!t||t.hasRequiredAttrs())break;a=Fragment.from(t.create(r[e+1],a)),o++,s++}return new Slice(a,o,s)}var handlers={},editHandlers={},passiveHandlers={touchstart:!0,touchmove:!0},InputState=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:``,button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function initInput(e){for(let t in handlers){let n=handlers[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=t=>{eventBelongsToView(e,t)&&!runCustomHandler(e,t)&&(e.editable||!(t.type in editHandlers))&&n(e,t)},passiveHandlers[t]?{passive:!0}:void 0)}safari&&e.dom.addEventListener(`input`,()=>null),ensureListeners(e)}function setSelectionOrigin(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function destroyInput(e){e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function ensureListeners(e){e.someProp(`handleDOMEvents`,t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=t=>runCustomHandler(e,t))})}function runCustomHandler(e,t){return e.someProp(`handleDOMEvents`,n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function eventBelongsToView(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function dispatchEvent(e,t){!runCustomHandler(e,t)&&handlers[t.type]&&(e.editable||!(t.type in editHandlers))&&handlers[t.type](e,t)}editHandlers.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!inOrNearComposition(e,n)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(android&&chrome&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),ios&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let t=Date.now();e.input.lastIOSEnter=t,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==t&&(e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))),e.input.lastIOSEnter=0)},200)}else e.someProp(`handleKeyDown`,t=>t(e,n))||captureKeyDown(e,n)?n.preventDefault():setSelectionOrigin(e,`key`)},editHandlers.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)},editHandlers.keypress=(e,t)=>{let n=t;if(inOrNearComposition(e,n)||!n.charCode||n.ctrlKey&&!n.altKey||mac$2&&n.metaKey)return;if(e.someProp(`handleKeyPress`,t=>t(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof TextSelection)||!r.$from.sameParent(r.$to)){let t=String.fromCharCode(n.charCode),a=()=>e.state.tr.insertText(t).scrollIntoView();!/[\r\n]/.test(t)&&!e.someProp(`handleTextInput`,n=>n(e,r.$from.pos,r.$to.pos,t,a))&&e.dispatch(a()),n.preventDefault()}};function eventCoords(e){return{left:e.clientX,top:e.clientY}}function isNear(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function runHandlerOnContext(e,t,n,r,a){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let r=o.depth+1;r>0;r--)if(e.someProp(t,t=>r>o.depth?t(e,n,o.nodeAfter,o.before(r),a,!0):t(e,n,o.node(r),o.before(r),a,!1)))return!0;return!1}function updateSelection(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n==`pointer`&&r.setMeta(`pointer`,!0),e.dispatch(r)}function selectClickedLeaf(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&NodeSelection.isSelectable(r)?(updateSelection(e,new NodeSelection(n),`pointer`),!0):!1}function selectClickedNode(e,t){if(t==-1)return!1;let n=e.state.selection,r,a;n instanceof NodeSelection&&(r=n.node);let o=e.state.doc.resolve(t);for(let e=o.depth+1;e>0;e--){let t=e>o.depth?o.nodeAfter:o.node(e);if(NodeSelection.isSelectable(t)){a=r&&n.$from.depth>0&&e>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?o.before(n.$from.depth):o.before(e);break}}return a==null?!1:(updateSelection(e,NodeSelection.create(e.state.doc,a),`pointer`),!0)}function handleSingleClick(e,t,n,r,a){return runHandlerOnContext(e,`handleClickOn`,t,n,r)||e.someProp(`handleClick`,n=>n(e,t,r))||(a?selectClickedNode(e,n):selectClickedLeaf(e,n))}function handleDoubleClick(e,t,n,r){return runHandlerOnContext(e,`handleDoubleClickOn`,t,n,r)||e.someProp(`handleDoubleClick`,n=>n(e,t,r))}function handleTripleClick$1(e,t,n,r){return runHandlerOnContext(e,`handleTripleClickOn`,t,n,r)||e.someProp(`handleTripleClick`,n=>n(e,t,r))||defaultTripleClick(e,n,r)}function defaultTripleClick(e,t,n){if(n.button!=0)return!1;let r=e.state.doc;if(t==-1)return r.inlineContent?(updateSelection(e,TextSelection.create(r,0,r.content.size),`pointer`),!0):!1;let a=r.resolve(t);for(let t=a.depth+1;t>0;t--){let n=t>a.depth?a.nodeAfter:a.node(t),o=a.before(t);if(n.inlineContent)updateSelection(e,TextSelection.create(r,o+1,o+1+n.content.size),`pointer`);else if(NodeSelection.isSelectable(n))updateSelection(e,NodeSelection.create(r,o),`pointer`);else continue;return!0}}function forceDOMFlush(e){return endComposition(e)}var selectNodeModifier=mac$2?`metaKey`:`ctrlKey`;handlers.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=forceDOMFlush(e),a=Date.now(),o=`singleClick`;a-e.input.lastClick.time<500&&isNear(n,e.input.lastClick)&&!n[selectNodeModifier]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type==`singleClick`?o=`doubleClick`:e.input.lastClick.type==`doubleClick`&&(o=`tripleClick`)),e.input.lastClick={time:a,x:n.clientX,y:n.clientY,type:o,button:n.button};let s=e.posAtCoords(eventCoords(n));s&&(o==`singleClick`?(e.input.mouseDown&&e.input.mouseDown.done(),e.input.mouseDown=new MouseDown(e,s,n,!!r)):(o==`doubleClick`?handleDoubleClick:handleTripleClick$1)(e,s.pos,s.inside,n)?n.preventDefault():setSelectionOrigin(e,`pointer`))};var MouseDown=class{constructor(e,t,n,r){this.view=e,this.pos=t,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[selectNodeModifier],this.allowDefault=n.shiftKey;let a,o;if(t.inside>-1)a=e.state.doc.nodeAt(t.inside),o=t.inside;else{let n=e.state.doc.resolve(t.pos);a=n.parent,o=n.depth?n.before():0}let s=r?null:n.target,c=s?e.docView.nearestDesc(s,!0):null;this.target=c&&c.dom.nodeType==1?c.dom:null;let{selection:l}=e.state;(n.button==0&&a.type.spec.draggable&&a.type.spec.selectable!==!1||l instanceof NodeSelection&&l.from<=o&&l.to>o)&&(this.mightDrag={node:a,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&gecko&&!this.target.hasAttribute(`contentEditable`))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute(`contentEditable`,`false`)},20),this.view.domObserver.start()),e.root.addEventListener(`mouseup`,this.up=this.up.bind(this)),e.root.addEventListener(`mousemove`,this.move=this.move.bind(this)),setSelectionOrigin(e,`pointer`)}done(){this.view.root.removeEventListener(`mouseup`,this.up),this.view.root.removeEventListener(`mousemove`,this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(`draggable`),this.mightDrag.setUneditable&&this.target.removeAttribute(`contentEditable`),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>selectionToDOM(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(eventCoords(e))),this.updateAllowDefault(e),this.allowDefault||!t?setSelectionOrigin(this.view,`pointer`):handleSingleClick(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||safari&&this.mightDrag&&!this.mightDrag.node.isAtom||chrome&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(updateSelection(this.view,Selection.near(this.view.state.doc.resolve(t.pos)),`pointer`),e.preventDefault()):setSelectionOrigin(this.view,`pointer`)}move(e){this.updateAllowDefault(e),setSelectionOrigin(this.view,`pointer`),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};handlers.touchstart=e=>{e.input.lastTouch=Date.now(),forceDOMFlush(e),setSelectionOrigin(e,`pointer`)},handlers.touchmove=e=>{e.input.lastTouch=Date.now(),setSelectionOrigin(e,`pointer`)},handlers.contextmenu=e=>forceDOMFlush(e);function inOrNearComposition(e,t){return e.composing?!0:safari&&Math.abs(t.timeStamp-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var timeoutComposition=android?5e3:-1;editHandlers.compositionstart=editHandlers.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof TextSelection&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(e=>e.type.spec.inclusive===!1)))e.markCursor=e.state.storedMarks||n.marks(),endComposition(e,!0),e.markCursor=null;else if(endComposition(e,!t.selection.empty),gecko&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let t=e.domSelectionRange();for(let n=t.focusNode,r=t.focusOffset;n&&n.nodeType==1&&r!=0;){let t=r<0?n.lastChild:n.childNodes[r-1];if(!t)break;if(t.nodeType==3){let n=e.domSelection();n&&n.collapse(t,t.nodeValue.length);break}else n=t,r=-1}}e.input.composing=!0}scheduleComposeEnd(e,timeoutComposition)},editHandlers.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=t.timeStamp,e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,scheduleComposeEnd(e,20))};function scheduleComposeEnd(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>endComposition(e),t))}function clearComposition(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=timestampFromCustomEvent());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function findCompositionNode(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=textNodeBefore$1(t.focusNode,t.focusOffset),r=textNodeAfter$1(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let t=r.pmViewDesc,a=e.domObserver.lastChangedTextNode;if(n==a||r==a)return a;if(!t||!t.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let e=n.pmViewDesc;if(!(!e||!e.isText(n.nodeValue)))return r}}return n||r}function timestampFromCustomEvent(){let e=document.createEvent(`Event`);return e.initEvent(`event`,!0,!0),e.timeStamp}function endComposition(e,t=!1){if(!(android&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),clearComposition(e),t||e.docView&&e.docView.dirty){let n=selectionFromDOM(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function captureCopy(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement(`div`));n.appendChild(t),n.style.cssText=`position: fixed; left: -10000px; top: 10px`;let r=getSelection(),a=document.createRange();a.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(a),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var brokenClipboardAPI=ie$1&&ie_version<15||ios&&webkit_version<604;handlers.copy=editHandlers.cut=(e,t)=>{let n=t,r=e.state.selection,a=n.type==`cut`;if(r.empty)return;let o=brokenClipboardAPI?null:n.clipboardData,{dom:s,text:c}=serializeForClipboard(e,r.content());o?(n.preventDefault(),o.clearData(),o.setData(`text/html`,s.innerHTML),o.setData(`text/plain`,c)):captureCopy(e,s),a&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(`uiEvent`,`cut`))};function sliceSingleNode$1(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function capturePaste(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?`textarea`:`div`));n||(r.contentEditable=`true`),r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.focus();let a=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?doPaste(e,r.value,null,a,t):doPaste(e,r.textContent,r.innerHTML,a,t)},50)}function doPaste(e,t,n,r,a){let o=parseFromClipboard(e,t,n,r,e.state.selection.$from);if(e.someProp(`handlePaste`,t=>t(e,a,o||Slice.empty)))return!0;if(!o)return!1;let s=sliceSingleNode$1(o),c=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(c.scrollIntoView().setMeta(`paste`,!0).setMeta(`uiEvent`,`paste`)),!0}function getText$1(e){let t=e.getData(`text/plain`)||e.getData(`Text`);if(t)return t;let n=e.getData(`text/uri-list`);return n?n.replace(/\r?\n/g,` `):``}editHandlers.paste=(e,t)=>{let n=t;if(e.composing&&!android)return;let r=brokenClipboardAPI?null:n.clipboardData,a=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&doPaste(e,getText$1(r),r.getData(`text/html`),a,n)?n.preventDefault():capturePaste(e,n)};var Dragging=class{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}},dragCopyModifier=mac$2?`altKey`:`ctrlKey`;function dragMoves(e,t){return e.someProp(`dragCopies`,e=>!e(t))??!t[dragCopyModifier]}handlers.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let a=e.state.selection,o=a.empty?null:e.posAtCoords(eventCoords(n)),s;if(!(o&&o.pos>=a.from&&o.pos<=(a instanceof NodeSelection?a.to-1:a.to))){if(r&&r.mightDrag)s=NodeSelection.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let t=e.docView.nearestDesc(n.target,!0);t&&t.node.type.spec.draggable&&t!=e.docView&&(s=NodeSelection.create(e.state.doc,t.posBefore))}}let{dom:c,text:l,slice:u}=serializeForClipboard(e,(s||e.state.selection).content());(!n.dataTransfer.files.length||!chrome||chrome_version>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(brokenClipboardAPI?`Text`:`text/html`,c.innerHTML),n.dataTransfer.effectAllowed=`copyMove`,brokenClipboardAPI||n.dataTransfer.setData(`text/plain`,l),e.dragging=new Dragging(u,dragMoves(e,n),s)},handlers.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)},editHandlers.dragover=editHandlers.dragenter=(e,t)=>t.preventDefault(),editHandlers.drop=(e,t)=>{let n=t,r=e.dragging;if(e.dragging=null,!n.dataTransfer)return;let a=e.posAtCoords(eventCoords(n));if(!a)return;let o=e.state.doc.resolve(a.pos),s=r&&r.slice;s?e.someProp(`transformPasted`,t=>{s=t(s,e)}):s=parseFromClipboard(e,getText$1(n.dataTransfer),brokenClipboardAPI?null:n.dataTransfer.getData(`text/html`),!1,o);let c=!!(r&&dragMoves(e,n));if(e.someProp(`handleDrop`,t=>t(e,n,s||Slice.empty,c))){n.preventDefault();return}if(!s)return;n.preventDefault();let l=s?dropPoint(e.state.doc,o.pos,s):o.pos;l??=o.pos;let u=e.state.tr;if(c){let{node:e}=r;e?e.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,p=u.doc;if(f?u.replaceRangeWith(d,d,s.content.firstChild):u.replaceRange(d,d,s),u.doc.eq(p))return;let m=u.doc.resolve(d);if(f&&NodeSelection.isSelectable(s.content.firstChild)&&m.nodeAfter&&m.nodeAfter.sameMarkup(s.content.firstChild))u.setSelection(new NodeSelection(m));else{let t=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((e,n,r,a)=>t=a),u.setSelection(selectionBetween(e,m,u.doc.resolve(t)))}e.focus(),e.dispatch(u.setMeta(`uiEvent`,`drop`))},handlers.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add(`ProseMirror-focused`),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&selectionToDOM(e)},20))},handlers.blur=(e,t)=>{let n=t;e.focused&&=(e.domObserver.stop(),e.dom.classList.remove(`ProseMirror-focused`),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),!1)},handlers.beforeinput=(e,t)=>{if(chrome&&android&&t.inputType==`deleteContentBackward`){e.domObserver.flushSoon();let{domChangeCount:t}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=t||(e.dom.blur(),e.focus(),e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))))return;let{$cursor:n}=e.state.selection;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())},50)}};for(let e in editHandlers)handlers[e]=editHandlers[e];function compareObjs(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var WidgetType=class e{constructor(e,t){this.toDOM=e,this.spec=t||noSpec,this.side=this.spec.side||0}map(e,t,n,r){let{pos:a,deleted:o}=e.mapResult(t.from+r,this.side<0?-1:1);return o?null:new Decoration(a-n,a-n,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&compareObjs(this.spec,t.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},InlineType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.map(t.from+r,this.spec.inclusiveStart?-1:1)-n,o=e.map(t.to+r,this.spec.inclusiveEnd?1:-1)-n;return a>=o?null:new Decoration(a,o,this)}valid(e,t){return t.from<t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}static is(t){return t.type instanceof e}destroy(){}},NodeType=class e{constructor(e,t){this.attrs=e,this.spec=t||noSpec}map(e,t,n,r){let a=e.mapResult(t.from+r,1);if(a.deleted)return null;let o=e.mapResult(t.to+r,-1);return o.deleted||o.pos<=a.pos?null:new Decoration(a.pos-n,o.pos-n,this)}valid(e,t){let{index:n,offset:r}=e.content.findIndex(t.from),a;return r==t.from&&!(a=e.child(n)).isText&&r+a.nodeSize==t.to}eq(t){return this==t||t instanceof e&&compareObjs(this.attrs,t.attrs)&&compareObjs(this.spec,t.spec)}destroy(){}},Decoration=class e{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(t,n){return new e(t,n,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(t,n,r){return new e(t,t,new WidgetType(n,r))}static inline(t,n,r,a){return new e(t,n,new InlineType(r,a))}static node(t,n,r,a){return new e(t,n,new NodeType(r,a))}get spec(){return this.type.spec}get inline(){return this.type instanceof InlineType}get widget(){return this.type instanceof WidgetType}},none=[],noSpec={},DecorationSet=class e{constructor(e,t){this.local=e.length?e:none,this.children=t.length?t:none}static create(e,t){return t.length?buildTree(t,e,0,noSpec):empty$1}find(e,t,n){let r=[];return this.findInner(e??0,t??1e9,r,0,n),r}findInner(e,t,n,r,a){for(let o=0;o<this.local.length;o++){let s=this.local[o];s.from<=t&&s.to>=e&&(!a||a(s.spec))&&n.push(s.copy(s.from+r,s.to+r))}for(let o=0;o<this.children.length;o+=3)if(this.children[o]<t&&this.children[o+1]>e){let s=this.children[o]+1;this.children[o+2].findInner(e-s,t-s,n,r+s,a)}}map(e,t,n){return this==empty$1||e.maps.length==0?this:this.mapInner(e,t,0,0,n||noSpec)}mapInner(t,n,r,a,o){let s;for(let e=0;e<this.local.length;e++){let c=this.local[e].map(t,r,a);c&&c.type.valid(n,c)?(s||=[]).push(c):o.onRemove&&o.onRemove(this.local[e].spec)}return this.children.length?mapChildren(this.children,s||[],t,n,r,a,o):s?new e(s.sort(byPos),none):empty$1}add(t,n){return n.length?this==empty$1?e.create(t,n):this.addInner(t,n,0):this}addInner(t,n,r){let a,o=0;t.forEach((e,t)=>{let s=t+r,c;if(c=takeSpansForNode(n,e,s)){for(a||=this.children.slice();o<a.length&&a[o]<t;)o+=3;a[o]==t?a[o+2]=a[o+2].addInner(e,c,s+1):a.splice(o,0,t,t+e.nodeSize,buildTree(c,e,s+1,noSpec)),o+=3}});let s=moveSpans(o?withoutNulls(n):n,-r);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||s.splice(e--,1);return new e(s.length?this.local.concat(s).sort(byPos):this.local,a||this.children)}remove(e){return e.length==0||this==empty$1?this:this.removeInner(e,0)}removeInner(t,n){let r=this.children,a=this.local;for(let e=0;e<r.length;e+=3){let a,o=r[e]+n,s=r[e+1]+n;for(let e=0,n;e<t.length;e++)(n=t[e])&&n.from>o&&n.to<s&&(t[e]=null,(a||=[]).push(n));if(!a)continue;r==this.children&&(r=this.children.slice());let c=r[e+2].removeInner(a,o+1);c==empty$1?(r.splice(e,3),e-=3):r[e+2]=c}if(a.length){for(let e=0,r;e<t.length;e++)if(r=t[e])for(let e=0;e<a.length;e++)a[e].eq(r,n)&&(a==this.local&&(a=this.local.slice()),a.splice(e--,1))}return r==this.children&&a==this.local?this:a.length||r.length?new e(a,r):empty$1}forChild(t,n){if(this==empty$1)return this;if(n.isLeaf)return e.empty;let r,a;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){this.children[e]==t&&(r=this.children[e+2]);break}let o=t+1,s=o+n.content.size;for(let e=0;e<this.local.length;e++){let t=this.local[e];if(t.from<s&&t.to>o&&t.type instanceof InlineType){let e=Math.max(o,t.from)-o,n=Math.min(s,t.to)-o;e<n&&(a||=[]).push(t.copy(e,n))}}if(a){let t=new e(a.sort(byPos),none);return r?new DecorationGroup([t,r]):t}return r||empty$1}eq(t){if(this==t)return!0;if(!(t instanceof e)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return!1;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return!1;return!0}locals(e){return removeOverlap(this.localsInner(e))}localsInner(e){if(this==empty$1)return none;if(e.inlineContent||!this.local.some(InlineType.is))return this.local;let t=[];for(let e=0;e<this.local.length;e++)this.local[e].type instanceof InlineType||t.push(this.local[e]);return t}forEachSet(e){e(this)}};DecorationSet.empty=new DecorationSet([],[]),DecorationSet.removeOverlap=removeOverlap;var empty$1=DecorationSet.empty,DecorationGroup=class e{constructor(e){this.members=e}map(t,n){let r=this.members.map(e=>e.map(t,n,noSpec));return e.from(r)}forChild(t,n){if(n.isLeaf)return DecorationSet.empty;let r=[];for(let a=0;a<this.members.length;a++){let o=this.members[a].forChild(t,n);o!=empty$1&&(o instanceof e?r=r.concat(o.members):r.push(o))}return e.from(r)}eq(t){if(!(t instanceof e)||t.members.length!=this.members.length)return!1;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return!1;return!0}locals(e){let t,n=!0;for(let r=0;r<this.members.length;r++){let a=this.members[r].localsInner(e);if(a.length)if(!t)t=a;else{n&&=(t=t.slice(),!1);for(let e=0;e<a.length;e++)t.push(a[e])}}return t?removeOverlap(n?t:t.sort(byPos)):none}static from(t){switch(t.length){case 0:return empty$1;case 1:return t[0];default:return new e(t.every(e=>e instanceof DecorationSet)?t:t.reduce((e,t)=>e.concat(t instanceof DecorationSet?t:t.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function mapChildren(e,t,n,r,a,o,s){let c=e.slice();for(let e=0,t=o;e<n.maps.length;e++){let r=0;n.maps[e].forEach((e,n,a,o)=>{let s=o-a-(n-e);for(let a=0;a<c.length;a+=3){let o=c[a+1];if(o<0||e>o+t-r)continue;let l=c[a]+t-r;n>=l?c[a+1]=e<=l?-2:-1:e>=t&&s&&(c[a]+=s,c[a+1]+=s)}r+=s}),t=n.maps[e].map(t,-1)}let l=!1;for(let t=0;t<c.length;t+=3)if(c[t+1]<0){if(c[t+1]==-2){l=!0,c[t+1]=-1;continue}let u=n.map(e[t]+o),d=u-a;if(d<0||d>=r.content.size){l=!0;continue}let f=n.map(e[t+1]+o,-1)-a,{index:p,offset:m}=r.content.findIndex(d),h=r.maybeChild(p);if(h&&m==d&&m+h.nodeSize==f){let r=c[t+2].mapInner(n,h,u+1,e[t]+o+1,s);r==empty$1?(c[t+1]=-2,l=!0):(c[t]=d,c[t+1]=f,c[t+2]=r)}else l=!0}if(l){let l=buildTree(mapAndGatherRemainingDecorations(c,e,t,n,a,o,s),r,0,s);t=l.local;for(let e=0;e<c.length;e+=3)c[e+1]<0&&(c.splice(e,3),e-=3);for(let e=0,t=0;e<l.children.length;e+=3){let n=l.children[e];for(;t<c.length&&c[t]<n;)t+=3;c.splice(t,0,l.children[e],l.children[e+1],l.children[e+2])}}return new DecorationSet(t.sort(byPos),c)}function moveSpans(e,t){if(!t||!e.length)return e;let n=[];for(let r=0;r<e.length;r++){let a=e[r];n.push(new Decoration(a.from+t,a.to+t,a.type))}return n}function mapAndGatherRemainingDecorations(e,t,n,r,a,o,s){function c(e,t){for(let o=0;o<e.local.length;o++){let c=e.local[o].map(r,a,t);c?n.push(c):s.onRemove&&s.onRemove(e.local[o].spec)}for(let n=0;n<e.children.length;n+=3)c(e.children[n+2],e.children[n]+t+1)}for(let n=0;n<e.length;n+=3)e[n+1]==-1&&c(e[n+2],t[n]+o+1);return n}function takeSpansForNode(e,t,n){if(t.isLeaf)return null;let r=n+t.nodeSize,a=null;for(let t=0,o;t<e.length;t++)(o=e[t])&&o.from>n&&o.to<r&&((a||=[]).push(o),e[t]=null);return a}function withoutNulls(e){let t=[];for(let n=0;n<e.length;n++)e[n]!=null&&t.push(e[n]);return t}function buildTree(e,t,n,r){let a=[],o=!1;t.forEach((t,s)=>{let c=takeSpansForNode(e,t,s+n);if(c){o=!0;let e=buildTree(c,t,n+s+1,r);e!=empty$1&&a.push(s,s+t.nodeSize,e)}});let s=moveSpans(o?withoutNulls(e):e,-n).sort(byPos);for(let e=0;e<s.length;e++)s[e].type.valid(t,s[e])||(r.onRemove&&r.onRemove(s[e].spec),s.splice(e--,1));return s.length||a.length?new DecorationSet(s,a):empty$1}function byPos(e,t){return e.from-t.from||e.to-t.to}function removeOverlap(e){let t=e;for(let n=0;n<t.length-1;n++){let r=t[n];if(r.from!=r.to)for(let a=n+1;a<t.length;a++){let o=t[a];if(o.from==r.from){o.to!=r.to&&(t==e&&(t=e.slice()),t[a]=o.copy(o.from,r.to),insertAhead(t,a+1,o.copy(r.to,o.to)));continue}else{o.from<r.to&&(t==e&&(t=e.slice()),t[n]=r.copy(r.from,o.from),insertAhead(t,a,r.copy(o.from,r.to)));break}}}return t}function insertAhead(e,t,n){for(;t<e.length&&byPos(n,e[t])>0;)t++;e.splice(t,0,n)}function viewDecorations(e){let t=[];return e.someProp(`decorations`,n=>{let r=n(e.state);r&&r!=empty$1&&t.push(r)}),e.cursorWrapper&&t.push(DecorationSet.create(e.state.doc,[e.cursorWrapper.deco])),DecorationGroup.from(t)}var observeOptions={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},useCharData=ie$1&&ie_version<=11,SelectionState=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},DOMObserver=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new SelectionState,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(e=>{for(let t=0;t<e.length;t++)this.queue.push(e[t]);ie$1&&ie_version<=11&&e.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,observeOptions)),this.onCharData&&this.view.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener(`selectionchange`,this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener(`selectionchange`,this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hasFocusAndSelection(this.view)){if(this.suppressingSelectionUpdates)return selectionToDOM(this.view);if(ie$1&&ie_version<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,n;for(let n=e.focusNode;n;n=parentNode(n))t.add(n);for(let r=e.anchorNode;r;r=parentNode(r))if(t.has(r)){n=r;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:`selection`,target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hasFocusAndSelection(e)&&!this.ignoreSelectionChange(n),a=-1,o=-1,s=!1,c=[];if(e.editable)for(let e=0;e<t.length;e++){let n=this.registerMutation(t[e],c);n&&(a=a<0?n.from:Math.min(n.from,a),o=o<0?n.to:Math.max(n.to,o),n.typeOver&&(s=!0))}if(gecko&&c.length){let t=c.filter(e=>e.nodeName==`BR`);if(t.length==2){let[e,n]=t;e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}else{let{focusNode:n}=this.currentSelection;for(let r of t){let t=r.parentNode;t&&t.nodeName==`LI`&&(!n||blockParent(e,n)!=t)&&r.remove()}}}let l=null;a<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&selectionCollapsed(n)&&(l=selectionFromDOM(e))&&l.eq(Selection.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,selectionToDOM(e),this.currentSelection.set(n),e.scrollToSelection()):(a>-1||r)&&(a>-1&&(e.docView.markDirty(a,o),checkCSS(e)),this.handleDOMChange(a,o,s,c),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||selectionToDOM(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type==`attributes`&&(n==this.view.docView||e.attributeName==`contenteditable`||e.attributeName==`style`&&!e.oldValue&&!e.target.getAttribute(`style`))||!n||n.ignoreMutation(e))return null;if(e.type==`childList`){for(let n=0;n<e.addedNodes.length;n++){let r=e.addedNodes[n];t.push(r),r.nodeType==3&&(this.lastChangedTextNode=r)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,a=e.nextSibling;if(ie$1&&ie_version<=11&&e.addedNodes.length)for(let t=0;t<e.addedNodes.length;t++){let{previousSibling:n,nextSibling:o}=e.addedNodes[t];(!n||Array.prototype.indexOf.call(e.addedNodes,n)<0)&&(r=n),(!o||Array.prototype.indexOf.call(e.addedNodes,o)<0)&&(a=o)}let o=r&&r.parentNode==e.target?domIndex(r)+1:0,s=n.localPosFromDOM(e.target,o,-1),c=a&&a.parentNode==e.target?domIndex(a):e.target.childNodes.length;return{from:s,to:n.localPosFromDOM(e.target,c,1)}}else if(e.type==`attributes`)return{from:n.posAtStart-n.border,to:n.posAtEnd+n.border};else return this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}}},cssChecked=new WeakMap,cssCheckWarned=!1;function checkCSS(e){if(!cssChecked.has(e)&&(cssChecked.set(e,null),[`normal`,`nowrap`,`pre-line`].indexOf(getComputedStyle(e.dom).whiteSpace)!==-1)){if(e.requiresGeckoHackNode=gecko,cssCheckWarned)return;console.warn(`ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.`),cssCheckWarned=!0}}function rangeToSelectionRange(e,t){let n=t.startContainer,r=t.startOffset,a=t.endContainer,o=t.endOffset,s=e.domAtPos(e.state.selection.anchor);return isEquivalentPosition(s.node,s.offset,a,o)&&([n,r,a,o]=[a,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}}function safariShadowSelectionRange(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return rangeToSelectionRange(e,n)}let n;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.dom.addEventListener(`beforeinput`,r,!0),document.execCommand(`indent`),e.dom.removeEventListener(`beforeinput`,r,!0),n?rangeToSelectionRange(e,n):null}function blockParent(e,t){for(let n=t.parentNode;n&&n!=e.dom;n=n.parentNode){let t=e.docView.nearestDesc(n,!0);if(t&&t.node.isBlock)return n}return null}function parseBetween(e,t,n){let{node:r,fromOffset:a,toOffset:o,from:s,to:c}=e.docView.parseRange(t,n),l=e.domSelectionRange(),u,d=l.anchorNode;if(d&&e.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],selectionCollapsed(l)||u.push({node:l.focusNode,offset:l.focusOffset})),chrome&&e.input.lastKeyCode===8)for(let e=o;e>a;e--){let t=r.childNodes[e-1],n=t.pmViewDesc;if(t.nodeName==`BR`&&!n){o=e;break}if(!n||n.size)break}let f=e.state.doc,p=e.someProp(`domParser`)||DOMParser$1.fromSchema(e.state.schema),m=f.resolve(s),h=null,g=p.parse(r,{topNode:m.parent,topMatch:m.parent.contentMatchAt(m.index()),topOpen:!0,from:a,to:o,preserveWhitespace:m.parent.type.whitespace==`pre`?`full`:!0,findPositions:u,ruleFromNode,context:m});if(u&&u[0].pos!=null){let e=u[0].pos,t=u[1]&&u[1].pos;t??=e,h={anchor:e+s,head:t+s}}return{doc:g,sel:h,from:s,to:c}}function ruleFromNode(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==`BR`&&e.parentNode){if(safari&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let e=document.createElement(`div`);return e.appendChild(document.createElement(`li`)),{skip:e}}else if(e.parentNode.lastChild==e||safari&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==`IMG`&&e.getAttribute(`mark-placeholder`))return{ignore:!0};return null}var isInline=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function readDOMChange(e,t,n,r,a){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let t=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,n=selectionFromDOM(e,t);if(n&&!e.state.selection.eq(n)){if(chrome&&android&&e.input.lastKeyCode===13&&Date.now()-100<e.input.lastKeyCodeTime&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`))))return;let r=e.state.tr.setSelection(n);t==`pointer`?r.setMeta(`pointer`,!0):t==`key`&&r.scrollIntoView(),o&&r.setMeta(`composition`,o),e.dispatch(r)}return}let s=e.state.doc.resolve(t),c=s.sharedDepth(n);t=s.before(c+1),n=e.state.doc.resolve(n).after(c+1);let l=e.state.selection,u=parseBetween(e,t,n),d=e.state.doc,f=d.slice(u.from,u.to),p,m;e.input.lastKeyCode===8&&Date.now()-100<e.input.lastKeyCodeTime?(p=e.state.selection.to,m=`end`):(p=e.state.selection.from,m=`start`),e.input.lastKeyCode=null;let h=findDiff(f.content,u.doc.content,u.from,p,m);if(h&&e.input.domChangeCount++,(ios&&e.input.lastIOSEnter>Date.now()-225||android)&&a.some(e=>e.nodeType==1&&!isInline.test(e.nodeName))&&(!h||h.endA>=h.endB)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(!h)if(r&&l instanceof TextSelection&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))h={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let t=resolveSelection(e,e.state.doc,u.sel);if(t&&!t.eq(e.state.selection)){let n=e.state.tr.setSelection(t);o&&n.setMeta(`composition`,o),e.dispatch(n)}}return}e.state.selection.from<e.state.selection.to&&h.start==h.endB&&e.state.selection instanceof TextSelection&&(h.start>e.state.selection.from&&h.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?h.start=e.state.selection.from:h.endA<e.state.selection.to&&h.endA>=e.state.selection.to-2&&e.state.selection.to<=u.to&&(h.endB+=e.state.selection.to-h.endA,h.endA=e.state.selection.to)),ie$1&&ie_version<=11&&h.endB==h.start+1&&h.endA==h.start&&h.start>u.from&&u.doc.textBetween(h.start-u.from-1,h.start-u.from+1)==` \xA0`&&(h.start--,h.endA--,h.endB--);let g=u.doc.resolveNoCache(h.start-u.from),_=u.doc.resolveNoCache(h.endB-u.from),v=d.resolve(h.start),y=g.sameParent(_)&&g.parent.inlineContent&&v.end()>=h.endA,b;if((ios&&e.input.lastIOSEnter>Date.now()-225&&(!y||a.some(e=>e.nodeName==`DIV`||e.nodeName==`P`))||!y&&g.pos<u.doc.content.size&&(!g.sameParent(_)||!g.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(g.pos,_.pos,``,``))&&(b=Selection.findFrom(u.doc.resolve(g.pos+1),1,!0))&&b.head>g.pos)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>h.start&&looksLikeBackspace(d,h.start,h.endA,g,_)&&e.someProp(`handleKeyDown`,t=>t(e,keyEvent(8,`Backspace`)))){android&&chrome&&e.domObserver.suppressSelectionUpdates();return}chrome&&h.endB==h.start&&(e.input.lastChromeDelete=Date.now()),android&&!y&&g.start()!=_.start()&&_.parentOffset==0&&g.depth==_.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==h.endA&&(h.endB-=2,_=u.doc.resolveNoCache(h.endB-u.from),setTimeout(()=>{e.someProp(`handleKeyDown`,function(t){return t(e,keyEvent(13,`Enter`))})},20));let x=h.start,S=h.endA,w=t=>{let n=t||e.state.tr.replace(x,S,u.doc.slice(h.start-u.from,h.endB-u.from));if(u.sel){let t=resolveSelection(e,n.doc,u.sel);t&&!(chrome&&e.composing&&t.empty&&(h.start!=h.endB||e.input.lastChromeDelete<Date.now()-100)&&(t.head==x||t.head==n.mapping.map(S)-1)||ie$1&&t.empty&&t.head==x)&&n.setSelection(t)}return o&&n.setMeta(`composition`,o),n.scrollIntoView()},E;if(y){if(g.pos==_.pos){ie$1&&ie_version<=11&&g.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(()=>selectionToDOM(e),20));let t=w(e.state.tr.delete(x,S)),n=d.resolve(h.start).marksAcross(d.resolve(h.endA));n&&t.ensureMarks(n),e.dispatch(t)}else if(h.endA==h.endB&&(E=isMarkChange(g.parent.content.cut(g.parentOffset,_.parentOffset),v.parent.content.cut(v.parentOffset,h.endA-v.start())))){let t=w(e.state.tr);E.type==`add`?t.addMark(x,S,E.mark):t.removeMark(x,S,E.mark),e.dispatch(t)}else if(g.parent.child(g.index()).isText&&g.index()==_.index()-+!_.textOffset){let t=g.parent.textBetween(g.parentOffset,_.parentOffset),n=()=>w(e.state.tr.insertText(t,x,S));e.someProp(`handleTextInput`,r=>r(e,x,S,t,n))||e.dispatch(n())}}else e.dispatch(w())}function resolveSelection(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:selectionBetween(e,t.resolve(n.anchor),t.resolve(n.head))}function isMarkChange(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,a=n,o=r,s,c,l;for(let e=0;e<r.length;e++)a=r[e].removeFromSet(a);for(let e=0;e<n.length;e++)o=n[e].removeFromSet(o);if(a.length==1&&o.length==0)c=a[0],s=`add`,l=e=>e.mark(c.addToSet(e.marks));else if(a.length==0&&o.length==1)c=o[0],s=`remove`,l=e=>e.mark(c.removeFromSet(e.marks));else return null;let u=[];for(let e=0;e<t.childCount;e++)u.push(l(t.child(e)));if(Fragment.from(u).eq(e))return{mark:c,type:s}}function looksLikeBackspace(e,t,n,r,a){if(n-t<=a.pos-r.pos||skipClosingAndOpening(r,!0,!1)<a.pos)return!1;let o=e.resolve(t);if(!r.parent.isTextblock){let e=o.nodeAfter;return e!=null&&n==t+e.nodeSize}if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;let s=e.resolve(skipClosingAndOpening(o,!0,!0));return!s.parent.isTextblock||s.pos>n||skipClosingAndOpening(s,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(s.parent.content)}function skipClosingAndOpening(e,t,n){let r=e.depth,a=t?e.end():e.pos;for(;r>0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,a++,t=!1;if(n){let t=e.node(r).maybeChild(e.indexAfter(r));for(;t&&!t.isLeaf;)t=t.firstChild,a++}return a}function findDiff(e,t,n,r,a){let o=e.findDiffStart(t,n);if(o==null)return null;let{a:s,b:c}=e.findDiffEnd(t,n+e.size,n+t.size);if(a==`end`){let e=Math.max(0,o-Math.min(s,c));r-=s+e-o}if(s<o&&e.size<t.size){let e=r<=o&&r>=s?o-r:0;o-=e,o&&o<t.size&&isSurrogatePair(t.textBetween(o-1,o+1))&&(o+=e?1:-1),c=o+(c-s),s=o}else if(c<o){let t=r<=o&&r>=c?o-r:0;o-=t,o&&o<e.size&&isSurrogatePair(e.textBetween(o-1,o+1))&&(o+=t?1:-1),s=o+(s-c),c=o}return{start:o,endA:s,endB:c}}function isSurrogatePair(e){if(e.length!=2)return!1;let t=e.charCodeAt(0),n=e.charCodeAt(1);return t>=56320&&t<=57343&&n>=55296&&n<=56319}var EditorView=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new InputState,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(checkStateComponent$1),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement(`div`),e&&(e.appendChild?e.appendChild(this.dom):typeof e==`function`?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=getEditable$1(this),updateCursorWrapper(this),this.nodeViews=buildNodeViews$1(this),this.docView=docViewDesc(this.state.doc,computeDocDeco(this),viewDecorations(this),this.dom,this),this.domObserver=new DOMObserver(this,(e,t,n,r)=>readDOMChange(this,e,t,n,r)),this.domObserver.start(),initInput(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ensureListeners(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent$1),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var n;let r=this.state,a=!1,o=!1;e.storedMarks&&this.composing&&(clearComposition(this),o=!0),this.state=e;let s=r.plugins!=e.plugins||this._props.plugins!=t.plugins;if(s||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews$1(this);changedNodeViews$1(e,this.nodeViews)&&(this.nodeViews=e,a=!0)}(s||t.handleDOMEvents!=this._props.handleDOMEvents)&&ensureListeners(this),this.editable=getEditable$1(this),updateCursorWrapper(this);let c=viewDecorations(this),l=computeDocDeco(this),u=r.plugins!=e.plugins&&!r.doc.eq(e.doc)?`reset`:e.scrollToSelection>r.scrollToSelection?`to selection`:`preserve`,d=a||!this.docView.matchesNode(e.doc,l,c);(d||!e.selection.eq(r.selection))&&(o=!0);let f=u==`preserve`&&o&&this.dom.style.overflowAnchor==null&&storeScrollPos(this);if(o){this.domObserver.stop();let t=d&&(ie$1||chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&selectionContextChanged(r.selection,e.selection);if(d){let n=chrome?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=findCompositionNode(this)),(a||!this.docView.update(e.doc,l,c,this))&&(this.docView.updateOuterDeco(l),this.docView.destroy(),this.docView=docViewDesc(e.doc,l,c,this.dom,this)),n&&!this.trackWrites&&(t=!0)}t||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&anchorInRightPlace(this))?selectionToDOM(this,t):(syncNodeSelection(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(r),this.dragging?.node&&!r.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,r),u==`reset`?this.dom.scrollTop=0:u==`to selection`?this.scrollToSelection():f&&resetScrollPos(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))&&!this.someProp(`handleScrollToSelection`,e=>e(this)))if(this.state.selection instanceof NodeSelection){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&scrollRectIntoView(this,t.getBoundingClientRect(),e)}else scrollRectIntoView(this,this.coordsAtPos(this.state.selection.head,1),e)}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,r=-1;if(this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let e=n.from+(this.state.doc.content.size-t.doc.content.size);(e>0&&this.state.doc.nodeAt(e))==n.node&&(r=e)}this.dragging=new Dragging(e.slice,e.move,r<0?void 0:NodeSelection.create(this.state.doc,r))}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){if(ie$1){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable==`false`)return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&focusPreventScroll(this.dom),selectionToDOM(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let e=this.dom.parentNode;e;e=e.parentNode)if(e.nodeType==9||e.nodeType==11&&e.host)return e.getSelection||(Object.getPrototypeOf(e).getSelection=()=>e.ownerDocument.getSelection()),this._root=e}return e||document}updateRoot(){this._root=null}posAtCoords(e){return posAtCoords(this,e)}coordsAtPos(e,t=1){return coordsAtPos(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let r=this.docView.posFromDOM(e,t,n);if(r==null)throw RangeError(`DOM position not inside the editor`);return r}endOfTextblock(e,t){return endOfTextblock(this,t||this.state,e)}pasteHTML(e,t){return doPaste(this,``,e,!1,t||new ClipboardEvent(`paste`))}pasteText(e,t){return doPaste(this,e,null,!0,t||new ClipboardEvent(`paste`))}serializeForClipboard(e){return serializeForClipboard(this,e)}destroy(){this.docView&&(destroyInput(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],viewDecorations(this),this),this.dom.textContent=``):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,clearReusedRange())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return dispatchEvent(this,e)}domSelectionRange(){let e=this.domSelection();return e?safari&&this.root.nodeType===11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariShadowSelectionRange(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};EditorView.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function computeDocDeco(e){let t=Object.create(null);return t.class=`ProseMirror`,t.contenteditable=String(e.editable),e.someProp(`attributes`,n=>{if(typeof n==`function`&&(n=n(e.state)),n)for(let e in n)e==`class`?t.class+=` `+n[e]:e==`style`?t.style=(t.style?t.style+`;`:``)+n[e]:!t[e]&&e!=`contenteditable`&&e!=`nodeName`&&(t[e]=String(n[e]))}),t.translate||=`no`,[Decoration.node(0,e.state.doc.content.size,t)]}function updateCursorWrapper(e){if(e.markCursor){let t=document.createElement(`img`);t.className=`ProseMirror-separator`,t.setAttribute(`mark-placeholder`,`true`),t.setAttribute(`alt`,``),e.cursorWrapper={dom:t,deco:Decoration.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function getEditable$1(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function selectionContextChanged(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function buildNodeViews$1(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews$1(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent$1(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}var MAX_MATCH=500,InputRule=class{regex;handler;undoable;inCode;constructor(e,t,n={}){this.regex=e,this.regex=e,this.handler=typeof t==`string`?stringHandler(t):t,this.undoable=n.undoable!==!1,this.inCode=n.inCode||!1}};function stringHandler(e){return function(t,n,r,a,o){t||=n.tr;let s=e;if(r[1]){let e=r[0].lastIndexOf(r[1]);s+=r[0].slice(e+r[1].length),a+=e;let t=a-o;t>0&&(s=r[0].slice(e-t,e)+s,a=o)}return t.insertText(s,a,o)}}var InputRulesPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`input-rules`),state:{init(){return null},apply(e,t){return e.getMeta(this)||(e.selectionSet||e.docChanged?null:t)}},props:{handleTextInput(e,t,n,r){return runInputRulesRange(t,n,r)(e.state,t=>{e.dispatch(t)},e)},handleDOMEvents:{compositionend:e=>{setTimeout(()=>{let{$cursor:t}=e.state.selection;if(t)return runInputRulesRange(t.pos,t.pos,``)(e.state,t=>{e.dispatch(t)},e)})}}},rules:e,isInputRules:!0})}},runInputRulesTexts=()=>{let e=(e,t,n)=>{let r=e.plugins.find(e=>e.spec.isInputRules);if(!r)return!1;let a=r.spec.rules;if(n?.composing)return!1;let o=e.doc,s=e.tr;for(let t=0;t<a.length;t++){let n=a[t],c=[];if(o.descendants((e,t)=>{e.isText&&c.push({pos:t,node:e})}),c.length===0)return!1;for(let t=c.length-1;t>=0;t--){let{pos:a,node:l}=c[t];if(!l.isText||!l.text)continue;let u=l.text;if(l.type.spec.code){if(!n.inCode)continue}else if(n.inCode===`only`)continue;let d=n.regex.exec(u);if(!d)continue;let f=d.index,p=a+f,m=a+f+d[0].length,h=n.handler(s,e,d,p,m);h&&(s=h,o=s.doc,n.undoable&&s.setMeta(r,{transform:s,from:p,to:m,text:u}))}}return t&&t(s),s.docChanged};return e.displayName=`runInputRulesTexts`,e},runInputRulesRange=(e,t,n)=>{let r=(r,a,o)=>{let s=r.plugins.find(e=>e.spec.isInputRules);if(!s)return!1;let c=s.spec.rules;if(o?.composing)return!1;let l=r.doc.resolve(e),u=l.parent.textBetween(Math.max(0,l.parentOffset-MAX_MATCH),l.parentOffset,null,``)+n,d=r.tr;for(let a=0;a<c.length;a++){let o=c[a];if(l.parent.type.spec.code){if(!o.inCode)continue}else if(o.inCode===`only`)continue;let f=o.regex.exec(u);if(!f)continue;let p=o.handler(d,r,f,d.mapping.map(e-(f[0].length-n.length)),d.mapping.map(t));if(p){d=p,o.undoable&&d.setMeta(s,{transform:d,from:e,to:t,text:n});break}}return d.docChanged?(a?.(d),!0):!1};return r.displayName=`runInputRulesRange`,r},undoInputRuleCommand=(e,t)=>{let n=e.plugins.find(e=>e.spec.isInputRules);if(!n)return!1;let r=n.getState(e);if(!r)return!1;if(t){let n=e.tr,a=r.transform;for(let e=a.steps.length-1;e>=0;e--)n.step(a.steps[e].invert(a.docs[e]));if(r.text){let t=n.doc.resolve(r.from).marks();n.replaceWith(r.from,r.to,e.schema.text(r.text,t))}else n.delete(r.from,r.to);t(n)}return!0},base={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:`'`},shift={48:`)`,49:`!`,50:`@`,51:`#`,52:`$`,53:`%`,54:`^`,55:`&`,56:`*`,57:`(`,59:`:`,61:`+`,173:`_`,186:`:`,187:`+`,188:`<`,189:`_`,190:`>`,191:`?`,192:`~`,219:`{`,220:`|`,221:`}`,222:`"`},mac$1=typeof navigator<`u`&&/Mac/.test(navigator.platform),ie=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(let e=0;e<10;e++)base[48+e]=base[96+e]=String(e);for(let e=1;e<=24;e++)base[e+111]=`F`+e;for(let e=65;e<=90;e++)base[e]=String.fromCharCode(e+32),shift[e]=String.fromCharCode(e);for(let e in base)Object.prototype.hasOwnProperty.call(shift,e)||(shift[e]=base[e]);function keyName(e){let t=!(mac$1&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||ie&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var mac=typeof navigator<`u`&&/Mac|iP(hone|[oa]d)/.test(navigator?.platform),windows=typeof navigator<`u`&&/Win/.test(navigator?.platform);function normalizeKeyName(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==`Space`&&(n=` `);let r,a,o,s;for(let e=0;e<t.length-1;e++){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))s=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))a=!0;else if(/^s(hift)?$/i.test(n))o=!0;else if(/^mod$/i.test(n))mac?s=!0:a=!0;else throw Error(`Unrecognized modifier name: `+n)}return r&&(n=`Alt-`+n),a&&(n=`Ctrl-`+n),s&&(n=`Meta-`+n),o&&(n=`Shift-`+n),n}function normalize(e){let t=Object.create(null);for(let n in e)t[normalizeKeyName(n)]=e[n];return t}function modifiers(e,t,n=!0){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n&&t.shiftKey&&(e=`Shift-`+e),e}var KeymapPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`keymap`),props:{handleKeyDown:keydownHandler(e)}})}};function keydownHandler(e){let t=normalize(e);return function(e,n){let r=keyName(n),a,o=t[modifiers(r,n)];if(o&&o(e.state,e.dispatch,e))return!0;if(r.length==1&&r!=` `){if(n.shiftKey){let a=t[modifiers(r,n,!1)];if(a&&a(e.state,e.dispatch,e))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(windows&&n.ctrlKey&&n.altKey)&&(a=base[n.keyCode])&&a!=r){let r=t[modifiers(a,n)];if(r&&r(e.state,e.dispatch,e))return!0}}return!1}}function firstCommand$1(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}function getHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))t.attrs[r]===void 0?a.toDom?n[r]=a.toDom(t):n[r]=a.default:n[r]=t.attrs[r];return n}function setHtmlAttributes(e,t){let n={};if(e.attributes)for(let[r,a]of Object.entries(e.attributes))a.fromDom?n[r]=a.fromDom(t):n[r]=a.default;return n}function addAttributesToSchema(e,t){if(t.attributes){e.attrs||={};for(let[n,r]of Object.entries(t.attributes))e.attrs[n]=r,r.toDom||=e=>e.attrs[n]}}var TrackSelecionPlugin=class extends Plugin{constructor(e){super({key:new PluginKey(`track-selection`),view(t){return{update(t,n){let r=t.state,a=n.selection,o=r.selection;if(!a.eq(o)){let t=new CustomEvent(`selection`,{detail:{selection:o}});e.dispatchEvent(t)}}}}})}},yaml_exports=require_rolldown_runtime.n({fromJSON:()=>fromJSON,parse:()=>parse$1,setPathValue:()=>setPathValue,stringify:()=>stringify,toJSON:()=>toJSON}),findUnquotedColon=e=>{let t=!1,n=!1;for(let r=0;r<e.length;r++){let a=e[r];if(a===`"`&&!t)n=!n;else if(a===`'`&&!n)t=!t;else if(a===`:`&&!t&&!n)return r}return-1};function parse$1(e){let t=e.replace(/\r\n/g,`
10
+ `).split(`
11
+ `).filter(e=>e.trim().length>0&&!e.trim().startsWith(`#`)),n=e=>(e=e.trim(),e===``||e===`null`?null:e===`true`?!0:e===`false`?!1:isNaN(Number(e))?e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?e.slice(1,-1):e:Number(e)),r=0,a=e=>{let o=null,s=null;for(;r<t.length;){let c=t[r],l=c.match(/^ */)?.[0].length??0;if(l<e)break;let u=c.trim();if(u.startsWith(`-`)){if(o===null&&(o=[],s=!0),s===!1)throw Error(`Mixed array/object structure`);s=!0;let e=u.slice(1).trim();if(e===``)r++,o.push(a(l+2));else{let s=findUnquotedColon(e);if(s===-1)o.push(n(e)),r++;else{let c=new Map,u=e.slice(0,s).trim(),d=e.slice(s+1).trim();for(r++,c.set(u,d===``?a(l+2):n(d));r<t.length;){let e=t[r],o=e.match(/^ */)?.[0].length??0;if(o<=l)break;let s=e.trim(),u=findUnquotedColon(s);if(u===-1)break;let d=s.slice(0,u).trim(),f=s.slice(u+1).trim();r++,c.set(d,f===``?a(o+2):n(f))}o.push(c)}}continue}let d=u.indexOf(`:`);if(d===-1)throw Error(`Invalid line: ${c}`);if(o===null&&(o=new Map,s=!1),s===!0)throw Error(`Mixed array/object structure`);let f=u.slice(0,d).trim(),p=u.slice(d+1).trim();r++,o.set(f,p===``?a(l+2):n(p))}return o??new Map};return a(0)}function stringify(e,t=2){e=fromJSON(e);let n=e=>` `.repeat(e*t),r=e=>typeof e==`object`&&!!e&&!Array.isArray(e),a=[];function o(e,t,c){let l=c===void 0?n(t):n(t)+c+`: `;if(e===null){a.push(l+`null`);return}if(typeof e==`number`||typeof e==`boolean`){a.push(l+String(e));return}if(typeof e==`string`){let t=/[:\s]/.test(e)?`"${e}"`:e;a.push(l+t);return}if(Array.isArray(e)){c!==void 0&&(a.push(n(t)+c+`:`),t++);for(let c of e)Array.isArray(c)||r(c)?(a.push(n(t)+`-`),o(c,t+1)):a.push(n(t)+`- `+s(c));return}if(r(e)){c!==void 0&&(a.push(n(t)+c+`:`),t++);for(let[n,r]of e)o(r,t,n);return}a.push(l+String(e))}function s(e){return e===null?`null`:typeof e==`string`?/[:\s]/.test(e)?`"${e}"`:e:String(e)}return o(e,0),a.join(`
12
+ `)}function fromJSON(e){if(e===null)return null;if(Array.isArray(e))return e.map(fromJSON);if(typeof e==`object`){if(e instanceof Map)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,fromJSON(r));return t}if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;throw Error(`Unsupported JSON value: ${typeof e}`)}function toJSON(e){if(e instanceof Map){let t={};for(let[n,r]of e)t[n]=toJSON(r);return t}return Array.isArray(e)?e.map(toJSON):e}function setPathValue(e,t,n){let r=t.match(/[^.\[\]]+|\[\d+\]/g)?.map(e=>e.startsWith(`[`)?Number(e.slice(1,-1)):e)??[];if(r.length===0)throw Error(`empty path`);if(!(e instanceof Map)&&!Array.isArray(e))throw Error(`root must be Map or array`);let a=e;for(let e=0;e<r.length-1;e++){let n=r[e],o=typeof n==`number`?Array.isArray(a)?a[n]:void 0:a instanceof Map?a.get(n):void 0;if(!(o instanceof Map)&&!Array.isArray(o)){if(o!=null)throw console.log(`next`,o),Error(`"${n}" #${e} of "${t}" not container`);o=typeof r[e+1]==`number`?[]:new Map,typeof n==`number`?a[n]=o:a.set(n,o)}a=o}let o=r[r.length-1];if(typeof o==`number`){if(!Array.isArray(a))throw Error(`target not array`);for(;a.length<=o;)a.push(null);a[o]=n}else{if(!(a instanceof Map))throw Error(`target not map`);a.set(o,n)}}var SearchQuery=class{search;caseSensitive;literal;regexp;replace;valid;wholeWord;filter;impl;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&&!validRegExp(this.search)),this.wholeWord=!!e.wholeWord,this.filter=e.filter||null,this.impl=this.valid?this.regexp?new RegExpQuery(this):new StringQuery(this):nullQuery}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}findNext(e,t=0,n=e.doc.content.size){for(;;){if(t>=n)return null;let r=this.impl.findNext(e,t,n);if(!r||this.checkResult(e,r))return r;t=r.from+1}}findPrev(e,t=e.doc.content.size,n=0){for(;;){if(t<=n)return null;let r=this.impl.findPrev(e,t,n);if(!r||this.checkResult(e,r))return r;t=r.to-1}}checkResult(e,t){return(!this.wholeWord||checkWordBoundary(e,t.from)&&checkWordBoundary(e,t.to))&&(!this.filter||this.filter(e,t))}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
13
+ `:t==`r`?`\r`:t==`t`?` `:`\\`)}getReplacements(e,t){let n=e.doc.resolve(t.from).marksAcross(e.doc.resolve(t.to)),r=[],a=Fragment.empty,o=t.from,{match:s}=t,c=s?getGroupIndices(s):[[0,t.to-t.from]],l=parseReplacement(this.unquote(this.replace)),u;for(let s of l)if(typeof s==`string`)a=a.addToEnd(e.schema.text(s,n));else if(u=c[s.group],u){let n=t.matchStart+u[0],c=t.matchStart+u[1];s.copy?a=a.append(e.doc.slice(n,c).content):((a!=Fragment.empty||n>o)&&(r.push({from:o,to:n,insert:new Slice(a,0,0)}),a=Fragment.empty),o=c)}return(a!=Fragment.empty||o<t.to)&&r.push({from:o,to:t.to,insert:new Slice(a,0,0)}),r}},nullQuery=new class{findNext(){return null}findPrev(){return null}},StringQuery=class{query;string;constructor(e){this.query=e;let t=e.unquote(e.search);e.caseSensitive||(t=t.toLowerCase()),this.string=t}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(t,r),o=textContent(e).slice(a-r,Math.min(e.content.size,n-r)),s=(this.query.caseSensitive?o:o.toLowerCase()).indexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=Math.max(r,n),o=textContent(e).slice(a-r,Math.min(e.content.size,t-r));this.query.caseSensitive||(o=o.toLowerCase());let s=o.lastIndexOf(this.string);return s<0?null:{from:a+s,to:a+s+this.string.length,match:null,matchStart:r}})}},baseFlags=`g`+(/x/.unicode==null?``:`u`)+(/x/.hasIndices==null?``:`d`),RegExpQuery=class{query;regexp;constructor(e){this.query=e,this.regexp=new RegExp(e.search,baseFlags+(e.caseSensitive?``:`i`))}findNext(e,t,n){return scanTextblocks(e.doc,t,n,(e,r)=>{let a=textContent(e).slice(0,Math.min(e.content.size,n-r));this.regexp.lastIndex=t-r;let o=this.regexp.exec(a);return o?{from:r+o.index,to:r+o.index+o[0].length,match:o,matchStart:r}:null})}findPrev(e,t,n){return scanTextblocks(e.doc,t,n,(e,n)=>{let r=textContent(e).slice(0,Math.min(e.content.size,t-n)),a;for(let e=0;;){this.regexp.lastIndex=e;let t=this.regexp.exec(r);if(!t)break;a=t,e=t.index+1}return a?{from:n+a.index,to:n+a.index+a[0].length,match:a,matchStart:n}:null})}};function getGroupIndices(e){if(e.indices)return e.indices;let t=[[0,e[0].length]];for(let n=1,r=0;n<e.length;n++){let a=e[n]?e[0].indexOf(e[n],r):-1;t.push(a<0?void 0:[a,r=a+e[n].length])}return t}function parseReplacement(e){let t=[],n=-1;function r(e){let n=t.length-1;n>-1&&typeof t[n]==`string`?t[n]+=e:t.push(e)}for(;e.length;){let a=/\$([$&\d+])/.exec(e);if(!a)return r(e),t;if(a.index>0&&r(e.slice(0,a.index+ +(a[1]==`$`))),a[1]!=`$`){let e=a[1]==`&`?0:+a[1];n>=e?t.push({group:e,copy:!0}):(n=e||1e3,t.push({group:e,copy:!1}))}e=e.slice(a.index+a[0].length)}return t}function validRegExp(e){try{return new RegExp(e,baseFlags),!0}catch{return!1}}var TextContentCache=new WeakMap;function textContent(e){let t=TextContentCache.get(e);if(t)return t;let n=``;for(let t=0;t<e.childCount;t++){let r=e.child(t);r.isText?n+=r.text:r.isLeaf?n+=``:n+=` `+textContent(r)+` `}return TextContentCache.set(e,n),n}function scanTextblocks(e,t,n,r,a=0){if(e.inlineContent)return r(e,a);if(!e.isLeaf)if(t>n)for(let o=e.childCount-1,s=a+e.content.size;o>=0&&s>n;o--){let a=e.child(o);if(s-=a.nodeSize,s<t){let e=scanTextblocks(a,t,n,r,s+1);if(e!=null)return e}}else for(let o=0,s=a;o<e.childCount&&s<n;o++){let a=e.child(o),c=s;if(s+=a.nodeSize,s>t){let e=scanTextblocks(a,t,n,r,c+1);if(e!=null)return e}}return null}function checkWordBoundary(e,t){let n=e.doc.resolve(t),r=n.nodeBefore,a=n.nodeAfter;return!r||!a||!r.isText||!a.isText?!0:!/\p{L}$/u.test(r.text)||!/^\p{L}/u.test(a.text)}var SearchState=class{query;range;deco;constructor(e,t,n){this.query=e,this.range=t,this.deco=n}};function buildMatchDeco(e,t,n){if(!t.valid)return DecorationSet.empty;let r=[],a=e.selection;for(let o=n?n.from:0,s=n?n.to:e.doc.content.size;;){let n=t.findNext(e,o,s);if(!n)break;let c=n.from==a.from&&n.to==a.to?`kb-active-search-match`:`kb-search-match`;r.push(Decoration.inline(n.from,n.to,{class:c})),o=n.to}return DecorationSet.create(e.doc,r)}var searchKey=new PluginKey(`search`);function createSearchPlugin(e={}){return new Plugin({key:searchKey,state:{init(t,n){let r=e.initialQuery||new SearchQuery({search:``}),a=e.initialRange||null;return new SearchState(r,a,buildMatchDeco(n,r,a))},apply(e,t,n,r){let a=e.getMeta(searchKey);if(a)return new SearchState(a.query,a.range,buildMatchDeco(r,a.query,a.range));if(e.docChanged||e.selectionSet){let n=t.range;if(n){let t=e.mapping.map(n.from,1),r=e.mapping.map(n.to,-1);n=t<r?{from:t,to:r}:null}t=new SearchState(t.query,n,buildMatchDeco(r,t.query,n))}return t}},props:{decorations:e=>searchKey.getState(e).deco}})}function setSearchState(e,t,n=null){return e.setMeta(searchKey,{query:t,range:n})}function nextMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findNext(t,Math.max(a,o.from),o.to);return!s&&n&&(s=e.query.findNext(t,o.from,Math.min(r,o.to))),s}function prevMatch(e,t,n,r,a){let o=e.range||{from:0,to:t.doc.content.size},s=e.query.findPrev(t,Math.min(r,o.to),o.from);return!s&&n&&(s=e.query.findPrev(t,o.to,Math.max(a,o.from))),s}function findCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o,to:s}=n.selection,c=t>0?nextMatch(a,n,e,o,s):prevMatch(a,n,e,o,s);if(!c)return!1;let l=TextSelection.create(n.doc,c.from,c.to);return r&&r(n.tr.setSelection(l).scrollIntoView()),!0}}var findNext=findCommand(!0,1),findNextNoWrap=findCommand(!1,1),findPrev=findCommand(!0,-1),findPrevNoWrap=findCommand(!1,-1);function replaceCommand(e,t){return(n,r)=>{let a=searchKey.getState(n);if(!a||!a.query.valid)return!1;let{from:o}=n.selection,s=nextMatch(a,n,e,o,o);if(!s)return!1;if(!r)return!0;if(n.selection.from==s.from&&n.selection.to==s.to){let o=n.tr,c=a.query.getReplacements(n,s);for(let e=c.length-1;e>=0;e--){let{from:t,to:n,insert:r}=c[e];o.replace(t,n,r)}let l=t&&nextMatch(a,n,e,s.from,s.to);l?o.setSelection(TextSelection.create(o.doc,o.mapping.map(l.from,1),o.mapping.map(l.to,-1))):o.setSelection(TextSelection.create(o.doc,s.from,o.mapping.map(s.to,1))),r(o.scrollIntoView())}else if(t)r(n.tr.setSelection(TextSelection.create(n.doc,s.from,s.to)).scrollIntoView());else return!1;return!0}}var replaceNext=replaceCommand(!0,!0),replaceNextNoWrap=replaceCommand(!1,!0),replaceCurrent=replaceCommand(!1,!1),replaceAll=(e,t)=>{let n=searchKey.getState(e);if(!n)return!1;let r=[],a=n.range||{from:0,to:e.doc.content.size};for(let t=a.from;;){let o=n.query.findNext(e,t,a.to);if(!o)break;r.push(o),t=o.to}if(t){let a=e.tr;for(let t=r.length-1;t>=0;t--){let o=r[t],s=n.query.getReplacements(e,o);for(let e=s.length-1;e>=0;e--){let{from:t,to:n,insert:r}=s[e];a.replace(t,n,r)}}t(a)}return!0},searchFactory=(e,t=null)=>(n,r)=>{let a=n.tr;return setSearchState(a,e,t),r&&r(a),!0},searchCommandFactories={search:searchFactory,findNext:()=>findNext,findNextNoWrap:()=>findNextNoWrap,findPrev:()=>findPrev,findPrevNoWrap:()=>findPrevNoWrap,replaceNext:()=>replaceNext,replaceNextNoWrap:()=>replaceNextNoWrap,replaceCurrent:()=>replaceCurrent,replaceAll:()=>replaceAll};function splitExtensions(e){return{baseExtensions:Array.from(e).filter(e=>e.type===`extension`),nodeExtensions:Array.from(e).filter(e=>e.type===`node`),markExtensions:Array.from(e).filter(e=>e.type===`mark`)}}var ExtensionManager=class{editorKits;debug;extensions=new Set;plugins=[];nodeViews={};converters={};constructor(e,t=!1){this.editorKits=e,this.debug=t;let n=e.reduce((e,t)=>e.concat(t.getExtensions()),[]);this.setupExtensions(new Set(n))}initPlugins(e,t){let n=[],r=new Map,a=(t,n)=>{for(let n in t){if(!t[n])continue;let a=e.commandFactories[t[n]];if(!a){console.warn(`No command constructor: ${t[n]}`);continue}let o=a(),s=r.get(n);s?r.set(n,firstCommand$1(o,s)):r.set(n,o)}},o={};for(let r of this.extensions){if(r.setEditor(e),r.type===`node`){let s=t.nodes[r.name];n.push(...r.getInputRules(s)),this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e,s),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)};let c=r.getNodeView(e);c&&(this.nodeViews[r.name]=c)}if(r.type===`mark`){let o=t.marks[r.name];n.push(...r.getInputRules(o)),e.mergeCommandFactories(r.getCommandFactories(e,o),r.name),a(r.getKeyboardShortcuts(e),r.name)}r.type===`extension`&&(this.plugins.push(...r.getProseMirrorPlugins()),e.mergeCommandFactories(r.getCommandFactories(e),r.name),a(r.getKeyboardShortcuts(e),r.name),o={...o,...r.getConverters(e,t)})}if(this.debug)for(let e in r){let t=r.get(e);t&&r.set(e,firstCommand$1((t,n,r)=>(console.debug(`Key: ${e}`),!0),t))}this.converters=o,this.plugins.push(new InputRulesPlugin(n)),this.plugins.push(new KeymapPlugin(Object.fromEntries(r))),this.plugins.push(createSearchPlugin()),this.plugins.push(new TrackSelecionPlugin(e))}setupExtensions(e){let t=new Map,n=e=>{for(let r of e){if(`name`in r){let e=t.get(r.name);if(e&&`type`in e&&r.type!==e.type)throw Error(`Duplicate mark/node: ${r.name}`);t.set(r.name,r)}if(`requires`in r){let e=Array.from(r.requires).filter(e=>typeof e!=`string`);n(new Set(e))}}};n(e);let r=new Set,a=e=>{this.debug&&console.info(`Initialize ${e.type} ${e.name}`),this.extensions.add(e)};function o(e){if(!(`name`in e&&r.has(e.name))){if(`requires`in e){let n=(e.requires||[]).map(e=>typeof e==`string`?e:`name`in e?e.name:``);for(let a of n)if(!r.has(a)){let n=t.get(a);if(!n)throw Error(`Required extension for (${`name`in e?e.name:e}) not found: ${a}`);o(n)}}`name`in e&&(a(e),r.add(e.name),t.delete(e.name))}}for(let e of t.values())o(e);if(t.size>0)throw Error(`Not all extensions initialized: `+Array.from(t.keys()).join(`, `))}getSchemaByResolvedExtensions(){let{nodeExtensions:e,markExtensions:t,baseExtensions:n}=splitExtensions(this.extensions),r={},a=``;for(let t of e){if(r[t.name]=t.getNodeSpec(),r[t.name].EMPTY_DOC){if(a)throw Error(`Multiple topNodes: ${t.name}, ${a}`);a=t.name}addAttributesToSchema(r[t.name],t)}let o={};for(let e of t)o[e.name]=e.getMarkSpec(),addAttributesToSchema(o[e.name],e);let s={topNode:a||`doc`,nodes:r,marks:o};for(let e of n)`setupSpec`in n&&e.setupSpec(s);return new Schema(s)}created(e,t){let{nodeExtensions:n,markExtensions:r,baseExtensions:a}=splitExtensions(this.extensions);for(let e of a)if(Array.isArray(e.conflicts)){for(let t of e.conflicts)if(a.find(e=>e.name===t))throw Error(`Extension conflict: ${e.name} vs ${t}`)}for(let t of a)e.ci.register(t.name,t);e.ci.register(`yaml`,yaml_exports),this.initPlugins(e,t);for(let e of this.extensions)e.created()}};function createChainableState(e,t){let{selection:n}=e,{doc:r}=e,{storedMarks:a}=e;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return n},get doc(){return r},get tr(){return n=e.selection,r=e.doc,a=e.storedMarks,e}}}var wrapInList=(e,t=null)=>function(n,r,a){let{$from:o,$to:s}=n.selection,c=o.blockRange(s);if(!c)return!1;let l=r?n.tr:null;return wrapRangeInList(l,c,e,t).apply(this,[n,r])?(r&&r(l.scrollIntoView()),!0):!1},wrapRangeInList=(e,t,n,r=null)=>()=>{let a=!1,o=t,s=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let e=s.resolve(t.start-2);o=new NodeRange(e,e,t.depth),t.endIndex<t.parent.childCount&&(t=new NodeRange(t.$from,s.resolve(t.$to.end(t.depth)),t.depth)),a=!0}let c=findWrapping(o,n,r,t);return c?(e&&doWrapInList(e,t,c,a,n),!0):!1};function doWrapInList(e,t,n,r,a){let o=Fragment.empty;for(let e=n.length-1;e>=0;e--)o=Fragment.from(n[e].type.create(n[e].attrs,o));e.step(new ReplaceAroundStep(t.start-(r?2:0),t.end,t.start,t.end,new Slice(o,0,0),n.length,!0));let s=0;for(let e=0;e<n.length;e++)n[e].type==a&&(s=e+1);let c=n.length-s,l=t.start+n.length-(r?2:0),u=t.parent;for(let n=t.startIndex,r=t.endIndex,a=!0;n<r;n++,a=!1)!a&&canSplit(e.doc,l,c)&&(e.split(l,c),l+=2*c),l+=u.child(n).nodeSize;return e}var deleteSelection=()=>(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function atBlockStart(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var joinBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);if(!a){let n=r.blockRange(),a=n&&liftTarget(n);return a==null?!1:(t&&t(e.tr.lift(n,a).scrollIntoView()),!0)}let o=a.nodeBefore;if(deleteBarrier(e,a,t,-1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`end`)||NodeSelection.isSelectable(o)))for(let n=r.depth;;n--){let s=replaceStep(e.doc,r.before(n),r.after(n),Slice.empty);if(s&&s.slice.size<s.to-s.from){if(t){let n=e.tr.step(s);n.setSelection(textblockAt(o,`end`)?Selection.findFrom(n.doc.resolve(n.mapping.map(a.pos,-1)),-1):NodeSelection.create(n.doc,a.pos-o.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos-o.nodeSize,a.pos).scrollIntoView()),!0):!1},joinTextblockBackward=()=>(e,t,n)=>{let r=atBlockStart(e,n);if(!r)return!1;let a=findCutBefore(r);return a?joinTextblocksAround(e,a,t):!1},joinTextblockForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);return a?joinTextblocksAround(e,a,t):!1};function joinTextblocksAround(e,t,n){let r=t.nodeBefore,a=t.pos-1;for(;!r.isTextblock;a--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let o=t.nodeAfter,s=t.pos+1;for(;!o.isTextblock;s++){if(o.type.spec.isolating)return!1;let e=o.firstChild;if(!e)return!1;o=e}let c=replaceStep(e.doc,a,s,Slice.empty);if(!c||c.from!=a||c instanceof ReplaceStep&&c.slice.size>=s-a)return!1;if(n){let t=e.tr.step(c);t.setSelection(TextSelection.create(t.doc,a)),n(t.scrollIntoView())}return!0}function textblockAt(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var selectNodeBackward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;o=findCutBefore(r)}let s=o&&o.nodeBefore;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function findCutBefore(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function atBlockEnd(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var joinForward=()=>(e,t,n)=>{let r=atBlockEnd(e,n);if(!r)return!1;let a=findCutAfter(r);if(!a)return!1;let o=a.nodeAfter;if(deleteBarrier(e,a,t,1))return!0;if(r.parent.content.size==0&&(textblockAt(o,`start`)||NodeSelection.isSelectable(o))){let n=replaceStep(e.doc,r.before(),r.after(),Slice.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(textblockAt(o,`start`)?Selection.findFrom(r.doc.resolve(r.mapping.map(a.pos)),1):NodeSelection.create(r.doc,r.mapping.map(a.pos))),t(r.scrollIntoView())}return!0}}return o.isAtom&&a.depth==r.depth-1?(t&&t(e.tr.delete(a.pos,a.pos+o.nodeSize).scrollIntoView()),!0):!1},selectNodeForward=()=>(e,t,n)=>{let{$head:r,empty:a}=e.selection,o=r;if(!a)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;o=findCutAfter(r)}let s=o&&o.nodeAfter;return!s||!NodeSelection.isSelectable(s)?!1:(t&&t(e.tr.setSelection(NodeSelection.create(e.doc,o.pos)).scrollIntoView()),!0)};function findCutAfter(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var joinUp=()=>(e,t)=>{let n=e.selection,r=n instanceof NodeSelection,a;if(r){if(n.node.isTextblock||!canJoin(e.doc,n.from))return!1;a=n.from}else if(a=joinPoint(e.doc,n.from,-1),a==null)return!1;if(t){let n=e.tr.join(a);r&&n.setSelection(NodeSelection.create(n.doc,a-e.doc.resolve(a).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},joinDown=()=>(e,t)=>{let n=e.selection,r;if(n instanceof NodeSelection){if(n.node.isTextblock||!canJoin(e.doc,n.to))return!1;r=n.to}else if(r=joinPoint(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},lift=()=>(e,t)=>{let{$from:n,$to:r}=e.selection,a=n.blockRange(r),o=a&&liftTarget(a);return o==null?!1:(t&&t(e.tr.lift(a,o).scrollIntoView()),!0)},newlineInCode=()=>{let e=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
14
+ `).scrollIntoView()),!0)};return e.displayName=`newlineInCode()`,e};function defaultBlockAt(e){console.log(`defaultBlockAt`,e);for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}var exitCode=()=>(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let a=n.node(-1),o=n.indexAfter(-1),s=defaultBlockAt(a.contentMatchAt(o));if(!s||!a.canReplaceWith(o,o,s))return!1;if(t){let r=n.after(),a=e.tr.replaceWith(r,r,s.createAndFill());a.setSelection(Selection.near(a.doc.resolve(r),1)),t(a.scrollIntoView())}return!0},createParagraphNear=()=>{let e=(e,t)=>{let n=e.selection,{$from:r,$to:a}=n;if(n instanceof AllSelection||r.parent.inlineContent||a.parent.inlineContent)return!1;let o=defaultBlockAt(a.parent.contentMatchAt(a.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let n=(!r.parentOffset&&a.index()<a.parent.childCount?r:a).pos,s=e.tr.insert(n,o.createAndFill());s.setSelection(TextSelection.create(s.doc,n+1)),t(s.scrollIntoView())}return!0};return e.displayName=`createParagraphNear()`,e},liftEmptyBlock=()=>{let e=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(canSplit(e.doc,r))return t&&t(e.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),a=r&&liftTarget(r);return a==null?!1:(t&&t(e.tr.lift(r,a).scrollIntoView()),!0)};return e.displayName=`liftEmptyBlock()`,e},splitBlockAs=e=>{let t=(t,n)=>{let{$from:r,$to:a}=t.selection;if(t.selection instanceof NodeSelection&&t.selection.node.isBlock)return!r.parentOffset||!canSplit(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let o=[],s,c,l=!1,u=!1;for(let t=r.depth;;t--)if(r.node(t).isBlock){l=r.end(t)==r.pos+(r.depth-t),u=r.start(t)==r.pos-(r.depth-t),c=defaultBlockAt(r.node(t-1).contentMatchAt(r.indexAfter(t-1)));let n=e&&e(a.parent,l,r);o.unshift(n||(l&&c?{type:c}:null)),s=t;break}else{if(t==1)return!1;o.unshift(null)}let d=t.tr;(t.selection instanceof TextSelection||t.selection instanceof AllSelection)&&d.deleteSelection();let f=d.mapping.map(r.pos),p=canSplit(d.doc,f,o.length,o);if(p||=(o[0]=c?{type:c}:null,canSplit(d.doc,f,o.length,o)),d.split(f,o.length,o),!l&&u&&r.node(s).type!=c){let e=d.mapping.map(r.before(s)),t=d.doc.resolve(e);c&&r.node(s-1).canReplaceWith(t.index(),t.index()+1,c)&&d.setNodeMarkup(d.mapping.map(r.before(s)),c)}return n&&n(d.scrollIntoView()),!0};return t.displayName=`splitBlockAs()`,t},splitBlock=()=>splitBlockAs(),splitBlockKeepMarks=()=>(e,t)=>splitBlockAs().apply(void 0,[e,t&&(n=>{let r=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();r&&n.ensureMarks(r),t(n)})]),selectParentNode=()=>(e,t)=>{let{$from:n,to:r}=e.selection,a,o=n.sharedDepth(r);return o==0?!1:(a=n.before(o),t&&t(e.tr.setSelection(NodeSelection.create(e.doc,a))),!0)},selectAll$1=()=>(e,t)=>(t&&t(e.tr.setSelection(new AllSelection(e.doc))),!0);function joinMaybeClear(e,t,n){let r=t.nodeBefore,a=t.nodeAfter,o=t.index();return!r||!a||!r.type.compatibleContent(a.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(a.isTextblock||canJoin(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function deleteBarrier(e,t,n,r){let a=t.nodeBefore,o=t.nodeAfter,s,c,l=a.type.spec.isolating||o.type.spec.isolating;if(!l&&joinMaybeClear(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(c=a.contentMatchAt(a.childCount)).findWrapping(o.type))&&c.matchType(s[0]||o.type).validEnd){if(n){let r=t.pos+o.nodeSize,c=Fragment.empty;for(let e=s.length-1;e>=0;e--)c=Fragment.from(s[e].create(null,c));c=Fragment.from(a.copy(c));let l=e.tr.step(new ReplaceAroundStep(t.pos-1,r,t.pos,r,new Slice(c,1,0),s.length,!0)),u=l.doc.resolve(r+2*s.length);u.nodeAfter&&u.nodeAfter.type==a.type&&canJoin(l.doc,u.pos)&&l.join(u.pos),n(l.scrollIntoView())}return!0}let d=o.type.spec.isolating||r>0&&l?null:Selection.findFrom(t,1),f=d&&d.$from.blockRange(d.$to),p=f&&liftTarget(f);if(p!=null&&p>=t.depth)return n&&n(e.tr.lift(f,p).scrollIntoView()),!0;if(u&&textblockAt(o,`start`,!0)&&textblockAt(a,`end`)){let r=a,s=[];for(;s.push(r),!r.isTextblock;)r=r.lastChild;let c=o,l=1;for(;!c.isTextblock;c=c.firstChild)l++;if(r.canReplace(r.childCount,r.childCount,c.content)){if(n){let r=Fragment.empty;for(let e=s.length-1;e>=0;e--)r=Fragment.from(s[e].copy(r));n(e.tr.step(new ReplaceAroundStep(t.pos-s.length,t.pos+o.nodeSize,t.pos+l,t.pos+o.nodeSize-l,new Slice(r,s.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function selectTextblockSide(e){return function(t,n){let r=t.selection,a=e<0?r.$from:r.$to,o=a.depth;for(;a.node(o).isInline;){if(!o)return!1;o--}return a.node(o).isTextblock?(n&&n(t.tr.setSelection(TextSelection.create(t.doc,e<0?a.start(o):a.end(o)))),!0):!1}}var wrapIn=(e,t=null)=>function(n,r){let{$from:a,$to:o}=n.selection,s=a.blockRange(o),c=s&&findWrapping(s,e,t);return c?(r&&r(n.tr.wrap(s,c).scrollIntoView()),!0):!1},setBlockType=(e,t=null)=>function(n,r){let a=!1;for(let r=0;r<n.selection.ranges.length&&!a;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];n.doc.nodesBetween(o,s,(r,o)=>{if(a)return!1;if(!(!r.isTextblock||r.hasMarkup(e,t)))if(r.type==e)a=!0;else{let t=n.doc.resolve(o),r=t.index();a=t.parent.canReplaceWith(r,r+1,e)}})}if(!a)return!1;if(r){let a=n.tr;for(let r=0;r<n.selection.ranges.length;r++){let{$from:{pos:o},$to:{pos:s}}=n.selection.ranges[r];a.setBlockType(o,s,e,t)}r(a.scrollIntoView())}return!0};function markApplies(e,t,n,r){for(let a=0;a<t.length;a++){let{$from:o,$to:s}=t[a],c=o.depth==0?e.inlineContent&&e.type.allowsMarkType(n):!1;if(e.nodesBetween(o.pos,s.pos,(e,t)=>{if(c||!r&&e.isAtom&&e.isInline&&t>=o.pos&&t+e.nodeSize<=s.pos)return!1;c=e.inlineContent&&e.type.allowsMarkType(n)}),c)return!0}return!1}function removeInlineAtoms(e){let t=[];for(let n=0;n<e.length;n++){let{$from:r,$to:a}=e[n];r.doc.nodesBetween(r.pos,a.pos,(e,n)=>{if(e.isAtom&&e.content.size&&e.isInline&&n>=r.pos&&n+e.nodeSize<=a.pos)return n+1>r.pos&&t.push(new SelectionRange(r,r.doc.resolve(n+1))),r=r.doc.resolve(n+1+e.content.size),!1}),r.pos<a.pos&&t.push(new SelectionRange(r,a))}return t}function toggleMark(e,t=null,n){let r=(n&&n.removeWhenPresent)!==!1,a=(n&&n.enterInlineAtoms)!==!1,o=!(n&&n.includeWhitespace);return function(n,s){let{empty:c,$cursor:l,ranges:u}=n.selection;if(c&&!l||!markApplies(n.doc,u,e,a))return!1;if(s)if(l)e.isInSet(n.storedMarks||l.marks())?s(n.tr.removeStoredMark(e)):s(n.tr.addStoredMark(e.create(t)));else{let c,l=n.tr;a||(u=removeInlineAtoms(u)),c=r?!u.some(t=>n.doc.rangeHasMark(t.$from.pos,t.$to.pos,e)):!u.every(t=>{let n=!1;return l.doc.nodesBetween(t.$from.pos,t.$to.pos,(r,a,o)=>{if(n)return!1;n=!e.isInSet(r.marks)&&!!o&&o.type.allowsMarkType(e)&&!(r.isText&&/^\s*$/.test(r.textBetween(Math.max(0,t.$from.pos-a),Math.min(r.nodeSize,t.$to.pos-a))))}),!n});for(let n=0;n<u.length;n++){let{$from:r,$to:a}=u[n];if(!c)l.removeMark(r.pos,a.pos,e);else{let n=r.pos,s=a.pos,c=r.nodeAfter,u=a.nodeBefore,d=o&&c&&c.isText?/^\s*/.exec(c.text)[0].length:0,f=o&&u&&u.isText?/\s*$/.exec(u.text)[0].length:0;n+d<s&&(n+=d,s-=f),l.addMark(n,s,e.create(t))}}s(l.scrollIntoView())}return!0}}var undoInputRule=()=>undoInputRuleCommand,command=e=>(...t)=>e.apply(void 0,t),baseCommandFactories={wrapInList,wrapRangeInList,deleteSelection,joinBackward,joinTextblockBackward,joinTextblockForward,joinForward,joinUp,joinDown,lift,newlineInCode,exitCode,createParagraphNear,liftEmptyBlock,splitBlockAs,splitBlock,splitBlockKeepMarks,selectAll:selectAll$1,selectParentNode,selectNodeBackward,selectNodeForward,selectTextblockStart:()=>selectTextblockSide(-1),selectTextblockEnd:()=>selectTextblockSide(1),wrapIn,setBlockType,toggleMark,undoInputRule,runInputRulesRange,runInputRulesTexts,command};function firstCommand(...e){let t=function(t,n,r){for(let a=0;a<e.length;a++)if(e[a](t,n,r))return e[a].displayName!==`first`&&console.debug(`firstCommand: `,e[a].displayName||e[a]),!0;return!1};return t.displayName=`first`,t}var backspace=firstCommand(baseCommandFactories.undoInputRule(),baseCommandFactories.deleteSelection(),baseCommandFactories.joinBackward(),baseCommandFactories.selectNodeBackward()),del=firstCommand(baseCommandFactories.deleteSelection(),baseCommandFactories.joinForward(),baseCommandFactories.selectNodeForward()),enter=firstCommand(baseCommandFactories.newlineInCode(),baseCommandFactories.createParagraphNear(),baseCommandFactories.liftEmptyBlock(),baseCommandFactories.splitBlock()),keyCommandFactories={backspace:()=>backspace,del:()=>del,enter:()=>enter},replaceRangeText=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);if(t.length>0){let e=new Slice(Fragment.from(n.schema.text(t)),0,0);a.replace(o,s,e)}else{let e=new Slice(Fragment.from(n.schema.topNodeType.createAndFill()),0,0);a.replace(o,s,e)}return r&&r(a),!0},replaceRangeSlice=(e,t)=>(n,r)=>{let a=n.tr,o=a.mapping.map(e.from),s=a.mapping.map(e.to);return a.replace(o,s,t),r&&r(a),!0};function getTopMostBlockStartForOffset(e,t){let{doc:n}=e,r=n.resolve(t),a=r.before(r.depth);return r.depth===1?a:r.start(1)}function getTopMostBlockEndForOffset(e,t){let{doc:n}=e;return n.resolve(t).end(1)}function getAdjacentTopBlock(e,t){let{doc:n}=e;if(t<0||t>n.content.size)throw RangeError(`Offset is outside the document`);let r=n.resolve(t);return r.pos===r.start(r.depth)?getTopMostBlockStartForOffset(e,t):getTopMostBlockEndForOffset(e,t)}var insertBlockBefore=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockStartForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockAfter=(e,t)=>(n,r)=>{let a=n.tr,o=getTopMostBlockEndForOffset(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},insertBlockSmart=(e,t)=>(n,r)=>{let a=n.tr,o=getAdjacentTopBlock(n,a.mapping.map(e));return a.insert(o,t),r&&r(a),!0},replaceCommandFactories={replaceRangeText,replaceRangeSlice,insertBlockBefore,insertBlockAfter,insertBlockSmart},CommandManager=class{editor;commandFactories={};run={};debug=!0;constructor(e){this.editor=e,this.mergeCommandFactories(baseCommandFactories,`baseCommand`),this.mergeCommandFactories(keyCommandFactories,`key`),this.mergeCommandFactories(replaceCommandFactories,`replace`),this.mergeCommandFactories(searchCommandFactories,`search`)}mergeCommandFactories(e,t){for(let n in e){let r=e[n];r&&this.overwriteCommandFactory(t,n,r)}}overwriteCommandFactory(e,t,n){if(this.debug){let r=(...r)=>{let a=n(...r);return(n,o,s)=>(o&&console.debug(`Command: ${e}.${t}`,...r),a.apply({editor:this.editor},[n,o,s]))};this.commandFactories[t]=r}else this.commandFactories[t]=n;this.run[t]=(...e)=>{let n=this.commandFactories[t],r=n(...e),a=this.editor.state,o=this.editor.view;return o instanceof EditorView?r.apply({editor:this.editor},[a,o.dispatch,o]):r.apply({editor:this.editor},[a,o.dispatch])}}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{commandFactories:n,editor:r}=this,a=this.editor.state,{view:o}=r,s=[],c=!!e,l=e||a.tr;l.setMeta(`isCommand`,!0);let u=createChainableState(l,a),d=()=>void 0,f={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=n(...e).apply({editor:this.editor},[u,t?d:void 0]);return s.push(r),f}])),run:()=>(!c&&t&&!l.getMeta(`preventDispatch`)&&o.dispatch(l),s.every(e=>e===!0)),chain:()=>this.createChain(l,t)};return f}createCan(e){return this.createChain(e,!1)}},SmartOutput=class{_rowPos=0;_colPos=0;_pos=0;chunks=[];metas=[];log(e,t){if(e.length===0)return;this.chunks.push(e),this.metas.push({pos:this._pos,colPos:this._colPos,rowPos:this._rowPos,item:t});let n=e.split(`
11
15
  `);n.length===1?this._colPos+=n[n.length-1].length:(this._rowPos+=n.length-1,this._colPos=n[n.length-1].length),this._pos+=e.length}getMetas(){return this.metas}get chunkPos(){return this.chunks.length}rollback(e){this.chunks.splice(e),this.metas.splice(e)}get rowPos(){return this._rowPos}get colPos(){return this._colPos}get pos(){return this._pos}backspace(e){let t=[],n=[];for(;e>0&&this.chunks[0].length>0;){let r=this.metas.pop(),a=this.chunks.pop();if(!a||!r)break;let o=a.length;a=a.substring(0,Math.max(0,a.length-e)),t.unshift(r),n.unshift(a),e-=o-a.length}this.chunks.push(...n),this.metas.push(...t)}endsWith(e){return this.chunks.join(``).endsWith(e)}toString(){return this.chunks.join(``)}getSourceMap(e){let t=[],n=-1,r=-1,a=0,o=0,s=0,c=0;for(let l of this.metas){for(;l.rowPos>=t.length;)t.push([]);if(n!=l.rowPos||r!=l.colPos){let r=t[l.rowPos];n!=l.rowPos&&(c=0);let u=e(l.rowPos,l.colPos,l.pos,l.item);u&&(r.push([l.colPos-c,u.sourceNo-a,u.sourceRowPos-o,u.sourceColPos-s]),c=l.colPos,a=u.sourceNo,o=u.sourceRowPos,s=u.sourceColPos)}n=l.rowPos,r=l.colPos}return{version:3,file:``,sourceRoot:``,sources:[],sourcesContent:[],names:[],mappings:t.map(e=>e.map(e=>encode(e)).join(`,`)).join(`;`)}}},char_to_integer={},integer_to_char={};`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.split(``).forEach(function(e,t){char_to_integer[e]=t,integer_to_char[t]=e});function encode(e){if(typeof e==`number`)return encode_integer(e);let t=``;for(let n=0;n<e.length;n+=1)t+=encode_integer(e[n]);return t}function encode_integer(e){let t=``;e<0?e=-e<<1|1:e<<=1;do{let n=e&31;e>>>=5,e>0&&(n|=32),t+=integer_to_char[n]}while(e>0);return t}function trimText(e,t=20){return e=e.replaceAll(`
12
16
  `,`\\n`),e.length<=t?e:e.slice(0,t)+`...`}function nodeToTreeStringOutput(e,t,n=0,r=0){let a=``;for(let e=0;e<n;e++)a+=` `;if(Array.isArray(t)){for(let o of t)e.log(a,{node:o,pos:r}),nodeToTreeStringOutput(e,o,n+1,r);return}let o=``;if(`type`in t){o+=` - [${t.type.name}] `,o+=`pos: ${r}, `,o+=`nodeSize: ${t.nodeSize}, `,o+=`epos: ${r+t.nodeSize}, `,t.content&&(o+=`fragment.size: ${t.content.size}, `),e.log(a+o+`
13
17
  `,{node:t,pos:r});let n=``;if(t.marks)for(let e of t.marks)n+=`(${e.type.name}), `;n&&e.log(a+` `+n+`
14
18
  `,{node:t,pos:r}),t.text&&e.log(a+` "`+trimText(t.text)+`"
15
- `,{node:t,pos:r})}return t.forEach((t,a)=>{nodeToTreeStringOutput(e,t,n+1,r+a+1)}),e}function nodeToTreeString(e){let t=new SmartOutput;return nodeToTreeStringOutput(t,e),t.toString()}var DummyEditorView=class{_props;directPlugins;nodeViews;prevDirectPlugins=[];pluginViews=[];state;focused=!1;constructor(e){this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(checkStateComponent),this.dispatch=this.dispatch.bind(this),this.editable=getEditable(this),this.nodeViews=buildNodeViews(this),this.updatePluginViews()}editable;get composing(){return!1}get dom(){return{addEventListener(){},removeEventListener(){}}}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){let n=this.state,r=!1,a=!1;if(e.storedMarks&&this.composing,this.state=e,n.plugins!=e.plugins||this._props.plugins!=t.plugins||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews(this);changedNodeViews(e,this.nodeViews)&&(this.nodeViews=e,r=!0)}this.editable=getEditable(this),r||e.selection.eq(n.selection),this.updatePluginViews(n)}scrollToSelection(){}destroyPluginViews(){let e=this.pluginViews.pop();for(;e;)e.destroy&&e.destroy(),e=this.pluginViews.pop()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){return this.focused}focus(){this.focused=!0}destroy(){this.destroyPluginViews()}get isDestroyed(){return!1}dispatchEvent(e){}};DummyEditorView.prototype.dispatch=function(e){let t=this.props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function getEditable(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function buildNodeViews(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}function createNodeFromObject(e,t,n){try{let r=t.nodeFromJSON(e);return n?.errorOnInvalidContent&&r.check(),r}catch(r){if(n?.errorOnInvalidContent)throw Error(`Invalid JSON content: `+r.message,{cause:r});return console.warn(`Invalid content.`,`Passed value:`,e,`Error:`,r),t.topNodeType.createAndFill(null,[])}}function defaultUi(e){return{showMessage(e){globalThis.alert(e)},showError(e){globalThis.alert(e.message),console.error(e)},focus(){},select({anchor:e,scrollIntoView:t,userEvent:n}){}}}var Container=class{items=new Map;register(e,t){this.items.set(e,t)}resolve(e){return this.items.get(e)}};function ensureDocSchema(e,t){if(e.type.schema===t)return e;let n=e.toJSON();return Node$3.fromJSON(t,n)}var CoreEditor=class e extends EventTarget{schema;extensionManager;config;commandManager;view;state;ui=defaultUi(this);linkListener;linkSource;ci=new Container;version=0;constructor(e,t,n){super(),this.schema=t,this.extensionManager=n,this.config={...e},this.commandManager=new CommandManager(this)}static create(t){let n=new ExtensionManager(t.editorKits,t.debug),r=n.getSchemaByResolvedExtensions(),a=new e(t,r,n);n.created(a,r);let o=t.content?t.content:r.topNodeType.spec.EMPTY_DOC;return a.createView(o),a.setupPlugins(),a}clone(t){let n=new ExtensionManager(this.extensionManager.editorKits,(t||this.config).debug),r=new e({...t},this.schema,n);n.created(r,this.schema);let a=this.getJSON();return r.createView(a),r.setupPlugins(),r}getExtension(e){return this.ci.resolve(e)}get run(){return this.commandManager.run}get commandFactories(){return this.commandManager.commandFactories}chain(e){return this.commandManager.createChain(e)}can(e){return this.commandManager.createCan(e)}link(e){if(e===this)throw Error(`You cannot chain editor to itself`);this.unlink(),this.state=EditorState.create({doc:e.getDocument()});let{commandFactories:t}=this.commandManager,n=[],r={...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>{let a=t(...e);return n.push(a),r}])),run:()=>{this.linkSource=e,this.linkListener=()=>{let t=e.state,r=e=>{t=t.apply(e)};for(let e of n)if(!e(t,r))return;this.state=t.reconfigure({plugins:this.extensionManager.plugins}),this.view&&this.view.updateState(this.state);let a=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(a)},e.addEventListener(`changed`,this.linkListener)}};return r}unlink(){this.linkListener&&this.linkSource&&(this.linkSource.removeEventListener(`changed`,this.linkListener),this.linkListener=void 0,this.linkSource=void 0)}createView(e){let t=createNodeFromObject(e,this.schema);if(this.state=EditorState.create({doc:t}),this.config.element){let e=new EditorView(this.config.element,{state:this.state,attributes:{class:`kb-editor`},dispatchTransaction:e=>this.dispatchTransaction(e),editable:()=>!this.config.readOnly});if(this.view=e,this.config.element.parentNode){let t=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n.contains(e.dom)){t.disconnect(),e.destroy();return}})}}else this.view=new DummyEditorView({state:this.state,dispatchTransaction:e=>this.dispatchTransaction(e)});let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}dispatchTransaction(e){if(this.state=this.state.apply(e),e.docChanged&&this.version++,this.view){this.view.updateState(this.state);let t=new CustomEvent(`transaction`,{detail:{editor:this,transaction:e}});this.dispatchEvent(t)}if(e.docChanged){let e=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(e)}}setupPlugins(){this.state=this.state.reconfigure({plugins:this.extensionManager.plugins}),this.view&&(this.view.updateState(this.state),this.view.setProps({nodeViews:this.extensionManager.nodeViews}))}clearDocument(){let e={type:this.schema.topNodeType.name,content:this.schema.topNodeType.spec.EMPTY_DOC.content};this.setDocument(e)}setDocument(e){let t=createNodeFromObject(e,this.schema,{errorOnInvalidContent:!0});t=ensureDocSchema(t,this.schema),this.state=EditorState.create({doc:t,plugins:this.state.plugins,storedMarks:this.state.storedMarks}),this.view&&this.view.updateState(this.state);let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}getConverter(e){let t=this.extensionManager.converters[e];if(!t)throw Error(`Converter not found for: `+e);return t}getDocument(){return this.state.doc}loadDocumentText(e,t){return this.loadDocument(e,new TextEncoder().encode(t))}async loadDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=EditorState.create({doc:n,plugins:this.state.plugins,storedMarks:this.state.storedMarks});runInputRulesTexts()(r,e=>{r=r.apply(e)}),this.state=r,this.view&&(this.view.updateState(this.state),this.view.dispatch(this.view.state.tr));let a=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:this.state.doc}});this.dispatchEvent(a)}async saveDocument(e){let t=this.getConverter(e),n=this.state.doc.toJSON(),r=Node$3.fromJSON(this.state.schema,n);return await t.fromDoc(r)}async patchDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=this.state.tr;r.replaceWith(0,this.state.doc.content.size,n.content),this.dispatchTransaction(r)}patchDocumentText(e,t){return this.patchDocument(e,new TextEncoder().encode(t))}getJSON(){return this.state.doc.toJSON()}debug(e){e||=this.state.doc,console.debug(nodeToTreeString(e))}destroy(){let e=new CustomEvent(`beforeDestroy`,{detail:{}});if(this.dispatchEvent(e),this.config.element){let e=this.config.element,t=e.cloneNode(!0);e.replaceWith(t)}this.view.destroy()}mergeCommandFactories(e,t){this.commandManager.mergeCommandFactories(e,t)}get editable(){return this.view.editable}},Extension=class{config;type=`extension`;editor;conflicts;constructor(e={}){this.config=e}setEditor(e){this.editor=e}getEditor(){return this.editor}created(){}getInputRules(){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e){return{}}getKeyboardShortcuts(e){return{}}getConverters(e,t){return{}}setupSpec(e){}},Mark=class{config;type=`mark`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getMarkSpec(){throw Error(`MarkSpec not defined: `+this.name)}getInputRules(e){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}},Node$2=class{config;type=`node`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getNodeSpec(){throw Error(`NodeSpec not defined: `+this.name)}getInputRules(e){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}getNodeView(e){}getConverters(e,t){return{}}};function getShadowRoot(e){let t=e;for(;t;){if(t.toString()===`[object ShadowRoot]`)return t;if(t instanceof ShadowRoot&&t.host)return t.host.shadowRoot||void 0;t=t.parentElement||(t instanceof ShadowRoot?t.host:void 0)}}function toRawTextResult(e,t=0){let n=e.split(`
16
- `),r=[],a=0,o=0;for(let e of n)r.push({nodeIdx:t,targetRow:o,targetCol:0,targetPos:a}),o++,a+=e.length+1,t+=e.length+1;return{content:e,rawTextMap:r}}function debounce$1(e,t){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function normalizeSiblings(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight(o[o.length-1],a.length));let n=withWrappers(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers(n,e,a+1))))}}function closeRight(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice(e,t,n){return t<e.openStart&&(e=new Slice(closeRange(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}function sliceSingleNode(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function fixSlice(e,t){if(e=Slice.maxOpen(normalizeSiblings(e.content,t),!0),e.openStart||e.openEnd){let t=0,n=0;for(let n=e.content.firstChild;t<e.openStart&&!n.type.spec.isolating;t++,n=n.firstChild);for(let t=e.content.lastChild;n<e.openEnd&&!t.type.spec.isolating;n++,t=t.lastChild);e=closeSlice(e,t,n)}return e}function sliceHasOnlyText(e){return e.content.content.every(e=>e.isInline)}var selectAll=()=>function(e,t,n){let r=e.tr.setSelection(new AllSelection(e.doc));return n&&n.dispatch(r),!0};function textPositionsToResolvedPos(e,t,n){let r=e.map(e=>-1),a=0,o=!1;function s(t,n,s,c){if(o){for(let n=0;n<e.length;n++){let o=e[n];o>=a&&o<a+c&&(r[n]=t+(o-a))}a+=c}}function c(e,t=0,r=0,a=0){t===1&&r===n&&(o=!0);let l=0;e.isText&&e.text?l=e.text?.length:e.isLeaf&&(l=1),l>0&&s(a,t,r,l),e.forEach((e,n,r)=>{c(e,t+1,r,a+n+1)})}if(c(t),o)for(let n=0;n<e.length;n++){let o=e[n];r[n]===-1&&(o<a?r[n]=1:r[n]=t.nodeSize-1)}return r.map(e=>t.resolve(e-1))}var selectText=(e,t,n=0)=>function(r,a,o){let[s,c]=textPositionsToResolvedPos([e+t,e],r.doc,n),l=r.tr.setSelection(new TextSelection(c,s));return o&&o.dispatch(l),!0},ExtensionSelection=class extends Extension{name=`selection`;extractSelection(){let e=this.editor.state,{from:t,to:n}=e.selection,r=e.doc.slice(t,n);if(sliceHasOnlyText(r)){let t=e.schema.nodes.paragraph.create(null,r.content);return e.schema.topNodeType.createAndFill(null,[t])}return e.schema.topNodeType.createAndFill(null,r.content)}replaceSelection(e){let t=!1,n=this.editor.view,r=this.editor.state,a;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),a=new Slice(e.content,1,1);let o=r.selection.$from;a=fixSlice(a,o);let s=sliceSingleNode(a),c=s?r.tr.replaceSelectionWith(s,!1):r.tr.replaceSelection(a);n.dispatch(c.scrollIntoView())}appendSelection(e){let t=this.editor.view,{state:n}=t,r;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),r=new Slice(e.content,1,1);let a=t.state.selection.$from;r=fixSlice(r,a);let o=n.tr.insert(t.state.selection.to,r.content);t.dispatch(o.scrollIntoView())}getCommandFactories(e){return this.editor=e,{selectAll:()=>selectAll(),selectText:(...e)=>selectText(...e)}}},pcBaseKeymap={"Mod-Enter":`exitCode`,Backspace:`backspace`,"Mod-Backspace":`backspace`,"Shift-Backspace":`backspace`,Delete:`del`,"Mod-Delete":`del`,"Mod-a":`selectAll`},macBaseKeymap={...pcBaseKeymap,"Ctrl-h":pcBaseKeymap.Backspace,"Alt-Backspace":pcBaseKeymap[`Mod-Backspace`],"Ctrl-d":pcBaseKeymap.Delete,"Ctrl-Alt-Backspace":pcBaseKeymap[`Mod-Delete`],"Alt-Delete":pcBaseKeymap[`Mod-Delete`],"Alt-d":pcBaseKeymap[`Mod-Delete`],"Ctrl-a":`selectTextblockStart`,"Ctrl-e":`selectTextblockEnd`},baseKeymap=/(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform)?macBaseKeymap:pcBaseKeymap,ExtensionBaseKeymap=class extends Extension{name=`base-keymap`;getKeyboardShortcuts(){let e={Enter:`enter`,"Alt-ArrowUp":`joinUp`,"Alt-ArrowDown":`joinDown`,"Mod-BracketLeft":`lift`,Escape:`selectParentNode`};for(let t in baseKeymap)e[t]=baseKeymap[t];return e}};function dropCursor(e={}){return new Plugin({key:new PluginKey(`drop-cursor`),view(t){return new DropCursorView(t,e)}})}var DropCursorView=class{editorView;width;color;class;cursorPos=null;element=null;timeout=-1;handlers;constructor(e,t){this.editorView=e,this.width=t.width??1,this.color=t.color===!1?void 0:t.color||`black`,this.class=t.class,this.handlers=[`dragover`,`dragend`,`drop`,`dragleave`].map(t=>{let n=e=>{this[t](e)};return e.dom.addEventListener(t,n),{name:t,handler:n}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n,r=this.editorView.dom,a=r.getBoundingClientRect(),o=a.width/r.offsetWidth,s=a.height/r.offsetHeight;if(t){let t=e.nodeBefore,r=e.nodeAfter;if(t||r){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let a=e.getBoundingClientRect(),o=t?a.bottom:a.top;t&&r&&(o=(o+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let c=this.width/2*s;n={left:a.left,right:a.right,top:o-c,bottom:o+c}}}}if(!n){let e=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*o;n={left:e.left-t,right:e.left+t,top:e.top,bottom:e.bottom}}let c=this.editorView.dom.offsetParent;this.element||(this.element=c.appendChild(document.createElement(`div`)),this.class&&(this.element.className=this.class),this.element.style.cssText=`position: absolute; z-index: 50; pointer-events: none;`,this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle(`prosemirror-dropcursor-block`,t),this.element.classList.toggle(`prosemirror-dropcursor-inline`,!t);let l,u;if(!c||c==document.body&&getComputedStyle(c).position==`static`)l=-pageXOffset,u=-pageYOffset;else{let e=c.getBoundingClientRect(),t=e.width/c.offsetWidth,n=e.height/c.offsetHeight;l=e.left-c.scrollLeft*t,u=e.top-c.scrollTop*n}this.element.style.left=(n.left-l)/o+`px`,this.element.style.top=(n.top-u)/s+`px`,this.element.style.width=(n.right-n.left)/o+`px`,this.element.style.height=(n.bottom-n.top)/s+`px`}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),r=n&&n.type.spec.disableDropCursor,a=typeof r==`function`?r(this.editorView,t,e):r;if(t&&!a){let e=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=dropPoint(this.editorView.state.doc,e,this.editorView.dragging.slice);t!=null&&(e=t)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}},ExtensionDropcursor=class extends Extension{name=`dropcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[dropCursor(this.options)]}},GapCursor=class e extends Selection{constructor(e){super(e,e),this.visible=!1}map(t,n){let r=t.resolve(n.map(this.head));return e.valid(r)?new e(r):Selection.near(r)}content(){return Slice.empty}eq(t){return t instanceof e&&t.head==this.head}toJSON(){return{type:`gapcursor`,pos:this.head}}static fromJSONToGapCursor(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for GapCursor.fromJSON`);return new e(t.resolve(n.pos))}getBookmark(){return new GapBookmark(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!closedBefore(e)||!closedAfter(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let r=t.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,n,r=!1){search:for(;;){if(!r&&e.valid(t))return t;let a=t.pos,o=null;for(let r=t.depth;;r--){let s=t.node(r);if(n>0?t.indexAfter(r)<s.childCount:t.index(r)>0){o=s.child(n>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0)return null;a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}for(;;){let s=n>0?o.firstChild:o.lastChild;if(!s){if(o.isAtom&&!o.isText&&!NodeSelection.isSelectable(o)){t=t.doc.resolve(a+o.nodeSize*n),r=!1;continue search}break}o=s,a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}return null}}};Selection.jsonID(`gapcursor`,GapCursor);var GapBookmark=class e{pos;constructor(e){this.pos=e}map(t){return new e(t.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return GapCursor.valid(t)?new GapCursor(t):Selection.near(t)}};function closedBefore(e){for(let t=e.depth;t>=0;t--){let n=e.index(t),r=e.node(t);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n-1);;e=e.lastChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function closedAfter(e){for(let t=e.depth;t>=0;t--){let n=e.indexAfter(t),r=e.node(t);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n);;e=e.firstChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function gapCursor(){return new Plugin({key:new PluginKey(`gap-cursor`),props:{decorations:drawGapCursor,createSelectionBetween(e,t,n){return t.pos==n.pos&&GapCursor.valid(n)?new GapCursor(n):null},handleClick,handleKeyDown:handleKeyDown$1,handleDOMEvents:{beforeinput}}})}var handleKeyDown$1=keydownHandler({ArrowLeft:arrow$1(`horiz`,-1),ArrowRight:arrow$1(`horiz`,1),ArrowUp:arrow$1(`vert`,-1),ArrowDown:arrow$1(`vert`,1)});function arrow$1(e,t){let n=e==`vert`?t>0?`down`:`up`:t>0?`right`:`left`;return function(e,r,a){let o=e.selection,s=t>0?o.$to:o.$from,c=o.empty;if(o instanceof TextSelection){if(!a.endOfTextblock(n)||s.depth==0)return!1;c=!1,s=e.doc.resolve(t>0?s.after():s.before())}let l=GapCursor.findGapCursorFrom(s,t,c);return l?(r&&r(e.tr.setSelection(new GapCursor(l))),!0):!1}}function handleClick(e,t,n){if(!e||!e.editable)return!1;let r=e.state.doc.resolve(t);if(!GapCursor.valid(r))return!1;let a=e.posAtCoords({left:n.clientX,top:n.clientY});return a&&a.inside>-1&&NodeSelection.isSelectable(e.state.doc.nodeAt(a.inside))?!1:(e.dispatch(e.state.tr.setSelection(new GapCursor(r))),!0)}function beforeinput(e,t){if(t.inputType!=`insertCompositionText`||!(e.state.selection instanceof GapCursor))return!1;let{$from:n}=e.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);if(!r)return!1;let a=Fragment.empty;for(let e=r.length-1;e>=0;e--)a=Fragment.from(r[e].createAndFill(null,a));let o=e.state.tr.replace(n.pos,n.pos,new Slice(a,0,0));return o.setSelection(TextSelection.near(o.doc.resolve(n.pos+1))),e.dispatch(o),!1}function drawGapCursor(e){if(!(e.selection instanceof GapCursor))return null;let t=document.createElement(`div`);return t.className=`kb-gapcursor`,DecorationSet.create(e.doc,[Decoration.widget(e.selection.head,t,{key:`gapcursor`})])}var ExtensionGapcursor=class extends Extension{name=`gapcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[gapCursor()]}};function getHTMLFromFragment(e,t){let n=globalThis.document,r=DOMSerializer.fromSchema(t).serializeFragment(e,{document:n}),a=n.implementation.createHTMLDocument().createElement(`div`);return a.appendChild(r),a.innerHTML}var removeWhitespaces$1=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces$1(r)}return e};function elementFromString$1(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces$1(n)}function prepareContentCheckSchema(e){return new Schema({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__unknown__catch__all__node:{content:`inline*`,group:`block`,parseDOM:[{tag:`*`,getAttrs:e=>{let t=typeof e==`string`?e:e.outerHTML;throw Error(`Invalid HTML content`,{cause:Error(`Invalid element found: ${t}`)})}}]}})})}function createNodeFromHTML(e,t,n){if(n={parseOptions:{},...n},n.errorOnInvalidContent){let r=prepareContentCheckSchema(t);DOMParser$1.fromSchema(r).parse(elementFromString$1(e),n.parseOptions)}return DOMParser$1.fromSchema(t).parse(elementFromString$1(e),n.parseOptions)}var ExtensionHtml=class extends Extension{name=`html`;getConverters(e,t){return{"text/html":{fromDoc:async t=>{let n=getHTMLFromFragment(t.content,e.schema);return new TextEncoder().encode(n)},toDoc:async t=>createNodeFromHTML(new TextDecoder().decode(t),e.schema)}}}},mediaUploadKey=new PluginKey(`mediaUpload`);function fileToDataURL(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function fileToObjectURL(e){return URL.createObjectURL(e)}function isImage(e,t){return t.some(t=>e.type.match(t))}function isVideo(e,t){return t.some(t=>e.type.match(t))}function insertImage(e,t,n,r,a){let{schema:o}=e.state,s=o.nodes.image;if(!s){console.warn(`Image node type not found in schema`);return}let c=s.create({src:n,alt:r,title:a}),l=e.state.tr.insert(t,c);e.dispatch(l)}function insertVideo(e,t,n,r,a,o){let{schema:s}=e.state,c=s.nodes.video;if(!c){console.warn(`Video node type not found in schema`);return}let l=c.create({src:n,title:r,width:a,height:o,controls:!0}),u=e.state.tr.insert(t,l);e.dispatch(u)}async function handleMediaFiles(e,t,n,r){let{maxFileSize:a=10*1024*1024,maxVideoFileSize:o=50*1024*1024,allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`],uploadHandler:l}=r;for(let u of t){let t=isImage(u,s),d=isVideo(u,c);if(!t&&!d)continue;let f=d?o:a;if(u.size>f){console.warn(`${d?`Video`:`Image`} file "${u.name}" is too large (${(u.size/1024/1024).toFixed(2)}MB). Maximum size is ${(f/1024/1024).toFixed(2)}MB.`);continue}try{console.log(`Processing ${d?`video`:`image`}: ${u.name} (${(u.size/1024/1024).toFixed(2)}MB, ${u.type})`);let t;l?t=await l(u):d&&r.useObjectURLForVideos!==!1?(t=fileToObjectURL(u),console.log(`Using object URL for video:`,t)):(t=await fileToDataURL(u),console.log(`${d?`Video`:`Image`} converted to data URL, length: ${t.length} characters`)),d?(insertVideo(e,n,t,u.name),console.log(`Video inserted into editor`)):(insertImage(e,n,t,u.name),console.log(`Image inserted into editor`)),n+=1}catch(e){console.error(`Failed to process ${d?`video`:`image`} "${u.name}":`,e)}}}function createMediaUploadPlugin(e={}){return new Plugin({key:mediaUploadKey,props:{handleDrop(t,n,r,a){if(a)return!1;let o=Array.from(n.dataTransfer?.files||[]);if(o.length===0)return!1;let{allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`]}=e;if(!o.some(e=>isImage(e,s)||isVideo(e,c)))return!1;n.preventDefault();let l={left:n.clientX,top:n.clientY},u=t.posAtCoords(l);return u?(handleMediaFiles(t,o,u.pos,e),!0):!1},handlePaste(t,n,r){let a=Array.from(n.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(a.length===0)return!1;n.preventDefault();let o=[];for(let e of a){let t=e.getAsFile();t&&o.push(t)}if(o.length===0)return!1;let{from:s}=t.state.selection;return handleMediaFiles(t,o,s,e),!0}}})}var ExtensionMediaUpload=class extends Extension{config;name=`mediaUpload`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){return[createMediaUploadPlugin(this.config)]}},ExtensionTextAlign=class extends Extension{name=`textAlign`;getCommandFactories(e){let t=e=>(t,n)=>{let{selection:r,tr:a}=t,{from:o,to:s}=r,c=!1;return t.doc.nodesBetween(o,s,(t,n)=>{t.isBlock&&t.type.spec.attrs&&`textAlign`in t.type.spec.attrs&&(a.setNodeMarkup(n,void 0,{...t.attrs,textAlign:e}),c=!0)}),c&&n&&n(a),c};return{setTextAlignLeft:()=>t(`left`),setTextAlignCenter:()=>t(`center`),setTextAlignRight:()=>t(`right`),setTextAlignJustify:()=>t(`justify`)}}},userColors=[{dark:`#30bced`,light:`#30bced`},{dark:`#6eeb83`,light:`#6eeb83`},{dark:`#ffbc42`,light:`#ffbc42`},{dark:`#ecd444`,light:`#ecd444`},{dark:`#ee6352`,light:`#ee6352`},{dark:`#9ac2c9`,light:`#9ac2c9`},{dark:`#8acb88`,light:`#8acb88`},{dark:`#1be7ff`,light:`#1be7ff`}];function hashString(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)}var defaultColorMapper=(e,t)=>{let n=hashString(t.id),r=hashString(e.id);return n===r&&r++,userColors[r%userColors.length]};function generateBlankUser(){return{id:``,name:`User unset`}}function generateRandomUser(){let e=Math.random()*100;return{id:`random:`+e,name:`Anonymous `+Math.floor(e)}}var userPluginKey=new PluginKey(`user`),createUserPlugin=()=>new Plugin({key:userPluginKey,state:{init(){return{user:generateRandomUser()}},apply:(e,t)=>{let n=e.getMeta(`changeUser`);return n&&(t.user={...n.user}),t}}}),ExtensionUser=class extends Extension{name=`user`;getCommandFactories(){return{changeUser:e=>(t,n)=>{let r=t.tr;return r.setMeta(`changeUser`,{user:e}),n&&n(r),!0}}}getProseMirrorPlugins(){return[createUserPlugin()]}},remoteSelectionPluginKey=new PluginKey(`remote-selection`),defaultCursorBuilder=(e,t,n)=>{let r=n(e,t).light,a=document.createElement(`span`);a.classList.add(`kb-yjs__cursor`),a.setAttribute(`style`,`border-color: ${r};`);let o=document.createElement(`div`);o.setAttribute(`style`,`background-color: ${r}`),o.insertBefore(document.createTextNode(e.name),null);let s=document.createTextNode(`⁠`),c=document.createTextNode(`⁠`);return a.insertBefore(s,null),a.insertBefore(o,null),a.insertBefore(c,null),a},defaultSelectionBuilder=(e,t,n)=>({style:`background-color: ${n(e,t).light}70`,class:`kb-yjs__selection`}),createDecorations=(e,t,n,r)=>{let a=[],o=t.remoteStates;for(let s of o)if(s.cursor!=null){let o=s.user,c=s.cursor,l=c.anchor||null,u=c.head||null;if(l!==null&&u!==null){let c=Math.max(e.doc.content.size-1,0);l=Math.min(l,c),u=Math.min(u,c),a.push(Decoration.widget(u,()=>n(o,t.me,t.colorMapper),{key:s.clientId+o.id+o.name,side:10}));let d=Math.min(l,u),f=Math.max(l,u);a.push(Decoration.inline(d,f,r(o,t.me,t.colorMapper),{inclusiveEnd:!0,inclusiveStart:!1}))}}return DecorationSet.create(e.doc,a)},remoteSelectionPlugin=({cursorBuilder:e=defaultCursorBuilder,selectionBuilder:t=defaultSelectionBuilder}={})=>new Plugin({key:remoteSelectionPluginKey,state:{init(){return{remoteStates:[],me:generateBlankUser(),colorMapper:defaultColorMapper}},apply(e,t){let n=e.getMeta(`changeUser`);n&&(t.me={...n.user});let r=e.getMeta(`setColorMapper`);r&&(t.colorMapper=r.colorMapper);let a=e.getMeta(`remoteSelectionChange`);return a&&(t.remoteStates=[...a.remoteStates]),t}},props:{decorations(n){let r=this.getState(n);return r?createDecorations(n,r,e,t):DecorationSet.empty}}}),ExtensionRemoteSelection=class extends Extension{name=`remote-selection`;getProseMirrorPlugins(){return[remoteSelectionPlugin()]}};function generateId(){return String(Math.random())}function buildPairingTransaction(e,t,n){let{doc:r}=e,a=new Map,o=[];r.descendants((e,n)=>{e.type.name===t&&o.push({node:e,pos:n})});let s=!1;for(let{node:e,pos:t}of o){let r=e.attrs.content?.trim();if(!r)continue;let o=r.match(/^[^0-9a-z\/]*(\/?)[\s]*([\w]+)/i),c=o[1]===`/`,l=o[2];if(!c)a.has(l)||a.set(l,[]),a.get(l).push({node:e,pos:t});else{let r=a.get(l);if(r&&r.length>0){let a=r.pop(),o=generateId();n.setNodeMarkup(a.pos,void 0,{...a.node.attrs,id:o,nesting:1,error:void 0}),n.setNodeMarkup(t,void 0,{...e.attrs,id:o,nesting:-1,error:void 0})}else n.setNodeMarkup(t,void 0,{...e.attrs,error:`Closing shortcode without matching opening`,nesting:-1});s=!0}}for(let[,e]of a.entries())for(let{node:t,pos:r}of e)n.setNodeMarkup(r,void 0,{...t.attrs,nesting:0,id:void 0}),s=!0;return s?n:null}var createPairingPlugin=e=>new Plugin({appendTransaction(t,n,r){let a=new Set;for(let r of t)if(r.docChanged){for(let t of r.steps)if((t instanceof ReplaceStep||t instanceof ReplaceAroundStep)&&(t.slice&&t.slice.content.descendants(t=>{e.includes(t.type.name)&&a.add(t.type.name)}),t.from!=null&&t.to!=null&&t.from!==t.to&&n.doc.nodesBetween(t.from,t.to,t=>{e.includes(t.type.name)&&a.add(t.type.name)}),a.size===e.length))break;if(a.size===e.length)break}if(a.size===0)return null;let o=r.tr;for(let e of a)buildPairingTransaction(r,e,o);return o}}),ExtensionPairing=class extends Extension{name=`pairing-nodes`;getProseMirrorPlugins(){return[createPairingPlugin([`shortcode_inline`])]}},MarkLink=class extends Mark{name=`link`;requires=[`doc`];getMarkSpec(){return{attrs:{href:{},title:{default:void 0},origUrl:{default:void 0},mdTemplate:{default:void 0}},inclusive:!1,parseDOM:[{tag:`a[href]`,getAttrs(e){return{href:e.getAttribute(`href`),title:e.getAttribute(`title`)}}}],toDOM(e){let{href:t,title:n}=e.attrs;return[`a`,{href:t,title:n},0]}}}},MarkStrong=class extends Mark{name=`strong`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!=`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name==`strong`},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return[`strong`,0]}}}getCommandFactories(e,t){return{toggleStrong:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-b":`toggleStrong`,"Mod-B":`toggleStrong`}}},MarkItalic=class extends Mark{name=`em`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`i`},{tag:`em`},{style:`font-assets=italic`},{style:`font-assets=normal`,clearMark:e=>e.type.name==`em`}],toDOM(){return[`em`,0]}}}getCommandFactories(e,t){return{toggleItalic:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-i":`toggleItalic`,"Mod-I":`toggleItalic`}}},MarkUnderline=class extends Mark{name=`underline`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`u`}],toDOM(){return[`u`,0]}}}getCommandFactories(e,t){return{toggleUnderline:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-u":`toggleUnderline`,"Mod-U":`toggleUnderline`}}},MarkStrike=class extends Mark{name=`strike`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strike`}],toDOM(){return[`strike`,0]}}}getCommandFactories(e,t){return{toggleStrike:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-s":`toggleStrike`,"Mod-S":`toggleStrike`}}},MarkCode=class extends Mark{name=`code`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`code`}],toDOM(){return[`code`,0]}}}getCommandFactories(e,t){return{toggleCode:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-`":`toggleCode`}}},MarkChange=class extends Mark{name=`change`;requires=[`doc`];getMarkSpec(){return{parseDOM:[],toDOM(){return[`change`,0]}}}},MarkBookmark=class extends Mark{name=`bookmark`;requires=[`doc`];getMarkSpec(){return{attrs:{id:{}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},MarkTextColor=class extends Mark{name=`textColor`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`span[style*="color"]`,getAttrs(e){let t=e.style.color;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return t?[`span`,{style:`color: ${t}`},0]:[`span`,0]}}}},MarkHighlight=class extends Mark{name=`highlight`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`mark`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:{color:`yellow`}}},{tag:`span[style*="background-color"]`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return[`mark`,{style:`background-color: ${t||`yellow`}; color: inherit;`},0]}}}},MarkSuperscript=class extends Mark{name=`superscript`;requires=[`doc`];getMarkSpec(){return{excludes:`subscript`,parseDOM:[{tag:`sup`},{style:`vertical-align`,getAttrs:e=>e===`super`&&null}],toDOM(){return[`sup`,0]}}}getCommandFactories(e,t){return{toggleSuperscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-.":`toggleSuperscript`}}},MarkSubscript=class extends Mark{name=`subscript`;requires=[`doc`];getMarkSpec(){return{excludes:`superscript`,parseDOM:[{tag:`sub`},{style:`vertical-align`,getAttrs:e=>e===`sub`&&null}],toDOM(){return[`sub`,0]}}}getCommandFactories(e,t){return{toggleSubscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-,":`toggleSubscript`}}},NodeDocument=class extends Node$2{name=`doc`;getNodeSpec(){return{content:`block+`,marks:`code em strong link bookmark`,EMPTY_DOC:{type:this.name,content:[{type:`paragraph`,content:[]}]}}}},NodeText=class extends Node$2{name=`text`;getNodeSpec(){return{group:`inline`}}};function wrappingInputRule(e,t,n=null,r){return new InputRule(e,(e,a,o,s,c)=>{e||=a.tr;let l=n instanceof Function?n(o):n;e=e.delete(s,c);let u=e.doc.resolve(s).blockRange(),d=u&&findWrapping(u,t,l);if(!d)return null;e.wrap(u,d);let f=e.doc.resolve(s-1).nodeBefore;return f&&f.type==t&&canJoin(e.doc,s-1)&&(!r||r(o,f))&&e.join(s-1),e})}function textblockTypeInputRule(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=r.doc.resolve(o),l=n instanceof Function?n(a):n;return c.node(-1).canReplaceWith(c.index(-1),c.indexAfter(-1),t)?e.delete(o,s).setBlockType(o,o,t,l):null})}function replaceInlineNode(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=n instanceof Function?n(a):n;if(r.doc.resolve(o).parent.type===r.schema.nodes.code_block)return e;let l=t.createAndFill(c),u=e.mapping.map(o),d=e.mapping.map(s);return e.replaceWith(u,d,Fragment.from(l))})}var NodeCodeBlock$1=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},NodeBookmark=class extends Node$2{name=`node_bookmark`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},nesting:{default:0}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},NodeParagraph=class extends Node$2{name=`paragraph`;requires=[`doc`];getNodeSpec(){return{content:`inline*`,group:`block`,attrs:{textAlign:{default:void 0}},parseDOM:[{tag:`p`,getAttrs(e){let t=e.style.textAlign;return t===`center`||t===`right`||t===`justify`?{textAlign:t}:!1}}],toDOM(e){let t=e.attrs.textAlign||`left`;return[`center`,`right`,`justify`].includes(t)?[`p`,{style:`text-align: ${t}`},0]:[`p`,0]}}}getCommandFactories(e,t){return{setParagraph:()=>e.commandFactories.setBlockType(t)}}getKeyboardShortcuts(){return{"Shift-Ctrl-0":`setParagraph`}}},NodeHardBreak=class extends Node$2{name=`br`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,linebreakReplacement:!0,parseDOM:[{tag:`br`}],toDOM(){return[`br`]}}}getCommandFactories(e,t){let n=firstCommand(e.run.exitCode);return{setHardBreak:()=>n}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Ctrl-Enter":`setHardBreak`};return e&&(t[`Mod-Enter`]=`setHardBreak`,t[`Shift-Enter`]=`setHardBreak`),t}},NodeSoftBreak=class extends Node$2{name=`softbreak`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,parseDOM:[{tag:`wbr`}],toDOM(){return[`wbr`]}}}},NodeHorizontalRule=class extends Node$2{name=`hr`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,parseDOM:[{tag:`hr`}],toDOM(){return[`hr`]}}}getCommandFactories(e,t){return{setHorizontalRule:()=>(e,n)=>(n&&n(e.tr.replaceSelectionWith(t.create()).scrollIntoView()),!0)}}getKeyboardShortcuts(){return{"Mod-_":`setHorizontalRule`}}},NodeImage=class extends Node$2{name=`image`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},origUrl:{default:void 0},mdTemplate:{default:void 0}},group:`inline`,draggable:!0,parseDOM:[{tag:`img[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`),width:e.getAttribute(`width`)||e.style.width||null,height:e.getAttribute(`height`)||e.style.height||null}}}],toDOM(e){let{src:t,alt:n,title:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.alt=n),r&&(s.title=r),a&&(s.width=a),o&&(s.height=o),[`img`,s]}}}getNodeView(e){return(e,t,n)=>{let r=document.createElement(`span`);r.className=`kb-image-wrapper`,r.contentEditable=`false`;let a=document.createElement(`img`);a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width&&(a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width),e.attrs.height&&(a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height),a.draggable=!1,r.appendChild(a);let o=[`nw`,`ne`,`sw`,`se`],s=[];for(let e of o){let t=document.createElement(`span`);t.className=`kb-image-resize-handle kb-image-resize-handle-${e}`,t.dataset.position=e,s.push(t),r.appendChild(t)}let c=!1,l=0,u=0,d=0,f=0,p=1,m=null,h=e=>{let t=e.target;if(!t.classList.contains(`kb-image-resize-handle`))return;e.preventDefault(),e.stopPropagation(),c=!0,m=t.dataset.position||null,l=e.clientX,u=e.clientY;let n=a.getBoundingClientRect();d=n.width,f=n.height,p=d/f,r.classList.add(`kb-image-resizing`),document.addEventListener(`mousemove`,g),document.addEventListener(`mouseup`,_)},g=e=>{if(!c)return;let t=e.clientX-l,n=e.clientY-u,r=d,o=f;switch(m){case`se`:r=d+t,o=e.shiftKey?f+n:r/p;break;case`sw`:r=d-t,o=e.shiftKey?f+n:r/p;break;case`ne`:r=d+t,o=e.shiftKey?f-n:r/p;break;case`nw`:r=d-t,o=e.shiftKey?f-n:r/p;break}r=Math.max(50,r),o=Math.max(50,o),a.style.width=`${Math.round(r)}px`,a.style.height=`${Math.round(o)}px`},_=()=>{if(!c)return;c=!1,m=null,r.classList.remove(`kb-image-resizing`),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_);let o=Math.round(a.getBoundingClientRect().width),s=Math.round(a.getBoundingClientRect().height),l=n();if(typeof l==`number`){let n=t.state.tr.setNodeMarkup(l,void 0,{...e.attrs,width:`${o}px`,height:`${s}px`});t.dispatch(n)}};return r.addEventListener(`mousedown`,h),r.addEventListener(`click`,e=>{e.preventDefault();let r=n();if(typeof r==`number`){let e=t.state.doc.resolve(r),n=Selection.near(e);t.dispatch(t.state.tr.setSelection(n))}}),{dom:r,update:e=>e.type.name===`image`?(a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width?a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width:a.style.width=``,e.attrs.height?a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height:a.style.height=``,!0):!1,destroy:()=>{r.removeEventListener(`mousedown`,h),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_)},stopEvent:e=>e.type===`mousedown`&&e.target.classList.contains(`kb-image-resize-handle`),ignoreMutation:()=>!0}}}},NodeVideo=class extends Node$2{name=`video`;requires=[`doc`];getNodeSpec(){return{attrs:{src:{},title:{default:null},controls:{default:!0},width:{default:null},height:{default:null}},group:`block`,draggable:!0,parseDOM:[{tag:`video[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),controls:e.hasAttribute(`controls`),width:e.getAttribute(`width`),height:e.getAttribute(`height`)}}}],toDOM(e){let{src:t,title:n,controls:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.title=n),r&&(s.controls=``),a&&(s.width=a),o&&(s.height=o),[`video`,s]}}}},NodeBlockquote=class extends Node$2{name=`blockquote`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`blockquote`}],toDOM(){return[`blockquote`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*>\s$/,e)]}getCommandFactories(e,t){return{toggleBlockquote:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{"Ctrl->":`toggleBlockquote`}}},NodeAside=class extends Node$2{name=`aside`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`aside`}],toDOM(){return[`aside`,0]}}}},maxLevel=6,NodeHeading=class extends Node$2{name=`heading`;requires=[`doc`];getNodeSpec(){return{attrs:{level:{default:1}},content:`inline*`,group:`block`,defining:!0,parseDOM:[{tag:`h1`,attrs:{level:1}},{tag:`h2`,attrs:{level:2}},{tag:`h3`,attrs:{level:3}},{tag:`h4`,attrs:{level:4}},{tag:`h5`,attrs:{level:5}},{tag:`h6`,attrs:{level:6}}],toDOM(e){return[`h`+e.attrs.level,0]}}}getInputRules(e){return[textblockTypeInputRule(RegExp(`^(#{1,6})\\s$`),e,e=>({level:e[1].length}))]}getCommandFactories(e,t){let n={};for(let r=1;r<=maxLevel;r++)n[`setHeading`+r]=()=>e.commandFactories.setBlockType(t,{level:r});return n}getKeyboardShortcuts(){let e={};for(let t=1;t<=maxLevel;t++)e[`Shift-Ctrl-`+t]=`setHeading`+t;return e}},NodeMath=class extends Node$2{name=`math`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{lang:{default:`mathml`},content:{}},group:`inline`,draggable:!0,parseDOM:[{tag:`math`,getAttrs:e=>({lang:`mathml`,content:new XMLSerializer().serializeToString(e)})}],toDOM(e){let t=new DOMParser().parseFromString(e.attrs.content,`application/xml`);return t.getElementsByTagName(`parsererror`).length>0?[`span`,{class:`mathml-error`},`Invalid MathML`]:document.importNode(t.documentElement,!0)}}}},NodeDefinitionList=class extends Node$2{name=`dl`;requires=[`doc`];getNodeSpec(){return{content:`dt+|dd+`,group:`block`,parseDOM:[{tag:`dl`}],toDOM(){return[`dl`,0]}}}getInputRules(e){return[]}getCommandFactories(e,t){return{toggleDefinitionList:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{}}},NodeDefinitionTerm=class extends Node$2{name=`dt`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dt`}],defining:!0,toDOM(){return[`dt`,0]}}}},NodeDefinitionDesc=class extends Node$2{name=`dd`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dd`}],defining:!0,toDOM(){return[`dd`,0]}}}},NodeFrontmatter=class extends Node$2{name=`frontmatter`;requires=[`doc`];getNodeSpec(){return{content:`inline*`,group:`block`,defining:!0,parseDOM:[{tag:`pre`}],toDOM(){return[`pre`,0]}}}};function fixCharacters$1(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function replaceAllNodesOfType(e,t,n,r){let a=[];t.descendants((e,t)=>{e.type===n&&a.push({node:e,pos:t})});for(let t=a.length-1;t>=0;t--){let{node:n,pos:o}=a[t],s=r(n,e.doc.type.schema);e=e.replaceWith(o,o+n.nodeSize,s)}return e}var NodeInlineShortCode=class extends Node$2{name=`shortcode_inline`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!0,atom:!0,attrs:{id:{default:void 0},content:{default:``},nesting:{default:0},error:{default:``}},parseDOM:[{tag:`span.kb-shortcode-inline`,getAttrs:e=>({content:e.textContent||null})}],toDOM(e){return[`span`,{class:`kb-shortcode-inline`},e.attrs.content||``]}}}getInputRules(e){return[replaceInlineNode(/\{\{[^}]+\}\}/,e,e=>({content:fixCharacters$1(e[0].substring(2,e[0].length-2))}))]}getCommandFactories(e,t){return{renderShortCode:e=>(n,r)=>{let a=n.tr;return a=replaceAllNodesOfType(a,n.doc,t,e),a.docChanged&&r&&r(a),!0}}}},NodeIframe=class extends Node$2{name=`iframe`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},class:{default:null},alt:{default:null},title:{default:null}},group:`inline`,draggable:!0,parseDOM:[{tag:`iframe[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`)}}}],toDOM(e){let{src:t,alt:n,title:r}=e.attrs;return[`iframe`,{src:t,alt:n,title:r,class:e.attrs.class}]}}}};function collectCommentAnchors(e){let t=new Map,n=new Map;return e.descendants((e,r)=>{e.type.name===`comment`&&(e.attrs.nesting===1&&t.set(e.attrs.id,r),e.attrs.nesting===-1&&n.set(e.attrs.id,r))}),{starts:t,ends:n}}function buildCommentRanges(e){let{starts:t,ends:n}=collectCommentAnchors(e),r=[];for(let[e,a]of t){let t=n.get(e);!t||t<=a||r.push({id:e,from:a+1,to:t})}return r}function buildDecorations(e){let t=buildCommentRanges(e);return DecorationSet.create(e,t.map(({id:e,from:t,to:n})=>Decoration.inline(t,n,{class:`comment-highlight`,"data-comment-id":e})))}function commentsPlugin(){return new Plugin({state:{init(e,{doc:t}){return buildDecorations(t)},apply(e,t,n,r){return e.docChanged?buildDecorations(r.doc):t}},props:{decorations(e){return this.getState(e)}}})}var addCommentBoundary=e=>(t,n)=>{let{schema:r,selection:a}=t,{from:o,to:s}=a,c=r.nodes.comment;if(!c)return!1;let l=c.create({id:e,nesting:1}),u=c.create({id:e,nesting:-1}),d=t.tr;return d.insert(s,u),d.insert(o,l),n&&n(d),!0},NodeCommentAnchor=class extends Node$2{name=`comment`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},active:{default:!1},nesting:{default:1}},parseDOM:[{tag:`span[data-comment-id]`,getAttrs(e){return{id:e.getAttribute(`data-comment-id`),nesting:parseInt(e.getAttribute(`data-nesting`)||`1`),active:e.hasAttribute(`data-active`)}}}],toDOM:e=>[`span`,{"data-comment-id":e.attrs.id,"data-active":e.attrs.active?`true`:void 0,"data-nesting":e.attrs.nesting}]}}getCommandFactories(e,t){return{addComment:(e,t)=>addCommentBoundary(e,t)}}getProseMirrorPlugins(){return[commentsPlugin()]}};function splitListItem(e,t){let n=function(n,r){let{$from:a,$to:o,node:s}=n.selection;if(s&&s.isBlock||a.depth<2||!a.sameParent(o))return!1;let c=a.node(-1);if(c.type!=e)return!1;if(a.parent.content.size==0&&a.node(-1).childCount==a.indexAfter(-1)){if(a.depth==3||a.node(-3).type!=e||a.index(-2)!=a.node(-2).childCount-1)return!1;if(r){let t=Fragment.empty,o=a.index(-1)?1:a.index(-2)?2:3;for(let e=a.depth-o;e>=a.depth-3;e--)t=Fragment.from(a.node(e).copy(t));let s=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3;t=t.append(Fragment.from(e.createAndFill()));let c=a.before(a.depth-(o-1)),l=n.tr.replace(c,a.after(-s),new Slice(t,4-o,0)),u=-1;l.doc.nodesBetween(c,l.doc.content.size,(e,t)=>{if(u>-1)return!1;e.isTextblock&&e.content.size==0&&(u=t+1)}),u>-1&&l.setSelection(Selection.near(l.doc.resolve(u))),r(l.scrollIntoView())}return!0}let l=o.pos==a.end()?c.contentMatchAt(0).defaultType:null,u=n.tr.delete(a.pos,o.pos),d=l?[t?{type:e,attrs:t}:null,{type:l}]:void 0;return canSplit(u.doc,a.pos,2,d)?(r&&r(u.split(a.pos,2,d).scrollIntoView()),!0):!1};return n.displayName=`splitListItem(${e.name})`,n}function liftListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?liftToOuterList(t,n,e,o):liftOutOfList(t,n,o):!0:!1}}function liftToOuterList(e,t,n,r){let a=e.tr,o=r.end,s=r.$to.end(r.depth);o<s&&(a.step(new ReplaceAroundStep(o-1,s,o,s,new Slice(Fragment.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new NodeRange(a.doc.resolve(r.$from.pos),a.doc.resolve(s),r.depth));let c=liftTarget(r);if(c==null)return!1;a.lift(r,c);let l=a.doc.resolve(a.mapping.map(o,-1)-1);return canJoin(a.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&a.join(l.pos),t(a.scrollIntoView()),!0}function liftOutOfList(e,t,n){let r=e.tr,a=n.parent;for(let e=n.end,t=n.endIndex-1,o=n.startIndex;t>o;t--)e-=a.child(t).nodeSize,r.delete(e-1,e+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let c=n.startIndex==0,l=n.endIndex==a.childCount,u=o.node(-1),d=o.index(-1);if(!u.canReplace(d+ +!c,d+1,s.content.append(l?Fragment.empty:Fragment.from(a))))return!1;let f=o.pos,p=f+s.nodeSize;return r.step(new ReplaceAroundStep(f-+!!c,p+ +!!l,f+1,p-1,new Slice((c?Fragment.empty:Fragment.from(a.copy(Fragment.empty))).append(l?Fragment.empty:Fragment.from(a.copy(Fragment.empty))),+!c,+!l),+!c)),t(r.scrollIntoView()),!0}function sinkListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let c=o.parent,l=c.child(s-1);if(l.type!=e)return!1;if(n){let r=l.lastChild&&l.lastChild.type==c.type,a=Fragment.from(r?e.create():null),s=new Slice(Fragment.from(e.create(null,Fragment.from(c.type.create(null,a)))),r?3:1,0),u=o.start,d=o.end;n(t.tr.step(new ReplaceAroundStep(u-(r?3:1),d,u,d,s,1,!0)).scrollIntoView())}return!0}}var isList=e=>e.endsWith(`_list`),clearNodes=()=>(e,t)=>{let n=e.tr,{selection:r}=n,{ranges:a}=r;return t&&a.forEach(({$from:t,$to:r})=>{e.doc.nodesBetween(t.pos,r.pos,(e,t)=>{if(e.type.isText)return;let{doc:r,mapping:a}=n,o=r.resolve(a.map(t)),s=r.resolve(a.map(t+e.nodeSize)),c=o.blockRange(s);if(!c)return;let l=liftTarget(c);if(e.type.isTextblock){let{defaultType:e}=o.parent.contentMatchAt(o.index());n.setNodeMarkup(c.start,e)}(l||l===0)&&n.lift(c,l)})}),!0};function findParentNodeClosestToPos(e,t){for(let n=e.depth;n>0;--n){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function findParentNode(e){return t=>findParentNodeClosestToPos(t.$from,e)}var joinListBackwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,n.pos)&&e.join(n.pos),!0},joinListForwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,r)&&e.join(r),!0},toggleList=(e,t,n,r={})=>function(a,o,s){if(!this)throw Error(`Call this with Function.apply`);let c=this.editor,l=Object.keys(a.schema.marks).filter(e=>e!==`link`),u=a.schema.nodes[e],d=a.schema.nodes[t],{selection:f,storedMarks:p}=a,{$from:m,$to:h}=f,g=m.blockRange(h),_=p||(f.$to.parentOffset?f.$from.marks():[]);if(!g)return!1;let v=findParentNode(e=>isList(e.type.name))(f),y=a.tr;if(g.depth>=1&&v&&g.depth-v.depth<=1){if(v.node.type===u)return liftListItem(d).apply(this,[a,o,s]);if(isList(v.node.type.name)&&u.validContent(v.node.content)&&o)return c.chain(y).command(()=>(y.setNodeMarkup(v.pos,u),!0)).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>o(y)).run()}return!n||!_||!o?c.chain(y).command(()=>c.can().wrapInList(u,r).run()?!0:c.chain(y).lift().run()).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run():c.chain(y).command(()=>{let e=c.can().wrapInList(u,r).run(),t=_.filter(e=>l.includes(e.type.name));return y.ensureMarks(t),e?!0:(v&&y.setSelection(NodeSelection.create(a.doc,v.pos)),clearNodes().apply(this,[a,o,s]))}).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run()},NodeOrderedList=class extends Node$2{name=`ordered_list`;requires=[`doc`];attributes={type:{default:`1`,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):`1`}},start:{default:void 0,fromDom(e){return e.hasAttribute(`start`)?+e.getAttribute(`start`):void 0}},id:{default:void 0},continue:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ol`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`ol`,getHtmlAttributes(this,e),0]}}getInputRules(e){return[wrappingInputRule(/^(\d+)\.\s$/,e,e=>({order:+e[1]}),(e,t)=>t.childCount+t.attrs.order==+e[1])]}getCommandFactories(e,t){let n=!1;return{toggleOrderedList:()=>toggleList(`ordered_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-7":`toggleOrderedList`}}},NodeBulletList=class extends Node$2{name=`bullet_list`;requires=[`doc`];attributes={toc:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ul`}],toDOM(){return[`ul`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*([-+*])\s$/,e)]}getCommandFactories(e,t){let n=!1;return{toggleBulletList:()=>toggleList(`bullet_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-8":`toggleBulletList`}}},NodeListItem=class extends Node$2{name=`list_item`;requires=[`doc`];attributes={value:{default:void 0},type:{default:void 0,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):void 0},toDom(e){return e.attrs.type}}};getNodeSpec(){return{content:`paragraph block*`,defining:!0,parseDOM:[{tag:`li`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`li`,getHtmlAttributes(this,e),0]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}},NodeTaskList=class extends Node$2{name=`task_list`;requires=[`doc`];getNodeSpec(){return{content:`task_item+`,group:`block list`,parseDOM:[{tag:`ul[data-type="${this.name}"]`}],toDOM:()=>[`ul`,{"data-type":this.name},0]}}getCommandFactories(){return{toggleTaskList:()=>toggleList(`task_list`,`task_item`)}}getKeyboardShortcuts(){return{"Shift-Ctrl-9":`toggleTaskList`}}},NodeViewTaskItem=class e{editor;dom;contentDOM;checkbox;node;view;getPos;config={};constructor(e,...t){this.editor=e,this.node=t[0],this.view=t[1],this.getPos=t[2];let n=document.createElement(`li`);this.dom=n;let r=document.createElement(`label`);r.contentEditable=`false`;let a=document.createElement(`input`);this.checkbox=a,a.type=`checkbox`,a.checked=this.node.attrs.checked,r.append(a);let o=document.createElement(`div`);this.contentDOM=o,n.append(r,o),n.dataset.checked=this.node.attrs.checked,a.addEventListener(`mousedown`,e=>e.preventDefault()),a.addEventListener(`change`,t=>{let n=this.getPos();if(typeof n!=`number`)return;this.editor.view.editable;let{checked:r}=t.target,a=e.state.tr,o=a.doc.nodeAt(n);a.setNodeMarkup(n,void 0,{...o?.attrs,checked:r}),e.dispatchTransaction(a)})}static create=(t,...n)=>new e(t,...n);update(e){return e.type.name===this.node.type.name?(this.dom.dataset.checked=e.attrs.checked,this.checkbox.checked=e.attrs.checked,!0):!1}},NodeTaskItem=class extends Node$2{config;name=`task_item`;requires=[`doc`];constructor(e={nested:!0}){super(e),this.config=e}getNodeSpec(){return{attrs:{checked:{default:!1}},content:this.config.nested?`paragraph block*`:`paragraph+`,defining:!0,parseDOM:[{tag:`li[data-checked]`,getAttrs(e){return{checked:e.getAttribute(`data-checked`)===`true`}}}],toDOM:e=>[`li`,{"data-type":this.name,"data-checked":e.attrs.checked},[`label`,[`input`,{type:`checkbox`,checked:e.attrs.checked?`checked`:null},[`span`]],[`div`,0]]]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getNodeView(e){return(...t)=>NodeViewTaskItem.create(e,...t)}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}getInputRules(e){return[wrappingInputRule(/^\s*(\[([( |x])?\])\s$/,e,e=>({checked:e[e.length-1]===`x`}))]}},BasicEditorKit=class{getExtensions(){return[new ExtensionBaseKeymap,new ExtensionDropcursor,new ExtensionGapcursor,new ExtensionHtml,new ExtensionMediaUpload,new ExtensionRemoteSelection,new ExtensionSelection,new ExtensionTextAlign,new ExtensionPairing,new ExtensionUser,new NodeDocument,new NodeText,new NodeParagraph,new NodeHardBreak,new NodeSoftBreak,new NodeCodeBlock$1,new NodeBookmark,new NodeHorizontalRule,new NodeOrderedList,new NodeBulletList,new NodeListItem,new NodeTaskList,new NodeTaskItem,new NodeDefinitionList,new NodeDefinitionTerm,new NodeDefinitionDesc,new NodeTaskList,new NodeTaskItem,new NodeFrontmatter,new NodeImage,new NodeVideo,new NodeBlockquote,new NodeAside,new NodeHeading,new NodeMath,new NodeInlineShortCode,new NodeIframe,new NodeCommentAnchor,new MarkLink,new MarkItalic,new MarkStrong,new MarkUnderline,new MarkStrike,new MarkCode,new MarkChange,new MarkBookmark,new MarkTextColor,new MarkHighlight,new MarkSuperscript,new MarkSubscript]}},kit=new BasicEditorKit,ExtensionBasicEditor=class extends Extension{name=`basic-editor`;requires=kit.getExtensions()},wasm_default=[{repo:`tree-sitter/tree-sitter`,version:`latest`,files:[`web-tree-sitter.tar.gz/web-tree-sitter.wasm`,`web-tree-sitter.tar.gz/web-tree-sitter.js`]},{repo:`ggodlewski/tree-sitter-mermaid`,version:`latest`,files:[`tree-sitter-mermaid.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-markdown`,version:`latest`,files:[`tree-sitter-markdown.wasm`,`tree-sitter-markdown_inline.wasm`],queries:{"highlights.scm":`split_parser/tree-sitter-markdown/queries/highlights.scm`,"injections.scm":`split_parser/tree-sitter-markdown/queries/injections.scm`,"highlights-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/highlights.scm`,"injections-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/injections.scm`}},{repo:`tree-sitter-grammars/tree-sitter-diff`,version:`latest`,files:[`tree-sitter-diff.wasm`],queries:{"highlights.scm":`main/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-xml`,version:`latest`,files:[`tree-sitter-xml.wasm`,`tree-sitter-dtd.wasm`],queries:{"highlights.scm":`master/queries/xml/highlights.scm`,"highlights-dtd.scm":`master/queries/dtd/highlights.scm`}},{repo:`tree-sitter/tree-sitter-html`,version:`latest`,files:[`tree-sitter-html.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`}},{repo:`tree-sitter/tree-sitter-css`,version:`latest`,files:[`tree-sitter-css.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-toml`,version:`latest`,files:[`tree-sitter-toml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-json`,version:`latest`,files:[`tree-sitter-json.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-regex`,version:`latest`,files:[`tree-sitter-regex.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-rust`,version:`latest`,files:[`tree-sitter-rust.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-typescript`,version:`latest`,files:[`tree-sitter-typescript.wasm`,`tree-sitter-tsx.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-java`,version:`latest`,files:[`tree-sitter-java.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-javascript`,version:`latest`,files:[`tree-sitter-javascript.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"highlights-jsx.scm":`master/queries/highlights-jsx.scm`,"highlights-params.scm":`master/queries/highlights-params.scm`,"injections.scm":`master/queries/injections.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter-grammars/tree-sitter-yaml`,files:[`tree-sitter-yaml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}}];function getLangsList(){return wasm_default.map(e=>e.repo.split(`-`).pop()).filter(e=>typeof e==`string`)}function getLangTreeSitter(e){let t=wasm_default.find(t=>t.repo.endsWith(`-`+e));if(!t)throw Error(`No grammar for: `+e);return{lang:e,dir:t.repo.split(`/`)[1],repo:t.repo,files:t.files,queries:t.queries}}var NodeCodeBlock=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},PositionMapper$1=class{constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}rawTextArr;doc;toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},globalWindow=window;function visit(e,t){let n=[];e.firstChild&&n.push(e.firstChild);let r=n.pop();for(;r&&t(r)!==`stop`;)r.nextSibling&&n.push(r.nextSibling),r.firstChild&&n.push(r.firstChild),r=n.pop()}function isCtrl(e){return e.metaKey||e.ctrlKey}function isUndo(e){return isCtrl(e)&&!e.shiftKey&&getKeyCode(e)===`Z`}function isRedo(e){return isCtrl(e)&&e.shiftKey&&getKeyCode(e)===`Z`}function getKeyCode(e){let t=e.key||e.keyCode||e.which;if(t)return(typeof t==`string`?t:String.fromCharCode(t)).toUpperCase()}function insert$1(e){e=e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`),document.execCommand(`insertHTML`,!1,e)}function debounce(e,t){let n=0;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function findPadding(e){let t=e.length-1;for(;t>=0&&e[t]!==`
19
+ `,{node:t,pos:r})}return t.forEach((t,a)=>{nodeToTreeStringOutput(e,t,n+1,r+a+1)}),e}function nodeToTreeString(e){let t=new SmartOutput;return nodeToTreeStringOutput(t,e),t.toString()}var DummyEditorView=class{_props;directPlugins;nodeViews;prevDirectPlugins=[];pluginViews=[];state;focused=!1;constructor(e){this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(checkStateComponent),this.dispatch=this.dispatch.bind(this),this.editable=getEditable(this),this.nodeViews=buildNodeViews(this),this.updatePluginViews()}editable;get composing(){return!1}get dom(){return{addEventListener(){},removeEventListener(){}}}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){let n=this.state,r=!1,a=!1;if(e.storedMarks&&this.composing,this.state=e,n.plugins!=e.plugins||this._props.plugins!=t.plugins||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=buildNodeViews(this);changedNodeViews(e,this.nodeViews)&&(this.nodeViews=e,r=!0)}this.editable=getEditable(this),r||e.selection.eq(n.selection),this.updatePluginViews(n)}scrollToSelection(){}destroyPluginViews(){let e=this.pluginViews.pop();for(;e;)e.destroy&&e.destroy(),e=this.pluginViews.pop()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let a=this.directPlugins[n].props[e];if(a!=null&&(r=t?t(a):a))return r}let a=this.state.plugins;if(a)for(let n=0;n<a.length;n++){let o=a[n].props[e];if(o!=null&&(r=t?t(o):o))return r}}hasFocus(){return this.focused}focus(){this.focused=!0}destroy(){this.destroyPluginViews()}get isDestroyed(){return!1}dispatchEvent(e){}};DummyEditorView.prototype.dispatch=function(e){let t=this.props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function getEditable(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function buildNodeViews(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function changedNodeViews(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function checkStateComponent(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}function createNodeFromObject(e,t,n){try{let r=t.nodeFromJSON(e);return n?.errorOnInvalidContent&&r.check(),r}catch(r){if(n?.errorOnInvalidContent)throw Error(`Invalid JSON content: `+r.message,{cause:r});return console.warn(`Invalid content.`,`Passed value:`,e,`Error:`,r),t.topNodeType.createAndFill(null,[])}}function defaultUi(e){return{showMessage(e){globalThis.alert(e)},showError(e){globalThis.alert(e.message),console.error(e)},focus(){},select({anchor:e,scrollIntoView:t,userEvent:n}){}}}var Container=class{items=new Map;register(e,t){this.items.set(e,t)}resolve(e){return this.items.get(e)}};function ensureDocSchema(e,t){if(e.type.schema===t)return e;let n=e.toJSON();return Node$3.fromJSON(t,n)}var CoreEditor=class e extends EventTarget{schema;extensionManager;config;commandManager;view;state;ui=defaultUi(this);linkListener;linkSource;ci=new Container;version=0;constructor(e,t,n){super(),this.schema=t,this.extensionManager=n,this.config={...e},this.commandManager=new CommandManager(this)}static create(t){let n=new ExtensionManager(t.editorKits,t.debug),r=n.getSchemaByResolvedExtensions(),a=new e(t,r,n);n.created(a,r);let o=t.content?t.content:r.topNodeType.spec.EMPTY_DOC;return a.createView(o),a.setupPlugins(),a}clone(t){let n=new ExtensionManager(this.extensionManager.editorKits,(t||this.config).debug),r=new e({...t},this.schema,n);n.created(r,this.schema);let a=this.getJSON();return r.createView(a),r.setupPlugins(),r}getExtension(e){return this.ci.resolve(e)}get run(){return this.commandManager.run}get commandFactories(){return this.commandManager.commandFactories}chain(e){return this.commandManager.createChain(e)}can(e){return this.commandManager.createCan(e)}link(e){if(e===this)throw Error(`You cannot chain editor to itself`);this.unlink(),this.state=EditorState.create({doc:e.getDocument()});let{commandFactories:t}=this.commandManager,n=[],r={...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>{let a=t(...e);return n.push(a),r}])),run:()=>{this.linkSource=e,this.linkListener=()=>{let t=e.state,r=e=>{t=t.apply(e)};for(let e of n)if(!e(t,r))return;this.state=t.reconfigure({plugins:this.extensionManager.plugins}),this.view&&this.view.updateState(this.state);let a=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(a)},e.addEventListener(`changed`,this.linkListener)}};return r}unlink(){this.linkListener&&this.linkSource&&(this.linkSource.removeEventListener(`changed`,this.linkListener),this.linkListener=void 0,this.linkSource=void 0)}createView(e){let t=createNodeFromObject(e,this.schema);if(this.state=EditorState.create({doc:t}),this.config.element){let e=new EditorView(this.config.element,{state:this.state,attributes:{class:`kb-editor`},dispatchTransaction:e=>this.dispatchTransaction(e),editable:()=>!this.config.readOnly});if(this.view=e,this.config.element.parentNode){let t=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n.contains(e.dom)){t.disconnect(),e.destroy();return}})}}else this.view=new DummyEditorView({state:this.state,dispatchTransaction:e=>this.dispatchTransaction(e)});let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}dispatchTransaction(e){if(this.state=this.state.apply(e),e.docChanged&&this.version++,this.view){this.view.updateState(this.state);let t=new CustomEvent(`transaction`,{detail:{editor:this,transaction:e}});this.dispatchEvent(t)}if(e.docChanged){let e=new CustomEvent(`changed`,{detail:{editor:this}});this.dispatchEvent(e)}}setupPlugins(){this.state=this.state.reconfigure({plugins:this.extensionManager.plugins}),this.view&&(this.view.updateState(this.state),this.view.setProps({nodeViews:this.extensionManager.nodeViews}))}clearDocument(){let e={type:this.schema.topNodeType.name,content:this.schema.topNodeType.spec.EMPTY_DOC.content};this.setDocument(e)}setDocument(e){let t=createNodeFromObject(e,this.schema,{errorOnInvalidContent:!0});t=ensureDocSchema(t,this.schema),this.state=EditorState.create({doc:t,plugins:this.state.plugins,storedMarks:this.state.storedMarks}),this.view&&this.view.updateState(this.state);let n=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:t}});this.dispatchEvent(n)}getConverter(e){let t=this.extensionManager.converters[e];if(!t)throw Error(`Converter not found for: `+e);return t}getDocument(){return this.state.doc}loadDocumentText(e,t){return this.loadDocument(e,new TextEncoder().encode(t))}async loadDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=EditorState.create({doc:n,plugins:this.state.plugins,storedMarks:this.state.storedMarks});runInputRulesTexts()(r,e=>{r=r.apply(e)}),this.state=r,this.view&&(this.view.updateState(this.state),this.view.dispatch(this.view.state.tr));let a=new CustomEvent(`doc:loaded`,{detail:{editor:this,doc:this.state.doc}});this.dispatchEvent(a)}async saveDocument(e){let t=this.getConverter(e),n=this.state.doc.toJSON(),r=Node$3.fromJSON(this.state.schema,n);return await t.fromDoc(r)}async patchDocument(e,t){let n=await this.getConverter(e).toDoc(t),r=this.state.tr;r.replaceWith(0,this.state.doc.content.size,n.content),this.dispatchTransaction(r)}getMediaTypes(){return Object.keys(this.extensionManager.converters)}patchDocumentText(e,t){return this.patchDocument(e,new TextEncoder().encode(t))}getJSON(){return this.state.doc.toJSON()}debug(e){e||=this.state.doc,console.debug(nodeToTreeString(e))}destroy(){let e=new CustomEvent(`beforeDestroy`,{detail:{}});if(this.dispatchEvent(e),this.config.element){let e=this.config.element,t=e.cloneNode(!0);e.replaceWith(t)}this.view.destroy()}mergeCommandFactories(e,t){this.commandManager.mergeCommandFactories(e,t)}get editable(){return this.view.editable}},Extension=class{config;type=`extension`;editor;conflicts;constructor(e={}){this.config=e}setEditor(e){this.editor=e}getEditor(){return this.editor}created(){}getInputRules(){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e){return{}}getKeyboardShortcuts(e){return{}}getConverters(e,t){return{}}setupSpec(e){}},Mark=class{config;type=`mark`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getMarkSpec(){throw Error(`MarkSpec not defined: `+this.name)}getInputRules(e){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}},Node$2=class{config;type=`node`;name=`node`;editor;attributes={};constructor(e={}){this.config=e}setEditor(e){this.editor=e}created(){}getNodeSpec(){throw Error(`NodeSpec not defined: `+this.name)}getInputRules(e){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e,t){return{}}getKeyboardShortcuts(e){return{}}getNodeView(e){}getConverters(e,t){return{}}};function getShadowRoot(e){let t=e;for(;t;){if(t.toString()===`[object ShadowRoot]`)return t;if(t instanceof ShadowRoot&&t.host)return t.host.shadowRoot||void 0;t=t.parentElement||(t instanceof ShadowRoot?t.host:void 0)}}function toRawTextResult(e,t=0){let n=e.split(`
20
+ `),r=[],a=0,o=0;for(let e of n)r.push({nodeIdx:t,targetRow:o,targetCol:0,targetPos:a}),o++,a+=e.length+1,t+=e.length+1;return{content:e,rawTextMap:r}}function debounce$1(e,t){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function normalizeSiblings(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),a,o=[];if(e.forEach(e=>{if(!o)return;let t=r.findWrapping(e.type),n;if(!t)return o=null;if(n=o.length&&a.length&&addToSibling(t,a,e,o[o.length-1],0))o[o.length-1]=n;else{o.length&&(o[o.length-1]=closeRight(o[o.length-1],a.length));let n=withWrappers(e,t);o.push(n),r=r.matchType(n.type),a=t}}),o)return Fragment.from(o)}return e}function withWrappers(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,Fragment.from(e));return e}function addToSibling(e,t,n,r,a){if(a<e.length&&a<t.length&&e[a]==t[a]){let o=addToSibling(e,t,n,r.lastChild,a+1);if(o)return r.copy(r.content.replaceChild(r.childCount-1,o));if(r.contentMatchAt(r.childCount).matchType(a==e.length-1?n.type:e[a+1]))return r.copy(r.content.append(Fragment.from(withWrappers(n,e,a+1))))}}function closeRight(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,closeRight(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(Fragment.empty,!0);return e.copy(n.append(r))}function closeRange(e,t,n,r,a,o){let s=t<0?e.firstChild:e.lastChild,c=s.content;return e.childCount>1&&(o=0),a<r-1&&(c=closeRange(c,t,n,r,a+1,o)),a>=n&&(c=t<0?s.contentMatchAt(0).fillBefore(c,o<=a).append(c):c.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(c))}function closeSlice(e,t,n){return t<e.openStart&&(e=new Slice(closeRange(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new Slice(closeRange(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}function sliceSingleNode(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function fixSlice(e,t){if(e=Slice.maxOpen(normalizeSiblings(e.content,t),!0),e.openStart||e.openEnd){let t=0,n=0;for(let n=e.content.firstChild;t<e.openStart&&!n.type.spec.isolating;t++,n=n.firstChild);for(let t=e.content.lastChild;n<e.openEnd&&!t.type.spec.isolating;n++,t=t.lastChild);e=closeSlice(e,t,n)}return e}function sliceHasOnlyText(e){return e.content.content.every(e=>e.isInline)}var selectAll=()=>function(e,t,n){let r=e.tr.setSelection(new AllSelection(e.doc));return n&&n.dispatch(r),!0};function textPositionsToResolvedPos(e,t,n){let r=e.map(e=>-1),a=0,o=!1;function s(t,n,s,c){if(o){for(let n=0;n<e.length;n++){let o=e[n];o>=a&&o<a+c&&(r[n]=t+(o-a))}a+=c}}function c(e,t=0,r=0,a=0){t===1&&r===n&&(o=!0);let l=0;e.isText&&e.text?l=e.text?.length:e.isLeaf&&(l=1),l>0&&s(a,t,r,l),e.forEach((e,n,r)=>{c(e,t+1,r,a+n+1)})}if(c(t),o)for(let n=0;n<e.length;n++){let o=e[n];r[n]===-1&&(o<a?r[n]=1:r[n]=t.nodeSize-1)}return r.map(e=>t.resolve(e-1))}var selectText=(e,t,n=0)=>function(r,a,o){let[s,c]=textPositionsToResolvedPos([e+t,e],r.doc,n),l=r.tr.setSelection(new TextSelection(c,s));return o&&o.dispatch(l),!0},ExtensionSelection=class extends Extension{name=`selection`;extractSelection(){let e=this.editor.state,{from:t,to:n}=e.selection,r=e.doc.slice(t,n);if(sliceHasOnlyText(r)){let t=e.schema.nodes.paragraph.create(null,r.content);return e.schema.topNodeType.createAndFill(null,[t])}return e.schema.topNodeType.createAndFill(null,r.content)}replaceSelection(e){let t=!1,n=this.editor.view,r=this.editor.state,a;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),a=new Slice(e.content,1,1);let o=r.selection.$from;a=fixSlice(a,o);let s=sliceSingleNode(a),c=s?r.tr.replaceSelectionWith(s,!1):r.tr.replaceSelection(a);n.dispatch(c.scrollIntoView())}appendSelection(e){let t=this.editor.view,{state:n}=t,r;e.type?.name===`doc`&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),r=new Slice(e.content,1,1);let a=t.state.selection.$from;r=fixSlice(r,a);let o=n.tr.insert(t.state.selection.to,r.content);t.dispatch(o.scrollIntoView())}getCommandFactories(e){return this.editor=e,{selectAll:()=>selectAll(),selectText:(...e)=>selectText(...e)}}},pcBaseKeymap={"Mod-Enter":`exitCode`,Backspace:`backspace`,"Mod-Backspace":`backspace`,"Shift-Backspace":`backspace`,Delete:`del`,"Mod-Delete":`del`,"Mod-a":`selectAll`},macBaseKeymap={...pcBaseKeymap,"Ctrl-h":pcBaseKeymap.Backspace,"Alt-Backspace":pcBaseKeymap[`Mod-Backspace`],"Ctrl-d":pcBaseKeymap.Delete,"Ctrl-Alt-Backspace":pcBaseKeymap[`Mod-Delete`],"Alt-Delete":pcBaseKeymap[`Mod-Delete`],"Alt-d":pcBaseKeymap[`Mod-Delete`],"Ctrl-a":`selectTextblockStart`,"Ctrl-e":`selectTextblockEnd`},baseKeymap=/(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform)?macBaseKeymap:pcBaseKeymap,ExtensionBaseKeymap=class extends Extension{name=`base-keymap`;getKeyboardShortcuts(){let e={Enter:`enter`,"Alt-ArrowUp":`joinUp`,"Alt-ArrowDown":`joinDown`,"Mod-BracketLeft":`lift`,Escape:`selectParentNode`};for(let t in baseKeymap)e[t]=baseKeymap[t];return e}};function dropCursor(e={}){return new Plugin({key:new PluginKey(`drop-cursor`),view(t){return new DropCursorView(t,e)}})}var DropCursorView=class{editorView;width;color;class;cursorPos=null;element=null;timeout=-1;handlers;constructor(e,t){this.editorView=e,this.width=t.width??1,this.color=t.color===!1?void 0:t.color||`black`,this.class=t.class,this.handlers=[`dragover`,`dragend`,`drop`,`dragleave`].map(t=>{let n=e=>{this[t](e)};return e.dom.addEventListener(t,n),{name:t,handler:n}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n,r=this.editorView.dom,a=r.getBoundingClientRect(),o=a.width/r.offsetWidth,s=a.height/r.offsetHeight;if(t){let t=e.nodeBefore,r=e.nodeAfter;if(t||r){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let a=e.getBoundingClientRect(),o=t?a.bottom:a.top;t&&r&&(o=(o+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let c=this.width/2*s;n={left:a.left,right:a.right,top:o-c,bottom:o+c}}}}if(!n){let e=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*o;n={left:e.left-t,right:e.left+t,top:e.top,bottom:e.bottom}}let c=this.editorView.dom.offsetParent;this.element||(this.element=c.appendChild(document.createElement(`div`)),this.class&&(this.element.className=this.class),this.element.style.cssText=`position: absolute; z-index: 50; pointer-events: none;`,this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle(`prosemirror-dropcursor-block`,t),this.element.classList.toggle(`prosemirror-dropcursor-inline`,!t);let l,u;if(!c||c==document.body&&getComputedStyle(c).position==`static`)l=-pageXOffset,u=-pageYOffset;else{let e=c.getBoundingClientRect(),t=e.width/c.offsetWidth,n=e.height/c.offsetHeight;l=e.left-c.scrollLeft*t,u=e.top-c.scrollTop*n}this.element.style.left=(n.left-l)/o+`px`,this.element.style.top=(n.top-u)/s+`px`,this.element.style.width=(n.right-n.left)/o+`px`,this.element.style.height=(n.bottom-n.top)/s+`px`}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),r=n&&n.type.spec.disableDropCursor,a=typeof r==`function`?r(this.editorView,t,e):r;if(t&&!a){let e=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=dropPoint(this.editorView.state.doc,e,this.editorView.dragging.slice);t!=null&&(e=t)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}},ExtensionDropcursor=class extends Extension{name=`dropcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[dropCursor(this.options)]}},GapCursor=class e extends Selection{constructor(e){super(e,e),this.visible=!1}map(t,n){let r=t.resolve(n.map(this.head));return e.valid(r)?new e(r):Selection.near(r)}content(){return Slice.empty}eq(t){return t instanceof e&&t.head==this.head}toJSON(){return{type:`gapcursor`,pos:this.head}}static fromJSONToGapCursor(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for GapCursor.fromJSON`);return new e(t.resolve(n.pos))}getBookmark(){return new GapBookmark(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!closedBefore(e)||!closedAfter(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let r=t.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,n,r=!1){search:for(;;){if(!r&&e.valid(t))return t;let a=t.pos,o=null;for(let r=t.depth;;r--){let s=t.node(r);if(n>0?t.indexAfter(r)<s.childCount:t.index(r)>0){o=s.child(n>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0)return null;a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}for(;;){let s=n>0?o.firstChild:o.lastChild;if(!s){if(o.isAtom&&!o.isText&&!NodeSelection.isSelectable(o)){t=t.doc.resolve(a+o.nodeSize*n),r=!1;continue search}break}o=s,a+=n;let c=t.doc.resolve(a);if(e.valid(c))return c}return null}}};Selection.jsonID(`gapcursor`,GapCursor);var GapBookmark=class e{pos;constructor(e){this.pos=e}map(t){return new e(t.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return GapCursor.valid(t)?new GapCursor(t):Selection.near(t)}};function closedBefore(e){for(let t=e.depth;t>=0;t--){let n=e.index(t),r=e.node(t);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n-1);;e=e.lastChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function closedAfter(e){for(let t=e.depth;t>=0;t--){let n=e.indexAfter(t),r=e.node(t);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n);;e=e.firstChild){if(e.childCount==0&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}}return!0}function gapCursor(){return new Plugin({key:new PluginKey(`gap-cursor`),props:{decorations:drawGapCursor,createSelectionBetween(e,t,n){return t.pos==n.pos&&GapCursor.valid(n)?new GapCursor(n):null},handleClick,handleKeyDown:handleKeyDown$1,handleDOMEvents:{beforeinput}}})}var handleKeyDown$1=keydownHandler({ArrowLeft:arrow$1(`horiz`,-1),ArrowRight:arrow$1(`horiz`,1),ArrowUp:arrow$1(`vert`,-1),ArrowDown:arrow$1(`vert`,1)});function arrow$1(e,t){let n=e==`vert`?t>0?`down`:`up`:t>0?`right`:`left`;return function(e,r,a){let o=e.selection,s=t>0?o.$to:o.$from,c=o.empty;if(o instanceof TextSelection){if(!a.endOfTextblock(n)||s.depth==0)return!1;c=!1,s=e.doc.resolve(t>0?s.after():s.before())}let l=GapCursor.findGapCursorFrom(s,t,c);return l?(r&&r(e.tr.setSelection(new GapCursor(l))),!0):!1}}function handleClick(e,t,n){if(!e||!e.editable)return!1;let r=e.state.doc.resolve(t);if(!GapCursor.valid(r))return!1;let a=e.posAtCoords({left:n.clientX,top:n.clientY});return a&&a.inside>-1&&NodeSelection.isSelectable(e.state.doc.nodeAt(a.inside))?!1:(e.dispatch(e.state.tr.setSelection(new GapCursor(r))),!0)}function beforeinput(e,t){if(t.inputType!=`insertCompositionText`||!(e.state.selection instanceof GapCursor))return!1;let{$from:n}=e.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);if(!r)return!1;let a=Fragment.empty;for(let e=r.length-1;e>=0;e--)a=Fragment.from(r[e].createAndFill(null,a));let o=e.state.tr.replace(n.pos,n.pos,new Slice(a,0,0));return o.setSelection(TextSelection.near(o.doc.resolve(n.pos+1))),e.dispatch(o),!1}function drawGapCursor(e){if(!(e.selection instanceof GapCursor))return null;let t=document.createElement(`div`);return t.className=`kb-gapcursor`,DecorationSet.create(e.doc,[Decoration.widget(e.selection.head,t,{key:`gapcursor`})])}var ExtensionGapcursor=class extends Extension{name=`gapcursor`;options={color:`currentColor`,width:1,class:void 0};getProseMirrorPlugins(){return[gapCursor()]}},ExtensionTextAlign=class extends Extension{name=`textAlign`;getCommandFactories(e){let t=e=>(t,n)=>{let{selection:r,tr:a}=t,{from:o,to:s}=r,c=!1;return t.doc.nodesBetween(o,s,(t,n)=>{t.isBlock&&t.type.spec.attrs&&`textAlign`in t.type.spec.attrs&&(a.setNodeMarkup(n,void 0,{...t.attrs,textAlign:e}),c=!0)}),c&&n&&n(a),c};return{setTextAlignLeft:()=>t(`left`),setTextAlignCenter:()=>t(`center`),setTextAlignRight:()=>t(`right`),setTextAlignJustify:()=>t(`justify`)}}},userColors=[{dark:`#30bced`,light:`#30bced`},{dark:`#6eeb83`,light:`#6eeb83`},{dark:`#ffbc42`,light:`#ffbc42`},{dark:`#ecd444`,light:`#ecd444`},{dark:`#ee6352`,light:`#ee6352`},{dark:`#9ac2c9`,light:`#9ac2c9`},{dark:`#8acb88`,light:`#8acb88`},{dark:`#1be7ff`,light:`#1be7ff`}];function hashString(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)}var defaultColorMapper=(e,t)=>{let n=hashString(t.id),r=hashString(e.id);return n===r&&r++,userColors[r%userColors.length]};function generateBlankUser(){return{id:``,name:`User unset`}}function generateRandomUser(){let e=Math.random()*100;return{id:`random:`+e,name:`Anonymous `+Math.floor(e)}}var userPluginKey=new PluginKey(`user`),createUserPlugin=()=>new Plugin({key:userPluginKey,state:{init(){return{user:generateRandomUser()}},apply:(e,t)=>{let n=e.getMeta(`changeUser`);return n&&(t.user={...n.user}),t}}}),ExtensionUser=class extends Extension{name=`user`;getCommandFactories(){return{changeUser:e=>(t,n)=>{let r=t.tr;return r.setMeta(`changeUser`,{user:e}),n&&n(r),!0}}}getProseMirrorPlugins(){return[createUserPlugin()]}},remoteSelectionPluginKey=new PluginKey(`remote-selection`),defaultCursorBuilder=(e,t,n)=>{let r=n(e,t).light,a=document.createElement(`span`);a.classList.add(`kb-yjs__cursor`),a.setAttribute(`style`,`border-color: ${r};`);let o=document.createElement(`div`);o.setAttribute(`style`,`background-color: ${r}`),o.insertBefore(document.createTextNode(e.name),null);let s=document.createTextNode(`⁠`),c=document.createTextNode(`⁠`);return a.insertBefore(s,null),a.insertBefore(o,null),a.insertBefore(c,null),a},defaultSelectionBuilder=(e,t,n)=>({style:`background-color: ${n(e,t).light}70`,class:`kb-yjs__selection`}),createDecorations=(e,t,n,r)=>{let a=[],o=t.remoteStates;for(let s of o)if(s.cursor!=null){let o=s.user,c=s.cursor,l=c.anchor||null,u=c.head||null;if(l!==null&&u!==null){let c=Math.max(e.doc.content.size-1,0);l=Math.min(l,c),u=Math.min(u,c),a.push(Decoration.widget(u,()=>n(o,t.me,t.colorMapper),{key:s.clientId+o.id+o.name,side:10}));let d=Math.min(l,u),f=Math.max(l,u);a.push(Decoration.inline(d,f,r(o,t.me,t.colorMapper),{inclusiveEnd:!0,inclusiveStart:!1}))}}return DecorationSet.create(e.doc,a)},remoteSelectionPlugin=({cursorBuilder:e=defaultCursorBuilder,selectionBuilder:t=defaultSelectionBuilder}={})=>new Plugin({key:remoteSelectionPluginKey,state:{init(){return{remoteStates:[],me:generateBlankUser(),colorMapper:defaultColorMapper}},apply(e,t){let n=e.getMeta(`changeUser`);n&&(t.me={...n.user});let r=e.getMeta(`setColorMapper`);r&&(t.colorMapper=r.colorMapper);let a=e.getMeta(`remoteSelectionChange`);return a&&(t.remoteStates=[...a.remoteStates]),t}},props:{decorations(n){let r=this.getState(n);return r?createDecorations(n,r,e,t):DecorationSet.empty}}}),ExtensionRemoteSelection=class extends Extension{name=`remote-selection`;getProseMirrorPlugins(){return[remoteSelectionPlugin()]}};function generateId(){return String(Math.random())}function buildPairingTransaction(e,t,n){let{doc:r}=e,a=new Map,o=[];r.descendants((e,n)=>{e.type.name===t&&o.push({node:e,pos:n})});let s=!1;for(let{node:e,pos:t}of o){let r=e.attrs.content?.trim();if(!r)continue;let o=r.match(/^[^0-9a-z\/]*(\/?)[\s]*([\w]+)/i),c=o[1]===`/`,l=o[2];if(!c)a.has(l)||a.set(l,[]),a.get(l).push({node:e,pos:t});else{let r=a.get(l);if(r&&r.length>0){let a=r.pop(),o=generateId();n.setNodeMarkup(a.pos,void 0,{...a.node.attrs,id:o,nesting:1,error:void 0}),n.setNodeMarkup(t,void 0,{...e.attrs,id:o,nesting:-1,error:void 0})}else n.setNodeMarkup(t,void 0,{...e.attrs,error:`Closing shortcode without matching opening`,nesting:-1});s=!0}}for(let[,e]of a.entries())for(let{node:t,pos:r}of e)n.setNodeMarkup(r,void 0,{...t.attrs,nesting:0,id:void 0}),s=!0;return s?n:null}var createPairingPlugin=e=>new Plugin({appendTransaction(t,n,r){let a=new Set;for(let r of t)if(r.docChanged){for(let t of r.steps)if((t instanceof ReplaceStep||t instanceof ReplaceAroundStep)&&(t.slice&&t.slice.content.descendants(t=>{e.includes(t.type.name)&&a.add(t.type.name)}),t.from!=null&&t.to!=null&&t.from!==t.to&&n.doc.nodesBetween(t.from,t.to,t=>{e.includes(t.type.name)&&a.add(t.type.name)}),a.size===e.length))break;if(a.size===e.length)break}if(a.size===0)return null;let o=r.tr;for(let e of a)buildPairingTransaction(r,e,o);return o}}),ExtensionPairing=class extends Extension{name=`pairing-nodes`;getProseMirrorPlugins(){return[createPairingPlugin([`shortcode_inline`])]}};function getHTMLFromFragment(e,t){let n=globalThis.document,r=DOMSerializer.fromSchema(t).serializeFragment(e,{document:n}),a=n.implementation.createHTMLDocument().createElement(`div`);return a.appendChild(r),a.innerHTML}var removeWhitespaces$1=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces$1(r)}return e};function elementFromString$1(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces$1(n)}var ExtensionHtml=class extends Extension{name=`html`;getConverters(e,t){return{"text/html":{fromDoc:async t=>{let n=getHTMLFromFragment(t.content,e.schema);return new TextEncoder().encode(n)},toDoc:async e=>{let n=elementFromString$1(new TextDecoder().decode(e));return DOMParser$1.fromSchema(t).parse(n)}}}}},mediaUploadKey=new PluginKey(`mediaUpload`);function fileToDataURL(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function fileToObjectURL(e){return URL.createObjectURL(e)}function isImage(e,t){return t.some(t=>e.type.match(t))}function isVideo(e,t){return t.some(t=>e.type.match(t))}function insertImage(e,t,n,r,a){let{schema:o}=e.state,s=o.nodes.image;if(!s){console.warn(`Image node type not found in schema`);return}let c=s.create({src:n,alt:r,title:a}),l=e.state.tr.insert(t,c);e.dispatch(l)}function insertVideo(e,t,n,r,a,o){let{schema:s}=e.state,c=s.nodes.video;if(!c){console.warn(`Video node type not found in schema`);return}let l=c.create({src:n,title:r,width:a,height:o,controls:!0}),u=e.state.tr.insert(t,l);e.dispatch(u)}async function handleMediaFiles(e,t,n,r){let{maxFileSize:a=10*1024*1024,maxVideoFileSize:o=50*1024*1024,allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`],uploadHandler:l}=r;for(let u of t){let t=isImage(u,s),d=isVideo(u,c);if(!t&&!d)continue;let f=d?o:a;if(u.size>f){console.warn(`${d?`Video`:`Image`} file "${u.name}" is too large (${(u.size/1024/1024).toFixed(2)}MB). Maximum size is ${(f/1024/1024).toFixed(2)}MB.`);continue}try{console.log(`Processing ${d?`video`:`image`}: ${u.name} (${(u.size/1024/1024).toFixed(2)}MB, ${u.type})`);let t;l?t=await l(u):d&&r.useObjectURLForVideos!==!1?(t=fileToObjectURL(u),console.log(`Using object URL for video:`,t)):(t=await fileToDataURL(u),console.log(`${d?`Video`:`Image`} converted to data URL, length: ${t.length} characters`)),d?(insertVideo(e,n,t,u.name),console.log(`Video inserted into editor`)):(insertImage(e,n,t,u.name),console.log(`Image inserted into editor`)),n+=1}catch(e){console.error(`Failed to process ${d?`video`:`image`} "${u.name}":`,e)}}}function createMediaUploadPlugin(e={}){return new Plugin({key:mediaUploadKey,props:{handleDrop(t,n,r,a){if(a)return!1;let o=Array.from(n.dataTransfer?.files||[]);if(o.length===0)return!1;let{allowedImageTypes:s=[`^image/`],allowedVideoTypes:c=[`^video/`]}=e;if(o.some(e=>isImage(e,s)||isVideo(e,c))){n.preventDefault();let r={left:n.clientX,top:n.clientY},a=t.posAtCoords(r);return a?(handleMediaFiles(t,o,a.pos,e),!0):!1}},handlePaste(t,n,r){let a=Array.from(n.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(a.length>0){n.preventDefault();let r=[];for(let e of a){let t=e.getAsFile();t&&r.push(t)}if(r.length===0)return!1;let{from:o}=t.state.selection;return handleMediaFiles(t,r,o,e),!0}}}})}var ExtensionMediaUpload=class extends Extension{config;name=`mediaUpload`;constructor(e={}){super(e),this.config=e}getProseMirrorPlugins(){return[createMediaUploadPlugin(this.config)]}};function getStringByXPath(e,t){return t.ownerDocument.evaluate(e,t,null,XPathResult.STRING_TYPE,null).stringValue}function getElementsByXPath(e,t){let n=t.ownerDocument.evaluate(e,t,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),r=[];for(let e=0;e<n.snapshotLength;e++){let t=n.snapshotItem(e);t&&r.push(t)}return r}var PasteState=class{editor;pasteRules=[];constructor(e){this.editor=e}handleCommands(e,t){if(!e)return!1;if(e.getPasteRules)return e.getPasteRules(this.pasteRules),!0;if(e.setPasteRules)return console.log(`setPasteRules`,e.setPasteRules),this.pasteRules=e.setPasteRules,!0;if(e.pasteHtml){let{from:t,html:n}=e.pasteHtml,r=elementFromString$1(n),a=this.editor,o=!1,s=[],c=a.ci.resolve(`yaml`);for(let e of this.pasteRules){if(typeof e.match==`string`){if(getElementsByXPath(e.match,r).length===0)continue}else if(!e.match(r))continue;for(let t of e.steps){let e;if(typeof t.match==`string`)switch(t.result||``){case`string`:e=getStringByXPath(t.match,r);break;default:e=getElementsByXPath(t.match,r);break}else e=t.match(r);switch(console.log(`step`,e,t),t.op){case`remove`:for(let t of e)t.parentNode?.removeChild(t);break;case`replaceTag`:for(let n of e){let e=n.ownerDocument.createElement(t.tag);e.innerHTML=n.innerHTML,n.parentNode?.replaceChild(e,n)}break;case`replaceBody`:for(let t of e)r.innerHTML=``,r.appendChild(t);break;case`console.debug`:console.debug(e);break;case`meta.set`:s.push({path:t.path,value:e});break}}o=!!e.replaceDocument;break}let l=DOMParser$1.fromSchema(this.editor.schema).parse(r);return setTimeout(async()=>{let e=this.editor.state.tr;o?e.replaceWith(0,this.editor.state.doc.content.size,l):e.insert(t,l);{let t=await new Promise(e=>this.editor.chain().getMeta(e).run())||new Map;for(let e of s)c.setPathValue(t,e.path,e.value);e.setDocAttribute(`meta`,t)}this.editor.dispatchTransaction(e)},0),!0}return!1}},PastePluginKey=new PluginKey(`paste`),ExtensionPaste=class extends Extension{name=`paste`;getProseMirrorPlugins(){let e=this.editor;return[new Plugin({key:PastePluginKey,state:{init(){return PastePluginKey.getState(e.state)||new PasteState(e)},apply(e,t,n,r){if(e.isGeneric)return t;let a=e.getMeta(PastePluginKey);return t.handleCommands(a,e),t}},props:{handlePaste(t,n,r){let{clipboardData:a}=n;if(!a)return!1;if(a.types.includes(`text/html`)){let{from:e}=t.state.selection,r=a.getData(`text/html`);n.preventDefault();let o=t.state.tr.setMeta(PastePluginKey,{pasteHtml:{from:e,html:r}});return t.dispatch(o),!0}[...a.items].map(e=>e.getAsFile()).filter(e=>!!e);let o=Array.from(n.clipboardData?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}},handleDrop(t,n,r,a){let o=Array.from(n.dataTransfer?.files||[]);if(o.length===1){let t=o[0];if(e.getMediaTypes().includes(t.type))return t.bytes().then(n=>{e.loadDocument(t.type,n)}),!0}}}})]}getCommandFactories(e){return{getPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{getPasteRules:e}),n&&n(r),!0},setPasteRules:e=>(t,n)=>{let r=t.tr;return r.setMeta(PastePluginKey,{setPasteRules:e}),n&&n(r),!0}}}},MarkLink=class extends Mark{name=`link`;requires=[`doc`];getMarkSpec(){return{attrs:{href:{},title:{default:void 0},origUrl:{default:void 0},mdTemplate:{default:void 0}},inclusive:!1,parseDOM:[{tag:`a[href]`,getAttrs(e){return{href:e.getAttribute(`href`),title:e.getAttribute(`title`)}}}],toDOM(e){let{href:t,title:n}=e.attrs;return[`a`,{href:t,title:n},0]}}}},MarkStrong=class extends Mark{name=`strong`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!=`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name==`strong`},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return[`strong`,0]}}}getCommandFactories(e,t){return{toggleStrong:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-b":`toggleStrong`,"Mod-B":`toggleStrong`}}},MarkItalic=class extends Mark{name=`em`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`i`},{tag:`em`},{style:`font-assets=italic`},{style:`font-assets=normal`,clearMark:e=>e.type.name==`em`}],toDOM(){return[`em`,0]}}}getCommandFactories(e,t){return{toggleItalic:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-i":`toggleItalic`,"Mod-I":`toggleItalic`}}},MarkUnderline=class extends Mark{name=`underline`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`u`}],toDOM(){return[`u`,0]}}}getCommandFactories(e,t){return{toggleUnderline:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-u":`toggleUnderline`,"Mod-U":`toggleUnderline`}}},MarkStrike=class extends Mark{name=`strike`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`strike`}],toDOM(){return[`strike`,0]}}}getCommandFactories(e,t){return{toggleStrike:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-s":`toggleStrike`,"Mod-S":`toggleStrike`}}},MarkCode=class extends Mark{name=`code`;requires=[`doc`];getMarkSpec(){return{parseDOM:[{tag:`code`}],toDOM(){return[`code`,0]}}}getCommandFactories(e,t){return{toggleCode:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-`":`toggleCode`}}},MarkChange=class extends Mark{name=`change`;requires=[`doc`];getMarkSpec(){return{parseDOM:[],toDOM(){return[`change`,0]}}}},MarkBookmark=class extends Mark{name=`bookmark`;requires=[`doc`];getMarkSpec(){return{attrs:{id:{}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},MarkTextColor=class extends Mark{name=`textColor`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`span[style*="color"]`,getAttrs(e){let t=e.style.color;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return t?[`span`,{style:`color: ${t}`},0]:[`span`,0]}}}},MarkHighlight=class extends Mark{name=`highlight`;getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:`mark`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:{color:`yellow`}}},{tag:`span[style*="background-color"]`,getAttrs(e){let t=e.style.backgroundColor;return t?{color:t}:!1}}],toDOM(e){let{color:t}=e.attrs;return[`mark`,{style:`background-color: ${t||`yellow`}; color: inherit;`},0]}}}},MarkSuperscript=class extends Mark{name=`superscript`;requires=[`doc`];getMarkSpec(){return{excludes:`subscript`,parseDOM:[{tag:`sup`},{style:`vertical-align`,getAttrs:e=>e===`super`&&null}],toDOM(){return[`sup`,0]}}}getCommandFactories(e,t){return{toggleSuperscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-.":`toggleSuperscript`}}},MarkSubscript=class extends Mark{name=`subscript`;requires=[`doc`];getMarkSpec(){return{excludes:`superscript`,parseDOM:[{tag:`sub`},{style:`vertical-align`,getAttrs:e=>e===`sub`&&null}],toDOM(){return[`sub`,0]}}}getCommandFactories(e,t){return{toggleSubscript:()=>e.commandFactories.toggleMark(t)}}getKeyboardShortcuts(){return{"Mod-Shift-,":`toggleSubscript`}}},NodeDocument=class extends Node$2{name=`doc`;getNodeSpec(){return{content:`block+`,attrs:{meta:{default:null}},marks:`code em strong link bookmark`,EMPTY_DOC:{type:this.name,content:[{type:`paragraph`,content:[]}]}}}getCommandFactories(e,t){return{getMeta:e=>(t,n)=>(e(structuredClone(t.doc.attrs.meta)),!0),setMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e),n&&n(r),r.docChanged},updateMeta:e=>(t,n)=>{let r=t.tr;return r.setDocAttribute(`meta`,e(t.doc.attrs.meta)),n&&n(r),r.docChanged}}}},NodeText=class extends Node$2{name=`text`;getNodeSpec(){return{group:`inline`}}};function wrappingInputRule(e,t,n=null,r){return new InputRule(e,(e,a,o,s,c)=>{e||=a.tr;let l=n instanceof Function?n(o):n;e=e.delete(s,c);let u=e.doc.resolve(s).blockRange(),d=u&&findWrapping(u,t,l);if(!d)return null;e.wrap(u,d);let f=e.doc.resolve(s-1).nodeBefore;return f&&f.type==t&&canJoin(e.doc,s-1)&&(!r||r(o,f))&&e.join(s-1),e})}function textblockTypeInputRule(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=r.doc.resolve(o),l=n instanceof Function?n(a):n;return c.node(-1).canReplaceWith(c.index(-1),c.indexAfter(-1),t)?e.delete(o,s).setBlockType(o,o,t,l):null})}function replaceInlineNode(e,t,n=null){return new InputRule(e,(e,r,a,o,s)=>{e||=r.tr;let c=n instanceof Function?n(a):n;if(r.doc.resolve(o).parent.type===r.schema.nodes.code_block)return e;let l=t.createAndFill(c),u=e.mapping.map(o),d=e.mapping.map(s);return e.replaceWith(u,d,Fragment.from(l))})}var NodeCodeBlock$1=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},NodeBookmark=class extends Node$2{name=`node_bookmark`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},nesting:{default:0}},parseDOM:[],toDOM(e){return[`a`,{id:e.attrs.id},0]}}}},NodeParagraph=class extends Node$2{name=`paragraph`;requires=[`doc`];getNodeSpec(){return{content:`inline*`,group:`block`,attrs:{textAlign:{default:void 0}},parseDOM:[{tag:`p`,getAttrs(e){let t=e.style.textAlign;return t===`center`||t===`right`||t===`justify`?{textAlign:t}:!1}}],toDOM(e){let t=e.attrs.textAlign||`left`;return[`center`,`right`,`justify`].includes(t)?[`p`,{style:`text-align: ${t}`},0]:[`p`,0]}}}getCommandFactories(e,t){return{setParagraph:()=>e.commandFactories.setBlockType(t)}}getKeyboardShortcuts(){return{"Shift-Ctrl-0":`setParagraph`}}},NodeHardBreak=class extends Node$2{name=`br`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,linebreakReplacement:!0,parseDOM:[{tag:`br`}],toDOM(){return[`br`]}}}getCommandFactories(e,t){let n=firstCommand(e.run.exitCode);return{setHardBreak:()=>n}}getKeyboardShortcuts(){let e=typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,t={"Ctrl-Enter":`setHardBreak`};return e&&(t[`Mod-Enter`]=`setHardBreak`,t[`Shift-Enter`]=`setHardBreak`),t}},NodeSoftBreak=class extends Node$2{name=`softbreak`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,parseDOM:[{tag:`wbr`}],toDOM(){return[`wbr`]}}}},NodeHorizontalRule=class extends Node$2{name=`hr`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,parseDOM:[{tag:`hr`}],toDOM(){return[`hr`]}}}getCommandFactories(e,t){return{setHorizontalRule:()=>(e,n)=>(n&&n(e.tr.replaceSelectionWith(t.create()).scrollIntoView()),!0)}}getKeyboardShortcuts(){return{"Mod-_":`setHorizontalRule`}}},NodeImage=class extends Node$2{name=`image`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},origUrl:{default:void 0},mdTemplate:{default:void 0}},group:`inline`,draggable:!0,parseDOM:[{tag:`img[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`),width:e.getAttribute(`width`)||e.style.width||null,height:e.getAttribute(`height`)||e.style.height||null}}}],toDOM(e){let{src:t,alt:n,title:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.alt=n),r&&(s.title=r),a&&(s.width=a),o&&(s.height=o),[`img`,s]}}}getNodeView(e){return(e,t,n)=>{let r=document.createElement(`span`);r.className=`kb-image-wrapper`,r.contentEditable=`false`;let a=document.createElement(`img`);a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width&&(a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width),e.attrs.height&&(a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height),a.draggable=!1,r.appendChild(a);let o=[`nw`,`ne`,`sw`,`se`],s=[];for(let e of o){let t=document.createElement(`span`);t.className=`kb-image-resize-handle kb-image-resize-handle-${e}`,t.dataset.position=e,s.push(t),r.appendChild(t)}let c=!1,l=0,u=0,d=0,f=0,p=1,m=null,h=e=>{let t=e.target;if(!t.classList.contains(`kb-image-resize-handle`))return;e.preventDefault(),e.stopPropagation(),c=!0,m=t.dataset.position||null,l=e.clientX,u=e.clientY;let n=a.getBoundingClientRect();d=n.width,f=n.height,p=d/f,r.classList.add(`kb-image-resizing`),document.addEventListener(`mousemove`,g),document.addEventListener(`mouseup`,_)},g=e=>{if(!c)return;let t=e.clientX-l,n=e.clientY-u,r=d,o=f;switch(m){case`se`:r=d+t,o=e.shiftKey?f+n:r/p;break;case`sw`:r=d-t,o=e.shiftKey?f+n:r/p;break;case`ne`:r=d+t,o=e.shiftKey?f-n:r/p;break;case`nw`:r=d-t,o=e.shiftKey?f-n:r/p;break}r=Math.max(50,r),o=Math.max(50,o),a.style.width=`${Math.round(r)}px`,a.style.height=`${Math.round(o)}px`},_=()=>{if(!c)return;c=!1,m=null,r.classList.remove(`kb-image-resizing`),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_);let o=Math.round(a.getBoundingClientRect().width),s=Math.round(a.getBoundingClientRect().height),l=n();if(typeof l==`number`){let n=t.state.tr.setNodeMarkup(l,void 0,{...e.attrs,width:`${o}px`,height:`${s}px`});t.dispatch(n)}};return r.addEventListener(`mousedown`,h),r.addEventListener(`click`,e=>{e.preventDefault();let r=n();if(typeof r==`number`){let e=t.state.doc.resolve(r),n=Selection.near(e);t.dispatch(t.state.tr.setSelection(n))}}),{dom:r,update:e=>e.type.name===`image`?(a.src=e.attrs.src,e.attrs.alt&&(a.alt=e.attrs.alt),e.attrs.title&&(a.title=e.attrs.title),e.attrs.width?a.style.width=typeof e.attrs.width==`number`?`${e.attrs.width}px`:e.attrs.width:a.style.width=``,e.attrs.height?a.style.height=typeof e.attrs.height==`number`?`${e.attrs.height}px`:e.attrs.height:a.style.height=``,!0):!1,destroy:()=>{r.removeEventListener(`mousedown`,h),document.removeEventListener(`mousemove`,g),document.removeEventListener(`mouseup`,_)},stopEvent:e=>e.type===`mousedown`&&e.target.classList.contains(`kb-image-resize-handle`),ignoreMutation:()=>!0}}}},NodeVideo=class extends Node$2{name=`video`;requires=[`doc`];getNodeSpec(){return{attrs:{src:{},title:{default:null},controls:{default:!0},width:{default:null},height:{default:null}},group:`block`,draggable:!0,parseDOM:[{tag:`video[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),controls:e.hasAttribute(`controls`),width:e.getAttribute(`width`),height:e.getAttribute(`height`)}}}],toDOM(e){let{src:t,title:n,controls:r,width:a,height:o}=e.attrs,s={src:t};return n&&(s.title=n),r&&(s.controls=``),a&&(s.width=a),o&&(s.height=o),[`video`,s]}}}},NodeBlockquote=class extends Node$2{name=`blockquote`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`blockquote`}],toDOM(){return[`blockquote`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*>\s$/,e)]}getCommandFactories(e,t){return{toggleBlockquote:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{"Ctrl->":`toggleBlockquote`}}},NodeAside=class extends Node$2{name=`aside`;requires=[`doc`];getNodeSpec(){return{content:`block+`,group:`block`,defining:!0,parseDOM:[{tag:`aside`}],toDOM(){return[`aside`,0]}}}},maxLevel=6,NodeHeading=class extends Node$2{name=`heading`;requires=[`doc`];getNodeSpec(){return{attrs:{level:{default:1}},content:`inline*`,group:`block`,defining:!0,parseDOM:[{tag:`h1`,attrs:{level:1}},{tag:`h2`,attrs:{level:2}},{tag:`h3`,attrs:{level:3}},{tag:`h4`,attrs:{level:4}},{tag:`h5`,attrs:{level:5}},{tag:`h6`,attrs:{level:6}}],toDOM(e){return[`h`+e.attrs.level,0]}}}getInputRules(e){return[textblockTypeInputRule(RegExp(`^(#{1,6})\\s$`),e,e=>({level:e[1].length}))]}getCommandFactories(e,t){let n={};for(let r=1;r<=maxLevel;r++)n[`setHeading`+r]=()=>e.commandFactories.setBlockType(t,{level:r});return n}getKeyboardShortcuts(){let e={};for(let t=1;t<=maxLevel;t++)e[`Shift-Ctrl-`+t]=`setHeading`+t;return e}},NodeMath=class extends Node$2{name=`math`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{lang:{default:`mathml`},content:{}},group:`inline`,draggable:!0,parseDOM:[{tag:`math`,getAttrs:e=>({lang:`mathml`,content:new XMLSerializer().serializeToString(e)})}],toDOM(e){let t=new DOMParser().parseFromString(e.attrs.content,`application/xml`);return t.getElementsByTagName(`parsererror`).length>0?[`span`,{class:`mathml-error`},`Invalid MathML`]:document.importNode(t.documentElement,!0)}}}},NodeDefinitionList=class extends Node$2{name=`dl`;requires=[`doc`];getNodeSpec(){return{content:`dt+|dd+`,group:`block`,parseDOM:[{tag:`dl`}],toDOM(){return[`dl`,0]}}}getInputRules(e){return[]}getCommandFactories(e,t){return{toggleDefinitionList:()=>e.commandFactories.wrapInList(t)}}getKeyboardShortcuts(){return{}}},NodeDefinitionTerm=class extends Node$2{name=`dt`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dt`}],defining:!0,toDOM(){return[`dt`,0]}}}},NodeDefinitionDesc=class extends Node$2{name=`dd`;requires=[`dl`];getNodeSpec(){return{content:`inline*`,group:`block`,parseDOM:[{tag:`dd`}],defining:!0,toDOM(){return[`dd`,0]}}}};function fixCharacters$1(e){return e.replace(/’/g,`'`).replace(/“/g,`"`).replace(/”/g,`"`).replace(/\x0b/g,` `).replace(/\u201d/g,`"`).replace(/\u201c/g,`"`)}function replaceAllNodesOfType(e,t,n,r){let a=[];t.descendants((e,t)=>{e.type===n&&a.push({node:e,pos:t})});for(let t=a.length-1;t>=0;t--){let{node:n,pos:o}=a[t],s=r(n,e.doc.type.schema);e=e.replaceWith(o,o+n.nodeSize,s)}return e}var NodeInlineShortCode=class extends Node$2{name=`shortcode_inline`;requires=[`doc`];getNodeSpec(){return{inline:!0,group:`inline`,selectable:!0,atom:!0,attrs:{id:{default:void 0},content:{default:``},nesting:{default:0},error:{default:``}},parseDOM:[{tag:`span.kb-shortcode-inline`,getAttrs:e=>({content:e.textContent||null})}],toDOM(e){return[`span`,{class:`kb-shortcode-inline`},e.attrs.content||``]}}}getInputRules(e){return[replaceInlineNode(/\{\{[^}]+\}\}/,e,e=>({content:fixCharacters$1(e[0].substring(2,e[0].length-2))}))]}getCommandFactories(e,t){return{renderShortCode:e=>(n,r)=>{let a=n.tr;return a=replaceAllNodesOfType(a,n.doc,t,e),a.docChanged&&r&&r(a),!0}}}},NodeIframe=class extends Node$2{name=`iframe`;requires=[`doc`];getNodeSpec(){return{inline:!0,attrs:{src:{},class:{default:null},alt:{default:null},title:{default:null}},group:`inline`,draggable:!0,parseDOM:[{tag:`iframe[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`)}}}],toDOM(e){let{src:t,alt:n,title:r}=e.attrs;return[`iframe`,{src:t,alt:n,title:r,class:e.attrs.class}]}}}};function collectCommentAnchors(e){let t=new Map,n=new Map;return e.descendants((e,r)=>{e.type.name===`comment`&&(e.attrs.nesting===1&&t.set(e.attrs.id,r),e.attrs.nesting===-1&&n.set(e.attrs.id,r))}),{starts:t,ends:n}}function buildCommentRanges(e){let{starts:t,ends:n}=collectCommentAnchors(e),r=[];for(let[e,a]of t){let t=n.get(e);!t||t<=a||r.push({id:e,from:a+1,to:t})}return r}function buildDecorations(e){let t=buildCommentRanges(e);return DecorationSet.create(e,t.map(({id:e,from:t,to:n})=>Decoration.inline(t,n,{class:`comment-highlight`,"data-comment-id":e})))}function commentsPlugin(){return new Plugin({state:{init(e,{doc:t}){return buildDecorations(t)},apply(e,t,n,r){return e.docChanged?buildDecorations(r.doc):t}},props:{decorations(e){return this.getState(e)}}})}var addCommentBoundary=e=>(t,n)=>{let{schema:r,selection:a}=t,{from:o,to:s}=a,c=r.nodes.comment;if(!c)return!1;let l=c.create({id:e,nesting:1}),u=c.create({id:e,nesting:-1}),d=t.tr;return d.insert(s,u),d.insert(o,l),n&&n(d),!0},NodeCommentAnchor=class extends Node$2{name=`comment`;requires=[`doc`];options={keepMarks:!0};getNodeSpec(){return{inline:!0,group:`inline`,selectable:!1,atom:!0,attrs:{id:{},active:{default:!1},nesting:{default:1}},parseDOM:[{tag:`span[data-comment-id]`,getAttrs(e){return{id:e.getAttribute(`data-comment-id`),nesting:parseInt(e.getAttribute(`data-nesting`)||`1`),active:e.hasAttribute(`data-active`)}}}],toDOM:e=>[`span`,{"data-comment-id":e.attrs.id,"data-active":e.attrs.active?`true`:void 0,"data-nesting":e.attrs.nesting}]}}getCommandFactories(e,t){return{addComment:(e,t)=>addCommentBoundary(e,t)}}getProseMirrorPlugins(){return[commentsPlugin()]}};function splitListItem(e,t){let n=function(n,r){let{$from:a,$to:o,node:s}=n.selection;if(s&&s.isBlock||a.depth<2||!a.sameParent(o))return!1;let c=a.node(-1);if(c.type!=e)return!1;if(a.parent.content.size==0&&a.node(-1).childCount==a.indexAfter(-1)){if(a.depth==3||a.node(-3).type!=e||a.index(-2)!=a.node(-2).childCount-1)return!1;if(r){let t=Fragment.empty,o=a.index(-1)?1:a.index(-2)?2:3;for(let e=a.depth-o;e>=a.depth-3;e--)t=Fragment.from(a.node(e).copy(t));let s=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3;t=t.append(Fragment.from(e.createAndFill()));let c=a.before(a.depth-(o-1)),l=n.tr.replace(c,a.after(-s),new Slice(t,4-o,0)),u=-1;l.doc.nodesBetween(c,l.doc.content.size,(e,t)=>{if(u>-1)return!1;e.isTextblock&&e.content.size==0&&(u=t+1)}),u>-1&&l.setSelection(Selection.near(l.doc.resolve(u))),r(l.scrollIntoView())}return!0}let l=o.pos==a.end()?c.contentMatchAt(0).defaultType:null,u=n.tr.delete(a.pos,o.pos),d=l?[t?{type:e,attrs:t}:null,{type:l}]:void 0;return canSplit(u.doc,a.pos,2,d)?(r&&r(u.split(a.pos,2,d).scrollIntoView()),!0):!1};return n.displayName=`splitListItem(${e.name})`,n}function liftListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?liftToOuterList(t,n,e,o):liftOutOfList(t,n,o):!0:!1}}function liftToOuterList(e,t,n,r){let a=e.tr,o=r.end,s=r.$to.end(r.depth);o<s&&(a.step(new ReplaceAroundStep(o-1,s,o,s,new Slice(Fragment.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new NodeRange(a.doc.resolve(r.$from.pos),a.doc.resolve(s),r.depth));let c=liftTarget(r);if(c==null)return!1;a.lift(r,c);let l=a.doc.resolve(a.mapping.map(o,-1)-1);return canJoin(a.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&a.join(l.pos),t(a.scrollIntoView()),!0}function liftOutOfList(e,t,n){let r=e.tr,a=n.parent;for(let e=n.end,t=n.endIndex-1,o=n.startIndex;t>o;t--)e-=a.child(t).nodeSize,r.delete(e-1,e+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let c=n.startIndex==0,l=n.endIndex==a.childCount,u=o.node(-1),d=o.index(-1);if(!u.canReplace(d+ +!c,d+1,s.content.append(l?Fragment.empty:Fragment.from(a))))return!1;let f=o.pos,p=f+s.nodeSize;return r.step(new ReplaceAroundStep(f-+!!c,p+ +!!l,f+1,p-1,new Slice((c?Fragment.empty:Fragment.from(a.copy(Fragment.empty))).append(l?Fragment.empty:Fragment.from(a.copy(Fragment.empty))),+!c,+!l),+!c)),t(r.scrollIntoView()),!0}function sinkListItem(e){return function(t,n){let{$from:r,$to:a}=t.selection,o=r.blockRange(a,t=>t.childCount>0&&t.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let c=o.parent,l=c.child(s-1);if(l.type!=e)return!1;if(n){let r=l.lastChild&&l.lastChild.type==c.type,a=Fragment.from(r?e.create():null),s=new Slice(Fragment.from(e.create(null,Fragment.from(c.type.create(null,a)))),r?3:1,0),u=o.start,d=o.end;n(t.tr.step(new ReplaceAroundStep(u-(r?3:1),d,u,d,s,1,!0)).scrollIntoView())}return!0}}var isList=e=>e.endsWith(`_list`),clearNodes=()=>(e,t)=>{let n=e.tr,{selection:r}=n,{ranges:a}=r;return t&&a.forEach(({$from:t,$to:r})=>{e.doc.nodesBetween(t.pos,r.pos,(e,t)=>{if(e.type.isText)return;let{doc:r,mapping:a}=n,o=r.resolve(a.map(t)),s=r.resolve(a.map(t+e.nodeSize)),c=o.blockRange(s);if(!c)return;let l=liftTarget(c);if(e.type.isTextblock){let{defaultType:e}=o.parent.contentMatchAt(o.index());n.setNodeMarkup(c.start,e)}(l||l===0)&&n.lift(c,l)})}),!0};function findParentNodeClosestToPos(e,t){for(let n=e.depth;n>0;--n){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function findParentNode(e){return t=>findParentNodeClosestToPos(t.$from,e)}var joinListBackwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,n.pos)&&e.join(n.pos),!0},joinListForwards=(e,t)=>{let n=findParentNode(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let a=e.doc.nodeAt(r);return n.node.type===a?.type&&canJoin(e.doc,r)&&e.join(r),!0},toggleList=(e,t,n,r={})=>function(a,o,s){if(!this)throw Error(`Call this with Function.apply`);let c=this.editor,l=Object.keys(a.schema.marks).filter(e=>e!==`link`),u=a.schema.nodes[e],d=a.schema.nodes[t],{selection:f,storedMarks:p}=a,{$from:m,$to:h}=f,g=m.blockRange(h),_=p||(f.$to.parentOffset?f.$from.marks():[]);if(!g)return!1;let v=findParentNode(e=>isList(e.type.name))(f),y=a.tr;if(g.depth>=1&&v&&g.depth-v.depth<=1){if(v.node.type===u)return liftListItem(d).apply(this,[a,o,s]);if(isList(v.node.type.name)&&u.validContent(v.node.content)&&o)return c.chain(y).command(()=>(y.setNodeMarkup(v.pos,u),!0)).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>o(y)).run()}return!n||!_||!o?c.chain(y).command(()=>c.can().wrapInList(u,r).run()?!0:c.chain(y).lift().run()).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run():c.chain(y).command(()=>{let e=c.can().wrapInList(u,r).run(),t=_.filter(e=>l.includes(e.type.name));return y.ensureMarks(t),e?!0:(v&&y.setSelection(NodeSelection.create(a.doc,v.pos)),clearNodes().apply(this,[a,o,s]))}).wrapInList(u,r).command(()=>joinListBackwards(y,u)).command(()=>joinListForwards(y,u)).command(()=>(o&&o(y),!0)).run()},NodeOrderedList=class extends Node$2{name=`ordered_list`;requires=[`doc`];attributes={type:{default:`1`,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):`1`}},start:{default:void 0,fromDom(e){return e.hasAttribute(`start`)?+e.getAttribute(`start`):void 0}},id:{default:void 0},continue:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ol`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`ol`,getHtmlAttributes(this,e),0]}}getInputRules(e){return[wrappingInputRule(/^(\d+)\.\s$/,e,e=>({order:+e[1]}),(e,t)=>t.childCount+t.attrs.order==+e[1])]}getCommandFactories(e,t){let n=!1;return{toggleOrderedList:()=>toggleList(`ordered_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-7":`toggleOrderedList`}}},NodeBulletList=class extends Node$2{name=`bullet_list`;requires=[`doc`];attributes={toc:{default:void 0},odtMarginLeft:{default:void 0}};getNodeSpec(){return{content:`list_item+`,group:`block list`,parseDOM:[{tag:`ul`}],toDOM(){return[`ul`,0]}}}getInputRules(e){return[wrappingInputRule(/^\s*([-+*])\s$/,e)]}getCommandFactories(e,t){let n=!1;return{toggleBulletList:()=>toggleList(`bullet_list`,`list_item`,!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-8":`toggleBulletList`}}},NodeListItem=class extends Node$2{name=`list_item`;requires=[`doc`];attributes={value:{default:void 0},type:{default:void 0,fromDom(e){return e.hasAttribute(`type`)?e.getAttribute(`type`):void 0},toDom(e){return e.attrs.type}}};getNodeSpec(){return{content:`paragraph block*`,defining:!0,parseDOM:[{tag:`li`,getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>[`li`,getHtmlAttributes(this,e),0]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}},NodeTaskList=class extends Node$2{name=`task_list`;requires=[`doc`];getNodeSpec(){return{content:`task_item+`,group:`block list`,parseDOM:[{tag:`ul[data-type="${this.name}"]`}],toDOM:()=>[`ul`,{"data-type":this.name},0]}}getCommandFactories(){return{toggleTaskList:()=>toggleList(`task_list`,`task_item`)}}getKeyboardShortcuts(){return{"Shift-Ctrl-9":`toggleTaskList`}}},NodeViewTaskItem=class e{editor;dom;contentDOM;checkbox;node;view;getPos;config={};constructor(e,...t){this.editor=e,this.node=t[0],this.view=t[1],this.getPos=t[2];let n=document.createElement(`li`);this.dom=n;let r=document.createElement(`label`);r.contentEditable=`false`;let a=document.createElement(`input`);this.checkbox=a,a.type=`checkbox`,a.checked=this.node.attrs.checked,r.append(a);let o=document.createElement(`div`);this.contentDOM=o,n.append(r,o),n.dataset.checked=this.node.attrs.checked,a.addEventListener(`mousedown`,e=>e.preventDefault()),a.addEventListener(`change`,t=>{let n=this.getPos();if(typeof n!=`number`)return;this.editor.view.editable;let{checked:r}=t.target,a=e.state.tr,o=a.doc.nodeAt(n);a.setNodeMarkup(n,void 0,{...o?.attrs,checked:r}),e.dispatchTransaction(a)})}static create=(t,...n)=>new e(t,...n);update(e){return e.type.name===this.node.type.name?(this.dom.dataset.checked=e.attrs.checked,this.checkbox.checked=e.attrs.checked,!0):!1}},NodeTaskItem=class extends Node$2{config;name=`task_item`;requires=[`doc`];constructor(e={nested:!0}){super(e),this.config=e}getNodeSpec(){return{attrs:{checked:{default:!1}},content:this.config.nested?`paragraph block*`:`paragraph+`,defining:!0,parseDOM:[{tag:`li[data-checked]`,getAttrs(e){return{checked:e.getAttribute(`data-checked`)===`true`}}}],toDOM:e=>[`li`,{"data-type":this.name,"data-checked":e.attrs.checked},[`label`,[`input`,{type:`checkbox`,checked:e.attrs.checked?`checked`:null},[`span`]],[`div`,0]]]}}getCommandFactories(e,t){return{splitListItem:()=>splitListItem(t),liftListItem:()=>liftListItem(t),sinkListItem:()=>sinkListItem(t)}}getNodeView(e){return(...t)=>NodeViewTaskItem.create(e,...t)}getKeyboardShortcuts(){return{Enter:`splitListItem`,Tab:`sinkListItem`,"Shift-Tab":`liftListItem`}}getInputRules(e){return[wrappingInputRule(/^\s*(\[([( |x])?\])\s$/,e,e=>({checked:e[e.length-1]===`x`}))]}},BasicEditorKit=class{getExtensions(){return[new ExtensionBaseKeymap,new ExtensionDropcursor,new ExtensionGapcursor,new ExtensionHtml,new ExtensionMediaUpload,new ExtensionRemoteSelection,new ExtensionSelection,new ExtensionTextAlign,new ExtensionPairing,new ExtensionUser,new ExtensionPaste,new NodeDocument,new NodeText,new NodeParagraph,new NodeHardBreak,new NodeSoftBreak,new NodeCodeBlock$1,new NodeBookmark,new NodeHorizontalRule,new NodeOrderedList,new NodeBulletList,new NodeListItem,new NodeTaskList,new NodeTaskItem,new NodeDefinitionList,new NodeDefinitionTerm,new NodeDefinitionDesc,new NodeTaskList,new NodeTaskItem,new NodeImage,new NodeVideo,new NodeBlockquote,new NodeAside,new NodeHeading,new NodeMath,new NodeInlineShortCode,new NodeIframe,new NodeCommentAnchor,new MarkLink,new MarkItalic,new MarkStrong,new MarkUnderline,new MarkStrike,new MarkCode,new MarkChange,new MarkBookmark,new MarkTextColor,new MarkHighlight,new MarkSuperscript,new MarkSubscript]}},kit=new BasicEditorKit,ExtensionBasicEditor=class extends Extension{name=`basic-editor`;requires=kit.getExtensions()},wasm_default=[{repo:`tree-sitter/tree-sitter`,version:`latest`,files:[`web-tree-sitter.tar.gz/web-tree-sitter.wasm`,`web-tree-sitter.tar.gz/web-tree-sitter.js`]},{repo:`ggodlewski/tree-sitter-mermaid`,version:`latest`,files:[`tree-sitter-mermaid.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-markdown`,version:`latest`,files:[`tree-sitter-markdown.wasm`,`tree-sitter-markdown_inline.wasm`],queries:{"highlights.scm":`split_parser/tree-sitter-markdown/queries/highlights.scm`,"injections.scm":`split_parser/tree-sitter-markdown/queries/injections.scm`,"highlights-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/highlights.scm`,"injections-inline.scm":`split_parser/tree-sitter-markdown-inline/queries/injections.scm`}},{repo:`tree-sitter-grammars/tree-sitter-diff`,version:`latest`,files:[`tree-sitter-diff.wasm`],queries:{"highlights.scm":`main/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-xml`,version:`latest`,files:[`tree-sitter-xml.wasm`,`tree-sitter-dtd.wasm`],queries:{"highlights.scm":`master/queries/xml/highlights.scm`,"highlights-dtd.scm":`master/queries/dtd/highlights.scm`}},{repo:`tree-sitter/tree-sitter-html`,version:`latest`,files:[`tree-sitter-html.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`}},{repo:`tree-sitter/tree-sitter-css`,version:`latest`,files:[`tree-sitter-css.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter-grammars/tree-sitter-toml`,version:`latest`,files:[`tree-sitter-toml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-json`,version:`latest`,files:[`tree-sitter-json.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-regex`,version:`latest`,files:[`tree-sitter-regex.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}},{repo:`tree-sitter/tree-sitter-rust`,version:`latest`,files:[`tree-sitter-rust.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"injections.scm":`master/queries/injections.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-typescript`,version:`latest`,files:[`tree-sitter-typescript.wasm`,`tree-sitter-tsx.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-java`,version:`latest`,files:[`tree-sitter-java.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter/tree-sitter-javascript`,version:`latest`,files:[`tree-sitter-javascript.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`,"highlights-jsx.scm":`master/queries/highlights-jsx.scm`,"highlights-params.scm":`master/queries/highlights-params.scm`,"injections.scm":`master/queries/injections.scm`,"locals.scm":`master/queries/locals.scm`,"tags.scm":`master/queries/tags.scm`}},{repo:`tree-sitter-grammars/tree-sitter-yaml`,files:[`tree-sitter-yaml.wasm`],queries:{"highlights.scm":`master/queries/highlights.scm`}}];function getLangsList(){return wasm_default.map(e=>e.repo.split(`-`).pop()).filter(e=>typeof e==`string`)}function getLangTreeSitter(e){let t=wasm_default.find(t=>t.repo.endsWith(`-`+e));if(!t)throw Error(`No grammar for: `+e);return{lang:e,dir:t.repo.split(`/`)[1],repo:t.repo,files:t.files,queries:t.queries}}var NodeCodeBlock=class extends Node$2{name=`code_block`;getNodeSpec(){return{content:`text*`,marks:``,group:`block`,code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs(e){return{lang:e.getAttribute(`lang`)}}}],toDOM(e){let{lang:t}=e.attrs;return[`pre`,{lang:t},[`code`,0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}},PositionMapper$1=class{constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}rawTextArr;doc;toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},globalWindow=window;function visit(e,t){let n=[];e.firstChild&&n.push(e.firstChild);let r=n.pop();for(;r&&t(r)!==`stop`;)r.nextSibling&&n.push(r.nextSibling),r.firstChild&&n.push(r.firstChild),r=n.pop()}function isCtrl(e){return e.metaKey||e.ctrlKey}function isUndo(e){return isCtrl(e)&&!e.shiftKey&&getKeyCode(e)===`Z`}function isRedo(e){return isCtrl(e)&&e.shiftKey&&getKeyCode(e)===`Z`}function getKeyCode(e){let t=e.key||e.keyCode||e.which;if(t)return(typeof t==`string`?t:String.fromCharCode(t)).toUpperCase()}function insert$1(e){e=e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`),document.execCommand(`insertHTML`,!1,e)}function debounce(e,t){let n=0;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function findPadding(e){let t=e.length-1;for(;t>=0&&e[t]!==`
17
21
  `;)t--;t++;let n=t;for(;n<e.length&&/[ \t]/.test(e[n]);)n++;return[e.substring(t,n)||``,t,n]}var CodeCrock=class extends EventTarget{editor;highlight;options;listeners=[];history=[];at=-1;onUpdateCbk=()=>void 0;focus=!1;prev;debounceHighlight;constructor(e,t,n={}){super(),this.editor=e,this.highlight=t,this.options={tab:` `,indentOn:/[({\[]$/,moveToNewLine:/^[)}\]]/,spellcheck:!1,catchTab:!0,preserveIdent:!0,addClosing:!0,history:!0,window:globalWindow,autoclose:{open:``,close:``},...n};let r=this.options.window,a=r.document;e.style.outline=`none`,e.style.overflowWrap=`break-word`,e.style.overflowY=`auto`,e.style.whiteSpace=`pre-wrap`;let o=r.navigator.userAgent.match(/Firefox\/([0-9]+)\./),s=o?parseInt(o[1]):0,c=!1;n.readOnly||(e.setAttribute(`contenteditable`,`plaintext-only`),(e.contentEditable!==`plaintext-only`||s>=136)&&(c=!0),c&&e.setAttribute(`contenteditable`,`true`),e.setAttribute(`spellcheck`,this.options.spellcheck?`true`:`false`));let l=debounce(()=>{let t=this.save();this.highlight(e,t),this.restore(t)},30);this.debounceHighlight=l;let u=!1,d=e=>!isUndo(e)&&!isRedo(e)&&e.key!==`Meta`&&e.key!==`Control`&&e.key!==`Alt`&&!e.key.startsWith(`Arrow`),f=debounce(e=>{d(e)&&(this.recordHistory(),u=!1)},300),p=(e,t)=>{this.listeners.push([e,t]),this.editor.addEventListener(e,t)};function m(e){let t=r.getSelection();if(!t||t.rangeCount===0)return 0;let n=t.getRangeAt(0),a=n.cloneRange();return a.selectNodeContents(e),a.setEnd(n.endContainer,n.endOffset),a.toString().length}function h(e){let t=e.textContent,n=m(e),r=t.slice(0,n).split(`
18
22
  `),a=r.length-1,o=r[r.length-1].length,s=t.split(`
19
23
  `);return{row:a,col:o,lastRow:s.length-1,lastCol:s[s.length-1].length}}let g=e=>{let{row:t,col:n,lastRow:r,lastCol:a}=h(this.editor);switch(e.key){case`ArrowUp`:if(t===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowLeft`:if(t===0&&n===0)return this.dispatchEvent(new CustomEvent(`blur-previous`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowDown`:if(t>=r)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break;case`ArrowRight`:if(t>=r&&n>=a)return this.dispatchEvent(new CustomEvent(`blur-next`)),e.stopPropagation(),e.preventDefault(),!0;break}return!1};p(`keydown`,t=>{if(!t.defaultPrevented){if((t.ctrlKey||t.metaKey)&&t.key.toLowerCase()===`a`){t.preventDefault();let n=a.createRange();n.selectNodeContents(e);let o=r.getSelection();o&&(o.removeAllRanges(),o.addRange(n))}switch(t.key){case`Enter`:if(t.shiftKey){let{row:e,col:n,lastRow:r,lastCol:a}=h(this.editor);e===0?(this.dispatchEvent(new CustomEvent(`prepend-empty-line`)),t.stopPropagation(),t.preventDefault()):e>=r&&this.dispatchEvent(new CustomEvent(`append-empty-line`));return}break;case`ArrowUp`:case`ArrowLeft`:case`ArrowDown`:case`ArrowRight`:if(g(t))return;break}this.prev=this.toString(),this.options.preserveIdent?y(t):b(t),this.options.catchTab&&S(t),this.options.addClosing&&x(t),this.options.history&&(w(t),d(t)&&!u&&(this.recordHistory(),u=!0))}}),p(`keyup`,e=>{e.defaultPrevented||e.isComposing||(this.prev!==this.toString()&&l(),f(e),this.onUpdateCbk(this.toString()))}),p(`focus`,e=>{this.focus=!0}),p(`blur`,e=>{this.focus=!1}),p(`paste`,e=>{this.recordHistory(),E(e),this.recordHistory(),this.onUpdateCbk(this.toString())}),p(`cut`,e=>{this.recordHistory(),D(e),this.recordHistory(),this.onUpdateCbk(this.toString())});let _=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),r.toString()},v=()=>{let t=this.getSelection();if(!t)return``;let n=t.getRangeAt(0),r=a.createRange();return r.selectNodeContents(e),r.setStart(n.endContainer,n.endOffset),r.toString()},y=e=>{if(e.key===`Enter`){let t=_(),n=v(),[r]=findPadding(t),a=r;if(this.options.indentOn.test(t)&&(a+=this.options.tab),a.length>0?(e.preventDefault(),e.stopPropagation(),insert$1(`
@@ -21,10 +25,10 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require
21
25
  `+r),this.restore(e)}}},b=e=>{if(c&&e.key===`Enter`)if(e.preventDefault(),e.stopPropagation(),v()==``){insert$1(`
22
26
  ​`);let e=this.save();e&&(e.start=--e.end,this.restore(e))}else insert$1(`
23
27
  `)},x=e=>{let t=this.options.autoclose.open,n=this.options.autoclose.close;if(t.includes(e.key)){e.preventDefault();let r=this.save(),a=r&&r.start==r.end?``:this.getSelection()?.toString()||``;insert$1(e.key+a+(n[t.indexOf(e.key)]??``)),r&&(r.start++,r.end++,this.restore(r))}},S=e=>{if(e.key===`Tab`)if(e.preventDefault(),e.shiftKey){let[e,t]=findPadding(_());if(e.length>0){let n=this.save(),r=Math.min(this.options.tab.length,e.length);this.restore({start:t,end:t+r}),a.execCommand(`delete`),n&&(n.start-=r,n.end-=r,this.restore(n))}}else insert$1(this.options.tab)},w=t=>{if(isUndo(t)){t.preventDefault(),this.at--;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at<0&&(this.at=0)}if(isRedo(t)){t.preventDefault(),this.at++;let n=this.history[this.at];n&&(e.innerHTML=n.html,this.restore(n.pos)),this.at>=history.length&&this.at--}},E=t=>{if(t.defaultPrevented)return;t.preventDefault();let n=(t.originalEvent??t).clipboardData.getData(`text/plain`).replace(/\r\n?/g,`
24
- `),r=this.save();insert$1(n),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end)+n.length,end:Math.min(r.start,r.end)+n.length,dir:`<-`})},D=t=>{let n=this.getSelection();if(!n)return;let r=this.save();(t.originalEvent??t).clipboardData.setData(`text/plain`,n.toString()),a.execCommand(`delete`),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end),end:Math.min(r.start,r.end),dir:`<-`}),t.preventDefault()}}getSelection(){return window.getSelection()}uneditable(e){for(;e&&e!==this.editor;){if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.getAttribute(`contenteditable`)==`false`)return t}e=e.parentNode}}toString(){return this.editor.textContent.replace(/\u200B/g,``)||``}updateOptions(e){Object.assign(this.options,e)}updateCode(e,t=!0){this.editor.textContent=e,this.highlight(this.editor),t&&this.onUpdateCbk(e)}onUpdate(e){this.onUpdateCbk=debounce(t=>{e(t)},100)}save(){let e=this.getSelection(),t={start:0,end:0,dir:void 0};if(!e)return t;let{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}=e;if(!n){console.warn(`No anchorNode`);return}if(!a){console.warn(`No focusNode`);return}let s=this.editor.textContent.replace(/\u200B/g,``);if(n===this.editor&&a===this.editor)return t.start=r>0&&s?s.length:0,t.end=o>0&&s?s.length:0,t.dir=o>=r?`->`:`<-`,t;if(n.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);n.insertBefore(e,n.childNodes[r]),n=e,r=0}if(a.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);a.insertBefore(e,a.childNodes[o]),a=e,o=0}return visit(this.editor,e=>{if(e===n&&e===a)return t.start+=r,t.end+=o,t.dir=r<=o?`->`:`<-`,`stop`;if(e===n)if(t.start+=r,!t.dir)t.dir=`->`;else return`stop`;else if(e===a)if(t.end+=o,!t.dir)t.dir=`<-`;else return`stop`;e.nodeType===Node.TEXT_NODE&&(t.dir!=`->`&&(t.start+=e.nodeValue.length),t.dir!=`<-`&&(t.end+=e.nodeValue.length))}),this.editor.normalize(),t}restore(e){if(!e)return;let t=this.getSelection();if(!t)return;let n,r=0,a,o=0;if(e.dir||=`->`,e.start<0&&(e.start=0),e.end<0&&(e.end=0),e.dir==`<-`){let{start:t,end:n}=e;e.start=n,e.end=t}let s=0;visit(this.editor,t=>{if(t.nodeType!==Node.TEXT_NODE)return;let c=(t.nodeValue||``).length;if(s+c>e.start&&(n||(n=t,r=e.start-s),s+c>e.end))return a=t,o=e.end-s,`stop`;s+=c}),n||(n=this.editor,r=this.editor.childNodes.length),a||(a=this.editor,o=this.editor.childNodes.length),e.dir==`<-`&&([n,r,a,o]=[a,o,n,r]);{let e=this.uneditable(n);if(e){let t=document.createTextNode(``);e.parentNode?.insertBefore(t,e),n=t,r=0}let t=this.uneditable(a);if(t){let e=document.createTextNode(``);t.parentNode?.insertBefore(e,t),a=e,o=0}}t.setBaseAndExtent(n,r,a,o),this.editor.normalize()}recordHistory(){if(!focus)return;let e=this.editor.innerHTML,t=this.save();if(!t)return;let n=this.history[this.at];if(n&&n.html===e&&n.pos.start===t.start&&n.pos.end===t.end)return;this.at++,this.history[this.at]={html:e,pos:t},this.history.splice(this.at+1);let r=300;this.at>300&&(this.at=300,this.history.splice(0,1))}forceHighlight(){this.highlight(this.editor)}destroy(){for(let[e,t]of this.listeners)this.editor.removeEventListener(e,t)}};function computeChange(e,t){if(e===t)return null;let n=0,r=e.length,a=t.length;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n+=1;for(;r>n&&a>n&&e.charCodeAt(r-1)===t.charCodeAt(a-1);)--r,--a;return{from:n,to:r,text:t.slice(n,a)}}var valueChanged=(e,t,n,r)=>{let a=computeChange(t.textContent,e);if(a){let e=n();if(e!==void 0){let t=e+1,n=r.state.tr;n=n.replaceWith(t+a.from,t+a.to,a.text?r.state.schema.text(a.text):[]),r.dispatch(n)}}},forwardSelection=(e,t,n)=>{let r=e.save();if(!r)return;let a=asProseMirrorSelection(t.state.doc,r,n);a.eq(t.state.selection)||t.dispatch(t.state.tr.setSelection(a))},asProseMirrorSelection=(e,t,n)=>{let r=(typeof n==`function`&&n()||0)+1;return t.dir===`<-`?TextSelection.create(e,t.start+r,t.end+r):TextSelection.create(e,t.end+r,t.start+r)},__defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,`name`,{value:t,configurable:!0}),Edit=class{static{__name(this,`Edit`)}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:e,oldEndIndex:t,newEndIndex:n,startPosition:r,oldEndPosition:a,newEndPosition:o}){this.startIndex=e>>>0,this.oldEndIndex=t>>>0,this.newEndIndex=n>>>0,this.startPosition=r,this.oldEndPosition=a,this.newEndPosition=o}editPoint(e,t){let n=t,r={...e};if(t>=this.oldEndIndex){n=this.newEndIndex+(t-this.oldEndIndex);let a=e.row;r.row=this.newEndPosition.row+(e.row-this.oldEndPosition.row),r.column=a===this.oldEndPosition.row?this.newEndPosition.column+(e.column-this.oldEndPosition.column):e.column}else t>this.startIndex&&(n=this.newEndIndex,r.row=this.newEndPosition.row,r.column=this.newEndPosition.column);return{point:r,index:n}}editRange(e){let t={startIndex:e.startIndex,startPosition:{...e.startPosition},endIndex:e.endIndex,endPosition:{...e.endPosition}};return e.endIndex>=this.oldEndIndex?e.endIndex!==2**53-1&&(t.endIndex=this.newEndIndex+(e.endIndex-this.oldEndIndex),t.endPosition={row:this.newEndPosition.row+(e.endPosition.row-this.oldEndPosition.row),column:e.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.endPosition.column-this.oldEndPosition.column):e.endPosition.column},t.endIndex<this.newEndIndex&&(t.endIndex=2**53-1,t.endPosition={row:2**53-1,column:2**53-1})):e.endIndex>this.startIndex&&(t.endIndex=this.startIndex,t.endPosition={...this.startPosition}),e.startIndex>=this.oldEndIndex?(t.startIndex=this.newEndIndex+(e.startIndex-this.oldEndIndex),t.startPosition={row:this.newEndPosition.row+(e.startPosition.row-this.oldEndPosition.row),column:e.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.startPosition.column-this.oldEndPosition.column):e.startPosition.column},t.startIndex<this.newEndIndex&&(t.startIndex=2**53-1,t.startPosition={row:2**53-1,column:2**53-1})):e.startIndex>this.startIndex&&(t.startIndex=this.startIndex,t.startPosition={...this.startPosition}),t}},SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol(`INTERNAL`);function assertInternal(e){if(e!==INTERNAL)throw Error(`Illegal constructor`)}__name(assertInternal,`assertInternal`);function isPoint(e){return!!e&&typeof e.row==`number`&&typeof e.column==`number`}__name(isPoint,`isPoint`);function setModule(e){C=e}__name(setModule,`setModule`);var C,LookaheadIterator=class{static{__name(this,`LookaheadIterator`)}0=0;language;constructor(e,t,n){assertInternal(e),this[0]=t,this.language=n}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||`ERROR`}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return C._ts_lookahead_iterator_reset(this[0],e[0],t)?(this.language=e,!0):!1}resetState(e){return!!C._ts_lookahead_iterator_reset_state(this[0],e)}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:``},`next`)}}};function getText(e,t,n,r){let a=n-t,o=e.textCallback(t,r);if(o){for(t+=o.length;t<n;){let n=e.textCallback(t,r);if(n&&n.length>0)t+=n.length,o+=n;else break}t>n&&(o=o.slice(0,a))}return o??``}__name(getText,`getText`);var Tree=class e{static{__name(this,`Tree`)}0=0;textCallback;language;constructor(e,t,n,r){assertInternal(e),this[0]=t,this.language=n,this.textCallback=r}copy(){return new e(INTERNAL,C._ts_tree_copy(this[0]),this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),marshalPoint(n+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw TypeError(`Argument must be a Tree`);C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);let n=C.getValue(TRANSFER_BUFFER,`i32`),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),a=Array(n);if(n>0){let e=r;for(let t=0;t<n;t++)a[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return a}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}},TreeCursor=class e{static{__name(this,`TreeCursor`)}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){let t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||`ERROR`}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])===1}get nodeIsMissing(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])===1}get nodeText(){marshalTreeCursor(this);let e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);let n=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,n)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoLastChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoParent(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoNextSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoPreviousSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,`i32`);let t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);let t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node$1=class{static{__name(this,`Node`)}0=0;_children;_namedChildren;constructor(e,{id:t,tree:n,startIndex:r,startPosition:a,other:o}){assertInternal(e),this[0]=o,this.id=t,this.tree=n,this.startIndex=r,this.startPosition=a}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||`ERROR`}get grammarType(){return this.tree.language.types[this.grammarId]||`ERROR`}get isNamed(){return marshalNode(this),C._ts_node_is_named_wasm(this.tree[0])===1}get isExtra(){return marshalNode(this),C._ts_node_is_extra_wasm(this.tree[0])===1}get isError(){return marshalNode(this),C._ts_node_is_error_wasm(this.tree[0])===1}get isMissing(){return marshalNode(this),C._ts_node_is_missing_wasm(this.tree[0])===1}get hasChanges(){return marshalNode(this),C._ts_node_has_changes_wasm(this.tree[0])===1}get hasError(){return marshalNode(this),C._ts_node_has_error_wasm(this.tree[0])===1}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t===-1?null:this.childForFieldId(t)}fieldNameForChild(e){marshalNode(this);let t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);let t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t!==-1&&t!==0?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(n)}return r}firstChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._children=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._namedChildren=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,n=ZERO_POINT){Array.isArray(e)||(e=[e]);let r=[],a=this.tree.language.types;for(let t of e)t==`ERROR`&&r.push(65535);for(let t=0,n=a.length;t<n;t++)e.includes(a[t])&&r.push(t);let o=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(o+e*SIZE_OF_INT,r[e],`i32`);marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],o,r.length,t.row,t.column,n.row,n.column);let s=C.getValue(TRANSFER_BUFFER,`i32`),c=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),l=Array(s);if(s>0){let e=c;for(let t=0;t<s;t++)l[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(c),C._free(o),l}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let t,n;this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(t=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);let e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,n,r,a){for(let o=0,s=a.length;o<s;o++){let s=C.getValue(n,`i32`);n+=SIZE_OF_INT;let c=unmarshalNode(t,n);n+=SIZE_OF_NODE,a[o]={patternIndex:r,name:e.captureNames[s],node:c}}return n}__name(unmarshalCaptures,`unmarshalCaptures`);function marshalNode(e,t=0){let n=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(n,e.id,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startIndex,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.row,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.column,`i32`),n+=SIZE_OF_INT,C.setValue(n,e[0],`i32`)}__name(marshalNode,`marshalNode`);function unmarshalNode(e,t=TRANSFER_BUFFER){let n=C.getValue(t,`i32`);if(t+=SIZE_OF_INT,n===0)return null;let r=C.getValue(t,`i32`);t+=SIZE_OF_INT;let a=C.getValue(t,`i32`);t+=SIZE_OF_INT;let o=C.getValue(t,`i32`);t+=SIZE_OF_INT;let s=C.getValue(t,`i32`);return new Node$1(INTERNAL,{id:n,tree:e,startIndex:r,startPosition:{row:a,column:o},other:s})}__name(unmarshalNode,`unmarshalNode`);function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],`i32`),C.setValue(t+1*SIZE_OF_INT,e[1],`i32`),C.setValue(t+2*SIZE_OF_INT,e[2],`i32`),C.setValue(t+3*SIZE_OF_INT,e[3],`i32`)}__name(marshalTreeCursor,`marshalTreeCursor`);function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,`i32`),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,`i32`),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,`i32`)}__name(unmarshalTreeCursor,`unmarshalTreeCursor`);function marshalPoint(e,t){C.setValue(e,t.row,`i32`),C.setValue(e+SIZE_OF_INT,t.column,`i32`)}__name(marshalPoint,`marshalPoint`);function unmarshalPoint(e){return{row:C.getValue(e,`i32`)>>>0,column:C.getValue(e+SIZE_OF_INT,`i32`)>>>0}}__name(unmarshalPoint,`unmarshalPoint`);function marshalRange(e,t){marshalPoint(e,t.startPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,`i32`),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,`i32`),e+=SIZE_OF_INT}__name(marshalRange,`marshalRange`);function unmarshalRange(e){let t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,`i32`)>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,`i32`)>>>0,t}__name(unmarshalRange,`unmarshalRange`);function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.oldEndPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,`i32`),t+=SIZE_OF_INT}__name(marshalEdit,`marshalEdit`);function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,`i32`),minor_version:C.getValue(e+=SIZE_OF_INT,`i32`),patch_version:C.getValue(e+=SIZE_OF_INT,`i32`)}}__name(unmarshalLanguageMetadata,`unmarshalLanguageMetadata`);var LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,`Language`)}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){let t=C._ts_language_field_name_for_id(this[0],e);t===0?this.fields[e]=null:this.fields[e]=C.UTF8ToString(t)}}get name(){let e=C._ts_language_name(this[0]);return e===0?null:C.UTF8ToString(e)}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){return C._ts_language_metadata_wasm(this[0]),C.getValue(TRANSFER_BUFFER,`i32`)===0?null:unmarshalLanguageMetadata(TRANSFER_BUFFER+SIZE_OF_INT)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){let t=this.fields.indexOf(e);return t===-1?null:t}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){let n=C.lengthBytesUTF8(e),r=C._malloc(n+1);C.stringToUTF8(e,r,n+1);let a=C._ts_language_symbol_for_name(this[0],r,n,+!!t);return C._free(r),a||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){let t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=C.getValue(r,`i16`),r+=SIZE_OF_SHORT}return n}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=C.getValue(e,`i16`),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){let t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}static async load(t){let n;if(t instanceof Uint8Array)n=t;else if(globalThis.process?.versions.node)n=await(await Promise.resolve().then(()=>require_rolldown_runtime.n(require("./__vite-browser-external-p6FPCswx.cjs").default,1))).readFile(t);else{let e=await fetch(t);if(!e.ok){let t=await e.text();throw Error(`Language.load failed with status ${e.status}.
28
+ `),r=this.save();insert$1(n),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end)+n.length,end:Math.min(r.start,r.end)+n.length,dir:`<-`})},D=t=>{let n=this.getSelection();if(!n)return;let r=this.save();(t.originalEvent??t).clipboardData.setData(`text/plain`,n.toString()),a.execCommand(`delete`),this.highlight(e),r&&this.restore({start:Math.min(r.start,r.end),end:Math.min(r.start,r.end),dir:`<-`}),t.preventDefault()}}getSelection(){return window.getSelection()}uneditable(e){for(;e&&e!==this.editor;){if(e.nodeType===Node.ELEMENT_NODE){let t=e;if(t.getAttribute(`contenteditable`)==`false`)return t}e=e.parentNode}}toString(){return this.editor.textContent.replace(/\u200B/g,``)||``}updateOptions(e){Object.assign(this.options,e)}updateCode(e,t=!0){this.editor.textContent=e,this.highlight(this.editor),t&&this.onUpdateCbk(e)}onUpdate(e){this.onUpdateCbk=debounce(t=>{e(t)},100)}save(){let e=this.getSelection(),t={start:0,end:0,dir:void 0};if(!e)return t;let{anchorNode:n,anchorOffset:r,focusNode:a,focusOffset:o}=e;if(!n){console.warn(`No anchorNode`);return}if(!a){console.warn(`No focusNode`);return}let s=this.editor.textContent.replace(/\u200B/g,``);if(n===this.editor&&a===this.editor)return t.start=r>0&&s?s.length:0,t.end=o>0&&s?s.length:0,t.dir=o>=r?`->`:`<-`,t;if(n.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);n.insertBefore(e,n.childNodes[r]),n=e,r=0}if(a.nodeType===Node.ELEMENT_NODE){let e=document.createTextNode(``);a.insertBefore(e,a.childNodes[o]),a=e,o=0}return visit(this.editor,e=>{if(e===n&&e===a)return t.start+=r,t.end+=o,t.dir=r<=o?`->`:`<-`,`stop`;if(e===n)if(t.start+=r,!t.dir)t.dir=`->`;else return`stop`;else if(e===a)if(t.end+=o,!t.dir)t.dir=`<-`;else return`stop`;e.nodeType===Node.TEXT_NODE&&(t.dir!=`->`&&(t.start+=e.nodeValue.length),t.dir!=`<-`&&(t.end+=e.nodeValue.length))}),this.editor.normalize(),t}restore(e){if(!e)return;let t=this.getSelection();if(!t)return;let n,r=0,a,o=0;if(e.dir||=`->`,e.start<0&&(e.start=0),e.end<0&&(e.end=0),e.dir==`<-`){let{start:t,end:n}=e;e.start=n,e.end=t}let s=0;visit(this.editor,t=>{if(t.nodeType!==Node.TEXT_NODE)return;let c=(t.nodeValue||``).length;if(s+c>e.start&&(n||(n=t,r=e.start-s),s+c>e.end))return a=t,o=e.end-s,`stop`;s+=c}),n||(n=this.editor,r=this.editor.childNodes.length),a||(a=this.editor,o=this.editor.childNodes.length),e.dir==`<-`&&([n,r,a,o]=[a,o,n,r]);{let e=this.uneditable(n);if(e){let t=document.createTextNode(``);e.parentNode?.insertBefore(t,e),n=t,r=0}let t=this.uneditable(a);if(t){let e=document.createTextNode(``);t.parentNode?.insertBefore(e,t),a=e,o=0}}t.setBaseAndExtent(n,r,a,o),this.editor.normalize()}recordHistory(){if(!focus)return;let e=this.editor.innerHTML,t=this.save();if(!t)return;let n=this.history[this.at];if(n&&n.html===e&&n.pos.start===t.start&&n.pos.end===t.end)return;this.at++,this.history[this.at]={html:e,pos:t},this.history.splice(this.at+1);let r=300;this.at>300&&(this.at=300,this.history.splice(0,1))}forceHighlight(){this.highlight(this.editor)}destroy(){for(let[e,t]of this.listeners)this.editor.removeEventListener(e,t)}};function computeChange(e,t){if(e===t)return null;let n=0,r=e.length,a=t.length;for(;n<r&&e.charCodeAt(n)===t.charCodeAt(n);)n+=1;for(;r>n&&a>n&&e.charCodeAt(r-1)===t.charCodeAt(a-1);)--r,--a;return{from:n,to:r,text:t.slice(n,a)}}var valueChanged=(e,t,n,r)=>{let a=computeChange(t.textContent,e);if(a){let e=n();if(e!==void 0){let t=e+1,n=r.state.tr;n=n.replaceWith(t+a.from,t+a.to,a.text?r.state.schema.text(a.text):[]),r.dispatch(n)}}},forwardSelection=(e,t,n)=>{let r=e.save();if(!r)return;let a=asProseMirrorSelection(t.state.doc,r,n);a.eq(t.state.selection)||t.dispatch(t.state.tr.setSelection(a))},asProseMirrorSelection=(e,t,n)=>{let r=(typeof n==`function`&&n()||0)+1;return t.dir===`<-`?TextSelection.create(e,t.start+r,t.end+r):TextSelection.create(e,t.end+r,t.start+r)},__defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,`name`,{value:t,configurable:!0}),Edit=class{static{__name(this,`Edit`)}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:e,oldEndIndex:t,newEndIndex:n,startPosition:r,oldEndPosition:a,newEndPosition:o}){this.startIndex=e>>>0,this.oldEndIndex=t>>>0,this.newEndIndex=n>>>0,this.startPosition=r,this.oldEndPosition=a,this.newEndPosition=o}editPoint(e,t){let n=t,r={...e};if(t>=this.oldEndIndex){n=this.newEndIndex+(t-this.oldEndIndex);let a=e.row;r.row=this.newEndPosition.row+(e.row-this.oldEndPosition.row),r.column=a===this.oldEndPosition.row?this.newEndPosition.column+(e.column-this.oldEndPosition.column):e.column}else t>this.startIndex&&(n=this.newEndIndex,r.row=this.newEndPosition.row,r.column=this.newEndPosition.column);return{point:r,index:n}}editRange(e){let t={startIndex:e.startIndex,startPosition:{...e.startPosition},endIndex:e.endIndex,endPosition:{...e.endPosition}};return e.endIndex>=this.oldEndIndex?e.endIndex!==2**53-1&&(t.endIndex=this.newEndIndex+(e.endIndex-this.oldEndIndex),t.endPosition={row:this.newEndPosition.row+(e.endPosition.row-this.oldEndPosition.row),column:e.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.endPosition.column-this.oldEndPosition.column):e.endPosition.column},t.endIndex<this.newEndIndex&&(t.endIndex=2**53-1,t.endPosition={row:2**53-1,column:2**53-1})):e.endIndex>this.startIndex&&(t.endIndex=this.startIndex,t.endPosition={...this.startPosition}),e.startIndex>=this.oldEndIndex?(t.startIndex=this.newEndIndex+(e.startIndex-this.oldEndIndex),t.startPosition={row:this.newEndPosition.row+(e.startPosition.row-this.oldEndPosition.row),column:e.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(e.startPosition.column-this.oldEndPosition.column):e.startPosition.column},t.startIndex<this.newEndIndex&&(t.startIndex=2**53-1,t.startPosition={row:2**53-1,column:2**53-1})):e.startIndex>this.startIndex&&(t.startIndex=this.startIndex,t.startPosition={...this.startPosition}),t}},SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol(`INTERNAL`);function assertInternal(e){if(e!==INTERNAL)throw Error(`Illegal constructor`)}__name(assertInternal,`assertInternal`);function isPoint(e){return!!e&&typeof e.row==`number`&&typeof e.column==`number`}__name(isPoint,`isPoint`);function setModule(e){C=e}__name(setModule,`setModule`);var C,LookaheadIterator=class{static{__name(this,`LookaheadIterator`)}0=0;language;constructor(e,t,n){assertInternal(e),this[0]=t,this.language=n}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||`ERROR`}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return C._ts_lookahead_iterator_reset(this[0],e[0],t)?(this.language=e,!0):!1}resetState(e){return!!C._ts_lookahead_iterator_reset_state(this[0],e)}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:``},`next`)}}};function getText(e,t,n,r){let a=n-t,o=e.textCallback(t,r);if(o){for(t+=o.length;t<n;){let n=e.textCallback(t,r);if(n&&n.length>0)t+=n.length,o+=n;else break}t>n&&(o=o.slice(0,a))}return o??``}__name(getText,`getText`);var Tree=class e{static{__name(this,`Tree`)}0=0;textCallback;language;constructor(e,t,n,r){assertInternal(e),this[0]=t,this.language=n,this.textCallback=r}copy(){return new e(INTERNAL,C._ts_tree_copy(this[0]),this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),marshalPoint(n+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw TypeError(`Argument must be a Tree`);C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);let n=C.getValue(TRANSFER_BUFFER,`i32`),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),a=Array(n);if(n>0){let e=r;for(let t=0;t<n;t++)a[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return a}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}},TreeCursor=class e{static{__name(this,`TreeCursor`)}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){let t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||`ERROR`}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])===1}get nodeIsMissing(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])===1}get nodeText(){marshalTreeCursor(this);let e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);let n=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,n)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoLastChild(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoParent(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoNextSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoPreviousSibling(){marshalTreeCursor(this);let e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,`i32`);let t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);let t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),t===1}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node$1=class{static{__name(this,`Node`)}0=0;_children;_namedChildren;constructor(e,{id:t,tree:n,startIndex:r,startPosition:a,other:o}){assertInternal(e),this[0]=o,this.id=t,this.tree=n,this.startIndex=r,this.startPosition=a}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||`ERROR`}get grammarType(){return this.tree.language.types[this.grammarId]||`ERROR`}get isNamed(){return marshalNode(this),C._ts_node_is_named_wasm(this.tree[0])===1}get isExtra(){return marshalNode(this),C._ts_node_is_extra_wasm(this.tree[0])===1}get isError(){return marshalNode(this),C._ts_node_is_error_wasm(this.tree[0])===1}get isMissing(){return marshalNode(this),C._ts_node_is_missing_wasm(this.tree[0])===1}get hasChanges(){return marshalNode(this),C._ts_node_has_changes_wasm(this.tree[0])===1}get hasError(){return marshalNode(this),C._ts_node_has_error_wasm(this.tree[0])===1}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t===-1?null:this.childForFieldId(t)}fieldNameForChild(e){marshalNode(this);let t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);let t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){let t=this.tree.language.fields.indexOf(e);return t!==-1&&t!==0?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(n)}return r}firstChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);let t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,`i32`),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._children=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`);if(this._namedChildren=Array(e),e>0){let n=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,n=ZERO_POINT){Array.isArray(e)||(e=[e]);let r=[],a=this.tree.language.types;for(let t of e)t==`ERROR`&&r.push(65535);for(let t=0,n=a.length;t<n;t++)e.includes(a[t])&&r.push(t);let o=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(o+e*SIZE_OF_INT,r[e],`i32`);marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],o,r.length,t.row,t.column,n.row,n.column);let s=C.getValue(TRANSFER_BUFFER,`i32`),c=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),l=Array(s);if(s>0){let e=c;for(let t=0;t<s;t++)l[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(c),C._free(o),l}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Arguments must be numbers`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,`i32`),C.setValue(n+SIZE_OF_INT,t,`i32`),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw Error(`Arguments must be {row, column} objects`);marshalNode(this);let n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let t,n;this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(t=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);let e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,n,r,a){for(let o=0,s=a.length;o<s;o++){let s=C.getValue(n,`i32`);n+=SIZE_OF_INT;let c=unmarshalNode(t,n);n+=SIZE_OF_NODE,a[o]={patternIndex:r,name:e.captureNames[s],node:c}}return n}__name(unmarshalCaptures,`unmarshalCaptures`);function marshalNode(e,t=0){let n=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(n,e.id,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startIndex,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.row,`i32`),n+=SIZE_OF_INT,C.setValue(n,e.startPosition.column,`i32`),n+=SIZE_OF_INT,C.setValue(n,e[0],`i32`)}__name(marshalNode,`marshalNode`);function unmarshalNode(e,t=TRANSFER_BUFFER){let n=C.getValue(t,`i32`);if(t+=SIZE_OF_INT,n===0)return null;let r=C.getValue(t,`i32`);t+=SIZE_OF_INT;let a=C.getValue(t,`i32`);t+=SIZE_OF_INT;let o=C.getValue(t,`i32`);t+=SIZE_OF_INT;let s=C.getValue(t,`i32`);return new Node$1(INTERNAL,{id:n,tree:e,startIndex:r,startPosition:{row:a,column:o},other:s})}__name(unmarshalNode,`unmarshalNode`);function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],`i32`),C.setValue(t+1*SIZE_OF_INT,e[1],`i32`),C.setValue(t+2*SIZE_OF_INT,e[2],`i32`),C.setValue(t+3*SIZE_OF_INT,e[3],`i32`)}__name(marshalTreeCursor,`marshalTreeCursor`);function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,`i32`),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,`i32`),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,`i32`)}__name(unmarshalTreeCursor,`unmarshalTreeCursor`);function marshalPoint(e,t){C.setValue(e,t.row,`i32`),C.setValue(e+SIZE_OF_INT,t.column,`i32`)}__name(marshalPoint,`marshalPoint`);function unmarshalPoint(e){return{row:C.getValue(e,`i32`)>>>0,column:C.getValue(e+SIZE_OF_INT,`i32`)>>>0}}__name(unmarshalPoint,`unmarshalPoint`);function marshalRange(e,t){marshalPoint(e,t.startPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,`i32`),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,`i32`),e+=SIZE_OF_INT}__name(marshalRange,`marshalRange`);function unmarshalRange(e){let t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,`i32`)>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,`i32`)>>>0,t}__name(unmarshalRange,`unmarshalRange`);function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.oldEndPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,`i32`),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,`i32`),t+=SIZE_OF_INT}__name(marshalEdit,`marshalEdit`);function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,`i32`),minor_version:C.getValue(e+=SIZE_OF_INT,`i32`),patch_version:C.getValue(e+=SIZE_OF_INT,`i32`)}}__name(unmarshalLanguageMetadata,`unmarshalLanguageMetadata`);var LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,`Language`)}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){let t=C._ts_language_field_name_for_id(this[0],e);t===0?this.fields[e]=null:this.fields[e]=C.UTF8ToString(t)}}get name(){let e=C._ts_language_name(this[0]);return e===0?null:C.UTF8ToString(e)}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){return C._ts_language_metadata_wasm(this[0]),C.getValue(TRANSFER_BUFFER,`i32`)===0?null:unmarshalLanguageMetadata(TRANSFER_BUFFER+SIZE_OF_INT)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){let t=this.fields.indexOf(e);return t===-1?null:t}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){let n=C.lengthBytesUTF8(e),r=C._malloc(n+1);C.stringToUTF8(e,r,n+1);let a=C._ts_language_symbol_for_name(this[0],r,n,+!!t);return C._free(r),a||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){let t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=C.getValue(r,`i16`),r+=SIZE_OF_SHORT}return n}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);let t=C.getValue(TRANSFER_BUFFER,`i32`),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),r=Array(t);if(t>0){let e=n;for(let n=0;n<t;n++)r[n]=C.getValue(e,`i16`),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){let t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}static async load(t){let n;if(t instanceof Uint8Array)n=t;else if(globalThis.process?.versions.node)n=await(await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1))).readFile(t);else{let e=await fetch(t);if(!e.ok){let t=await e.text();throw Error(`Language.load failed with status ${e.status}.
25
29
 
26
30
  ${t}`)}let r=e.clone();try{n=await WebAssembly.compileStreaming(e)}catch(e){console.error(`wasm streaming compile failed:`,e),console.error(`falling back to ArrayBuffer instantiation`),n=new Uint8Array(await r.arrayBuffer())}}let r=await C.loadWebAssemblyModule(n,{loadAsync:!0}),a=Object.keys(r),o=a.find(e=>LANGUAGE_FUNCTION_REGEX.test(e)&&!e.includes(`external_scanner_`));if(!o)throw console.log(`Couldn't find language function in Wasm file. Symbols:
27
- ${JSON.stringify(a,null,2)}`),Error(`Language.load failed: no language function found in Wasm file`);return new e(INTERNAL,r[o]())}};async function Module2(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window==`object`,ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<`u`,ENVIRONMENT_IS_NODE=typeof process==`object`&&process.versions?.node&&process.type!=`renderer`;if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await Promise.resolve().then(()=>require_rolldown_runtime.n(require("./__vite-browser-external-p6FPCswx.cjs").default,1));var require=e({}.url)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram=`./this.program`,quit_=__name((e,t)=>{throw t},`quit_`),_scriptName={}.url,scriptDirectory=``;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}__name(locateFile,`locateFile`);var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");_scriptName.startsWith(`file:`)&&(scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+`/`),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),`readBinary`),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:`utf8`)),`readAsync`),process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,`/`)),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},`quit_`)}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(`.`,_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)},`readBinary`)),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)},`readAsync`)}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=__name(e=>e.startsWith(`file://`),`isFileURI`),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,HEAP64,HEAPU64,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=new Float32Array(e),Module.HEAPF64=new Float64Array(e),Module.HEAP64=new BigInt64Array(e),Module.HEAPU64=new BigUint64Array(e),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),LE_HEAP_UPDATE()}__name(updateMemoryViews,`updateMemoryViews`);function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var e=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}__name(initMemory,`initMemory`);var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun==`function`&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}__name(preRun,`preRun`);function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}__name(initRuntime,`initRuntime`);function preMain(){}__name(preMain,`preMain`);function postRun(){if(Module.postRun)for(typeof Module.postRun==`function`&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(postRun,`postRun`);function abort(e){Module.onAbort?.(e),e=`Aborted(`+e+`)`,err(e),ABORT=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject?.(t),t}__name(abort,`abort`);var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile(`web-tree-sitter.wasm`):new URL(`data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFnFsEHgABswEXYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAEf39/fwBgAABgBX9/f39/AX9gAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gEH9/f39/f39/f39/f39/f38AYAZ/f39/f38AYAJ+fwF/YAd/f39/f39/AX9gAnx/AXxgBH9/f38BfmAEf35/fwF/YAN/fn8BfgLbAxEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAAWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABUDZW52CV9hYm9ydF9qcwAJFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYjdHJlZV9zaXR0ZXJfcXVlcnlfcHJvZ3Jlc3NfY2FsbGJhY2sAAANlbnYddHJlZV9zaXR0ZXJfcHJvZ3Jlc3NfY2FsbGJhY2sAAQNlbnYadHJlZV9zaXR0ZXJfcGFyc2VfY2FsbGJhY2sABwNlbnYYdHJlZV9zaXR0ZXJfbG9nX2NhbGxiYWNrAAUDZW52D19fc3RhY2tfcG9pbnRlcgN/AQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYMX190YWJsZV9iYXNlA38AB0dPVC5tZW0LX19zdGFja19sb3cDfwEHR09ULm1lbQxfX3N0YWNrX2hpZ2gDfwEHR09ULm1lbQtfX2hlYXBfYmFzZQN/AQNlbnYGbWVtb3J5AgGABICAAgNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAB4DlQKTAgUFBgACAwcFBQQABQUCBwMQAwQAAwYKAwAAEQQEBQMCAgEEAAQBAQwBAgQABQgHBAIBAwgAAAUCBQAJAQMBAAQLAgIIDAMFAQYDBAcNBwgDAwAABQEBBggAEhMEAAAABAUEBAQAFAAFBwUKBAgFAQEDAwUDAQEBAQEEBAQEAAAACgEBAgMBAQUCAAAAAAEABAQAAwQAAAsAAgAAAAAFBAAFDgQBBBYADwACDwAAAAAAAAAADQECAgAAAAICAgICCQICAgACAgICBQUBBQAAAAICBQEBAAIAAAAAAAICAAAAAAAABQAAAAAAAQAFAgICAgUCAgICBQICAQECAAYKAAMFCQsEBAQAAgAEAAEBAQEAAAkJBjkIfwFByNMAC38BQcDTAAt/AUHM0wALfwFBxNMAC38BQYjVAAt/AUGQ1QALfwFBlNsAC38BQZjbAAsHhiGYARFfX3dhc21fY2FsbF9jdG9ycwCbAgZtYWxsb2MAIgZjYWxsb2MAKgdyZWFsbG9jAF0EZnJlZQAyDXRzX3JhbmdlX2VkaXQATwZtZW1jbXAAEhh0c19sYW5ndWFnZV9zeW1ib2xfY291bnQAmQIXdHNfbGFuZ3VhZ2Vfc3RhdGVfY291bnQAmAIXdHNfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24AkwIQdHNfbGFuZ3VhZ2VfbmFtZQCPAhd0c19sYW5ndWFnZV9maWVsZF9jb3VudACHAhZ0c19sYW5ndWFnZV9uZXh0X3N0YXRlACsXdHNfbGFuZ3VhZ2Vfc3ltYm9sX25hbWUA8gEbdHNfbGFuZ3VhZ2Vfc3ltYm9sX2Zvcl9uYW1lAB4Hc3RybmNtcAAbF3RzX2xhbmd1YWdlX3N5bWJvbF90eXBlAEQddHNfbGFuZ3VhZ2VfZmllbGRfbmFtZV9mb3JfaWQA0wEZdHNfbG9va2FoZWFkX2l0ZXJhdG9yX25ldwC9ARx0c19sb29rYWhlYWRfaXRlcmF0b3JfZGVsZXRlALIBIXRzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldF9zdGF0ZQCsARt0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXQAqwEadHNfbG9va2FoZWFkX2l0ZXJhdG9yX25leHQAqAEkdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2N1cnJlbnRfc3ltYm9sAKUBDXRzX3BvaW50X2VkaXQAjQEQdHNfcGFyc2VyX2RlbGV0ZQCMAQ90c19wYXJzZXJfcmVzZXQAKRZ0c19wYXJzZXJfc2V0X2xhbmd1YWdlAIsBHXRzX3BhcnNlcl9zZXRfaW5jbHVkZWRfcmFuZ2VzADgMdHNfcXVlcnlfbmV3AIkBD3RzX3F1ZXJ5X2RlbGV0ZQBLCGlzd3NwYWNlAGYIaXN3YWxudW0AExZ0c19xdWVyeV9wYXR0ZXJuX2NvdW50AIgBFnRzX3F1ZXJ5X2NhcHR1cmVfY291bnQAhwEVdHNfcXVlcnlfc3RyaW5nX2NvdW50AIYBHHRzX3F1ZXJ5X2NhcHR1cmVfbmFtZV9mb3JfaWQAhQEidHNfcXVlcnlfY2FwdHVyZV9xdWFudGlmaWVyX2Zvcl9pZACEARx0c19xdWVyeV9zdHJpbmdfdmFsdWVfZm9yX2lkAIMBH3RzX3F1ZXJ5X3ByZWRpY2F0ZXNfZm9yX3BhdHRlcm4AggEfdHNfcXVlcnlfc3RhcnRfYnl0ZV9mb3JfcGF0dGVybgCBAR10c19xdWVyeV9lbmRfYnl0ZV9mb3JfcGF0dGVybgCAARp0c19xdWVyeV9pc19wYXR0ZXJuX3Jvb3RlZAB/HXRzX3F1ZXJ5X2lzX3BhdHRlcm5fbm9uX2xvY2FsAH4mdHNfcXVlcnlfaXNfcGF0dGVybl9ndWFyYW50ZWVkX2F0X3N0ZXAAfRh0c19xdWVyeV9kaXNhYmxlX2NhcHR1cmUAfBh0c19xdWVyeV9kaXNhYmxlX3BhdHRlcm4Aewx0c190cmVlX2NvcHkAkQIOdHNfdHJlZV9kZWxldGUAkAIHdHNfaW5pdACLAhJ0c19wYXJzZXJfbmV3X3dhc20AigIcdHNfcGFyc2VyX2VuYWJsZV9sb2dnZXJfd2FzbQCJAhR0c19wYXJzZXJfcGFyc2Vfd2FzbQCGAh50c19wYXJzZXJfaW5jbHVkZWRfcmFuZ2VzX3dhc20AgwIedHNfbGFuZ3VhZ2VfdHlwZV9pc19uYW1lZF93YXNtAIICIHRzX2xhbmd1YWdlX3R5cGVfaXNfdmlzaWJsZV93YXNtAIECGXRzX2xhbmd1YWdlX21ldGFkYXRhX3dhc20AgAIbdHNfbGFuZ3VhZ2Vfc3VwZXJ0eXBlc193YXNtAP8BGXRzX2xhbmd1YWdlX3N1YnR5cGVzX3dhc20A/gEWdHNfdHJlZV9yb290X25vZGVfd2FzbQD9ASJ0c190cmVlX3Jvb3Rfbm9kZV93aXRoX29mZnNldF93YXNtAPwBEXRzX3RyZWVfZWRpdF93YXNtAPsBHHRzX3RyZWVfaW5jbHVkZWRfcmFuZ2VzX3dhc20A+gEfdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXNfd2FzbQD5ARd0c190cmVlX2N1cnNvcl9uZXdfd2FzbQD4ARh0c190cmVlX2N1cnNvcl9jb3B5X3dhc20A9wEadHNfdHJlZV9jdXJzb3JfZGVsZXRlX3dhc20A9gEZdHNfdHJlZV9jdXJzb3JfcmVzZXRfd2FzbQD1ARx0c190cmVlX2N1cnNvcl9yZXNldF90b193YXNtAPQBJHRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfd2FzbQDzASN0c190cmVlX2N1cnNvcl9nb3RvX2xhc3RfY2hpbGRfd2FzbQDxAS50c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9pbmRleF93YXNtAPABMXRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfZm9yX3Bvc2l0aW9uX3dhc20A7wEldHNfdHJlZV9jdXJzb3JfZ290b19uZXh0X3NpYmxpbmdfd2FzbQDuASl0c190cmVlX2N1cnNvcl9nb3RvX3ByZXZpb3VzX3NpYmxpbmdfd2FzbQDtASN0c190cmVlX2N1cnNvcl9nb3RvX2Rlc2NlbmRhbnRfd2FzbQDsAR90c190cmVlX2N1cnNvcl9nb3RvX3BhcmVudF93YXNtAOsBKHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV90eXBlX2lkX3dhc20A6gEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3N0YXRlX2lkX3dhc20A6QEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX25hbWVkX3dhc20A6AErdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX21pc3Npbmdfd2FzbQDnASN0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaWRfd2FzbQDmASJ0c190cmVlX2N1cnNvcl9zdGFydF9wb3NpdGlvbl93YXNtAOUBIHRzX3RyZWVfY3Vyc29yX2VuZF9wb3NpdGlvbl93YXNtAOQBH3RzX3RyZWVfY3Vyc29yX3N0YXJ0X2luZGV4X3dhc20A4wEddHNfdHJlZV9jdXJzb3JfZW5kX2luZGV4X3dhc20A4gEkdHNfdHJlZV9jdXJzb3JfY3VycmVudF9maWVsZF9pZF93YXNtAOEBIXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZGVwdGhfd2FzbQDgASx0c190cmVlX2N1cnNvcl9jdXJyZW50X2Rlc2NlbmRhbnRfaW5kZXhfd2FzbQDfASB0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfd2FzbQDeARN0c19ub2RlX3N5bWJvbF93YXNtAN0BIXRzX25vZGVfZmllbGRfbmFtZV9mb3JfY2hpbGRfd2FzbQDcASd0c19ub2RlX2ZpZWxkX25hbWVfZm9yX25hbWVkX2NoaWxkX3dhc20A2wEhdHNfbm9kZV9jaGlsZHJlbl9ieV9maWVsZF9pZF93YXNtANoBIXRzX25vZGVfZmlyc3RfY2hpbGRfZm9yX2J5dGVfd2FzbQDZASd0c19ub2RlX2ZpcnN0X25hbWVkX2NoaWxkX2Zvcl9ieXRlX3dhc20A2AEbdHNfbm9kZV9ncmFtbWFyX3N5bWJvbF93YXNtANcBGHRzX25vZGVfY2hpbGRfY291bnRfd2FzbQDWAR50c19ub2RlX25hbWVkX2NoaWxkX2NvdW50X3dhc20A1QESdHNfbm9kZV9jaGlsZF93YXNtANQBGHRzX25vZGVfbmFtZWRfY2hpbGRfd2FzbQDSAR50c19ub2RlX2NoaWxkX2J5X2ZpZWxkX2lkX3dhc20A0QEZdHNfbm9kZV9uZXh0X3NpYmxpbmdfd2FzbQDQARl0c19ub2RlX3ByZXZfc2libGluZ193YXNtAM8BH3RzX25vZGVfbmV4dF9uYW1lZF9zaWJsaW5nX3dhc20AzgEfdHNfbm9kZV9wcmV2X25hbWVkX3NpYmxpbmdfd2FzbQDNAR10c19ub2RlX2Rlc2NlbmRhbnRfY291bnRfd2FzbQDMARN0c19ub2RlX3BhcmVudF93YXNtAMsBInRzX25vZGVfY2hpbGRfd2l0aF9kZXNjZW5kYW50X3dhc20AygEhdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9pbmRleF93YXNtAMkBJ3RzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDHASR0c19ub2RlX2Rlc2NlbmRhbnRfZm9yX3Bvc2l0aW9uX3dhc20AxgEqdHNfbm9kZV9uYW1lZF9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMUBGHRzX25vZGVfc3RhcnRfcG9pbnRfd2FzbQDEARZ0c19ub2RlX2VuZF9wb2ludF93YXNtAMMBGHRzX25vZGVfc3RhcnRfaW5kZXhfd2FzbQDCARZ0c19ub2RlX2VuZF9pbmRleF93YXNtAMEBFnRzX25vZGVfdG9fc3RyaW5nX3dhc20AwAEVdHNfbm9kZV9jaGlsZHJlbl93YXNtAL8BG3RzX25vZGVfbmFtZWRfY2hpbGRyZW5fd2FzbQC+ASB0c19ub2RlX2Rlc2NlbmRhbnRzX29mX3R5cGVfd2FzbQC8ARV0c19ub2RlX2lzX25hbWVkX3dhc20AuwEYdHNfbm9kZV9oYXNfY2hhbmdlc193YXNtALoBFnRzX25vZGVfaGFzX2Vycm9yX3dhc20AuQEVdHNfbm9kZV9pc19lcnJvcl93YXNtALgBF3RzX25vZGVfaXNfbWlzc2luZ193YXNtALcBFXRzX25vZGVfaXNfZXh0cmFfd2FzbQC2ARh0c19ub2RlX3BhcnNlX3N0YXRlX3dhc20AtQEddHNfbm9kZV9uZXh0X3BhcnNlX3N0YXRlX3dhc20AtAEVdHNfcXVlcnlfbWF0Y2hlc193YXNtALMBFnRzX3F1ZXJ5X2NhcHR1cmVzX3dhc20AsAEGbWVtc2V0ADMGbWVtY3B5ACQHbWVtbW92ZQCZAQhpc3dhbHBoYQBnCGlzd2JsYW5rAJ0BCGlzd2RpZ2l0AKIBCGlzd2xvd2VyAJ4BCGlzd3VwcGVyAJoBCWlzd3hkaWdpdACXAQZtZW1jaHIAZAZzdHJsZW4AZQZzdHJjbXAAlgEHc3RybmNhdACcAQdzdHJuY3B5AJgBCHRvd2xvd2VyAKQBCHRvd3VwcGVyAKMBCHNldFRocmV3AKYBGV9lbXNjcmlwdGVuX3N0YWNrX3Jlc3RvcmUAoQEXX2Vtc2NyaXB0ZW5fc3RhY2tfYWxsb2MAoAEcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudACfARhfX3dhc21fYXBwbHlfZGF0YV9yZWxvY3MAmgIIAsgBCUABACMCCx6bAZUBlAGSAZEBkAGKAZcClQKWApQCJZICkwGPAY4BMo4CjQKMAogChQKEArEBrwGtAa4BqgGpAacBDAEBCtSBC5MC0AEBA38CQCABKAJMIgJBAE4EQCACRQ0BIwFBlNYAaigCGCACQf////8DcUcNAQsCQCAAQf8BcSIDIAEoAlBG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IAQgCy8BSk0NASALIAQ7AUogACgCPCAEQRRsaiEHDAALAAsgGigCFCAQSw0ACwwACwALIBVBAWoiFSADKAIETw0BIAMoAhAhBAwACwALIAsgAygCCDYCECALIAMpAgA3AwggAyARKAIINgIIIAMgESkCADcCACARIAsoAhA2AgggESALKQMINwIACyAjQQFqIiNBgAJHDQALIANBAToASAsgC0HQAGokAAu5IAIZfwF+IwBBgAJrIggkACAAKAKECSIJKAIEIRogCCADNgLYASAIQYQBaiAJIAEjAkEHaiAIQdgBaiADEBkgACgChAkiAygCBCILBH8gAygCACERQQAhCUEAIQMgC0EETwRAIAtBfHEhDANAIAkgESADQQV0aiIQKAIcQQJGaiAQKAI8QQJGaiAQKAJcQQJGaiAQKAJ8QQJGaiEJIANBBGohAyANQQRqIg0gDEcNAAsLIAtBA3EiEARAA0AgCSARIANBBXRqKAIcQQJGaiEJIANBAWohAyAKQQFqIgogEEcNAAsLIAlBCmoFQQoLIRsgCCgCiAEiEgRAQRhBACACQf3/A0sbIRwgAEGEAWohESAAQYgJaiEXIABBvAlqIR0gAkEDbCEeQQAhEANAIAgoAoQBIg4gEEEEdGoiAygCBCEKIAMoAgAhCQJAIBsgAygCDCIUIBhrIhlJBEAgACgChAkgGRARQQAhAyAKBEADQCAIIAkgA0EDdGopAgA3AwggFyAIQQhqEAogA0EBaiIDIApHDQALCyAJBEAgCSMIKAIAEQIACyAYQQFqIRggEEEBaiIDIBJPDQEDQCADIQoCQAJAIAAoAmAiCUUEQCAAKAKMCkUNAiARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACAwBCyARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACCAAKAJcQQAgESAJEQMAIAAoAowKRQ0BCyARIQkDQAJAAkAgCS0AACIDQSJGDQAgA0HcAEYNACADDQEMAwtB3AAgACgCjAoQCSAJLQAAIQMLIAPAIAAoAowKEAkgCUEBaiEJDAALAAsgDiAKQQR0aiIMKAIMIBRHDQIgDCgCACEJQQAhAyAMKAIEIhAEQANA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BEF/NgJMIAQjAkEdajYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUIAZBADoAACMAQdABayIFJAAgBSADNgLMASAFQaABaiIAQQBBKPwLACAFIAUoAswBNgLIAQJAQQAgAiAFQcgBaiAFQdAAaiAAIwIiAEEbaiIGIABBHGoiABBiQQBIBEBBfyEADAELIAQoAkxBAEggBCAEKAIAIgFBX3E2AgACfwJAAkAgBCgCMEUEQCAEQdAANgIwIARBADYCHCAEQgA3AxAgBCgCLCEHIAQgBTYCLAwBCyAEKAIQDQELQX8gBBBCDQEaCyAEIAIgBUHIAWogBUHQAGogBUGgAWogBiAAEGILIQIgBwRAIARBAEEAIAQoAiQRBAAaIARBADYCMCAEIAc2AiwgBEEANgIcIAQoAhQhACAEQgA3AxAgAkF/IAAbIQILIAQgBCgCACIAIAFBIHFyNgIAQX8gAiAAQSBxGyEADQALIAVB0AFqJAAgBEGgAWokACAAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRBQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC28BBX8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2AgAgAywAASAEIQIgBSEDQTBrIgFBCkkNAAsgAgucEwITfwJ+IwBBQGoiCCQAIAggATYCPCAIQSlqIRcgCEEnaiEYIAhBKGohEgJAAkACQAJAA0BBACEHA0AgASENIAcgDkH/////B3NKDQIgByAO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QQALMwEBfyAAECkgAEEANgKgCQJAIAEEQCABKAIAQRBrQX1JDQELIAAgATYCoAlBASECCyACC+wHAQp/IwBBIGsiAyQAIAAEQCAAECkgAEEANgKgCSAAKAKECSEBIwBBEGsiBiQAIAEoAgwiAgRAIAIjCCgCABECACABQQA2AhQgAUIANwIMCyABKAIYIgIEQCACIwgoAgARAgAgAUEANgIgIAFCADcCGAsgASgCMCABQSRqIgggASgCNBAaIAEoAgQiAgRAA0AgASgCACAFQQV0aiIEKAIABEAgASgCNCEHIAQoAgwEQCAGIAQpAgw3AwggByAGQQhqEAoLIAQoAhQEQCAGIAQpAhQ3AwAgByAGEAoLIAQoAgQiAgRAIAIoAgAiCgRAIAojCCgCABECACAEKAIEIQILIAJBADYCCCACQgA3AgAgAiMIKAIAEQIACyAEKAIAIAggBxAaIAEoAgQhAgsgBUEBaiIFIAJJDQALC0EAIQIgAUEANgIEIAEoAiQiBQRAAkAgASgCKARAA0AgASgCJCACQQJ0aigCACMIKAIAEQIAIAJBAWoiAiABKAIoSQ0ACyAIKAIAIgVFDQELIAUjCCgCABECAAsgAUEANgIsIAFCADcCJAsgASgCACICBEAgAiMIKAIAEQIACyABQQA2AgggAUIANwIAIAEjCCgCABECACAGQRBqJAAgACgCqAkiAQRAIAEjCCgCABECACAAQQA2ArAJIABCADcCqAkLIAAoAqAKIgEEQCABIwgoAgARAgAgAEEANgKoCiAAQgA3AqAKCyAAKAKYCgRAIAMgAEGYCmopAgA3AxggAEGICWogA0EYahAKIABCADcCmAoLIAAoAkQjCCgCABECACAAQeAJaiEBIAAoAuAJBEAgAyABKQIANwMQIABBiAlqIANBEGoQCgsgACgC6AkEQCADIABB6AlqKQIANwMIIABBiAlqIANBCGoQCgsgAUIANwIAIAFBADYCECABQgA3AgggACgCiAkiAQRAAkAgACgCjAkEQANAIAAoAogJIAlBA3RqKAIAIwgoAgARAgAgCUEBaiIJIAAoAowJSQ0ACyAAKAKICSIBRQ0BCyABIwgoAgARAgALIABBADYCkAkgAEIANwKICQsgACgClAkiAQRAIAEjCCgCABECACAAQQA2ApwJIABCADcClAkLIAAoAvQJIgEEQCABIwgoAgARAgALIABBADYC/AkgAEIANwL0CSAAKAK8CSIBBEAgASMIKAIAEQIACyAAQQA2AsQJIABCADcCvAkgACgCyAkiAQRAIAEjCCgCABECAAsgAEEANgLQCSAAQgA3AsgJIAAoAtQJIgEEQCABIwgoAgARAgALIABBADYC3AkgAEIANwLUCSAAIwgoAgARAgALIANBIGokAAuzAQIFfwF+IAApAgAiCEIgiKchAyAIpyEEAkAgASgCACIFIAIoAgQiB08EQCADIAIoAiAgAyACKAIYayIGQQAgAyAGTxtqIAQgAigCFCIGSxshAyACKAIcIAQgBmsiBkEAIAQgBk8baiEEIAIoAgggBSAHa2ohBQwBCyAFIAIoAgBNDQAgAikCHCIIQiCIpyEDIAIoAgghBSAIpyEECyAAIAStIAOtQiCGhDcCACABIAU2AgALGwAgACABEF0hAAJAIAFFDQAgAA0AEEMACyAACxsAIAAgARAqIQECQCAARQ0AIAENABBDAAsgAQvAAQEDfyMAQSBrIgMkACAAKAJIBEAgACgCYCECAkAgAQRAIAJFDQEgAyAAKAIAIgI2AgAgAEGEAWoiBEGACCMBQZoLQf0IIAJBIGtB3wBJG2ogAxALGiAAKAJcQQEgBCAAKAJgEQMADAELIAJFDQAgAyAAKAIAIgI2AhAgAEGEAWoiBEGACCMBQa4LQY8JIAJBIGtB3wBJG2ogA0EQahALGiAAKAJcQQEgBCAAKAJgEQMACyAAIAEQQQsgA0EgaiQAC2kBAn8CQCAAKAJoIgEgACgCZEYNACABRQ0AIAAoAiAgACgCRCABQRhsaiIBKAIQRw0AIAFBBGsoAgAhAiAAIAFBEGspAgA3AjwgACACNgI4DwsgACAAKQIgNwI4IABBQGsgACgCKDYCAAv6BQIJfwF+IwBBEGsiBSQAIABBAToAeAJAIAAtAIABDQAgACgCICIIIAAoAigiA2shASAAKAIkIQQgAwRAIABBADYCfCAAQQA6AIABCyAAQQA2AiggACAENgIkIAAgATYCICAAKAJEIQYCQAJ/IAAoAmQiBARAA0ACQCAGIAJBGGxqIgcoAhQiCSABTQ0AIAkgBygCECIDTQ0AIAEgA00EQCAAIAcpAgA3AiQgACADNgIgIAMhAQsgACACNgJoQQAhAiAAKAJIRQ0EIAAoAmwiAyABTQRAIAEgACgCcCADakkNBQsgAEEANgJIQQAMAwsgAkEBaiICIARHDQALCyAAIAQ2AmggBiAEQRhsaiIDQQRrKAIAIQEgA0EQaykCACEKIABBADYCSCAAIAo3AiQgACABNgIgQQELIQIgAEEANgJwCyAAQQE6AIABIABBADYCACAAIAI2AnQgAEEANgJ8IAAgATYCbCAAKAJQIQMgACgCTCECIAUgACkCJDcDCCAAIAIgASAFQQhqIABB8ABqIgQgAxEGACICNgJIIAAoAnAiAUUEQCAAQQA2AkggACAAKAJkNgJoDAELIAAoAmggACgCZEYNAAJAIAAoAiAgACgCbGsiAyABRgRAIABBADYCACAAQQE2AnQMAQsgACACIANqIAEgA2siASAAIwFB0NMAaiAAKAJUIgNBAnRqIABB2ABqIANBA0kbKAIAIgMRBAA2AnQgACgCACECAkAgAUEDSw0AIAJBf0cNACAAIAAoAiAiATYCbCAAKAJQIQIgACgCTCEGIAUgACkCJDcDACAAIAYgASAFIAQgAhEGACICNgJIIAAgACgCcCIBBH8gAgUgAEEANgJIIAAgACgCZDYCaEEACyABIAAgAxEEADYCdCAAKAIAIQILIAJBf0cNACAAQQE2AnQLA0AgACgCICAITw0BIAAoAmggACgCZEYNASAAKAJIRQ0BIABBABBBIAAoAmggACgCZEcNAAsLIAAoAnwgBUEQaiQACxsBAX8gABAiIQECQCAARQ0AIAENABBDAAsgAQsrAQJ/IAAoAmgiAiAAKAJkSQR/IAAoAiAgACgCRCACQRhsaigCEEYFQQALCw0AIAAoAmggACgCZEYLTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLFwAgAEEwa0EKSSAAQSByQeEAa0EGSXILggIBAn8CQAJAAkACQCABIAAiA3NBA3ENACACQQBHIQQCQCABQQNxRQ0AIAJFDQADQCADIAEtAAAiBDoAACAERQ0FIANBAWohAyACQQFrIgJBAEchBCABQQFqIgFBA3FFDQEgAg0ACwsgBEUNAiABLQAARQ0DIAJBBEkNAANAQYCChAggASgCACIEayAEckGAgYKEeHFB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ICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFBMGokAAveAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8CQCABKAIMIgBB//8DcUUEQCABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYhAAwCCyAALwEoIQALIABB//8DcUH//wNHDQBBAQwBCyABKAIUKAIIKAJMIABB//8DcUEBdGovAQBB//8DRgsgAUEwaiQAC6oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQRp0QR91QeIEcQwBC0HiBCAALQAtQQJxDQAaIAAoAiALQQBHIAFBMGokAAubAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEEdkEBcQwBCyAALwEsQQV2QQFxCyABQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQPSABQTBqJAAL0QYBCH8jAEGgAWsiByQAIAcjCyIIKAIANgKYASAHIAgoAgxBAXQ2ApABIAcgADYCnAEgByAHKQKYATcDWCAHIAgoAhA2ApQBIAcgBykCkAE3A1AgByAIKAIINgKMASAHIAgoAgRBAXQ2AogB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NgIAIAFBgAFqJAALrAICB38BfiMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIwBBIGsiACQAIAEoAhQoAgghAiABKAIQKQIAIQhBASEDAkACQAJAIAEvAQwiBEH+/wNrDgIAAgELQQAhAwwBCyACKAJIIARBA2xqLQAAIQMLIAAgCDcDECAAIAg3AwggAEEIaiAAQR9qQQEgAkEAIAQgA0EBcSIFIwFBoQpqIgYQMEEBaiIHIwcoAgARAAAhAyAAIAApAxA3AwAgACADIAcgAkEAIAQgBSAGEDAaIABBIGokACABQTBqJAAgAwt6AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgARBbIAFBMGokAEEBdgt7AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCACABQTBqJABBAXYLlgEBAn8jAEFAaiIBJAAgASMLIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABQSBqIAFBCGoQPyACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAueAQECfyMAQUBqIgEkACABIwsiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAEgASgCDDYCICABIAEoAhA2AiQgAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBABBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBARBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMgAigCGEEBdCEEIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADIARBABBWIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALWAEBfyMBQcjTAGokBiMBQcDTAGokByMBQczTAGokCCMBQcTTAGokCSMBQYjVAGokCiMBQZDVAGoiACQLIwFBlNsAaiQMIwFBmNsAaiQNIABBAEGMBvwLAAuGAgEEfyMAQdAAayIBJAAgASMLIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEBEFYgAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAufAgEDfyMAQYABayIBJAAgASMLIgIoAgA2AnggASACKAIMQQF0NgJwIAEgADYCfCABIAIoAgg2AmwgASACKAIQNgJ0IAEgAigCBEEBdDYCaCABIAIoAhQ2AmAgASACKAIYQQF0NgJQIAEgAigCHDYCVCABIAIoAiBBAXQ2AlggAigCJCEDIAEgASkCeDcDMCABIAEpAnA3AyggASAANgJkIAEgASkCaDcDICABIAM2AlwgASABKQJgNwMYIAEgASkCWDcDECABIAEpAlA3AwggAUE4aiABQSBqIAFBCGoQGCACIAEoAkQ2AhAgAiABKAI8NgIIIAIgASgCSDYCACACIAEoAkBBAXY2AgwgAiABKAI4QQF2NgIEIAFBgAFqJAAL4AQCBn8CfiMAQdAAayIBJAAgASMLIgMoAgA2AkggAUFAayICIAMoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAMoAhA2AkQgASACKQIANwMQIAEgAygCCDYCPCABIAMoAgRBAXQ2AjggASABKQI4NwMIIwBBkAFrIgAkAAJ/IAEoAhwiAigCACIEQQFxBEAgAi0ABUEPcSEFIAItAAQhBiACLQAGDAELIAQoAgwhBiAEKAIIIQUgBCgCBAshBCAAIAI2AowBIAAgAjYCiAEgAEEANgKEASAAIAY2AoABIAAgBTYCfCAAIAQ2AngCQCACIAEoAhgiBEcEQCAAIAApAoABNwNQIAAgACkCiAE3A1ggACAAKQJ4NwNIIAAgASkCEDcDOCAAQUBrIAEpAhg3AwAgACABKQIINwMwIABB4ABqIABByABqIABBMGoQGAJAIAAoAnAiAiAERg0AIAJFDQADQCAAIAApAnAiBzcDiAEgACAAKQJoIgg3A4ABIAAgCDcDICAAIAc3AyggACAAKQJgIgc3A3ggACAHNwMYIAAgASkCEDcDCCAAIAEpAhg3AxAgACABKQIINwMAIABB4ABqIABBGGogABAYIAAoAnAiAiAERg0BIAINAAsLIAEgACkDeDcCICABIAApA4gBNwIwIAEgACkDgAE3AigMAQsgAUIANwIgIAFCADcCMCABQgA3AigLIABBkAFqJAAgAyABKAIsNgIQIAMgASgCJDYCCCADIAEoAjA2AgAgAyABKAIoQQF2NgIMIAMgASgCIEEBdjYCBCABQdAAaiQAC50BAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBASEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI4QQFqIQALIAFBMGokACAAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC8UBAQN/IwBB0ABrIgIkACACIwsiAygCADYCSCACQUBrIgQgAygCDEEBdDYCACACIAA2AkwgAiACKQJINwMYIAIgAygCEDYCRCACIAQpAgA3AxAgAiADKAIINgI8IAIgAygCBEEBdDYCOCACIAIpAjg3AwggAkEgaiACQQhqIAFB//8DcRA7IAMgAigCLDYCECADIAIoAiQ2AgggAyACKAIwNgIAIAMgAigCKEEBdjYCDCADIAIoAiBBAXY2AgQgAkHQAGokAAvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQAQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUECdGooAgAhAgsgAgvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQEQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAAC5wBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYMAQsgAC8BKAtB//8DcSABQTBqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBABBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBARBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALiQQBCX8jAEGAAWsiAiQAIAIjCyIDKAIANgJ4IAIgAygCDEEBdDYCcCACIAA2AnwgAiACKQJ4NwMwIAIgAygCEDYCdCACIAIpAnA3AyggAiADKAIINgJsIAIgAygCBEEBdDYCaCACIAIpAmg3AyAgAkHUAGogAkEgahBwAkAgAUUEQEEAIQMMAQsgAiACKQJ4NwMYIAIgAikCcDcDECACIAIpAmg3AwggAkHUAGoiACACQQhqECYgABAsGkEAIQBBACEDA0AgAyEEAkADQCACQdQAaiIDEG0gAUYNASADEBwNAAsgBCEDDAILIAJBPGogAkHUAGoiAxAQIAMQHAJAIARBBWoiAyAATQ0AQQggAEEBdCIAIAMgACADSxsiACAAQQhNGyIAQQJ0IQYgBQRAIAUgBiMGKAIAEQEAIQUMAQsgBiMHKAIAEQAAIQULIAUgBEECdGoiBEIANwIAIARBADYCECAEQgA3AgggAigCPCEGIAIoAkQhCCACKAJMIQkgAigCQCEKIAUgA0ECdGoiBEEE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IAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGoQbSABQSBqJAALZwEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEFsgAUHQAGokAEEBdgtlAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAEoAgggAUHQAGokAEEBdgt9AQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDECABIAEpAiw3AwggASABKQIkNwMAIAFBHGogARA/IAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAuIAQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxAgASABKQIsNwMIIAEgASkCJDcDACABIAEoAgQ2AhwgASABKAIINgIgIAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAtCAQF/IwBBMGsiASQAIAEgADYCHCABIwsiACkDADcCICABIAApAwg3AiggAUEEaiABQRxqEBAgASgCFCABQTBqJAALhQEBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwgCfyABKAIYKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqED0gAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMI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AEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEBwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALhwECAn8BfiMAQTBrIgEkACABIAA2AhwgASMLIgAoAgA2AiAgASAAKQIENwIkIAEgACgCDCICNgIsIAEgACgCEEEBdDYCGCABIAI2AhQgASABKQIUNwMIIAFBHGpBACABKAIIIAEoAgwQbiAAIAEpAiA3AwAgACABKQIoNwMIIAFBMGokAEIAUgtmAgJ/AX4jAEEgayIBJAAgASAANgIMIAEjCyIAKAIANgIQIAEgACkCBDcCFCABIAAoAgwiAjYCHCABQQxqIAJBAXRBAEEAEG4gACABKQIQNwMAIAAgASkCGDcDCCABQSBqJABCAFILXwEDfyMAQSBrIgEkACABIAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGohAgNAIAIQbyIDQQFGDQALIANBAkYgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALTgEBfyMBQasKaiECAkACQAJAIAFB/v8Daw4CAAIBCyMBQaoKag8LQQAhAiAAKAIIIAAoAgRqIAFNDQAgACgCOCABQQJ0aigCACECCyACC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqECwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALugIBBX8jAEEwayICJAAgAiAANgIcIAIjCyIDKQMANwIgIAIgAykDCDcCKCACIAMpAxA3AgwgAiADKQMYNwIUIAIgATYCCCACIAIoAgg2AhwgAi8BGCEAIAJBADYCJCACIAA7ASwgAigCICEAIAIoAgwhBgJAAkAgAigCECIEIAIoAihLBEAgBEEcbCEBAn8gAARAIAAgASMGKAIAEQEADAELIAEjBygCABEAAAshACACIAQ2AiggAigCJCIFRQ0BIAVBHGwiBUUNASAAIAFqIAAgBfwKAAAMAQsgBEUNASAEQRxsIQELIAYEQCABRQ0BIAAgBiAB/AoAAAwBCyABRQ0AIABBACAB/AsACyACIAA2AiAgAiACKAIkIARqNgIkIAMgAikCIDcDACADIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECYgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC1MBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABKAIQIgAEQCAAIwgoAgARAgALIAFBADYCGCABQgA3AhAgAUEgaiQAC80BAQV/IwBBMGsiASQAIAEgADYCHCABIwsiAykDADcCICABIAMpAwg3AihBACEAIAFBADYCGCABIAEoAhw2AgggAS8BLCECIAFBADYCFCABIAI7ARgCQCABKAIkIgRFDQAgASgCICEFIARBHGwiAiMHKAIAEQAAIQAgASAENgIUIAUEQCACRQ0BIAAgBSAC/AoAAAwBCyACRQ0AIABBACAC/AsACyABIAA2AgwgASAENgIQIAMgASkCDDcDACADIAEpAhQ3AwggAUEwaiQAC5oBAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAUEkaiABQQhqEHAgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC84wAht/A34jAEEQayIYJAAjAEFAaiIHJAAgB0EANgI8IAdCADcCJCAHQgA3AhwCfyAAKAIAIgJBAXEEQCAALQAEIQ0gAC0ABiEMIAAtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEIIAdBADsBPCAHIAA2AiwgB0HgASMHKAIAEQAAIgI2AjAgB0KBgICAgAE3AjQgAkEANgIYIAJCADcCECACIA02AgwgAiAINgIIIAIgDDYCBCACIAA2AgACfyABKAIAIgJBAXEEQCABLQAEIQ0gAS0ABiEMIAEtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEC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NgKIAiAKIDg3A4ACIApBADYC+AEgCkEANgL0ASAKQQA2AvABIAogBzYC7AEgCkEANgLoASAKQQA2AuQBIAogETsB4AEgCkEAOwHeASAKQQA7AdoBIApCADcDuAEgCkEBNgKMAiAKIANBAXQgAmpB/wFxOwHcASABIAooAowCNgIAIAEgCigCiAI2AgQgASAKKQOAAjcCCCABIAooAvgBNgIQIAEgCigC9AE2AhQgASAKKALwATYCGCABIAooAuwBNgIcIAEgCigC6AE2AiAgASAKKALkATYCJCABIAovAeABOwEoIAEgCi8B3gE7ASogASAKLwHcATsBLCABIAovAdoBOwEuIAEgCigC0AE2AkggAUFAayAKKQPIATcCACABIAopA8ABNwI4IAEgCikDuAE3AjBCAAshOCAEQQFrIRgCQCABQQFxBEAgAUEgciEBDAELIAEgAS8BLEGABHI7ASwLIBhBBXQiECAFKAKECSICKAIAaiIHKAIAIQMCfyACKAIoIgAEQCACIABBAWsiADYCKCACKAIkIABBAnRqKAIADAELQaQBIwcoAgARAAALIhQgDzsBACAUQQJqQQBBkgH8CwAgFEIANwKYASAUQQE2ApQBIBRBADYCoAECQAJ/AkAgAwRAIBQgOCABrYQ3AhQgFCADNgIQIBRBATsBkAEgFCADKQIENwIEIBQgAygCDDYCDCAUIAMoApgBIgA2ApgBIBQgAygCoAEiBDYCoAEgFCADKAKcASITNgKcASABQQFxIgMNASAUIAEtAC1BAnEEf0HiBAUgASgCIAsgAGo2ApgBQQAgASgCDCABKAIUIgIbIQAgASgCECABKAIEaiENIAIgASgCCGohDiABKAIYDAILIBRCADcCBCAUQQA2AgwMAgsgFCAAIAFBGnRBH3VB4gRxajYCmAEgOEIgiKdB/wFxIQAgOEIoiKdBD3EhDiA4QjCIpyENQQALIQIgFCAUKAIEIA1qNgIEIBQgFCgCCCAOaq0gACACakEAIBQoAgwgDhtqrUIghoQ3AggCQCADRQRAQQAhDiAUIAEoAiQiAAR/IAEoAjgFQQALIBNqIAEvASxBAXFqIAEvAShB/v8DRmo2ApwBIABFDQEgASgCPCEODAELIBQgEyABQQF2QQFxajYCnAFBACEOCyAUIAQgDmo2AqABCyAHIBQ2AgAgBSAY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AgwgACABQQVqNgIIIABCADcCACAAQSBqQQBB5Aj8CwAgAEEAQRgjBigCABEBACIBNgJEIAEjAUH8C2oiAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIABBATYCZAJAAkAgACgCRCIDKAIUIgQgACgCICIBTQ0AIAQgAygCECICTQ0AIAEgAk0EQCAAIAMpAgA3AiQgACACNgIgIAIhAQtBACECIABBADYCaCAAKAJIRQ0BIAAoAmwiAyABTQRAIAEgACgCcCADakkNAgsgAEEANgJIIABCADcCbAwBC0EBIQIgAEEBNgJoIAMpAgghByAAQQA2AkggACAHNwIkIAAgBDYCICAAQgA3AmwLIABBADYCsAkgAEEANgIAIAAgAjYCdCAAQgA3AqgJIABBwAAjByIBKAIAEQAANgKoCSAAQQQ2ArAJQYACIAEoAgARAAAhASAAQgA3ApQJIABCgICAgIAENwKMCSAAIAE2AogJIABBnAlqQQA2AgBBAUE4IwkoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggAUGAASMHKAIAEQAANgIAIAFBBDYCCCABKAIMIQIgASgCFEEDTQRAAn8gAgRAIAJBwAAjBigCABEBAAwBC0HAACMHKAIAEQAACyECIAFBBDYCFAsgASACNgIMIAEoAhghAiABKAIgQQNNBEACfyACBEAgAkHgACMGKAIAEQEADAELQeAAIwcoAgARAAALIQIgAUEENgIgCyABIAI2AhggASgCJCECIAEoAixBMU0EQAJ/IAIEQCACQcgBIwYoAgARAQAMAQtByAEjBygCABEAAAshAiABQTI2AiwLIAEgAEGICWoiAzYCNCABIAI2AiQCfyABKAIoIgQEQCABIARBAWsiBDYCKCACIARBAnRqKAIADAELQaQBIwcoAgARAAALIgJBATsBACACQQJqQQBBkgH8CwAgAkIANwIEIAJBATYClAEgAkEANgIMIAJCADcCmAEgAkEANgKgASABIAI2AjAgARA5IABCADcC9AkgAEIANwK0CSAAIAE2AoQJIABB/AlqQgA3AgAgAEGECmpBADYCACAAQgA3ApQKIABCADcCiAogAEEANgKgCSAAQZwKakIANwIAIABBpApqQgA3AgAgAEEANgLACiAAQcMKakEA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IHN5bTolcwBzZWxlY3Rfc21hbGxlcl9lcnJvciBzeW1ib2w6JXMsIG92ZXJfc3ltYm9sOiVzAHNlbGVjdF9lYXJsaWVyIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2V4aXN0aW5nIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlIHN5bWJvbDolcywgZmlyc3RfbGVhZl9zeW1ib2w6JXMAc2tpcF90b2tlbiBzeW1ib2w6JXMAaWdub3JlX2VtcHR5X2V4dGVybmFsX3Rva2VuIHN5bWJvbDolcwByZXVzYWJsZV9ub2RlX2hhc19kaWZmZXJlbnRfZXh0ZXJuYWxfc2Nhbm5lcl9zdGF0ZSBzeW1ib2w6JXMAcmV1c2Vfbm9kZSBzeW1ib2w6JXMAcGFzdF9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBiZWZvcmVfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlXyVzIHRyZWU6JXMAYnJlYWtkb3duX3RvcF9vZl9zdGFjayB0cmVlOiVzAGRldGVjdF9lcnJvciBsb29rYWhlYWQ6JXMAKCVzAGlzX2Vycm9yAHNraXBfdW5yZWNvZ25pemVkX2NoYXJhY3RlcgBuYW4AXG4AaXNfbWlzc2luZwByZXN1bWVfcGFyc2luZwByZWNvdmVyX2VvZgBpbmYAbmV3X3BhcnNlAGNvbmRlbnNlAGRvbmUAaXNfZnJhZ2lsZQBjb250YWluc19kaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UAc2tpcCBjaGFyYWN0ZXI6JWQAY29uc3VtZSBjaGFyYWN0ZXI6JWQAc2VsZWN0X2hpZ2hlcl9wcmVjZWRlbmNlIHN5bWJvbDolcywgcHJlYzolZCwgb3Zlcl9zeW1ib2w6JXMsIG90aGVyX3ByZWM6JWQAc2hpZnRfZXh0cmEAbm9fbG9va2FoZWFkX2FmdGVyX25vbl90ZXJtaW5hbF9leHRyYQBfX1JPT1RfXwBfRVJST1IATkFOAE1JU1NJTkcASU5GAElOVkFMSUQAbGV4ZWRfbG9va2FoZWFkIHN5bToAIDAwMDAwMDAwMDAwMBAwMAAuACglcykAKG51bGwpAChOVUxMKQAoIiVzIikAJ1x0JwAnXHInACdcbicAc2tpcCBjaGFyYWN0ZXI6JyVjJwBjb25zdW1lIGNoYXJhY3RlcjonJWMnACdcMCcAIiVzIgAoTUlTU0lORyAAKFVORVhQRUNURUQgACVzOiAACgoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP//////////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeDw8PAAAAAAAAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAAAAAAAAAAAABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISUoRS0xNTk9QURBSU1RVVldYWVpbXF0QXl9gEBEREWFiYxAQEBAQEBAQEBARERERZBAQEBAQEBAQEBAQEBAQEBERZRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERZmcQEGhpERERERERERERERERERERERERERERERFqERFrEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFsbRAQEBAQEBAQEG4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEG9wcXIQEBAQEBAQEHN0dRAQEBAQdncQEBAQeBAQeRAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAP+/tgD///+HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8B/wcAAAAAAAD//98/AADw//gD////////////7//f4f/P//7/75/5///9xeOfWYCwz/8DEO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAe7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADv3/3///3/498dYAfP/wAA79/9///97+PfHWBAz/8GAO/f/f/////n313wgM//APzs/3/8///7L3+AX//A/wwA/v////9//wc/IP8DAAAAANb3//+v//87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP///////////8//////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P/7//////////////////////////////////////////////////////////5////7//wf////////////H/wH/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wH//////wf//////////z8A////f/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////fwD/4///////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAgP8fAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8PAAAAAAAAAAAAAAAAAAAAAAAAAP///////38A//8/AP8AAAAAAAAAAAAAAAAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwAAAAAAAAAAAAAAAAD///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H4AA//8/AAAAAAAAAAAAAAAAAAAAAAAAAP//fwD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/cAD/////RwD//////////x4A/xcAAAAA///7////n0AAAAAAAAAAAH+9/7//Af////////8B/wPvn/n///3t458ZgeAPAAAAAAAAAAAAAAAAAAAAAAAAAP//////////uwf/gwAAAAD//////////7MA/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9/AAAAPwAAAAD/////////fxEA/wMAAAAA////////PwH/AwAAAAAAAP///+f/B/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAD///////////8DAIAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8///////8GgAAAP///////+d/AAD///////////8gAAAAAP////////8B//3/////f38BAP8DAAD8/////P///n8AAAAAAAAAAAB/+/////9/tMsA/wO//f///397Af8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//38A/////////////////////////wMAAAAAAAAAAAAAAAD/////////////////fwAA////////////////////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8B////f/8DAAAAAAAAAAAAAAAA////PwAA////////AAAPAP8D+P//4P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAP///////////4f/////////gP//AAAAAAAAAAALAAAA/////////////////////////////////////////wD///////////////////////////////////////8HAP///38AAAAAAAAHAPAA/////////////////////////////////////////////////////////////////w//////////////////B/8f/wH/QwAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////f///+dsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////x+AP/9DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////D/8D////////////////////////////////HwAAAAAAAAD//////////48I/wMAAAAAAAAAAAAAAAAAAAAAAAAAAO////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAAAAAAAAA////A////wP///8DAAAAAAAAAAAAAAAAAAAgAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAAAAAAAAAAAZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYACAAAVgEAADkAAAAAAAAAAAAAAAEgAAAA4P//AL8dAADnAgAAeQAAAiQAAAEBAAAA////AAAAAAECAAAA/v//ATn//wAY//8Bh///ANT+/wDDAAAB0gAAAc4AAAHNAAABTwAAAcoAAAHLAAABzwAAAGEAAAHTAAAB0QAAAKMAAAHVAAAAggAAAdYAAAHaAAAB2QAAAdsAAAA4AAADAAAAALH//wGf//8ByP//AigkAAAAAAABAQAAAP///wAz//8AJv//AX7//wErKgABXf//ASgqAAA/KgABPf//AUUAAAFHAAAAHyoAABwqAAAeKgAALv//ADL//wA2//8ANf//AE+lAABLpQAAMf//ACilAABEpQAAL///AC3//wD3KQAAQaUAAP0pAAAr//8AKv//AOcpAABDpQAAKqUAALv//wAn//8Auf//ACX//wAVpQAAEqUAAiRMAAAAAAABIAAAAOD//wEBAAAA////AFQAAAF0AAABJgAAASUAAAFAAAABPwAAANr//wDb//8A4f//AMD//wDB//8BCAAAAML//wDH//8A0f//AMr//wD4//8Aqv//ALD//wAHAAAAjP//AcT//wCg//8B+f//AhpwAAEBAAAA////ASAAAADg//8BUAAAAQ8AAADx//8AAAAAATAAAADQ//8BAQAAAP///wAAAAAAwAsAAWAcAAAAAAAB0JcAAQgAAAD4//8CBYoAAAAAAAFA9P8Anuf/AMKJAADb5/8Akuf/AJPn/wCc5/8Anef/AKTn/wAAAAAAOIoAAASKAADmDgABAQAAAP///wAAAAAAxf//AUHi/wIdjwAACAAAAfj//wAAAAAAVgAAAar//wBKAAAAZAAAAIAAAABwAAAAfgAAAAkAAAG2//8B9///ANvj/wGc//8BkP//AYD/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`,``+{}.url).href}__name(findWasmBinary,`findWasmBinary`);function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}__name(getBinarySync,`getBinarySync`);async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}__name(getWasmBinary,`getWasmBinary`);async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}__name(instantiateArrayBuffer,`instantiateArrayBuffer`);async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){err(`wasm streaming compile failed: ${e}`),err(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}__name(instantiateAsync,`instantiateAsync`);function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}__name(getWasmImports,`getWasmImports`);async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var n=getDylinkMetadata(t);return n.neededDynlibs&&(dynamicLibraries=n.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,`main`),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}__name(e,`receiveInstance`);function t(t){return e(t.instance,t.module)}__name(t,`receiveInstantiationResult`);var n=getWasmImports();return Module.instantiateWasm?new Promise((t,r)=>{Module.instantiateWasm(n,(n,r)=>{t(e(n,r))})}):(wasmBinaryFile??=findWasmBinary(),t(await instantiateAsync(wasmBinary,wasmBinaryFile,n)))}__name(createWasm,`createWasm`);class ExitStatus{static{__name(this,`ExitStatus`)}name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var n=GOT[t];return n||=GOT[t]=new WebAssembly.Global({value:`i32`,mutable:!0}),currentModuleWeakSymbols.has(t)||(n.required=!0),n}},LE_ATOMICS_NATIVE_BYTE_ORDER=[],LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),`LE_HEAP_LOAD_F32`),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),`LE_HEAP_LOAD_F64`),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),`LE_HEAP_LOAD_I16`),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),`LE_HEAP_LOAD_I32`),LE_HEAP_LOAD_I64=__name(e=>HEAP_DATA_VIEW.getBigInt64(e,!0),`LE_HEAP_LOAD_I64`),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),`LE_HEAP_LOAD_U32`),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),`LE_HEAP_STORE_F32`),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),`LE_HEAP_STORE_F64`),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),`LE_HEAP_STORE_I16`),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),`LE_HEAP_STORE_I32`),LE_HEAP_STORE_I64=__name((e,t)=>HEAP_DATA_VIEW.setBigInt64(e,t,!0),`LE_HEAP_STORE_I64`),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),`LE_HEAP_STORE_U32`),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},`callRuntimeCallbacks`),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.push(e),`addOnPostRun`),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.push(e),`addOnPreRun`),UTF8Decoder=typeof TextDecoder<`u`?new TextDecoder:void 0,findStringEnd=__name((e,t,n,r)=>{var a=t+n;if(r)return a;for(;e[t]&&!(t>=a);)++t;return t},`findStringEnd`),UTF8ArrayToString=__name((e,t=0,n,r)=>{var a=findStringEnd(e,t,n,r);if(a-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,a));for(var o=``;t<a;){var s=e[t++];if(!(s&128)){o+=String.fromCharCode(s);continue}var c=e[t++]&63;if((s&224)==192){o+=String.fromCharCode((s&31)<<6|c);continue}var l=e[t++]&63;if(s=(s&240)==224?(s&15)<<12|c<<6|l:(s&7)<<18|c<<12|l<<6|e[t++]&63,s<65536)o+=String.fromCharCode(s);else{var u=s-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},`UTF8ArrayToString`),getDylinkMetadata=__name(e=>{var t=0,n=0;function r(){return e[t++]}__name(r,`getU8`);function a(){for(var n=0,r=1;;){var a=e[t++];if(n+=(a&127)*r,r*=128,!(a&128))break}return n}__name(a,`getLEB`);function o(){var n=a();return t+=n,UTF8ArrayToString(e,t-n,n)}__name(o,`getString`);function s(){for(var e=a(),t=[];e--;)t.push(o());return t}__name(s,`getStringList`);function c(e,t){if(e)throw Error(t)}if(__name(c,`failIf`),e instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(e,`dylink.0`);c(l.length===0,`need dylink section`),e=new Uint8Array(l[0]),n=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);c(!(u[0]==1836278016||u[0]==6386541),`need to see wasm magic number`),c(e[8]!==0,`need the dylink section to be first`),t=9;var d=a();n=t+d,c(o()!==`dylink.0`)}for(var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},p=1,m=2,h=3,g=4,_=5,v=256,y=3,b=1;t<n;){var x=r(),S=a();if(x===p)f.memorySize=a(),f.memoryAlign=a(),f.tableSize=a(),f.tableAlign=a();else if(x===m)f.neededDynlibs=s();else if(x===h)for(var w=a();w--;){var E=o(),D=a();D&v&&f.tlsExports.add(E)}else if(x===g)for(var w=a();w--;){var O=o(),E=o(),D=a();(D&y)==b&&f.weakImports.add(E)}else x===_?f.runtimePaths=s():t+=S}return f},`getDylinkMetadata`);function getValue(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return HEAP8[e];case`i8`:return HEAP8[e];case`i16`:return LE_HEAP_LOAD_I16((e>>1)*2);case`i32`:return LE_HEAP_LOAD_I32((e>>2)*4);case`i64`:return LE_HEAP_LOAD_I64((e>>3)*8);case`float`:return LE_HEAP_LOAD_F32((e>>2)*4);case`double`:return LE_HEAP_LOAD_F64((e>>3)*8);case`*`:return LE_HEAP_LOAD_U32((e>>2)*4);default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,`getValue`);var newDSO=__name((e,t,n)=>{var r={refcount:1/0,name:e,exports:n,global:!0};return LDSO.loadedLibsByName[e]=r,t!=null&&(LDSO.loadedLibsByHandle[t]=r),r},`newDSO`),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO(`__main__`,0,wasmImports)}},___heap_base=78240,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,`alignMemory`),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,n=t+alignMemory(e,16);return ___heap_base=n,GOT.__heap_base.value=n,t},`getMemory`),isInternalSym=__name(e=>[`__cpp_exception`,`__c_longjmp`,`__wasm_apply_data_relocs`,`__dso_handle`,`__tls_size`,`__tls_align`,`__set_stack_limits`,`_emscripten_tls_init`,`__wasm_init_tls`,`__wasm_call_ctors`,`__start_em_asm`,`__stop_em_asm`,`__start_em_js`,`__stop_em_js`].includes(e)||e.startsWith(`__em_js__`),`isInternalSym`),uleb128EncodeWithLen=__name(e=>{let t=e.length;return[t%128|128,t>>7,...e]},`uleb128EncodeWithLen`),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=__name(e=>uleb128EncodeWithLen(Array.from(e,e=>wasmTypeCodes[e])),`generateTypePack`),convertJsFunctionToWasm=__name((e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(t.slice(1)),...generateTypePack(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},`convertJsFunctionToWasm`),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:`anyfunc`}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(wasmTableMirror[e]=t=wasmTable.get(e)),t},`getWasmTableEntry`),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var n=e;n<e+t;n++){var r=getWasmTableEntry(n);r&&functionsInTableMap.set(r,n)}},`updateTableMap`),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),`getFunctionAddress`),freeTableIndexes=[],getEmptyTableSlot=__name(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),`getEmptyTableSlot`),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},`setWasmTableEntry`),addFunction=__name((e,t)=>{var n=getFunctionAddress(e);if(n)return n;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(n){if(!(n instanceof TypeError))throw n;setWasmTableEntry(r,convertJsFunctionToWasm(e,t))}return functionsInTableMap.set(e,r),r},`addFunction`),updateGOT=__name((e,t)=>{for(var n in e)if(!isInternalSym(n)){var r=e[n];GOT[n]||=new WebAssembly.Global({value:`i32`,mutable:!0}),(t||GOT[n].value==0)&&(typeof r==`function`?GOT[n].value=addFunction(r):typeof r==`number`?GOT[n].value=r:err(`unhandled export type for '${n}': ${typeof r}`))}},`updateGOT`),relocateExports=__name((e,t,n)=>{var r={};for(var a in e){var o=e[a];typeof o==`object`&&(o=o.value),typeof o==`number`&&(o+=t),r[a]=o}return updateGOT(r,n),r},`relocateExports`),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},`isSymbolDefined`),dynCall=__name((e,t,n=[],r=!1)=>{var a=getWasmTableEntry(t)(...n);function o(e){return e}return __name(o,`convert`),o(a)},`dynCall`),stackSave=__name(()=>_emscripten_stack_get_current(),`stackSave`),stackRestore=__name(e=>__emscripten_stack_restore(e),`stackRestore`),createInvokeFunction=__name(e=>(t,...n)=>{var r=stackSave();try{return dynCall(e,t,n)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),e[0]==`j`)return 0n}},`createInvokeFunction`),resolveGlobalSymbol=__name((e,t=!1)=>{var n;return isSymbolDefined(e)?n=wasmImports[e]:e.startsWith(`invoke_`)&&(n=wasmImports[e]=createInvokeFunction(e.split(`_`)[1])),{sym:n,name:e}},`resolveGlobalSymbol`),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.push(e),`addOnPostCtor`),UTF8ToString=__name((e,t,n)=>e?UTF8ArrayToString(HEAPU8,e,t,n):``,`UTF8ToString`),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=2**metadata.memoryAlign,memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||=moduleExports[e],t}__name(resolveSymbol,`resolveSymbol`);var proxyHandler={get(e,t){switch(t){case`__memory_base`:return memoryBase;case`__table_base`:return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var n;e[t]=(...e)=>(n||=resolveSymbol(t),n(...e))}return e[t]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf(`$`+arity)!=-1;arity++)args.push(`$`+arity);args=args.join(`,`);var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(__name(addEmAsm,`addEmAsm`),`__start_em_asm`in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!=`void`)for(var i in cSig=cSig.split(`,`),cSig){var jsArg=cSig[i].split(` `).pop();jsArgs.push(jsArg.replace(`*`,``))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,`addEmJs`),moduleExports)if(name.startsWith(`__em_js__`)){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split(`<::>`);addEmJs(name.replace(`__em_js__`,``),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,`postInstantiation`),flags.loadAsync)return(async()=>{var e;return binary instanceof WebAssembly.Module?e=new WebAssembly.Instance(binary,info):{module:binary,instance:e}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,e)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return __name(loadModule,`loadModule`),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},`loadWebAssemblyModule`),mergeLibSymbols=__name((e,t)=>{for(var[n,r]of Object.entries(e)){let e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},`setImport`);e(n);let t=`__main_argc_argv`;n==`main`&&e(t),n==t&&e(`main`)}},`mergeLibSymbols`),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},`asyncLoad`);function loadDynamicLibrary(e,t={global:!0,nodelete:!0},n,r){var a=LDSO.loadedLibsByName[e];if(a)return t.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):n&&Object.assign(n,a.exports),t.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,r&&(LDSO.loadedLibsByHandle[r]=a),t.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,r,`loading`),a.refcount=t.nodelete?1/0:1,a.global=t.global;function o(){if(r){var n=LE_HEAP_LOAD_U32((r+28>>2)*4),a=LE_HEAP_LOAD_U32((r+32>>2)*4);if(n&&a){var o=HEAP8.slice(n,n+a);return t.loadAsync?Promise.resolve(o):o}}var s=locateFile(e);if(t.loadAsync)return asyncLoad(s);if(!readBinary)throw Error(`${s}: file not found, and synchronous loading of external files is not available`);return readBinary(s)}__name(o,`loadLibData`);function s(){return t.loadAsync?o().then(a=>loadWebAssemblyModule(a,t,e,n,r)):loadWebAssemblyModule(o(),t,e,n,r)}__name(s,`getExports`);function c(t){a.global?mergeLibSymbols(t,e):n&&Object.assign(n,t),a.exports=t}return __name(c,`moduleLoaded`),t.loadAsync?s().then(e=>(c(e),!0)):(c(s()),!0)}__name(loadDynamicLibrary,`loadDynamicLibrary`);var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var n=resolveGlobalSymbol(e,!0).sym;if(!n&&!t.required)continue;if(typeof n==`function`)t.value=addFunction(n,n.sig);else if(typeof n==`number`)t.value=n;else throw Error(`bad export type for '${e}': ${typeof n}`)}},`reportUndefinedSymbols`),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=__name(e=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}},`removeRunDependency`),addRunDependency=__name(e=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},`addRunDependency`),loadDylibs=__name(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(`loadDylibs`);for(var e of dynamicLibraries)await loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency(`loadDylibs`)},`loadDylibs`),noExitRuntime=!0;function setValue(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:HEAP8[e]=t;break;case`i8`:HEAP8[e]=t;break;case`i16`:LE_HEAP_STORE_I16((e>>1)*2,t);break;case`i32`:LE_HEAP_STORE_I32((e>>2)*4,t);break;case`i64`:LE_HEAP_STORE_I64((e>>3)*8,BigInt(t));break;case`float`:LE_HEAP_STORE_F32((e>>2)*4,t);break;case`double`:LE_HEAP_STORE_F64((e>>3)*8,t);break;case`*`:LE_HEAP_STORE_U32((e>>2)*4,t);break;default:abort(`invalid type for setValue: ${n}`)}}__name(setValue,`setValue`);var ___memory_base=new WebAssembly.Global({value:`i32`,mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:`i32`,mutable:!0},78240),___table_base=new WebAssembly.Global({value:`i32`,mutable:!1},1),__abort_js=__name(()=>abort(``),`__abort_js`);__abort_js.sig=`v`;var getHeapMax=__name(()=>2147483648,`getHeapMax`),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch{}},`growMemory`),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var n=getHeapMax();if(e>n)return!1;for(var r=1;r<=4;r*=2){var a=t*(1+.2/r);if(a=Math.min(a,e+100663296),growMemory(Math.min(n,alignMemory(Math.max(e,a),65536))))return!0}return!1},`_emscripten_resize_heap`);_emscripten_resize_heap.sig=`ip`;var _fd_close=__name(e=>52,`_fd_close`);_fd_close.sig=`ii`;var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),`bigintToI53Checked`);function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}__name(_fd_seek,`_fd_seek`),_fd_seek.sig=`iijip`;var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var n=printCharBuffers[e];t===0||t===10?((e===1?out:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},`printChar`),_fd_write=__name((e,t,n,r)=>{for(var a=0,o=0;o<n;o++){var s=LE_HEAP_LOAD_U32((t>>2)*4),c=LE_HEAP_LOAD_U32((t+4>>2)*4);t+=8;for(var l=0;l<c;l++)printChar(e,HEAPU8[s+l]);a+=c}return LE_HEAP_STORE_U32((r>>2)*4,a),0},`_fd_write`);_fd_write.sig=`iippp`;function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){let n=UTF8ToString(t);Module.currentLogCallback(n,e!==0)}}__name(_tree_sitter_log_callback,`_tree_sitter_log_callback`);function _tree_sitter_parse_callback(e,t,n,r,a){let o=10*1024,s=Module.currentParseCallback(t,{row:n,column:r});typeof s==`string`?(setValue(a,s.length,`i32`),stringToUTF16(s,e,10240)):setValue(a,0,`i32`)}__name(_tree_sitter_parse_callback,`_tree_sitter_parse_callback`);function _tree_sitter_progress_callback(e,t){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:e,hasError:t}):!1}__name(_tree_sitter_progress_callback,`_tree_sitter_progress_callback`);function _tree_sitter_query_progress_callback(e){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:e}):!1}__name(_tree_sitter_query_progress_callback,`_tree_sitter_query_progress_callback`);var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,`keepRuntimeAlive`),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},`_proc_exit`);_proc_exit.sig=`vi`;var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},`exitJS`),handleException=__name(e=>{if(e instanceof ExitStatus||e==`unwind`)return EXITSTATUS;quit_(1,e)},`handleException`),lengthBytesUTF8=__name(e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},`lengthBytesUTF8`),stringToUTF8Array=__name((e,t,n,r)=>{if(!(r>0))return 0;for(var a=n,o=n+r-1,s=0;s<e.length;++s){var c=e.codePointAt(s);if(c<=127){if(n>=o)break;t[n++]=c}else if(c<=2047){if(n+1>=o)break;t[n++]=192|c>>6,t[n++]=128|c&63}else if(c<=65535){if(n+2>=o)break;t[n++]=224|c>>12,t[n++]=128|c>>6&63,t[n++]=128|c&63}else{if(n+3>=o)break;t[n++]=240|c>>18,t[n++]=128|c>>12&63,t[n++]=128|c>>6&63,t[n++]=128|c&63,s++}}return t[n]=0,n-a},`stringToUTF8Array`),stringToUTF8=__name((e,t,n)=>stringToUTF8Array(e,HEAPU8,t,n),`stringToUTF8`),stackAlloc=__name(e=>__emscripten_stack_alloc(e),`stackAlloc`),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},`stringToUTF8OnStack`),AsciiToString=__name(e=>{for(var t=``;;){var n=HEAPU8[e++];if(!n)return t;t+=String.fromCharCode(n)}},`AsciiToString`),stringToUTF16=__name((e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,a=n<e.length*2?n/2:e.length,o=0;o<a;++o){var s=e.charCodeAt(o);LE_HEAP_STORE_I16((t>>1)*2,s),t+=2}return LE_HEAP_STORE_I16((t>>1)*2,0),t-r},`stringToUTF16`);LE_ATOMICS_NATIVE_BYTE_ORDER=new Int8Array(new Int16Array([1]).buffer)[0]===1?[(e=>e),(e=>e),void 0,(e=>e)]:[(e=>e),(e=>((e&65280)<<8|(e&255)<<24)>>16),void 0,(e=>e>>24&255|e>>8&65280|(e&65280)<<8|(e&255)<<24)];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(e=>e&65535),HEAPU32.unsigned=(e=>e>>>0)}if(__name(LE_HEAP_UPDATE,`LE_HEAP_UPDATE`),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit==`function`&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var ASM_CONSTS={},_malloc,_calloc,_realloc,_free,_ts_range_edit,_memcmp,_ts_language_symbol_count,_ts_language_state_count,_ts_language_abi_version,_ts_language_name,_ts_language_field_count,_ts_language_next_state,_ts_language_symbol_name,_ts_language_symbol_for_name,_strncmp,_ts_language_symbol_type,_ts_language_field_name_for_id,_ts_lookahead_iterator_new,_ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset,_ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol,_ts_point_edit,_ts_parser_delete,_ts_parser_reset,_ts_parser_set_language,_ts_parser_set_included_ranges,_ts_query_new,_ts_query_delete,_iswspace,_iswalnum,_ts_query_pattern_count,_ts_query_capture_count,_ts_query_string_count,_ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id,_ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture,_ts_query_disable_pattern,_ts_tree_copy,_ts_tree_delete,_ts_init,_ts_parser_new_wasm,_ts_parser_enable_logger_wasm,_ts_parser_parse_wasm,_ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm,_ts_language_metadata_wasm,_ts_language_supertypes_wasm,_ts_language_subtypes_wasm,_ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm,_ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm,_ts_node_named_child_count_wasm,_ts_node_child_wasm,_ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm,_ts_node_parent_wasm,_ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm,_ts_node_end_point_wasm,_ts_node_start_index_wasm,_ts_node_end_index_wasm,_ts_node_to_string_wasm,_ts_node_children_wasm,_ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm,_ts_node_has_changes_wasm,_ts_node_has_error_wasm,_ts_node_is_error_wasm,_ts_node_is_missing_wasm,_ts_node_is_extra_wasm,_ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm,_ts_query_matches_wasm,_ts_query_captures_wasm,_memset,_memcpy,_memmove,_iswalpha,_iswblank,_iswdigit,_iswlower,_iswupper,_iswxdigit,_memchr,_strlen,_strcmp,_strncat,_strncpy,_towlower,_towupper,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___wasm_apply_data_relocs;function assignWasmExports(e){Module._malloc=e.malloc,Module._calloc=_calloc=e.calloc,Module._realloc=e.realloc,Module._free=e.free,Module._ts_range_edit=e.ts_range_edit,Module._memcmp=e.memcmp,Module._ts_language_symbol_count=e.ts_language_symbol_count,Module._ts_language_state_count=e.ts_language_state_count,Module._ts_language_abi_version=e.ts_language_abi_version,Module._ts_language_name=e.ts_language_name,Module._ts_language_field_count=e.ts_language_field_count,Module._ts_language_next_state=e.ts_language_next_state,Module._ts_language_symbol_name=e.ts_language_symbol_name,Module._ts_language_symbol_for_name=e.ts_language_symbol_for_name,Module._strncmp=e.strncmp,Module._ts_language_symbol_type=e.ts_language_symbol_type,Module._ts_language_field_name_for_id=e.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=e.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=e.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=e.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=e.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=e.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=e.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=e.ts_point_edit,Module._ts_parser_delete=e.ts_parser_delete,Module._ts_parser_reset=e.ts_parser_reset,Module._ts_parser_set_language=e.ts_parser_set_language,Module._ts_parser_set_included_ranges=e.ts_parser_set_included_ranges,Module._ts_query_new=e.ts_query_new,Module._ts_query_delete=e.ts_query_delete,Module._iswspace=e.iswspace,Module._iswalnum=e.iswalnum,Module._ts_query_pattern_count=e.ts_query_pattern_count,Module._ts_query_capture_count=e.ts_query_capture_count,Module._ts_query_string_count=e.ts_query_string_count,Module._ts_query_capture_name_for_id=e.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=e.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=e.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=e.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=e.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=e.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=e.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=e.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=e.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=e.ts_query_disable_capture,Module._ts_query_disable_pattern=e.ts_query_disable_pattern,Module._ts_tree_copy=e.ts_tree_copy,Module._ts_tree_delete=e.ts_tree_delete,Module._ts_init=e.ts_init,Module._ts_parser_new_wasm=e.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=e.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=e.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=e.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=e.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=e.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=e.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=e.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=e.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=e.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=e.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=e.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=e.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=e.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=e.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=e.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=e.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=e.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=e.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=e.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=e.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=e.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=e.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=e.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=e.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=e.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=e.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=e.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=e.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=e.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=e.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=e.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=e.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=e.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=e.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=e.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=e.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=e.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=e.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=e.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=e.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=e.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=e.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=e.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=e.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=e.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=e.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=e.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=e.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=e.ts_node_child_wasm,Module._ts_node_named_child_wasm=e.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=e.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=e.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=e.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=e.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=e.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=e.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=e.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=e.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=e.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=e.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=e.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=e.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=e.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=e.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=e.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=e.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=e.ts_node_to_string_wasm,Module._ts_node_children_wasm=e.ts_node_children_wasm,Module._ts_node_named_children_wasm=e.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=e.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=e.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=e.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=e.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=e.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=e.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=e.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=e.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=e.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=e.ts_query_matches_wasm,Module._ts_query_captures_wasm=e.ts_query_captures_wasm,Module._memset=e.memset,Module._memcpy=e.memcpy,Module._memmove=e.memmove,Module._iswalpha=e.iswalpha,Module._iswblank=e.iswblank,Module._iswdigit=e.iswdigit,Module._iswlower=e.iswlower,Module._iswupper=e.iswupper,Module._iswxdigit=e.iswxdigit,Module._memchr=e.memchr,Module._strlen=e.strlen,Module._strcmp=e.strcmp,Module._strncat=e.strncat,Module._strncpy=e.strncpy,Module._towlower=e.towlower,Module._towupper=e.towupper,_setThrew=e.setThrew,__emscripten_stack_restore=e._emscripten_stack_restore,__emscripten_stack_alloc=e._emscripten_stack_alloc,_emscripten_stack_get_current=e.emscripten_stack_get_current,e.__wasm_apply_data_relocs}__name(assignWasmExports,`assignWasmExports`);var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(e=[]){var t=resolveGlobalSymbol(`main`).sym;if(t){e.unshift(thisProgram);var n=e.length,r=stackAlloc((n+1)*4),a=r;e.forEach(e=>{LE_HEAP_STORE_U32((a>>2)*4,stringToUTF8OnStack(e)),a+=4}),LE_HEAP_STORE_U32((a>>2)*4,0);try{var o=t(n,r);return exitJS(o,!0),o}catch(e){return handleException(e)}}}__name(callMain,`callMain`);function run(e=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function t(){Module.calledRun=!0,!ABORT&&(initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}__name(t,`doRun`),Module.setStatus?(Module.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>Module.setStatus(``),1),t()},1)):t()}__name(run,`run`);var wasmExports=await createWasm();return run(),moduleRtn=runtimeInitialized?Module:new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),moduleRtn}__name(Module2,`Module`);var web_tree_sitter_default=Module2,Module3=null;async function initializeBinding(e){return Module3??=await web_tree_sitter_default(e)}__name(initializeBinding,`initializeBinding`);function checkModule(){return!!Module3}__name(checkModule,`checkModule`);var TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION,Parser=class{static{__name(this,`Parser`)}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,`i32`),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}constructor(){this.initialize()}initialize(){if(!checkModule())throw Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,`i32`),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(!e)t=0,this.language=null;else if(e.constructor===Language){t=e[0];let n=C._ts_language_abi_version(t);if(n<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<n)throw Error(`Incompatible language version ${n}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}else throw Error(`Argument must be a Language`);return C._ts_parser_set_language(this[0],t),this}parse(e,t,n){if(typeof e==`string`)C.currentParseCallback=t=>e.slice(t);else if(typeof e==`function`)C.currentParseCallback=e;else throw Error(`Argument must be a string or a function`);n?.progressCallback?C.currentProgressCallback=n.progressCallback:C.currentProgressCallback=null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,a=0;if(n?.includedRanges){r=n.includedRanges.length,a=C._calloc(r,SIZE_OF_RANGE);let e=a;for(let t=0;t<r;t++)marshalRange(e,n.includedRanges[t]),e+=SIZE_OF_RANGE}let o=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,a,r);if(!o)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw Error(`Parser must have a language to parse`);let s=new Tree(INTERNAL,o,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,s}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}setLogger(e){if(!e)this.logCallback=null;else if(typeof e!=`function`)throw Error(`Logger callback must be a function`);else this.logCallback=e;return this}getLogger(){return this.logCallback}},PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>e.type===`capture`,`isCaptureStep`),isStringStep=__name(e=>e.type===`string`,`isStringStep`),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,n,r,a){super(e.formatMessage(t,n)),this.kind=t,this.info=n,this.index=r,this.length=a,this.name=`QueryError`}static{__name(this,`QueryError`)}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}"`);let a=n===`eq?`||n===`any-eq?`,o=!n.startsWith(`any-`);if(isCaptureStep(e[2])){let n=e[1].name,s=e[2].name;r[t].push(e=>{let t=[],r=[];for(let a of e)a.name===n&&t.push(a.node),a.name===s&&r.push(a.node);let c=__name((e,t,n)=>n?e.text===t.text:e.text!==t.text,`compare`);return o?t.every(e=>r.some(t=>c(e,t,a))):t.some(e=>r.some(t=>c(e,t,a)))})}else{let n=e[1].name,s=e[2].value,c=__name(e=>e.text===s,`matches`),l=__name(e=>e.text!==s,`doesNotMatch`);r[t].push(e=>{let t=[];for(let r of e)r.name===n&&t.push(r.node);let r=a?c:l;return o?t.every(r):t.some(r)})}}__name(parseAnyPredicate,`parseAnyPredicate`);function parseMatchPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);if(e[2].type!==`string`)throw Error(`Second argument of \`#${n}\` predicate must be a string. Got @${e[2].name}.`);let a=n===`match?`||n===`any-match?`,o=!n.startsWith(`any-`),s=e[1].name,c=new RegExp(e[2].value);r[t].push(e=>{let t=[];for(let n of e)n.name===s&&t.push(n.node.text);let n=__name((e,t)=>t?c.test(e):!c.test(e),`test`);return t.length===0?!a:o?t.every(e=>n(e,a)):t.some(e=>n(e,a))})}__name(parseMatchPredicate,`parseMatchPredicate`);function parseAnyOfPredicate(e,t,n,r){if(e.length<2)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected at least 1. Got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);let a=n===`any-of?`,o=e[1].name,s=e.slice(2);if(!s.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let c=s.map(e=>e.value);r[t].push(e=>{let t=[];for(let n of e)n.name===o&&t.push(n.node.text);return t.length===0?!a:t.every(e=>c.includes(e))===a})}__name(parseAnyOfPredicate,`parseAnyOfPredicate`);function parseIsPredicate(e,t,n,r,a){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let o=n===`is?`?r:a;o[t]||(o[t]={}),o[t][e[1].value]=e[2]?.value??null}__name(parseIsPredicate,`parseIsPredicate`);function parseSetDirective(e,t,n){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error('Arguments to `#set!` predicate must be strings.".');n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}__name(parseSetDirective,`parseSetDirective`);function parsePattern(e,t,n,r,a,o,s,c,l,u,d){if(t===PREDICATE_STEP_TYPE_CAPTURE){let e=r[n];o.push({type:`capture`,name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)o.push({type:`string`,value:a[n]});else if(o.length>0){if(o[0].type!==`string`)throw Error(`Predicates must begin with a literal value`);let t=o[0].value;switch(t){case`any-not-eq?`:case`not-eq?`:case`any-eq?`:case`eq?`:parseAnyPredicate(o,e,t,s);break;case`any-not-match?`:case`not-match?`:case`any-match?`:case`match?`:parseMatchPredicate(o,e,t,s);break;case`not-any-of?`:case`any-of?`:parseAnyOfPredicate(o,e,t,s);break;case`is?`:case`is-not?`:parseIsPredicate(o,e,t,u,d);break;case`set!`:parseSetDirective(o,e,l);break;default:c[e].push({operator:t,operands:o.slice(1)})}o.length=0}}__name(parsePattern,`parsePattern`);var Query=class{static{__name(this,`Query`)}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){let n=C.lengthBytesUTF8(t),r=C._malloc(n+1);C.stringToUTF8(t,r,n+1);let a=C._ts_query_new(e[0],r,n,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!a){let e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=C.getValue(TRANSFER_BUFFER,`i32`),a=C.UTF8ToString(r,n).length,o=t.slice(a,a+100).split(`
31
+ ${JSON.stringify(a,null,2)}`),Error(`Language.load failed: no language function found in Wasm file`);return new e(INTERNAL,r[o]())}};async function Module2(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window==`object`,ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<`u`,ENVIRONMENT_IS_NODE=typeof process==`object`&&process.versions?.node&&process.type!=`renderer`;if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await Promise.resolve().then(()=>require_rolldown_runtime.r(require("./__vite-browser-external-Dghh9khe.cjs").default,1));var require=e({}.url)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram=`./this.program`,quit_=__name((e,t)=>{throw t},`quit_`),_scriptName={}.url,scriptDirectory=``;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}__name(locateFile,`locateFile`);var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");_scriptName.startsWith(`file:`)&&(scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+`/`),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),`readBinary`),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:`utf8`)),`readAsync`),process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,`/`)),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},`quit_`)}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(`.`,_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)},`readBinary`)),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)},`readAsync`)}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=__name(e=>e.startsWith(`file://`),`isFileURI`),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,HEAP64,HEAPU64,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=new Float32Array(e),Module.HEAPF64=new Float64Array(e),Module.HEAP64=new BigInt64Array(e),Module.HEAPU64=new BigUint64Array(e),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),LE_HEAP_UPDATE()}__name(updateMemoryViews,`updateMemoryViews`);function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var e=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}__name(initMemory,`initMemory`);var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun==`function`&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}__name(preRun,`preRun`);function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}__name(initRuntime,`initRuntime`);function preMain(){}__name(preMain,`preMain`);function postRun(){if(Module.postRun)for(typeof Module.postRun==`function`&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(postRun,`postRun`);function abort(e){Module.onAbort?.(e),e=`Aborted(`+e+`)`,err(e),ABORT=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject?.(t),t}__name(abort,`abort`);var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile(`web-tree-sitter.wasm`):new URL(`data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFnFsEHgABswEXYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAEf39/fwBgAABgBX9/f39/AX9gAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gEH9/f39/f39/f39/f39/f38AYAZ/f39/f38AYAJ+fwF/YAd/f39/f39/AX9gAnx/AXxgBH9/f38BfmAEf35/fwF/YAN/fn8BfgLbAxEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAAWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABUDZW52CV9hYm9ydF9qcwAJFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYjdHJlZV9zaXR0ZXJfcXVlcnlfcHJvZ3Jlc3NfY2FsbGJhY2sAAANlbnYddHJlZV9zaXR0ZXJfcHJvZ3Jlc3NfY2FsbGJhY2sAAQNlbnYadHJlZV9zaXR0ZXJfcGFyc2VfY2FsbGJhY2sABwNlbnYYdHJlZV9zaXR0ZXJfbG9nX2NhbGxiYWNrAAUDZW52D19fc3RhY2tfcG9pbnRlcgN/AQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYMX190YWJsZV9iYXNlA38AB0dPVC5tZW0LX19zdGFja19sb3cDfwEHR09ULm1lbQxfX3N0YWNrX2hpZ2gDfwEHR09ULm1lbQtfX2hlYXBfYmFzZQN/AQNlbnYGbWVtb3J5AgGABICAAgNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAB4DlQKTAgUFBgACAwcFBQQABQUCBwMQAwQAAwYKAwAAEQQEBQMCAgEEAAQBAQwBAgQABQgHBAIBAwgAAAUCBQAJAQMBAAQLAgIIDAMFAQYDBAcNBwgDAwAABQEBBggAEhMEAAAABAUEBAQAFAAFBwUKBAgFAQEDAwUDAQEBAQEEBAQEAAAACgEBAgMBAQUCAAAAAAEABAQAAwQAAAsAAgAAAAAFBAAFDgQBBBYADwACDwAAAAAAAAAADQECAgAAAAICAgICCQICAgACAgICBQUBBQAAAAICBQEBAAIAAAAAAAICAAAAAAAABQAAAAAAAQAFAgICAgUCAgICBQICAQECAAYKAAMFCQsEBAQAAgAEAAEBAQEAAAkJBjkIfwFByNMAC38BQcDTAAt/AUHM0wALfwFBxNMAC38BQYjVAAt/AUGQ1QALfwFBlNsAC38BQZjbAAsHhiGYARFfX3dhc21fY2FsbF9jdG9ycwCbAgZtYWxsb2MAIgZjYWxsb2MAKgdyZWFsbG9jAF0EZnJlZQAyDXRzX3JhbmdlX2VkaXQATwZtZW1jbXAAEhh0c19sYW5ndWFnZV9zeW1ib2xfY291bnQAmQIXdHNfbGFuZ3VhZ2Vfc3RhdGVfY291bnQAmAIXdHNfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24AkwIQdHNfbGFuZ3VhZ2VfbmFtZQCPAhd0c19sYW5ndWFnZV9maWVsZF9jb3VudACHAhZ0c19sYW5ndWFnZV9uZXh0X3N0YXRlACsXdHNfbGFuZ3VhZ2Vfc3ltYm9sX25hbWUA8gEbdHNfbGFuZ3VhZ2Vfc3ltYm9sX2Zvcl9uYW1lAB4Hc3RybmNtcAAbF3RzX2xhbmd1YWdlX3N5bWJvbF90eXBlAEQddHNfbGFuZ3VhZ2VfZmllbGRfbmFtZV9mb3JfaWQA0wEZdHNfbG9va2FoZWFkX2l0ZXJhdG9yX25ldwC9ARx0c19sb29rYWhlYWRfaXRlcmF0b3JfZGVsZXRlALIBIXRzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldF9zdGF0ZQCsARt0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXQAqwEadHNfbG9va2FoZWFkX2l0ZXJhdG9yX25leHQAqAEkdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2N1cnJlbnRfc3ltYm9sAKUBDXRzX3BvaW50X2VkaXQAjQEQdHNfcGFyc2VyX2RlbGV0ZQCMAQ90c19wYXJzZXJfcmVzZXQAKRZ0c19wYXJzZXJfc2V0X2xhbmd1YWdlAIsBHXRzX3BhcnNlcl9zZXRfaW5jbHVkZWRfcmFuZ2VzADgMdHNfcXVlcnlfbmV3AIkBD3RzX3F1ZXJ5X2RlbGV0ZQBLCGlzd3NwYWNlAGYIaXN3YWxudW0AExZ0c19xdWVyeV9wYXR0ZXJuX2NvdW50AIgBFnRzX3F1ZXJ5X2NhcHR1cmVfY291bnQAhwEVdHNfcXVlcnlfc3RyaW5nX2NvdW50AIYBHHRzX3F1ZXJ5X2NhcHR1cmVfbmFtZV9mb3JfaWQAhQEidHNfcXVlcnlfY2FwdHVyZV9xdWFudGlmaWVyX2Zvcl9pZACEARx0c19xdWVyeV9zdHJpbmdfdmFsdWVfZm9yX2lkAIMBH3RzX3F1ZXJ5X3ByZWRpY2F0ZXNfZm9yX3BhdHRlcm4AggEfdHNfcXVlcnlfc3RhcnRfYnl0ZV9mb3JfcGF0dGVybgCBAR10c19xdWVyeV9lbmRfYnl0ZV9mb3JfcGF0dGVybgCAARp0c19xdWVyeV9pc19wYXR0ZXJuX3Jvb3RlZAB/HXRzX3F1ZXJ5X2lzX3BhdHRlcm5fbm9uX2xvY2FsAH4mdHNfcXVlcnlfaXNfcGF0dGVybl9ndWFyYW50ZWVkX2F0X3N0ZXAAfRh0c19xdWVyeV9kaXNhYmxlX2NhcHR1cmUAfBh0c19xdWVyeV9kaXNhYmxlX3BhdHRlcm4Aewx0c190cmVlX2NvcHkAkQIOdHNfdHJlZV9kZWxldGUAkAIHdHNfaW5pdACLAhJ0c19wYXJzZXJfbmV3X3dhc20AigIcdHNfcGFyc2VyX2VuYWJsZV9sb2dnZXJfd2FzbQCJAhR0c19wYXJzZXJfcGFyc2Vfd2FzbQCGAh50c19wYXJzZXJfaW5jbHVkZWRfcmFuZ2VzX3dhc20AgwIedHNfbGFuZ3VhZ2VfdHlwZV9pc19uYW1lZF93YXNtAIICIHRzX2xhbmd1YWdlX3R5cGVfaXNfdmlzaWJsZV93YXNtAIECGXRzX2xhbmd1YWdlX21ldGFkYXRhX3dhc20AgAIbdHNfbGFuZ3VhZ2Vfc3VwZXJ0eXBlc193YXNtAP8BGXRzX2xhbmd1YWdlX3N1YnR5cGVzX3dhc20A/gEWdHNfdHJlZV9yb290X25vZGVfd2FzbQD9ASJ0c190cmVlX3Jvb3Rfbm9kZV93aXRoX29mZnNldF93YXNtAPwBEXRzX3RyZWVfZWRpdF93YXNtAPsBHHRzX3RyZWVfaW5jbHVkZWRfcmFuZ2VzX3dhc20A+gEfdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXNfd2FzbQD5ARd0c190cmVlX2N1cnNvcl9uZXdfd2FzbQD4ARh0c190cmVlX2N1cnNvcl9jb3B5X3dhc20A9wEadHNfdHJlZV9jdXJzb3JfZGVsZXRlX3dhc20A9gEZdHNfdHJlZV9jdXJzb3JfcmVzZXRfd2FzbQD1ARx0c190cmVlX2N1cnNvcl9yZXNldF90b193YXNtAPQBJHRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfd2FzbQDzASN0c190cmVlX2N1cnNvcl9nb3RvX2xhc3RfY2hpbGRfd2FzbQDxAS50c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9pbmRleF93YXNtAPABMXRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfZm9yX3Bvc2l0aW9uX3dhc20A7wEldHNfdHJlZV9jdXJzb3JfZ290b19uZXh0X3NpYmxpbmdfd2FzbQDuASl0c190cmVlX2N1cnNvcl9nb3RvX3ByZXZpb3VzX3NpYmxpbmdfd2FzbQDtASN0c190cmVlX2N1cnNvcl9nb3RvX2Rlc2NlbmRhbnRfd2FzbQDsAR90c190cmVlX2N1cnNvcl9nb3RvX3BhcmVudF93YXNtAOsBKHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV90eXBlX2lkX3dhc20A6gEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3N0YXRlX2lkX3dhc20A6QEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX25hbWVkX3dhc20A6AErdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX21pc3Npbmdfd2FzbQDnASN0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaWRfd2FzbQDmASJ0c190cmVlX2N1cnNvcl9zdGFydF9wb3NpdGlvbl93YXNtAOUBIHRzX3RyZWVfY3Vyc29yX2VuZF9wb3NpdGlvbl93YXNtAOQBH3RzX3RyZWVfY3Vyc29yX3N0YXJ0X2luZGV4X3dhc20A4wEddHNfdHJlZV9jdXJzb3JfZW5kX2luZGV4X3dhc20A4gEkdHNfdHJlZV9jdXJzb3JfY3VycmVudF9maWVsZF9pZF93YXNtAOEBIXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZGVwdGhfd2FzbQDgASx0c190cmVlX2N1cnNvcl9jdXJyZW50X2Rlc2NlbmRhbnRfaW5kZXhfd2FzbQDfASB0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfd2FzbQDeARN0c19ub2RlX3N5bWJvbF93YXNtAN0BIXRzX25vZGVfZmllbGRfbmFtZV9mb3JfY2hpbGRfd2FzbQDcASd0c19ub2RlX2ZpZWxkX25hbWVfZm9yX25hbWVkX2NoaWxkX3dhc20A2wEhdHNfbm9kZV9jaGlsZHJlbl9ieV9maWVsZF9pZF93YXNtANoBIXRzX25vZGVfZmlyc3RfY2hpbGRfZm9yX2J5dGVfd2FzbQDZASd0c19ub2RlX2ZpcnN0X25hbWVkX2NoaWxkX2Zvcl9ieXRlX3dhc20A2AEbdHNfbm9kZV9ncmFtbWFyX3N5bWJvbF93YXNtANcBGHRzX25vZGVfY2hpbGRfY291bnRfd2FzbQDWAR50c19ub2RlX25hbWVkX2NoaWxkX2NvdW50X3dhc20A1QESdHNfbm9kZV9jaGlsZF93YXNtANQBGHRzX25vZGVfbmFtZWRfY2hpbGRfd2FzbQDSAR50c19ub2RlX2NoaWxkX2J5X2ZpZWxkX2lkX3dhc20A0QEZdHNfbm9kZV9uZXh0X3NpYmxpbmdfd2FzbQDQARl0c19ub2RlX3ByZXZfc2libGluZ193YXNtAM8BH3RzX25vZGVfbmV4dF9uYW1lZF9zaWJsaW5nX3dhc20AzgEfdHNfbm9kZV9wcmV2X25hbWVkX3NpYmxpbmdfd2FzbQDNAR10c19ub2RlX2Rlc2NlbmRhbnRfY291bnRfd2FzbQDMARN0c19ub2RlX3BhcmVudF93YXNtAMsBInRzX25vZGVfY2hpbGRfd2l0aF9kZXNjZW5kYW50X3dhc20AygEhdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9pbmRleF93YXNtAMkBJ3RzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDHASR0c19ub2RlX2Rlc2NlbmRhbnRfZm9yX3Bvc2l0aW9uX3dhc20AxgEqdHNfbm9kZV9uYW1lZF9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMUBGHRzX25vZGVfc3RhcnRfcG9pbnRfd2FzbQDEARZ0c19ub2RlX2VuZF9wb2ludF93YXNtAMMBGHRzX25vZGVfc3RhcnRfaW5kZXhfd2FzbQDCARZ0c19ub2RlX2VuZF9pbmRleF93YXNtAMEBFnRzX25vZGVfdG9fc3RyaW5nX3dhc20AwAEVdHNfbm9kZV9jaGlsZHJlbl93YXNtAL8BG3RzX25vZGVfbmFtZWRfY2hpbGRyZW5fd2FzbQC+ASB0c19ub2RlX2Rlc2NlbmRhbnRzX29mX3R5cGVfd2FzbQC8ARV0c19ub2RlX2lzX25hbWVkX3dhc20AuwEYdHNfbm9kZV9oYXNfY2hhbmdlc193YXNtALoBFnRzX25vZGVfaGFzX2Vycm9yX3dhc20AuQEVdHNfbm9kZV9pc19lcnJvcl93YXNtALgBF3RzX25vZGVfaXNfbWlzc2luZ193YXNtALcBFXRzX25vZGVfaXNfZXh0cmFfd2FzbQC2ARh0c19ub2RlX3BhcnNlX3N0YXRlX3dhc20AtQEddHNfbm9kZV9uZXh0X3BhcnNlX3N0YXRlX3dhc20AtAEVdHNfcXVlcnlfbWF0Y2hlc193YXNtALMBFnRzX3F1ZXJ5X2NhcHR1cmVzX3dhc20AsAEGbWVtc2V0ADMGbWVtY3B5ACQHbWVtbW92ZQCZAQhpc3dhbHBoYQBnCGlzd2JsYW5rAJ0BCGlzd2RpZ2l0AKIBCGlzd2xvd2VyAJ4BCGlzd3VwcGVyAJoBCWlzd3hkaWdpdACXAQZtZW1jaHIAZAZzdHJsZW4AZQZzdHJjbXAAlgEHc3RybmNhdACcAQdzdHJuY3B5AJgBCHRvd2xvd2VyAKQBCHRvd3VwcGVyAKMBCHNldFRocmV3AKYBGV9lbXNjcmlwdGVuX3N0YWNrX3Jlc3RvcmUAoQEXX2Vtc2NyaXB0ZW5fc3RhY2tfYWxsb2MAoAEcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudACfARhfX3dhc21fYXBwbHlfZGF0YV9yZWxvY3MAmgIIAsgBCUABACMCCx6bAZUBlAGSAZEBkAGKAZcClQKWApQCJZICkwGPAY4BMo4CjQKMAogChQKEArEBrwGtAa4BqgGpAacBDAEBCtSBC5MC0AEBA38CQCABKAJMIgJBAE4EQCACRQ0BIwFBlNYAaigCGCACQf////8DcUcNAQsCQCAAQf8BcSIDIAEoAlBG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IAQgCy8BSk0NASALIAQ7AUogACgCPCAEQRRsaiEHDAALAAsgGigCFCAQSw0ACwwACwALIBVBAWoiFSADKAIETw0BIAMoAhAhBAwACwALIAsgAygCCDYCECALIAMpAgA3AwggAyARKAIINgIIIAMgESkCADcCACARIAsoAhA2AgggESALKQMINwIACyAjQQFqIiNBgAJHDQALIANBAToASAsgC0HQAGokAAu5IAIZfwF+IwBBgAJrIggkACAAKAKECSIJKAIEIRogCCADNgLYASAIQYQBaiAJIAEjAkEHaiAIQdgBaiADEBkgACgChAkiAygCBCILBH8gAygCACERQQAhCUEAIQMgC0EETwRAIAtBfHEhDANAIAkgESADQQV0aiIQKAIcQQJGaiAQKAI8QQJGaiAQKAJcQQJGaiAQKAJ8QQJGaiEJIANBBGohAyANQQRqIg0gDEcNAAsLIAtBA3EiEARAA0AgCSARIANBBXRqKAIcQQJGaiEJIANBAWohAyAKQQFqIgogEEcNAAsLIAlBCmoFQQoLIRsgCCgCiAEiEgRAQRhBACACQf3/A0sbIRwgAEGEAWohESAAQYgJaiEXIABBvAlqIR0gAkEDbCEeQQAhEANAIAgoAoQBIg4gEEEEdGoiAygCBCEKIAMoAgAhCQJAIBsgAygCDCIUIBhrIhlJBEAgACgChAkgGRARQQAhAyAKBEADQCAIIAkgA0EDdGopAgA3AwggFyAIQQhqEAogA0EBaiIDIApHDQALCyAJBEAgCSMIKAIAEQIACyAYQQFqIRggEEEBaiIDIBJPDQEDQCADIQoCQAJAIAAoAmAiCUUEQCAAKAKMCkUNAiARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACAwBCyARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACCAAKAJcQQAgESAJEQMAIAAoAowKRQ0BCyARIQkDQAJAAkAgCS0AACIDQSJGDQAgA0HcAEYNACADDQEMAwtB3AAgACgCjAoQCSAJLQAAIQMLIAPAIAAoAowKEAkgCUEBaiEJDAALAAsgDiAKQQR0aiIMKAIMIBRHDQIgDCgCACEJQQAhAyAMKAIEIhAEQANA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BEF/NgJMIAQjAkEdajYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUIAZBADoAACMAQdABayIFJAAgBSADNgLMASAFQaABaiIAQQBBKPwLACAFIAUoAswBNgLIAQJAQQAgAiAFQcgBaiAFQdAAaiAAIwIiAEEbaiIGIABBHGoiABBiQQBIBEBBfyEADAELIAQoAkxBAEggBCAEKAIAIgFBX3E2AgACfwJAAkAgBCgCMEUEQCAEQdAANgIwIARBADYCHCAEQgA3AxAgBCgCLCEHIAQgBTYCLAwBCyAEKAIQDQELQX8gBBBCDQEaCyAEIAIgBUHIAWogBUHQAGogBUGgAWogBiAAEGILIQIgBwRAIARBAEEAIAQoAiQRBAAaIARBADYCMCAEIAc2AiwgBEEANgIcIAQoAhQhACAEQgA3AxAgAkF/IAAbIQILIAQgBCgCACIAIAFBIHFyNgIAQX8gAiAAQSBxGyEADQALIAVB0AFqJAAgBEGgAWokACAAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRBQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC28BBX8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2AgAgAywAASAEIQIgBSEDQTBrIgFBCkkNAAsgAgucEwITfwJ+IwBBQGoiCCQAIAggATYCPCAIQSlqIRcgCEEnaiEYIAhBKGohEgJAAkACQAJAA0BBACEHA0AgASENIAcgDkH/////B3NKDQIgByAO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QQALMwEBfyAAECkgAEEANgKgCQJAIAEEQCABKAIAQRBrQX1JDQELIAAgATYCoAlBASECCyACC+wHAQp/IwBBIGsiAyQAIAAEQCAAECkgAEEANgKgCSAAKAKECSEBIwBBEGsiBiQAIAEoAgwiAgRAIAIjCCgCABECACABQQA2AhQgAUIANwIMCyABKAIYIgIEQCACIwgoAgARAgAgAUEANgIgIAFCADcCGAsgASgCMCABQSRqIgggASgCNBAaIAEoAgQiAgRAA0AgASgCACAFQQV0aiIEKAIABEAgASgCNCEHIAQoAgwEQCAGIAQpAgw3AwggByAGQQhqEAoLIAQoAhQEQCAGIAQpAhQ3AwAgByAGEAoLIAQoAgQiAgRAIAIoAgAiCgRAIAojCCgCABECACAEKAIEIQILIAJBADYCCCACQgA3AgAgAiMIKAIAEQIACyAEKAIAIAggBxAaIAEoAgQhAgsgBUEBaiIFIAJJDQALC0EAIQIgAUEANgIEIAEoAiQiBQRAAkAgASgCKARAA0AgASgCJCACQQJ0aigCACMIKAIAEQIAIAJBAWoiAiABKAIoSQ0ACyAIKAIAIgVFDQELIAUjCCgCABECAAsgAUEANgIsIAFCADcCJAsgASgCACICBEAgAiMIKAIAEQIACyABQQA2AgggAUIANwIAIAEjCCgCABECACAGQRBqJAAgACgCqAkiAQRAIAEjCCgCABECACAAQQA2ArAJIABCADcCqAkLIAAoAqAKIgEEQCABIwgoAgARAgAgAEEANgKoCiAAQgA3AqAKCyAAKAKYCgRAIAMgAEGYCmopAgA3AxggAEGICWogA0EYahAKIABCADcCmAoLIAAoAkQjCCgCABECACAAQeAJaiEBIAAoAuAJBEAgAyABKQIANwMQIABBiAlqIANBEGoQCgsgACgC6AkEQCADIABB6AlqKQIANwMIIABBiAlqIANBCGoQCgsgAUIANwIAIAFBADYCECABQgA3AgggACgCiAkiAQRAAkAgACgCjAkEQANAIAAoAogJIAlBA3RqKAIAIwgoAgARAgAgCUEBaiIJIAAoAowJSQ0ACyAAKAKICSIBRQ0BCyABIwgoAgARAgALIABBADYCkAkgAEIANwKICQsgACgClAkiAQRAIAEjCCgCABECACAAQQA2ApwJIABCADcClAkLIAAoAvQJIgEEQCABIwgoAgARAgALIABBADYC/AkgAEIANwL0CSAAKAK8CSIBBEAgASMIKAIAEQIACyAAQQA2AsQJIABCADcCvAkgACgCyAkiAQRAIAEjCCgCABECAAsgAEEANgLQCSAAQgA3AsgJIAAoAtQJIgEEQCABIwgoAgARAgALIABBADYC3AkgAEIANwLUCSAAIwgoAgARAgALIANBIGokAAuzAQIFfwF+IAApAgAiCEIgiKchAyAIpyEEAkAgASgCACIFIAIoAgQiB08EQCADIAIoAiAgAyACKAIYayIGQQAgAyAGTxtqIAQgAigCFCIGSxshAyACKAIcIAQgBmsiBkEAIAQgBk8baiEEIAIoAgggBSAHa2ohBQwBCyAFIAIoAgBNDQAgAikCHCIIQiCIpyEDIAIoAgghBSAIpyEECyAAIAStIAOtQiCGhDcCACABIAU2AgALGwAgACABEF0hAAJAIAFFDQAgAA0AEEMACyAACxsAIAAgARAqIQECQCAARQ0AIAENABBDAAsgAQvAAQEDfyMAQSBrIgMkACAAKAJIBEAgACgCYCECAkAgAQRAIAJFDQEgAyAAKAIAIgI2AgAgAEGEAWoiBEGACCMBQZoLQf0IIAJBIGtB3wBJG2ogAxALGiAAKAJcQQEgBCAAKAJgEQMADAELIAJFDQAgAyAAKAIAIgI2AhAgAEGEAWoiBEGACCMBQa4LQY8JIAJBIGtB3wBJG2ogA0EQahALGiAAKAJcQQEgBCAAKAJgEQMACyAAIAEQQQsgA0EgaiQAC2kBAn8CQCAAKAJoIgEgACgCZEYNACABRQ0AIAAoAiAgACgCRCABQRhsaiIBKAIQRw0AIAFBBGsoAgAhAiAAIAFBEGspAgA3AjwgACACNgI4DwsgACAAKQIgNwI4IABBQGsgACgCKDYCAAv6BQIJfwF+IwBBEGsiBSQAIABBAToAeAJAIAAtAIABDQAgACgCICIIIAAoAigiA2shASAAKAIkIQQgAwRAIABBADYCfCAAQQA6AIABCyAAQQA2AiggACAENgIkIAAgATYCICAAKAJEIQYCQAJ/IAAoAmQiBARAA0ACQCAGIAJBGGxqIgcoAhQiCSABTQ0AIAkgBygCECIDTQ0AIAEgA00EQCAAIAcpAgA3AiQgACADNgIgIAMhAQsgACACNgJoQQAhAiAAKAJIRQ0EIAAoAmwiAyABTQRAIAEgACgCcCADakkNBQsgAEEANgJIQQAMAwsgAkEBaiICIARHDQALCyAAIAQ2AmggBiAEQRhsaiIDQQRrKAIAIQEgA0EQaykCACEKIABBADYCSCAAIAo3AiQgACABNgIgQQELIQIgAEEANgJwCyAAQQE6AIABIABBADYCACAAIAI2AnQgAEEANgJ8IAAgATYCbCAAKAJQIQMgACgCTCECIAUgACkCJDcDCCAAIAIgASAFQQhqIABB8ABqIgQgAxEGACICNgJIIAAoAnAiAUUEQCAAQQA2AkggACAAKAJkNgJoDAELIAAoAmggACgCZEYNAAJAIAAoAiAgACgCbGsiAyABRgRAIABBADYCACAAQQE2AnQMAQsgACACIANqIAEgA2siASAAIwFB0NMAaiAAKAJUIgNBAnRqIABB2ABqIANBA0kbKAIAIgMRBAA2AnQgACgCACECAkAgAUEDSw0AIAJBf0cNACAAIAAoAiAiATYCbCAAKAJQIQIgACgCTCEGIAUgACkCJDcDACAAIAYgASAFIAQgAhEGACICNgJIIAAgACgCcCIBBH8gAgUgAEEANgJIIAAgACgCZDYCaEEACyABIAAgAxEEADYCdCAAKAIAIQILIAJBf0cNACAAQQE2AnQLA0AgACgCICAITw0BIAAoAmggACgCZEYNASAAKAJIRQ0BIABBABBBIAAoAmggACgCZEcNAAsLIAAoAnwgBUEQaiQACxsBAX8gABAiIQECQCAARQ0AIAENABBDAAsgAQsrAQJ/IAAoAmgiAiAAKAJkSQR/IAAoAiAgACgCRCACQRhsaigCEEYFQQALCw0AIAAoAmggACgCZEYLTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLFwAgAEEwa0EKSSAAQSByQeEAa0EGSXILggIBAn8CQAJAAkACQCABIAAiA3NBA3ENACACQQBHIQQCQCABQQNxRQ0AIAJFDQADQCADIAEtAAAiBDoAACAERQ0FIANBAWohAyACQQFrIgJBAEchBCABQQFqIgFBA3FFDQEgAg0ACwsgBEUNAiABLQAARQ0DIAJBBEkNAANAQYCChAggASgCACIEayAEckGAgYKEeHFB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ICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFBMGokAAveAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8CQCABKAIMIgBB//8DcUUEQCABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYhAAwCCyAALwEoIQALIABB//8DcUH//wNHDQBBAQwBCyABKAIUKAIIKAJMIABB//8DcUEBdGovAQBB//8DRgsgAUEwaiQAC6oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQRp0QR91QeIEcQwBC0HiBCAALQAtQQJxDQAaIAAoAiALQQBHIAFBMGokAAubAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEEdkEBcQwBCyAALwEsQQV2QQFxCyABQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQPSABQTBqJAAL0QYBCH8jAEGgAWsiByQAIAcjCyIIKAIANgKYASAHIAgoAgxBAXQ2ApABIAcgADYCnAEgByAHKQKYATcDWCAHIAgoAhA2ApQBIAcgBykCkAE3A1AgByAIKAIINgKMASAHIAgoAgRBAXQ2AogB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NgIAIAFBgAFqJAALrAICB38BfiMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIwBBIGsiACQAIAEoAhQoAgghAiABKAIQKQIAIQhBASEDAkACQAJAIAEvAQwiBEH+/wNrDgIAAgELQQAhAwwBCyACKAJIIARBA2xqLQAAIQMLIAAgCDcDECAAIAg3AwggAEEIaiAAQR9qQQEgAkEAIAQgA0EBcSIFIwFBoQpqIgYQMEEBaiIHIwcoAgARAAAhAyAAIAApAxA3AwAgACADIAcgAkEAIAQgBSAGEDAaIABBIGokACABQTBqJAAgAwt6AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgARBbIAFBMGokAEEBdgt7AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCACABQTBqJABBAXYLlgEBAn8jAEFAaiIBJAAgASMLIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABQSBqIAFBCGoQPyACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAueAQECfyMAQUBqIgEkACABIwsiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAEgASgCDDYCICABIAEoAhA2AiQgAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBABBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBARBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMgAigCGEEBdCEEIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADIARBABBWIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALWAEBfyMBQcjTAGokBiMBQcDTAGokByMBQczTAGokCCMBQcTTAGokCSMBQYjVAGokCiMBQZDVAGoiACQLIwFBlNsAaiQMIwFBmNsAaiQNIABBAEGMBvwLAAuGAgEEfyMAQdAAayIBJAAgASMLIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEBEFYgAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAufAgEDfyMAQYABayIBJAAgASMLIgIoAgA2AnggASACKAIMQQF0NgJwIAEgADYCfCABIAIoAgg2AmwgASACKAIQNgJ0IAEgAigCBEEBdDYCaCABIAIoAhQ2AmAgASACKAIYQQF0NgJQIAEgAigCHDYCVCABIAIoAiBBAXQ2AlggAigCJCEDIAEgASkCeDcDMCABIAEpAnA3AyggASAANgJkIAEgASkCaDcDICABIAM2AlwgASABKQJgNwMYIAEgASkCWDcDECABIAEpAlA3AwggAUE4aiABQSBqIAFBCGoQGCACIAEoAkQ2AhAgAiABKAI8NgIIIAIgASgCSDYCACACIAEoAkBBAXY2AgwgAiABKAI4QQF2NgIEIAFBgAFqJAAL4AQCBn8CfiMAQdAAayIBJAAgASMLIgMoAgA2AkggAUFAayICIAMoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAMoAhA2AkQgASACKQIANwMQIAEgAygCCDYCPCABIAMoAgRBAXQ2AjggASABKQI4NwMIIwBBkAFrIgAkAAJ/IAEoAhwiAigCACIEQQFxBEAgAi0ABUEPcSEFIAItAAQhBiACLQAGDAELIAQoAgwhBiAEKAIIIQUgBCgCBAshBCAAIAI2AowBIAAgAjYCiAEgAEEANgKEASAAIAY2AoABIAAgBTYCfCAAIAQ2AngCQCACIAEoAhgiBEcEQCAAIAApAoABNwNQIAAgACkCiAE3A1ggACAAKQJ4NwNIIAAgASkCEDcDOCAAQUBrIAEpAhg3AwAgACABKQIINwMwIABB4ABqIABByABqIABBMGoQGAJAIAAoAnAiAiAERg0AIAJFDQADQCAAIAApAnAiBzcDiAEgACAAKQJoIgg3A4ABIAAgCDcDICAAIAc3AyggACAAKQJgIgc3A3ggACAHNwMYIAAgASkCEDcDCCAAIAEpAhg3AxAgACABKQIINwMAIABB4ABqIABBGGogABAYIAAoAnAiAiAERg0BIAINAAsLIAEgACkDeDcCICABIAApA4gBNwIwIAEgACkDgAE3AigMAQsgAUIANwIgIAFCADcCMCABQgA3AigLIABBkAFqJAAgAyABKAIsNgIQIAMgASgCJDYCCCADIAEoAjA2AgAgAyABKAIoQQF2NgIMIAMgASgCIEEBdjYCBCABQdAAaiQAC50BAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBASEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI4QQFqIQALIAFBMGokACAAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC8UBAQN/IwBB0ABrIgIkACACIwsiAygCADYCSCACQUBrIgQgAygCDEEBdDYCACACIAA2AkwgAiACKQJINwMYIAIgAygCEDYCRCACIAQpAgA3AxAgAiADKAIINgI8IAIgAygCBEEBdDYCOCACIAIpAjg3AwggAkEgaiACQQhqIAFB//8DcRA7IAMgAigCLDYCECADIAIoAiQ2AgggAyACKAIwNgIAIAMgAigCKEEBdjYCDCADIAIoAiBBAXY2AgQgAkHQAGokAAvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQAQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUECdGooAgAhAgsgAgvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQEQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAAC5wBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYMAQsgAC8BKAtB//8DcSABQTBqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBABBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBARBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALiQQBCX8jAEGAAWsiAiQAIAIjCyIDKAIANgJ4IAIgAygCDEEBdDYCcCACIAA2AnwgAiACKQJ4NwMwIAIgAygCEDYCdCACIAIpAnA3AyggAiADKAIINgJsIAIgAygCBEEBdDYCaCACIAIpAmg3AyAgAkHUAGogAkEgahBwAkAgAUUEQEEAIQMMAQsgAiACKQJ4NwMYIAIgAikCcDcDECACIAIpAmg3AwggAkHUAGoiACACQQhqECYgABAsGkEAIQBBACEDA0AgAyEEAkADQCACQdQAaiIDEG0gAUYNASADEBwNAAsgBCEDDAILIAJBPGogAkHUAGoiAxAQIAMQHAJAIARBBWoiAyAATQ0AQQggAEEBdCIAIAMgACADSxsiACAAQQhNGyIAQQJ0IQYgBQRAIAUgBiMGKAIAEQEAIQUMAQsgBiMHKAIAEQAAIQULIAUgBEECdGoiBEIANwIAIARBADYCECAEQgA3AgggAigCPCEGIAIoAkQhCCACKAJMIQkgAigCQCEKIAUgA0ECdGoiBEEE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IAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGoQbSABQSBqJAALZwEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEFsgAUHQAGokAEEBdgtlAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAEoAgggAUHQAGokAEEBdgt9AQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDECABIAEpAiw3AwggASABKQIkNwMAIAFBHGogARA/IAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAuIAQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxAgASABKQIsNwMIIAEgASkCJDcDACABIAEoAgQ2AhwgASABKAIINgIgIAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAtCAQF/IwBBMGsiASQAIAEgADYCHCABIwsiACkDADcCICABIAApAwg3AiggAUEEaiABQRxqEBAgASgCFCABQTBqJAALhQEBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwgCfyABKAIYKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqED0gAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMI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AEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEBwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALhwECAn8BfiMAQTBrIgEkACABIAA2AhwgASMLIgAoAgA2AiAgASAAKQIENwIkIAEgACgCDCICNgIsIAEgACgCEEEBdDYCGCABIAI2AhQgASABKQIUNwMIIAFBHGpBACABKAIIIAEoAgwQbiAAIAEpAiA3AwAgACABKQIoNwMIIAFBMGokAEIAUgtmAgJ/AX4jAEEgayIBJAAgASAANgIMIAEjCyIAKAIANgIQIAEgACkCBDcCFCABIAAoAgwiAjYCHCABQQxqIAJBAXRBAEEAEG4gACABKQIQNwMAIAAgASkCGDcDCCABQSBqJABCAFILXwEDfyMAQSBrIgEkACABIAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGohAgNAIAIQbyIDQQFGDQALIANBAkYgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALTgEBfyMBQasKaiECAkACQAJAIAFB/v8Daw4CAAIBCyMBQaoKag8LQQAhAiAAKAIIIAAoAgRqIAFNDQAgACgCOCABQQJ0aigCACECCyACC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqECwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALugIBBX8jAEEwayICJAAgAiAANgIcIAIjCyIDKQMANwIgIAIgAykDCDcCKCACIAMpAxA3AgwgAiADKQMYNwIUIAIgATYCCCACIAIoAgg2AhwgAi8BGCEAIAJBADYCJCACIAA7ASwgAigCICEAIAIoAgwhBgJAAkAgAigCECIEIAIoAihLBEAgBEEcbCEBAn8gAARAIAAgASMGKAIAEQEADAELIAEjBygCABEAAAshACACIAQ2AiggAigCJCIFRQ0BIAVBHGwiBUUNASAAIAFqIAAgBfwKAAAMAQsgBEUNASAEQRxsIQELIAYEQCABRQ0BIAAgBiAB/AoAAAwBCyABRQ0AIABBACAB/AsACyACIAA2AiAgAiACKAIkIARqNgIkIAMgAikCIDcDACADIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECYgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC1MBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABKAIQIgAEQCAAIwgoAgARAgALIAFBADYCGCABQgA3AhAgAUEgaiQAC80BAQV/IwBBMGsiASQAIAEgADYCHCABIwsiAykDADcCICABIAMpAwg3AihBACEAIAFBADYCGCABIAEoAhw2AgggAS8BLCECIAFBADYCFCABIAI7ARgCQCABKAIkIgRFDQAgASgCICEFIARBHGwiAiMHKAIAEQAAIQAgASAENgIUIAUEQCACRQ0BIAAgBSAC/AoAAAwBCyACRQ0AIABBACAC/AsACyABIAA2AgwgASAENgIQIAMgASkCDDcDACADIAEpAhQ3AwggAUEwaiQAC5oBAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAUEkaiABQQhqEHAgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC84wAht/A34jAEEQayIYJAAjAEFAaiIHJAAgB0EANgI8IAdCADcCJCAHQgA3AhwCfyAAKAIAIgJBAXEEQCAALQAEIQ0gAC0ABiEMIAAtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEIIAdBADsBPCAHIAA2AiwgB0HgASMHKAIAEQAAIgI2AjAgB0KBgICAgAE3AjQgAkEANgIYIAJCADcCECACIA02AgwgAiAINgIIIAIgDDYCBCACIAA2AgACfyABKAIAIgJBAXEEQCABLQAEIQ0gAS0ABiEMIAEtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEC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NgKIAiAKIDg3A4ACIApBADYC+AEgCkEANgL0ASAKQQA2AvABIAogBzYC7AEgCkEANgLoASAKQQA2AuQBIAogETsB4AEgCkEAOwHeASAKQQA7AdoBIApCADcDuAEgCkEBNgKMAiAKIANBAXQgAmpB/wFxOwHcASABIAooAowCNgIAIAEgCigCiAI2AgQgASAKKQOAAjcCCCABIAooAvgBNgIQIAEgCigC9AE2AhQgASAKKALwATYCGCABIAooAuwBNgIcIAEgCigC6AE2AiAgASAKKALkATYCJCABIAovAeABOwEoIAEgCi8B3gE7ASogASAKLwHcATsBLCABIAovAdoBOwEuIAEgCigC0AE2AkggAUFAayAKKQPIATcCACABIAopA8ABNwI4IAEgCikDuAE3AjBCAAshOCAEQQFrIRgCQCABQQFxBEAgAUEgciEBDAELIAEgAS8BLEGABHI7ASwLIBhBBXQiECAFKAKECSICKAIAaiIHKAIAIQMCfyACKAIoIgAEQCACIABBAWsiADYCKCACKAIkIABBAnRqKAIADAELQaQBIwcoAgARAAALIhQgDzsBACAUQQJqQQBBkgH8CwAgFEIANwKYASAUQQE2ApQBIBRBADYCoAECQAJ/AkAgAwRAIBQgOCABrYQ3AhQgFCADNgIQIBRBATsBkAEgFCADKQIENwIEIBQgAygCDDYCDCAUIAMoApgBIgA2ApgBIBQgAygCoAEiBDYCoAEgFCADKAKcASITNgKcASABQQFxIgMNASAUIAEtAC1BAnEEf0HiBAUgASgCIAsgAGo2ApgBQQAgASgCDCABKAIUIgIbIQAgASgCECABKAIEaiENIAIgASgCCGohDiABKAIYDAILIBRCADcCBCAUQQA2AgwMAgsgFCAAIAFBGnRBH3VB4gRxajYCmAEgOEIgiKdB/wFxIQAgOEIoiKdBD3EhDiA4QjCIpyENQQALIQIgFCAUKAIEIA1qNgIEIBQgFCgCCCAOaq0gACACakEAIBQoAgwgDhtqrUIghoQ3AggCQCADRQRAQQAhDiAUIAEoAiQiAAR/IAEoAjgFQQALIBNqIAEvASxBAXFqIAEvAShB/v8DRmo2ApwBIABFDQEgASgCPCEODAELIBQgEyABQQF2QQFxajYCnAFBACEOCyAUIAQgDmo2AqABCyAHIBQ2AgAgBSAY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AgwgACABQQVqNgIIIABCADcCACAAQSBqQQBB5Aj8CwAgAEEAQRgjBigCABEBACIBNgJEIAEjAUH8C2oiAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIABBATYCZAJAAkAgACgCRCIDKAIUIgQgACgCICIBTQ0AIAQgAygCECICTQ0AIAEgAk0EQCAAIAMpAgA3AiQgACACNgIgIAIhAQtBACECIABBADYCaCAAKAJIRQ0BIAAoAmwiAyABTQRAIAEgACgCcCADakkNAgsgAEEANgJIIABCADcCbAwBC0EBIQIgAEEBNgJoIAMpAgghByAAQQA2AkggACAHNwIkIAAgBDYCICAAQgA3AmwLIABBADYCsAkgAEEANgIAIAAgAjYCdCAAQgA3AqgJIABBwAAjByIBKAIAEQAANgKoCSAAQQQ2ArAJQYACIAEoAgARAAAhASAAQgA3ApQJIABCgICAgIAENwKMCSAAIAE2AogJIABBnAlqQQA2AgBBAUE4IwkoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggAUGAASMHKAIAEQAANgIAIAFBBDYCCCABKAIMIQIgASgCFEEDTQRAAn8gAgRAIAJBwAAjBigCABEBAAwBC0HAACMHKAIAEQAACyECIAFBBDYCFAsgASACNgIMIAEoAhghAiABKAIgQQNNBEACfyACBEAgAkHgACMGKAIAEQEADAELQeAAIwcoAgARAAALIQIgAUEENgIgCyABIAI2AhggASgCJCECIAEoAixBMU0EQAJ/IAIEQCACQcgBIwYoAgARAQAMAQtByAEjBygCABEAAAshAiABQTI2AiwLIAEgAEGICWoiAzYCNCABIAI2AiQCfyABKAIoIgQEQCABIARBAWsiBDYCKCACIARBAnRqKAIADAELQaQBIwcoAgARAAALIgJBATsBACACQQJqQQBBkgH8CwAgAkIANwIEIAJBATYClAEgAkEANgIMIAJCADcCmAEgAkEANgKgASABIAI2AjAgARA5IABCADcC9AkgAEIANwK0CSAAIAE2AoQJIABB/AlqQgA3AgAgAEGECmpBADYCACAAQgA3ApQKIABCADcCiAogAEEANgKgCSAAQZwKakIANwIAIABBpApqQgA3AgAgAEEANgLACiAAQcMKakEA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IHN5bTolcwBzZWxlY3Rfc21hbGxlcl9lcnJvciBzeW1ib2w6JXMsIG92ZXJfc3ltYm9sOiVzAHNlbGVjdF9lYXJsaWVyIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2V4aXN0aW5nIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlIHN5bWJvbDolcywgZmlyc3RfbGVhZl9zeW1ib2w6JXMAc2tpcF90b2tlbiBzeW1ib2w6JXMAaWdub3JlX2VtcHR5X2V4dGVybmFsX3Rva2VuIHN5bWJvbDolcwByZXVzYWJsZV9ub2RlX2hhc19kaWZmZXJlbnRfZXh0ZXJuYWxfc2Nhbm5lcl9zdGF0ZSBzeW1ib2w6JXMAcmV1c2Vfbm9kZSBzeW1ib2w6JXMAcGFzdF9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBiZWZvcmVfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlXyVzIHRyZWU6JXMAYnJlYWtkb3duX3RvcF9vZl9zdGFjayB0cmVlOiVzAGRldGVjdF9lcnJvciBsb29rYWhlYWQ6JXMAKCVzAGlzX2Vycm9yAHNraXBfdW5yZWNvZ25pemVkX2NoYXJhY3RlcgBuYW4AXG4AaXNfbWlzc2luZwByZXN1bWVfcGFyc2luZwByZWNvdmVyX2VvZgBpbmYAbmV3X3BhcnNlAGNvbmRlbnNlAGRvbmUAaXNfZnJhZ2lsZQBjb250YWluc19kaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UAc2tpcCBjaGFyYWN0ZXI6JWQAY29uc3VtZSBjaGFyYWN0ZXI6JWQAc2VsZWN0X2hpZ2hlcl9wcmVjZWRlbmNlIHN5bWJvbDolcywgcHJlYzolZCwgb3Zlcl9zeW1ib2w6JXMsIG90aGVyX3ByZWM6JWQAc2hpZnRfZXh0cmEAbm9fbG9va2FoZWFkX2FmdGVyX25vbl90ZXJtaW5hbF9leHRyYQBfX1JPT1RfXwBfRVJST1IATkFOAE1JU1NJTkcASU5GAElOVkFMSUQAbGV4ZWRfbG9va2FoZWFkIHN5bToAIDAwMDAwMDAwMDAwMBAwMAAuACglcykAKG51bGwpAChOVUxMKQAoIiVzIikAJ1x0JwAnXHInACdcbicAc2tpcCBjaGFyYWN0ZXI6JyVjJwBjb25zdW1lIGNoYXJhY3RlcjonJWMnACdcMCcAIiVzIgAoTUlTU0lORyAAKFVORVhQRUNURUQgACVzOiAACgoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP//////////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeDw8PAAAAAAAAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAAAAAAAAAAAABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISUoRS0xNTk9QURBSU1RVVldYWVpbXF0QXl9gEBEREWFiYxAQEBAQEBAQEBARERERZBAQEBAQEBAQEBAQEBAQEBERZRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERZmcQEGhpERERERERERERERERERERERERERERERFqERFrEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFsbRAQEBAQEBAQEG4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEG9wcXIQEBAQEBAQEHN0dRAQEBAQdncQEBAQeBAQeRAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAP+/tgD///+HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8B/wcAAAAAAAD//98/AADw//gD////////////7//f4f/P//7/75/5///9xeOfWYCwz/8DEO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAe7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADv3/3///3/498dYAfP/wAA79/9///97+PfHWBAz/8GAO/f/f/////n313wgM//APzs/3/8///7L3+AX//A/wwA/v////9//wc/IP8DAAAAANb3//+v//87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP///////////8//////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P/7//////////////////////////////////////////////////////////5////7//wf////////////H/wH/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wH//////wf//////////z8A////f/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////fwD/4///////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAgP8fAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8PAAAAAAAAAAAAAAAAAAAAAAAAAP///////38A//8/AP8AAAAAAAAAAAAAAAAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwAAAAAAAAAAAAAAAAD///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H4AA//8/AAAAAAAAAAAAAAAAAAAAAAAAAP//fwD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/cAD/////RwD//////////x4A/xcAAAAA///7////n0AAAAAAAAAAAH+9/7//Af////////8B/wPvn/n///3t458ZgeAPAAAAAAAAAAAAAAAAAAAAAAAAAP//////////uwf/gwAAAAD//////////7MA/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9/AAAAPwAAAAD/////////fxEA/wMAAAAA////////PwH/AwAAAAAAAP///+f/B/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAD///////////8DAIAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8///////8GgAAAP///////+d/AAD///////////8gAAAAAP////////8B//3/////f38BAP8DAAD8/////P///n8AAAAAAAAAAAB/+/////9/tMsA/wO//f///397Af8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//38A/////////////////////////wMAAAAAAAAAAAAAAAD/////////////////fwAA////////////////////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8B////f/8DAAAAAAAAAAAAAAAA////PwAA////////AAAPAP8D+P//4P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAP///////////4f/////////gP//AAAAAAAAAAALAAAA/////////////////////////////////////////wD///////////////////////////////////////8HAP///38AAAAAAAAHAPAA/////////////////////////////////////////////////////////////////w//////////////////B/8f/wH/QwAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////f///+dsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////x+AP/9DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////D/8D////////////////////////////////HwAAAAAAAAD//////////48I/wMAAAAAAAAAAAAAAAAAAAAAAAAAAO////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAAAAAAAAA////A////wP///8DAAAAAAAAAAAAAAAAAAAgAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAAAAAAAAAAAZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYACAAAVgEAADkAAAAAAAAAAAAAAAEgAAAA4P//AL8dAADnAgAAeQAAAiQAAAEBAAAA////AAAAAAECAAAA/v//ATn//wAY//8Bh///ANT+/wDDAAAB0gAAAc4AAAHNAAABTwAAAcoAAAHLAAABzwAAAGEAAAHTAAAB0QAAAKMAAAHVAAAAggAAAdYAAAHaAAAB2QAAAdsAAAA4AAADAAAAALH//wGf//8ByP//AigkAAAAAAABAQAAAP///wAz//8AJv//AX7//wErKgABXf//ASgqAAA/KgABPf//AUUAAAFHAAAAHyoAABwqAAAeKgAALv//ADL//wA2//8ANf//AE+lAABLpQAAMf//ACilAABEpQAAL///AC3//wD3KQAAQaUAAP0pAAAr//8AKv//AOcpAABDpQAAKqUAALv//wAn//8Auf//ACX//wAVpQAAEqUAAiRMAAAAAAABIAAAAOD//wEBAAAA////AFQAAAF0AAABJgAAASUAAAFAAAABPwAAANr//wDb//8A4f//AMD//wDB//8BCAAAAML//wDH//8A0f//AMr//wD4//8Aqv//ALD//wAHAAAAjP//AcT//wCg//8B+f//AhpwAAEBAAAA////ASAAAADg//8BUAAAAQ8AAADx//8AAAAAATAAAADQ//8BAQAAAP///wAAAAAAwAsAAWAcAAAAAAAB0JcAAQgAAAD4//8CBYoAAAAAAAFA9P8Anuf/AMKJAADb5/8Akuf/AJPn/wCc5/8Anef/AKTn/wAAAAAAOIoAAASKAADmDgABAQAAAP///wAAAAAAxf//AUHi/wIdjwAACAAAAfj//wAAAAAAVgAAAar//wBKAAAAZAAAAIAAAABwAAAAfgAAAAkAAAG2//8B9///ANvj/wGc//8BkP//AYD/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`,``+{}.url).href}__name(findWasmBinary,`findWasmBinary`);function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}__name(getBinarySync,`getBinarySync`);async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}__name(getWasmBinary,`getWasmBinary`);async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}__name(instantiateArrayBuffer,`instantiateArrayBuffer`);async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){err(`wasm streaming compile failed: ${e}`),err(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}__name(instantiateAsync,`instantiateAsync`);function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}__name(getWasmImports,`getWasmImports`);async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var n=getDylinkMetadata(t);return n.neededDynlibs&&(dynamicLibraries=n.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,`main`),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}__name(e,`receiveInstance`);function t(t){return e(t.instance,t.module)}__name(t,`receiveInstantiationResult`);var n=getWasmImports();return Module.instantiateWasm?new Promise((t,r)=>{Module.instantiateWasm(n,(n,r)=>{t(e(n,r))})}):(wasmBinaryFile??=findWasmBinary(),t(await instantiateAsync(wasmBinary,wasmBinaryFile,n)))}__name(createWasm,`createWasm`);class ExitStatus{static{__name(this,`ExitStatus`)}name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var n=GOT[t];return n||=GOT[t]=new WebAssembly.Global({value:`i32`,mutable:!0}),currentModuleWeakSymbols.has(t)||(n.required=!0),n}},LE_ATOMICS_NATIVE_BYTE_ORDER=[],LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),`LE_HEAP_LOAD_F32`),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),`LE_HEAP_LOAD_F64`),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),`LE_HEAP_LOAD_I16`),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),`LE_HEAP_LOAD_I32`),LE_HEAP_LOAD_I64=__name(e=>HEAP_DATA_VIEW.getBigInt64(e,!0),`LE_HEAP_LOAD_I64`),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),`LE_HEAP_LOAD_U32`),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),`LE_HEAP_STORE_F32`),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),`LE_HEAP_STORE_F64`),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),`LE_HEAP_STORE_I16`),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),`LE_HEAP_STORE_I32`),LE_HEAP_STORE_I64=__name((e,t)=>HEAP_DATA_VIEW.setBigInt64(e,t,!0),`LE_HEAP_STORE_I64`),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),`LE_HEAP_STORE_U32`),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},`callRuntimeCallbacks`),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.push(e),`addOnPostRun`),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.push(e),`addOnPreRun`),UTF8Decoder=typeof TextDecoder<`u`?new TextDecoder:void 0,findStringEnd=__name((e,t,n,r)=>{var a=t+n;if(r)return a;for(;e[t]&&!(t>=a);)++t;return t},`findStringEnd`),UTF8ArrayToString=__name((e,t=0,n,r)=>{var a=findStringEnd(e,t,n,r);if(a-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,a));for(var o=``;t<a;){var s=e[t++];if(!(s&128)){o+=String.fromCharCode(s);continue}var c=e[t++]&63;if((s&224)==192){o+=String.fromCharCode((s&31)<<6|c);continue}var l=e[t++]&63;if(s=(s&240)==224?(s&15)<<12|c<<6|l:(s&7)<<18|c<<12|l<<6|e[t++]&63,s<65536)o+=String.fromCharCode(s);else{var u=s-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},`UTF8ArrayToString`),getDylinkMetadata=__name(e=>{var t=0,n=0;function r(){return e[t++]}__name(r,`getU8`);function a(){for(var n=0,r=1;;){var a=e[t++];if(n+=(a&127)*r,r*=128,!(a&128))break}return n}__name(a,`getLEB`);function o(){var n=a();return t+=n,UTF8ArrayToString(e,t-n,n)}__name(o,`getString`);function s(){for(var e=a(),t=[];e--;)t.push(o());return t}__name(s,`getStringList`);function c(e,t){if(e)throw Error(t)}if(__name(c,`failIf`),e instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(e,`dylink.0`);c(l.length===0,`need dylink section`),e=new Uint8Array(l[0]),n=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);c(!(u[0]==1836278016||u[0]==6386541),`need to see wasm magic number`),c(e[8]!==0,`need the dylink section to be first`),t=9;var d=a();n=t+d,c(o()!==`dylink.0`)}for(var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},p=1,m=2,h=3,g=4,_=5,v=256,y=3,b=1;t<n;){var x=r(),S=a();if(x===p)f.memorySize=a(),f.memoryAlign=a(),f.tableSize=a(),f.tableAlign=a();else if(x===m)f.neededDynlibs=s();else if(x===h)for(var w=a();w--;){var E=o(),D=a();D&v&&f.tlsExports.add(E)}else if(x===g)for(var w=a();w--;){var O=o(),E=o(),D=a();(D&y)==b&&f.weakImports.add(E)}else x===_?f.runtimePaths=s():t+=S}return f},`getDylinkMetadata`);function getValue(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return HEAP8[e];case`i8`:return HEAP8[e];case`i16`:return LE_HEAP_LOAD_I16((e>>1)*2);case`i32`:return LE_HEAP_LOAD_I32((e>>2)*4);case`i64`:return LE_HEAP_LOAD_I64((e>>3)*8);case`float`:return LE_HEAP_LOAD_F32((e>>2)*4);case`double`:return LE_HEAP_LOAD_F64((e>>3)*8);case`*`:return LE_HEAP_LOAD_U32((e>>2)*4);default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,`getValue`);var newDSO=__name((e,t,n)=>{var r={refcount:1/0,name:e,exports:n,global:!0};return LDSO.loadedLibsByName[e]=r,t!=null&&(LDSO.loadedLibsByHandle[t]=r),r},`newDSO`),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO(`__main__`,0,wasmImports)}},___heap_base=78240,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,`alignMemory`),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,n=t+alignMemory(e,16);return ___heap_base=n,GOT.__heap_base.value=n,t},`getMemory`),isInternalSym=__name(e=>[`__cpp_exception`,`__c_longjmp`,`__wasm_apply_data_relocs`,`__dso_handle`,`__tls_size`,`__tls_align`,`__set_stack_limits`,`_emscripten_tls_init`,`__wasm_init_tls`,`__wasm_call_ctors`,`__start_em_asm`,`__stop_em_asm`,`__start_em_js`,`__stop_em_js`].includes(e)||e.startsWith(`__em_js__`),`isInternalSym`),uleb128EncodeWithLen=__name(e=>{let t=e.length;return[t%128|128,t>>7,...e]},`uleb128EncodeWithLen`),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=__name(e=>uleb128EncodeWithLen(Array.from(e,e=>wasmTypeCodes[e])),`generateTypePack`),convertJsFunctionToWasm=__name((e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(t.slice(1)),...generateTypePack(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(n);return new WebAssembly.Instance(r,{e:{f:e}}).exports.f},`convertJsFunctionToWasm`),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:`anyfunc`}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(wasmTableMirror[e]=t=wasmTable.get(e)),t},`getWasmTableEntry`),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var n=e;n<e+t;n++){var r=getWasmTableEntry(n);r&&functionsInTableMap.set(r,n)}},`updateTableMap`),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),`getFunctionAddress`),freeTableIndexes=[],getEmptyTableSlot=__name(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),`getEmptyTableSlot`),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},`setWasmTableEntry`),addFunction=__name((e,t)=>{var n=getFunctionAddress(e);if(n)return n;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(n){if(!(n instanceof TypeError))throw n;setWasmTableEntry(r,convertJsFunctionToWasm(e,t))}return functionsInTableMap.set(e,r),r},`addFunction`),updateGOT=__name((e,t)=>{for(var n in e)if(!isInternalSym(n)){var r=e[n];GOT[n]||=new WebAssembly.Global({value:`i32`,mutable:!0}),(t||GOT[n].value==0)&&(typeof r==`function`?GOT[n].value=addFunction(r):typeof r==`number`?GOT[n].value=r:err(`unhandled export type for '${n}': ${typeof r}`))}},`updateGOT`),relocateExports=__name((e,t,n)=>{var r={};for(var a in e){var o=e[a];typeof o==`object`&&(o=o.value),typeof o==`number`&&(o+=t),r[a]=o}return updateGOT(r,n),r},`relocateExports`),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},`isSymbolDefined`),dynCall=__name((e,t,n=[],r=!1)=>{var a=getWasmTableEntry(t)(...n);function o(e){return e}return __name(o,`convert`),o(a)},`dynCall`),stackSave=__name(()=>_emscripten_stack_get_current(),`stackSave`),stackRestore=__name(e=>__emscripten_stack_restore(e),`stackRestore`),createInvokeFunction=__name(e=>(t,...n)=>{var r=stackSave();try{return dynCall(e,t,n)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),e[0]==`j`)return 0n}},`createInvokeFunction`),resolveGlobalSymbol=__name((e,t=!1)=>{var n;return isSymbolDefined(e)?n=wasmImports[e]:e.startsWith(`invoke_`)&&(n=wasmImports[e]=createInvokeFunction(e.split(`_`)[1])),{sym:n,name:e}},`resolveGlobalSymbol`),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.push(e),`addOnPostCtor`),UTF8ToString=__name((e,t,n)=>e?UTF8ArrayToString(HEAPU8,e,t,n):``,`UTF8ToString`),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=2**metadata.memoryAlign,memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||=moduleExports[e],t}__name(resolveSymbol,`resolveSymbol`);var proxyHandler={get(e,t){switch(t){case`__memory_base`:return memoryBase;case`__table_base`:return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var n;e[t]=(...e)=>(n||=resolveSymbol(t),n(...e))}return e[t]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf(`$`+arity)!=-1;arity++)args.push(`$`+arity);args=args.join(`,`);var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(__name(addEmAsm,`addEmAsm`),`__start_em_asm`in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!=`void`)for(var i in cSig=cSig.split(`,`),cSig){var jsArg=cSig[i].split(` `).pop();jsArgs.push(jsArg.replace(`*`,``))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,`addEmJs`),moduleExports)if(name.startsWith(`__em_js__`)){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split(`<::>`);addEmJs(name.replace(`__em_js__`,``),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,`postInstantiation`),flags.loadAsync)return(async()=>{var e;return binary instanceof WebAssembly.Module?e=new WebAssembly.Instance(binary,info):{module:binary,instance:e}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,e)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return __name(loadModule,`loadModule`),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},`loadWebAssemblyModule`),mergeLibSymbols=__name((e,t)=>{for(var[n,r]of Object.entries(e)){let e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},`setImport`);e(n);let t=`__main_argc_argv`;n==`main`&&e(t),n==t&&e(`main`)}},`mergeLibSymbols`),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},`asyncLoad`);function loadDynamicLibrary(e,t={global:!0,nodelete:!0},n,r){var a=LDSO.loadedLibsByName[e];if(a)return t.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):n&&Object.assign(n,a.exports),t.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,r&&(LDSO.loadedLibsByHandle[r]=a),t.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,r,`loading`),a.refcount=t.nodelete?1/0:1,a.global=t.global;function o(){if(r){var n=LE_HEAP_LOAD_U32((r+28>>2)*4),a=LE_HEAP_LOAD_U32((r+32>>2)*4);if(n&&a){var o=HEAP8.slice(n,n+a);return t.loadAsync?Promise.resolve(o):o}}var s=locateFile(e);if(t.loadAsync)return asyncLoad(s);if(!readBinary)throw Error(`${s}: file not found, and synchronous loading of external files is not available`);return readBinary(s)}__name(o,`loadLibData`);function s(){return t.loadAsync?o().then(a=>loadWebAssemblyModule(a,t,e,n,r)):loadWebAssemblyModule(o(),t,e,n,r)}__name(s,`getExports`);function c(t){a.global?mergeLibSymbols(t,e):n&&Object.assign(n,t),a.exports=t}return __name(c,`moduleLoaded`),t.loadAsync?s().then(e=>(c(e),!0)):(c(s()),!0)}__name(loadDynamicLibrary,`loadDynamicLibrary`);var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var n=resolveGlobalSymbol(e,!0).sym;if(!n&&!t.required)continue;if(typeof n==`function`)t.value=addFunction(n,n.sig);else if(typeof n==`number`)t.value=n;else throw Error(`bad export type for '${e}': ${typeof n}`)}},`reportUndefinedSymbols`),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=__name(e=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}},`removeRunDependency`),addRunDependency=__name(e=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},`addRunDependency`),loadDylibs=__name(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency(`loadDylibs`);for(var e of dynamicLibraries)await loadDynamicLibrary(e,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency(`loadDylibs`)},`loadDylibs`),noExitRuntime=!0;function setValue(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:HEAP8[e]=t;break;case`i8`:HEAP8[e]=t;break;case`i16`:LE_HEAP_STORE_I16((e>>1)*2,t);break;case`i32`:LE_HEAP_STORE_I32((e>>2)*4,t);break;case`i64`:LE_HEAP_STORE_I64((e>>3)*8,BigInt(t));break;case`float`:LE_HEAP_STORE_F32((e>>2)*4,t);break;case`double`:LE_HEAP_STORE_F64((e>>3)*8,t);break;case`*`:LE_HEAP_STORE_U32((e>>2)*4,t);break;default:abort(`invalid type for setValue: ${n}`)}}__name(setValue,`setValue`);var ___memory_base=new WebAssembly.Global({value:`i32`,mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:`i32`,mutable:!0},78240),___table_base=new WebAssembly.Global({value:`i32`,mutable:!1},1),__abort_js=__name(()=>abort(``),`__abort_js`);__abort_js.sig=`v`;var getHeapMax=__name(()=>2147483648,`getHeapMax`),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch{}},`growMemory`),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var n=getHeapMax();if(e>n)return!1;for(var r=1;r<=4;r*=2){var a=t*(1+.2/r);if(a=Math.min(a,e+100663296),growMemory(Math.min(n,alignMemory(Math.max(e,a),65536))))return!0}return!1},`_emscripten_resize_heap`);_emscripten_resize_heap.sig=`ip`;var _fd_close=__name(e=>52,`_fd_close`);_fd_close.sig=`ii`;var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),`bigintToI53Checked`);function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}__name(_fd_seek,`_fd_seek`),_fd_seek.sig=`iijip`;var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var n=printCharBuffers[e];t===0||t===10?((e===1?out:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},`printChar`),_fd_write=__name((e,t,n,r)=>{for(var a=0,o=0;o<n;o++){var s=LE_HEAP_LOAD_U32((t>>2)*4),c=LE_HEAP_LOAD_U32((t+4>>2)*4);t+=8;for(var l=0;l<c;l++)printChar(e,HEAPU8[s+l]);a+=c}return LE_HEAP_STORE_U32((r>>2)*4,a),0},`_fd_write`);_fd_write.sig=`iippp`;function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){let n=UTF8ToString(t);Module.currentLogCallback(n,e!==0)}}__name(_tree_sitter_log_callback,`_tree_sitter_log_callback`);function _tree_sitter_parse_callback(e,t,n,r,a){let o=10*1024,s=Module.currentParseCallback(t,{row:n,column:r});typeof s==`string`?(setValue(a,s.length,`i32`),stringToUTF16(s,e,10240)):setValue(a,0,`i32`)}__name(_tree_sitter_parse_callback,`_tree_sitter_parse_callback`);function _tree_sitter_progress_callback(e,t){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:e,hasError:t}):!1}__name(_tree_sitter_progress_callback,`_tree_sitter_progress_callback`);function _tree_sitter_query_progress_callback(e){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:e}):!1}__name(_tree_sitter_query_progress_callback,`_tree_sitter_query_progress_callback`);var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,`keepRuntimeAlive`),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},`_proc_exit`);_proc_exit.sig=`vi`;var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},`exitJS`),handleException=__name(e=>{if(e instanceof ExitStatus||e==`unwind`)return EXITSTATUS;quit_(1,e)},`handleException`),lengthBytesUTF8=__name(e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},`lengthBytesUTF8`),stringToUTF8Array=__name((e,t,n,r)=>{if(!(r>0))return 0;for(var a=n,o=n+r-1,s=0;s<e.length;++s){var c=e.codePointAt(s);if(c<=127){if(n>=o)break;t[n++]=c}else if(c<=2047){if(n+1>=o)break;t[n++]=192|c>>6,t[n++]=128|c&63}else if(c<=65535){if(n+2>=o)break;t[n++]=224|c>>12,t[n++]=128|c>>6&63,t[n++]=128|c&63}else{if(n+3>=o)break;t[n++]=240|c>>18,t[n++]=128|c>>12&63,t[n++]=128|c>>6&63,t[n++]=128|c&63,s++}}return t[n]=0,n-a},`stringToUTF8Array`),stringToUTF8=__name((e,t,n)=>stringToUTF8Array(e,HEAPU8,t,n),`stringToUTF8`),stackAlloc=__name(e=>__emscripten_stack_alloc(e),`stackAlloc`),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},`stringToUTF8OnStack`),AsciiToString=__name(e=>{for(var t=``;;){var n=HEAPU8[e++];if(!n)return t;t+=String.fromCharCode(n)}},`AsciiToString`),stringToUTF16=__name((e,t,n)=>{if(n??=2147483647,n<2)return 0;n-=2;for(var r=t,a=n<e.length*2?n/2:e.length,o=0;o<a;++o){var s=e.charCodeAt(o);LE_HEAP_STORE_I16((t>>1)*2,s),t+=2}return LE_HEAP_STORE_I16((t>>1)*2,0),t-r},`stringToUTF16`);LE_ATOMICS_NATIVE_BYTE_ORDER=new Int8Array(new Int16Array([1]).buffer)[0]===1?[(e=>e),(e=>e),void 0,(e=>e)]:[(e=>e),(e=>((e&65280)<<8|(e&255)<<24)>>16),void 0,(e=>e>>24&255|e>>8&65280|(e&65280)<<8|(e&255)<<24)];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(e=>e&65535),HEAPU32.unsigned=(e=>e>>>0)}if(__name(LE_HEAP_UPDATE,`LE_HEAP_UPDATE`),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit==`function`&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var ASM_CONSTS={},_malloc,_calloc,_realloc,_free,_ts_range_edit,_memcmp,_ts_language_symbol_count,_ts_language_state_count,_ts_language_abi_version,_ts_language_name,_ts_language_field_count,_ts_language_next_state,_ts_language_symbol_name,_ts_language_symbol_for_name,_strncmp,_ts_language_symbol_type,_ts_language_field_name_for_id,_ts_lookahead_iterator_new,_ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset,_ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol,_ts_point_edit,_ts_parser_delete,_ts_parser_reset,_ts_parser_set_language,_ts_parser_set_included_ranges,_ts_query_new,_ts_query_delete,_iswspace,_iswalnum,_ts_query_pattern_count,_ts_query_capture_count,_ts_query_string_count,_ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id,_ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture,_ts_query_disable_pattern,_ts_tree_copy,_ts_tree_delete,_ts_init,_ts_parser_new_wasm,_ts_parser_enable_logger_wasm,_ts_parser_parse_wasm,_ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm,_ts_language_metadata_wasm,_ts_language_supertypes_wasm,_ts_language_subtypes_wasm,_ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm,_ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm,_ts_node_named_child_count_wasm,_ts_node_child_wasm,_ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm,_ts_node_parent_wasm,_ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm,_ts_node_end_point_wasm,_ts_node_start_index_wasm,_ts_node_end_index_wasm,_ts_node_to_string_wasm,_ts_node_children_wasm,_ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm,_ts_node_has_changes_wasm,_ts_node_has_error_wasm,_ts_node_is_error_wasm,_ts_node_is_missing_wasm,_ts_node_is_extra_wasm,_ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm,_ts_query_matches_wasm,_ts_query_captures_wasm,_memset,_memcpy,_memmove,_iswalpha,_iswblank,_iswdigit,_iswlower,_iswupper,_iswxdigit,_memchr,_strlen,_strcmp,_strncat,_strncpy,_towlower,_towupper,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___wasm_apply_data_relocs;function assignWasmExports(e){Module._malloc=e.malloc,Module._calloc=_calloc=e.calloc,Module._realloc=e.realloc,Module._free=e.free,Module._ts_range_edit=e.ts_range_edit,Module._memcmp=e.memcmp,Module._ts_language_symbol_count=e.ts_language_symbol_count,Module._ts_language_state_count=e.ts_language_state_count,Module._ts_language_abi_version=e.ts_language_abi_version,Module._ts_language_name=e.ts_language_name,Module._ts_language_field_count=e.ts_language_field_count,Module._ts_language_next_state=e.ts_language_next_state,Module._ts_language_symbol_name=e.ts_language_symbol_name,Module._ts_language_symbol_for_name=e.ts_language_symbol_for_name,Module._strncmp=e.strncmp,Module._ts_language_symbol_type=e.ts_language_symbol_type,Module._ts_language_field_name_for_id=e.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=e.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=e.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=e.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=e.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=e.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=e.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=e.ts_point_edit,Module._ts_parser_delete=e.ts_parser_delete,Module._ts_parser_reset=e.ts_parser_reset,Module._ts_parser_set_language=e.ts_parser_set_language,Module._ts_parser_set_included_ranges=e.ts_parser_set_included_ranges,Module._ts_query_new=e.ts_query_new,Module._ts_query_delete=e.ts_query_delete,Module._iswspace=e.iswspace,Module._iswalnum=e.iswalnum,Module._ts_query_pattern_count=e.ts_query_pattern_count,Module._ts_query_capture_count=e.ts_query_capture_count,Module._ts_query_string_count=e.ts_query_string_count,Module._ts_query_capture_name_for_id=e.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=e.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=e.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=e.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=e.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=e.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=e.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=e.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=e.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=e.ts_query_disable_capture,Module._ts_query_disable_pattern=e.ts_query_disable_pattern,Module._ts_tree_copy=e.ts_tree_copy,Module._ts_tree_delete=e.ts_tree_delete,Module._ts_init=e.ts_init,Module._ts_parser_new_wasm=e.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=e.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=e.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=e.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=e.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=e.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=e.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=e.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=e.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=e.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=e.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=e.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=e.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=e.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=e.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=e.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=e.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=e.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=e.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=e.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=e.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=e.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=e.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=e.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=e.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=e.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=e.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=e.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=e.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=e.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=e.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=e.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=e.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=e.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=e.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=e.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=e.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=e.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=e.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=e.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=e.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=e.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=e.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=e.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=e.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=e.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=e.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=e.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=e.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=e.ts_node_child_wasm,Module._ts_node_named_child_wasm=e.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=e.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=e.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=e.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=e.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=e.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=e.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=e.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=e.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=e.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=e.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=e.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=e.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=e.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=e.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=e.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=e.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=e.ts_node_to_string_wasm,Module._ts_node_children_wasm=e.ts_node_children_wasm,Module._ts_node_named_children_wasm=e.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=e.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=e.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=e.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=e.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=e.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=e.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=e.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=e.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=e.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=e.ts_query_matches_wasm,Module._ts_query_captures_wasm=e.ts_query_captures_wasm,Module._memset=e.memset,Module._memcpy=e.memcpy,Module._memmove=e.memmove,Module._iswalpha=e.iswalpha,Module._iswblank=e.iswblank,Module._iswdigit=e.iswdigit,Module._iswlower=e.iswlower,Module._iswupper=e.iswupper,Module._iswxdigit=e.iswxdigit,Module._memchr=e.memchr,Module._strlen=e.strlen,Module._strcmp=e.strcmp,Module._strncat=e.strncat,Module._strncpy=e.strncpy,Module._towlower=e.towlower,Module._towupper=e.towupper,_setThrew=e.setThrew,__emscripten_stack_restore=e._emscripten_stack_restore,__emscripten_stack_alloc=e._emscripten_stack_alloc,_emscripten_stack_get_current=e.emscripten_stack_get_current,e.__wasm_apply_data_relocs}__name(assignWasmExports,`assignWasmExports`);var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(e=[]){var t=resolveGlobalSymbol(`main`).sym;if(t){e.unshift(thisProgram);var n=e.length,r=stackAlloc((n+1)*4),a=r;e.forEach(e=>{LE_HEAP_STORE_U32((a>>2)*4,stringToUTF8OnStack(e)),a+=4}),LE_HEAP_STORE_U32((a>>2)*4,0);try{var o=t(n,r);return exitJS(o,!0),o}catch(e){return handleException(e)}}}__name(callMain,`callMain`);function run(e=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function t(){Module.calledRun=!0,!ABORT&&(initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}__name(t,`doRun`),Module.setStatus?(Module.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>Module.setStatus(``),1),t()},1)):t()}__name(run,`run`);var wasmExports=await createWasm();return run(),moduleRtn=runtimeInitialized?Module:new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),moduleRtn}__name(Module2,`Module`);var web_tree_sitter_default=Module2,Module3=null;async function initializeBinding(e){return Module3??=await web_tree_sitter_default(e)}__name(initializeBinding,`initializeBinding`);function checkModule(){return!!Module3}__name(checkModule,`checkModule`);var TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION,Parser=class{static{__name(this,`Parser`)}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,`i32`),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}constructor(){this.initialize()}initialize(){if(!checkModule())throw Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,`i32`),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`)}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(!e)t=0,this.language=null;else if(e.constructor===Language){t=e[0];let n=C._ts_language_abi_version(t);if(n<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<n)throw Error(`Incompatible language version ${n}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}else throw Error(`Argument must be a Language`);return C._ts_parser_set_language(this[0],t),this}parse(e,t,n){if(typeof e==`string`)C.currentParseCallback=t=>e.slice(t);else if(typeof e==`function`)C.currentParseCallback=e;else throw Error(`Argument must be a string or a function`);n?.progressCallback?C.currentProgressCallback=n.progressCallback:C.currentProgressCallback=null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,a=0;if(n?.includedRanges){r=n.includedRanges.length,a=C._calloc(r,SIZE_OF_RANGE);let e=a;for(let t=0;t<r;t++)marshalRange(e,n.includedRanges[t]),e+=SIZE_OF_RANGE}let o=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,a,r);if(!o)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw Error(`Parser must have a language to parse`);let s=new Tree(INTERNAL,o,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,s}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);let e=C.getValue(TRANSFER_BUFFER,`i32`),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)n[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return n}setLogger(e){if(!e)this.logCallback=null;else if(typeof e!=`function`)throw Error(`Logger callback must be a function`);else this.logCallback=e;return this}getLogger(){return this.logCallback}},PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>e.type===`capture`,`isCaptureStep`),isStringStep=__name(e=>e.type===`string`,`isStringStep`),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,n,r,a){super(e.formatMessage(t,n)),this.kind=t,this.info=n,this.index=r,this.length=a,this.name=`QueryError`}static{__name(this,`QueryError`)}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}"`);let a=n===`eq?`||n===`any-eq?`,o=!n.startsWith(`any-`);if(isCaptureStep(e[2])){let n=e[1].name,s=e[2].name;r[t].push(e=>{let t=[],r=[];for(let a of e)a.name===n&&t.push(a.node),a.name===s&&r.push(a.node);let c=__name((e,t,n)=>n?e.text===t.text:e.text!==t.text,`compare`);return o?t.every(e=>r.some(t=>c(e,t,a))):t.some(e=>r.some(t=>c(e,t,a)))})}else{let n=e[1].name,s=e[2].value,c=__name(e=>e.text===s,`matches`),l=__name(e=>e.text!==s,`doesNotMatch`);r[t].push(e=>{let t=[];for(let r of e)r.name===n&&t.push(r.node);let r=a?c:l;return o?t.every(r):t.some(r)})}}__name(parseAnyPredicate,`parseAnyPredicate`);function parseMatchPredicate(e,t,n,r){if(e.length!==3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 2, got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);if(e[2].type!==`string`)throw Error(`Second argument of \`#${n}\` predicate must be a string. Got @${e[2].name}.`);let a=n===`match?`||n===`any-match?`,o=!n.startsWith(`any-`),s=e[1].name,c=new RegExp(e[2].value);r[t].push(e=>{let t=[];for(let n of e)n.name===s&&t.push(n.node.text);let n=__name((e,t)=>t?c.test(e):!c.test(e),`test`);return t.length===0?!a:o?t.every(e=>n(e,a)):t.some(e=>n(e,a))})}__name(parseMatchPredicate,`parseMatchPredicate`);function parseAnyOfPredicate(e,t,n,r){if(e.length<2)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected at least 1. Got ${e.length-1}.`);if(e[1].type!==`capture`)throw Error(`First argument of \`#${n}\` predicate must be a capture. Got "${e[1].value}".`);let a=n===`any-of?`,o=e[1].name,s=e.slice(2);if(!s.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let c=s.map(e=>e.value);r[t].push(e=>{let t=[];for(let n of e)n.name===o&&t.push(n.node.text);return t.length===0?!a:t.every(e=>c.includes(e))===a})}__name(parseAnyOfPredicate,`parseAnyOfPredicate`);function parseIsPredicate(e,t,n,r,a){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#${n}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error(`Arguments to \`#${n}\` predicate must be strings.".`);let o=n===`is?`?r:a;o[t]||(o[t]={}),o[t][e[1].value]=e[2]?.value??null}__name(parseIsPredicate,`parseIsPredicate`);function parseSetDirective(e,t,n){if(e.length<2||e.length>3)throw Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw Error('Arguments to `#set!` predicate must be strings.".');n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}__name(parseSetDirective,`parseSetDirective`);function parsePattern(e,t,n,r,a,o,s,c,l,u,d){if(t===PREDICATE_STEP_TYPE_CAPTURE){let e=r[n];o.push({type:`capture`,name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)o.push({type:`string`,value:a[n]});else if(o.length>0){if(o[0].type!==`string`)throw Error(`Predicates must begin with a literal value`);let t=o[0].value;switch(t){case`any-not-eq?`:case`not-eq?`:case`any-eq?`:case`eq?`:parseAnyPredicate(o,e,t,s);break;case`any-not-match?`:case`not-match?`:case`any-match?`:case`match?`:parseMatchPredicate(o,e,t,s);break;case`not-any-of?`:case`any-of?`:parseAnyOfPredicate(o,e,t,s);break;case`is?`:case`is-not?`:parseIsPredicate(o,e,t,u,d);break;case`set!`:parseSetDirective(o,e,l);break;default:c[e].push({operator:t,operands:o.slice(1)})}o.length=0}}__name(parsePattern,`parsePattern`);var Query=class{static{__name(this,`Query`)}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){let n=C.lengthBytesUTF8(t),r=C._malloc(n+1);C.stringToUTF8(t,r,n+1);let a=C._ts_query_new(e[0],r,n,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!a){let e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),n=C.getValue(TRANSFER_BUFFER,`i32`),a=C.UTF8ToString(r,n).length,o=t.slice(a,a+100).split(`
28
32
  `)[0],s=o.match(QUERY_WORD_REGEX)?.[0]??``;switch(C._free(r),e){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${a}: '${o}'...`},a,0);case QueryErrorKind.NodeName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.FieldName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.CaptureName:throw new QueryError(e,{word:s},a,s.length);case QueryErrorKind.PatternStructure:throw new QueryError(e,{suffix:`${a}: '${o}'...`},a,0)}}let o=C._ts_query_string_count(a),s=C._ts_query_capture_count(a),c=C._ts_query_pattern_count(a),l=Array(s),u=Array(c),d=Array(o);for(let e=0;e<s;e++){let t=C._ts_query_capture_name_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);l[e]=C.UTF8ToString(t,n)}for(let e=0;e<c;e++){let t=Array(s);for(let n=0;n<s;n++)t[n]=C._ts_query_capture_quantifier_for_id(a,e,n);u[e]=t}for(let e=0;e<o;e++){let t=C._ts_query_string_value_for_id(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);d[e]=C.UTF8ToString(t,n)}let f=Array(c),p=Array(c),m=Array(c),h=Array(c),g=Array(c);for(let e=0;e<c;e++){let t=C._ts_query_predicates_for_pattern(a,e,TRANSFER_BUFFER),n=C.getValue(TRANSFER_BUFFER,`i32`);h[e]=[],g[e]=[];let r=[],o=t;for(let t=0;t<n;t++){let t=C.getValue(o,`i32`);o+=SIZE_OF_INT;let n=C.getValue(o,`i32`);o+=SIZE_OF_INT,parsePattern(e,t,n,l,d,r,g,h,f,p,m)}Object.freeze(g[e]),Object.freeze(h[e]),Object.freeze(f[e]),Object.freeze(p[e]),Object.freeze(m[e])}C._free(r),this[0]=a,this.captureNames=l,this.captureQuantifiers=u,this.textPredicates=g,this.predicates=h,this.setProperties=f,this.assertedProperties=p,this.refutedProperties=m,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_matches_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=Array(m);this.exceededMatchLimit=!!g;let v=0,y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=Array(n);if(y=unmarshalCaptures(this,e.tree,y,t,r),this.textPredicates[t].every(e=>e(r))){_[v]={patternIndex:t,captures:r};let e=this.setProperties[t];_[v].setProperties=e;let n=this.assertedProperties[t];_[v].assertedProperties=n;let a=this.refutedProperties[t];_[v].refutedProperties=a,v++}}return _.length=v,C._free(h),C.currentQueryProgressCallback=null,_}captures(e,t={}){let n=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,a=t.startIndex??0,o=t.endIndex??0,s=t.startContainingPosition??ZERO_POINT,c=t.endContainingPosition??ZERO_POINT,l=t.startContainingIndex??0,u=t.endContainingIndex??0,d=t.matchLimit??4294967295,f=t.maxStartDepth??4294967295,p=t.progressCallback;if(typeof d!=`number`)throw Error(`Arguments must be numbers`);if(this.matchLimit=d,o!==0&&a>o)throw Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(n.row>r.row||n.row===r.row&&n.column>r.column))throw Error("`startPosition` cannot be greater than `endPosition`");if(u!==0&&l>u)throw Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(c!==ZERO_POINT&&(s.row>c.row||s.row===c.row&&s.column>c.column))throw Error("`startContainingPosition` cannot be greater than `endContainingPosition`");p&&(C.currentQueryProgressCallback=p),marshalNode(e),C._ts_query_captures_wasm(this[0],e.tree[0],n.row,n.column,r.row,r.column,a,o,s.row,s.column,c.row,c.column,l,u,d,f);let m=C.getValue(TRANSFER_BUFFER,`i32`),h=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,`i32`),g=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,`i32`),_=[];this.exceededMatchLimit=!!g;let v=[],y=h;for(let t=0;t<m;t++){let t=C.getValue(y,`i32`);y+=SIZE_OF_INT;let n=C.getValue(y,`i32`);y+=SIZE_OF_INT;let r=C.getValue(y,`i32`);if(y+=SIZE_OF_INT,v.length=n,y=unmarshalCaptures(this,e.tree,y,t,v),this.textPredicates[t].every(e=>e(v))){let e=v[r];e.setProperties=this.setProperties[t],e.assertedProperties=this.assertedProperties[t],e.refutedProperties=this.refutedProperties[t],_.push(e)}}return C._free(h),C.currentQueryProgressCallback=null,_}predicatesForPattern(e){return this.predicates[e]}disableCapture(e){let t=C.lengthBytesUTF8(e),n=C._malloc(t+1);C.stringToUTF8(e,n,t+1),C._ts_query_disable_capture(this[0],n,t),C._free(n)}disablePattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],e)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],e)}endIndexForPattern(e){if(e>=this.predicates.length)throw Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],e)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(e){return this.captureNames.indexOf(e)}isPatternRooted(e){return C._ts_query_is_pattern_rooted(this[0],e)===1}isPatternNonLocal(e){return C._ts_query_is_pattern_non_local(this[0],e)===1}isPatternGuaranteedAtStep(e){return C._ts_query_is_pattern_guaranteed_at_step(this[0],e)===1}},_shadows={},BaseNode=class{constructor(e){Object.assign(this,e)}get depth(){return this._depth??(this.parent==null?this._depth=0:this._depth=this.parent.depth+1),this._depth}get length(){return this.children?.length||0}*[Symbol.iterator](){yield*this.children||[]}get hasChildren(){return(this.children?.length||0)>0}get hardChildren(){return(this.children||[]).filter(e=>e instanceof Node$1)}get fields(){return{}}get fieldNames(){return[]}get indent(){return this.tree.codeString.match(RegExp(`^(?:.*\\r?\\n){${this.startPosition.row}}(\\s*)`))[1]}toJSON(){let e={};return this.children?.length?{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,children:this.children.map(e=>e.toJSON())}:{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,text:this.text,children:[]}}[Symbol.for(`Deno.customInspect`)](e,t){let n={},r;try{r=this.text}catch{r=void 0}return r==null?this:e({"":r.length<60?r:r.slice(0,30)+`...`+r.slice(-27),type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...n,hasChildren:this.hasChildren,children:[...this.children||[]]},t)}*iterFlattened(){}flattened(){return[]}replaceInnards(e){let t=this.tree,n=this.tree.codeString,r=_shadows[this.id]||this;r._children=[],r._fields={};let{startPosition:a,endPosition:o,startIndex:s,endIndex:c}=r,l=e.match(/\n/g)?.length||0,u=a.column;u=l==0?a.column+e.length:e.split(`
29
33
  `).slice(-1)[0].length,t.edit({startIndex:s,oldEndIndex:c,newEndIndex:s+e.length,startPosition:a,oldEndPosition:o,newEndPosition:{row:a.row+l,column:u}}),this.tree.codeString=n.slice(0,s)+e+n.slice(c)}},SoftNode=class extends BaseNode{children=[];constructor(e){super(e)}get startIndex(){return this._startIndexOffset+this.getReferencePoint().index}get startPosition(){return{row:this._startRowOffset+this.getReferencePoint().position.row,column:this._startColOffset+this.getReferencePoint().position.column}}get endIndex(){return this._endIndexOffset+this.getReferencePoint().index}get endPosition(){return{row:this._endRowOffset+this.getReferencePoint().position.row,column:this._endColOffset+this.getReferencePoint().position.column}}},WhitespaceNode=class extends SoftNode{constructor({parent:e,...t}){super({...t,type:`whitespace`,typeId:-1}),this._parent=e}get parent(){return this._parent}},SoftTextNode=class extends SoftNode{constructor({parent:e,...t}){super({...t,type:`text`,typeId:-2}),this._parent=e}get parent(){return this._parent}};function _getQueryCaptureTargets(e){return e.includes(`@`)?e.replace(/"(?:\\(?:[^xu0-7]|[0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]+})|[^\"\\])*"/g,``).match(/(?<=@)([a-zA-Z0-9.\-_\$]+)/g):[]}var realRootNodeGetter=Object.getOwnPropertyDescriptor(Tree.prototype,`rootNode`).get;Object.defineProperty(Tree.prototype,"rootNode",{get(){let e=realRootNodeGetter.call(this),t={};Object.setPrototypeOf(t,Object.getPrototypeOf(e));let n=Object.assign(Object.getOwnPropertyDescriptors(Node$1.prototype),Object.getOwnPropertyDescriptors(e)),r={};for(let[t,a]of Object.entries(n))if(t==`startIndex`||t==`startPosition`)continue;else t==`text`||t==`replaceInnards`?r[t]=a:r[t]={get:()=>{let n=e[t];return typeof n==`function`?(...t)=>n.apply(e,t):n},set:n=>e[t]=n,enumerable:a.enumerable,configurable:a.configurable};return Object.setPrototypeOf(t,Node$1.prototype),Object.defineProperties(t,r),t.startIndex=0,t.startPosition={row:0,column:0},t.children.length==0&&t.endIndex!=0&&(t._children=_childrenWithSoftNodes(t,[{startIndex:t.endIndex,endIndex:t.endIndex,endPosition:t.endPosition}],e.tree.codeString).slice(0,-1)),_shadows[e.id]=t,t}});var originalDescriptors=Object.getOwnPropertyDescriptors(Node$1.prototype),originalChildrenGetter=originalDescriptors.children.get,originalEndIndex=originalDescriptors.endIndex.get,originalEndPosition=originalDescriptors.endPosition.get,originalParent=originalDescriptors.parent.get,originalTextGetter=originalDescriptors.text.get,originalEquals=originalDescriptors.equals.value,originalToString=originalDescriptors.toString.value,HardNode=class extends BaseNode{_children;_fields;_depth;id;startIndex;startPosition;tree;type;isExtra;isError;isMissing;hasChanges;hasError;equals=originalEquals;get parent(){let e=originalParent.call(this);return _shadows[e?.id]||e}get text(){return originalTextGetter.call(_shadows[this.id]||this)}get endIndex(){return this.depth==0?this.tree.codeString.length:originalEndIndex.call(this)}get endPosition(){if(this.depth==0){let e=(this.tree.codeString.match(/\n/g)||[]).length;return{row:e,column:this.tree.codeString.match(RegExp(`^(?:.*\\r?\\n){${e}}(.*)`))[1].length}}return originalEndPosition.call(this)}get children(){return this._children||(this._children=originalChildrenGetter.call(this),this.tree._enableSoftNodes&&(this._children=_childrenWithSoftNodes(this,this._children||[],this.tree.codeString))),this._children||[]}set children(e){this._children=e}*traverse(e={_parentNodes:[]}){let{_parentNodes:t}=e,n=[this,...t];if(this.children?.length==0)yield[t,this,`-`];else{yield[t,this,`->`];for(let e of this.children||[])if(e instanceof Node$1)for(let t of e.traverse({_parentNodes:n}))yield t;else yield[n,e,`-`];yield[t,this,`<-`]}}*iterFlattened({filter:e,includeSelf:t=!1}={}){if(t&&(yield this),typeof e==`function`)for(let t of this.children||[]){e(t)&&(yield t);for(let n of t.iterFlattened({filter:e}))yield n}else for(let t of this.children||[]){yield t;for(let n of t.iterFlattened({filter:e}))yield n}}iterFlatten(){throw Error(`did you mean iterFlattened instead of iterFlatten?`)}flattened({filter:e,includeSelf:t=!1}={}){return[...this.iterFlattened({filter:e,includeSelf:t})]}flatten(){throw Error(`did you mean flattened instead of flatten?`)}query(e,t){let{matchLimit:n,startPosition:r,endPosition:a,maxResultDepth:o}=t||{},s=o??1/0,c;try{c=new Query(this.tree.language,e)}catch(t){throw t.name===`QueryError`&&(t.message=`${t.message} in the following query: ${JSON.stringify(e)}`),t}let l=c.matches(this,r||this.startPosition,a||this.endPosition,n),u=l.filter(e=>e.captures.every(e=>e.node.depth-this.depth<=s)),d=this.tree.codeString;for(let e of u)for(let t of e.captures)t.node.children=_childrenWithSoftNodes(t.node,t.node.children,d);return l.filter(e=>e.captures.every(e=>e.node.depth-this.depth<=s))}quickQuery(e,t){let n=_getQueryCaptureTargets(e),r=`_`;for(;n.includes(r);)r=`${r}_`;return e=`${e} @${r}`,this.query(e,t).map(e=>{let t=Object.fromEntries(e.captures.map(e=>[e.name,e.node]));return n.length==0?t[r]:(t[0]=t[r],delete t[r],t)})}quickQueryFirst(e,t){return this.quickQuery(e,{...t,matchLimit:1})[0]}get fields(){if(!this._fields){this._fields={};let e=-1;for(let t of this.children||[]){if(t.typeId<=0)continue;e++;let n=this.fieldNameForChild(e);n&&(this._fields[n]=t)}}return this._fields}get fieldNames(){return Object.keys(this.fields)}getQueryForSelf(){let e=this,t=[];for(;e;)e.type&&(e.isNamed&&e.type.match(/^([a-zA-Z0-9.\-_\$]+)$/)?t.push(e.type):t.push(JSON.stringify(e.type))),e=e.parent;return`(`+t.reverse().join(` (`)+`)`.repeat(t.length)}asLispString(){return originalToString.call(this)}},descriptors=Object.getOwnPropertyDescriptors(HardNode.prototype);delete descriptors.constructor,Object.defineProperties(Node$1.prototype,descriptors),Object.setPrototypeOf(Node$1.prototype,BaseNode.prototype);var _childrenWithSoftNodes=(e,t,n)=>{if(t?.length>0){let r=[],a=[...t],o=a.shift(),s=(t,n,a)=>{let{index:o,position:s}=n(),c=o,l=s,u=t.split(/(?<!\s)(?=\s+)/g),d=l.column,f=l.row;for(let t of u){if(t.length==0)continue;let l=c+t.length;if(t.match(/^\s/)){let u=f,p=d;f+=(t.match(/\n/g)||[]).length,u==f?d+=t.length:d=t.split(`
30
34
  `).slice(-1)[0].length,r.push(new WhitespaceNode({tree:e.tree,parent:a,getReferencePoint:n,text:t,_startIndexOffset:c-o,_startRowOffset:u-s.row,_startColOffset:p-s.column,_endIndexOffset:l-o,_endRowOffset:f-s.row,_endColOffset:d-s.column,children:[]}))}else{let u=d;d+=t.length,r.push(new SoftTextNode({tree:e.tree,parent:a,getReferencePoint:n,text:t,_startIndexOffset:c-o,_startRowOffset:f-s.row,_startColOffset:u-s.column,_endIndexOffset:l-o,_endRowOffset:f-s.row,_endColOffset:d-s.column,children:[]}))}c=l}};if(e.startIndex!=o.startIndex){let t=n.slice(e.startIndex,o.startIndex),r=e;s(t,()=>({index:r.startIndex,position:r.startPosition}),e)}r.push(o);let c=o;for(let t of a){if(c.endIndex!=t.startIndex){let r=n.slice(c.endIndex,t.startIndex),a=c;s(r,()=>({index:a.endIndex,position:a.endPosition}),e)}r.push(t),c=t}if(c.endIndex!=e.endIndex){let t=n.slice(c.endIndex,e.endIndex),r=c;s(t,()=>({index:r.endIndex,position:r.endPosition}),e)}return r}},ExtendedParser=class extends Parser{disableSoftNodes=!1;parse(e,t,n){typeof e==`function`&&(console.warn(`When calling .parse() the source code was a function instead of a string. The original tree sitter supports giving a function as a means of supporting edits (see: https://github.com/tree-sitter/tree-sitter/discussions/2553 ).
@@ -89,11 +93,7 @@ The downside of making edits easy is that .parse() doesn't really accept a funct
89
93
  `,e)}],fence:[(e,t)=>{t.current.log(`<pre>`+e.content+`</pre>
90
94
  `,e)}],code_block:[(e,t)=>{t.current.log(`<pre>`+e.content+`</pre>
91
95
  `,e)}],hr:[(e,t)=>{t.current.log(`<hr />
92
- `,e)}],html_block:[(e,t)=>{t.current.log(e.content,e)}]}}function getHeaderTokensHandlers(){let e=Object.entries(getBasicTokensHandlers()).filter(e=>[`heading_close`].includes(e[0])),t=Object.entries(getInlineTokensHandlers()).filter(e=>[`text`,`link_open`,`link_close`].includes(e[0]));return{...Object.fromEntries(t),...Object.fromEntries(e),default:[]}}function getBasicTokensHandlers(){return{frontmatter:[(e,t)=>{t.current.log(`---
93
- `+e.content+`
94
- ---
95
-
96
- `,e)}],heading_open:[(e,t)=>{t.stash(`getBasicTokensHandlers.heading_open`),t.current.handlers=getHeaderTokensHandlers(),e.markup!==`---`&&t.current.log(`#`.repeat(+e.tag.substring(1))+` `,e)}],heading_close:[(e,t)=>{e.markup===`---`&&t.current.log(`
96
+ `,e)}],html_block:[(e,t)=>{t.current.log(e.content,e)}]}}function getHeaderTokensHandlers(){let e=Object.entries(getBasicTokensHandlers()).filter(e=>[`heading_close`].includes(e[0])),t=Object.entries(getInlineTokensHandlers()).filter(e=>[`text`,`link_open`,`link_close`].includes(e[0]));return{...Object.fromEntries(t),...Object.fromEntries(e),default:[]}}function getBasicTokensHandlers(){return{frontmatter:[(e,t)=>{t.current.log(e.content,e)}],heading_open:[(e,t)=>{t.stash(`getBasicTokensHandlers.heading_open`),t.current.handlers=getHeaderTokensHandlers(),e.markup!==`---`&&t.current.log(`#`.repeat(+e.tag.substring(1))+` `,e)}],heading_close:[(e,t)=>{e.markup===`---`&&t.current.log(`
97
97
  `+e.markup+`
98
98
  `,e),t.current.log(`
99
99
  `,e),t.unstash(`getBasicTokensHandlers.heading_close`)}],paragraph_open:[(e,t)=>{t.current.log(``,e)}],paragraph_close:[(e,t)=>{t.output.colPos!==0&&t.current.log(`
@@ -168,15 +168,21 @@ The downside of making edits easy is that .parse() doesn't really accept a funct
168
168
  `),!this.endsWithEmptyLine)){if(e.nesting!==-1&&e.level===0){let n=t[e.level];if(n?.type&&n.attrGet(`margin_after`)&&e.attrGet(`margin_before`)){let t=n.type.endsWith(`_list_close`)&&e.type.endsWith(`_list_open`),r=n.type===`bullet_list_close`&&e.type===`bullet_list_open`,a=e.attrGet(`first_level_type`)===`none`,o=n?.attrGet(`first_level_type`)===`none`;(!a&&!o&&!r||!t)&&this.ctx.current.log(`
169
169
  `)}}else if(e.nesting!==-1&&e.level===1&&e.type===`dt_open`){let n=t[e.level]?.type||``;[`dt_close`,`dd_close`].includes(n)&&this.ctx.current.log(`
170
170
  `)}}if(e.nesting!==-1&&e.level>0){let n=t[e.level]?.type||``;[`paragraph_close`].includes(n)&&this.ctx.current.blockquoteCnt===e.level&&writeIndented(this.ctx.output,`
171
- `,this.ctx.current,e)}let a=this.ctx.current.handlers[e.type]||this.ctx.current.handlers.default;if(e.type===`inline`){if(e.children){this.ctx.stash(`serializeInlineTokens()`),this.ctx.current.log=(e,t)=>{writeIndented(this.ctx.output,e,this.ctx.current,t)};try{serializeInlineTokens(this.ctx,n,e.children),this.ctx.unstash(`serializeInlineTokens()`)}catch(e){if(this.ctx.current.debug(e.message),e.message===`Rewinded before inline tokens`)return;throw e}}}else if(a){for(let t of a)if(t(e,this.ctx,n))break}else throw this.ctx.current.debug(`current.handlers`,Object.keys(this.ctx.current.handlers).sort()),Error(`Unknown token: ${e.type} `+JSON.stringify(e));t[e.level]=e,e.nesting===-1&&(t[e.level+1]=new Token(``,``,e.nesting))}),this.ctx.output}},blankMark={open:``,close:``,mixable:!0},blankNode$1={open:``,close:``};function generateInlineTokens(e){let t=[],n=-1,r=``;for(let[a,o]of e){if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline1`,e.map=[n],e.content=r,t.push(e)}r=``,n=o,r+=a}if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline2`,e.map=[n],e.content=r,t.push(e)}return t}var nullNode={isText:!1,attrs:{},text:``,marks:[]},DocumentMarkdownInlineTokenizer=class{nodes;marks;options;schema;constructor(e,t,n,r){this.nodes=e,this.marks=t,this.options=n,this.schema=r}getMark(e){return this.marks[e]||blankMark}async renderInline(e,t,n){let r=[],a=[],o=[],s=async(s,c,l)=>{let u=t+c,d=s?s.marks:[];`type`in s&&s.type.name===this.options.hardBreakNodeName&&(d=d.filter(t=>{if(l+1==e.childCount)return!1;let n=e.child(l+1);return t.isInSet(n.marks)&&(!n.isText||/\S/.test(n.text))}));let f=a.splice(0,a.length);if(s?.isText&&d.some(e=>{let t=this.getMark(e.type.name);return t&&t.expelEnclosingWhitespace&&!e.isInSet(r)})){let[e,t,n]=/^(\s*)(.*)$/m.exec(s.text);t&&(f.push([t,u]),s=n?this.schema.text(n,s.marks):nullNode,s||(d=r))}if(s&&s.isText&&d.some(t=>{let n=this.getMark(t.type.name);return n&&n.expelEnclosingWhitespace&&(l==e.childCount-1||!t.isInSet(e.child(l+1).marks))})){let[e,t,n]=/^(.*?)(\s*)$/m.exec(s.text);n&&(a.push([n,u]),s=t?this.schema.text(t,s.marks):nullNode,s||(d=r))}let p=d.length?d[d.length-1]:null,m=p&&this.getMark(p.type.name).escape===!1,h=d.length-+!!m;outer:for(let e=0;e<h;e++){let t=d[e];if(!this.getMark(t.type.name).mixable)break;for(let n=0;n<r.length;n++){let a=r[n];if(!this.getMark(a.type.name).mixable)break;if(t.eq(a)){e>n?d=d.slice(0,n).concat(t).concat(d.slice(n,e)).concat(d.slice(e+1,h)):n>e&&(d=d.slice(0,e).concat(d.slice(e+1,n)).concat(t).concat(d.slice(n,h)));continue outer}}}let g=0;for(;g<Math.min(r.length,h)&&d[g].eq(r[g]);)++g;for(;g<r.length;){let e=r.pop();await this.markString(e,!1,o)}for(o.push(...generateInlineTokens(f.splice(0,f.length)));r.length<h;){let e=d[r.length];r.push(e),await this.markString(e,!0,o)}if(m&&s.isText){if(await this.markString(p,!0,o),s.text){let e=new Token(`text`,``,0);e.meta=`noEscText`,e.map=[u],e.content=s.text,o.push(e)}await this.markString(p,!1,o)}else{let e=`type`in s&&this.nodes[s.type.name]?this.nodes[s.type.name](s,t):blankNode$1,r=``;if(`type`in s&&s.type.spec.toDOM){let e=s.type.spec.toDOM(s);Array.isArray(e)&&e.length>0&&(r=e[0])}if(e.selfClose){if(typeof e.selfClose==`string`){let t=new Token(e.selfClose,r,0);t.meta=`nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}else if(`type`in s){let t=await e.selfClose(s,u,l);t.meta=`!nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}}}},c=0;for(let t=0;t<e.childCount;t++){let n=e.child(t);await s(n,c,t),c+=n.nodeSize}for(;r.length>0;){let e=r.pop();await this.markString(e,!1,o)}return o.push(...generateInlineTokens(a.splice(0,a.length))),o}async markString(e,t,n){let r=this.getMark(e.type.name),a=t?r.open:r.close;if(!a){console.warn(`Unsupported mark type for markdown: `+e.type.name+`, available types: `+Object.keys(this.marks).join(`, `)+`. Mark will be ignored.`);return}typeof a==`string`||a(e);let o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e,!0);Array.isArray(t)&&t.length>0&&(o=t[0])}if(typeof a==`string`){let e=new Token(a,o,t?1:-1);e.meta=`markString`,n.push(e)}else{let t=await a(e);t&&(t.meta=t.meta||`markString()`,n.push(t))}}},blankNode={open:``,close:``},DocumentMarkdownTokenizer=class{nodes;marks;schema;options;tokens=[];inlineTokenizer;constructor(e,t,n,r={hardBreakNodeName:`hard_break`}){this.nodes=e,this.marks=t,this.schema=n,this.options=r,this.inlineTokenizer=new DocumentMarkdownInlineTokenizer(e,t,r,n)}async iterateNode(e,t,n=0,r=-1){let a=this.nodes[e.type.name]?this.nodes[e.type.name](e,t):blankNode,o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e);Array.isArray(t)&&t.length>0&&(o=t[0])}if(a.selfClose){let s;if(typeof a.selfClose==`string`){let e=new Token(a.selfClose,o,0);e.level=r,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.selfClose(e,t,n);o.level=r,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`),[`after`,`both`].includes(a.margin||``)&&s.attrSet(`margin_after`,`1`);return}let s;if(a.open){if(typeof a.open==`string`){let e=new Token(a.open,o,1);e.level=r,e.meta=`nodeSpec.open`,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.open(e,t,n);o.level=r,o.meta=`nodeSpec.open()`,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`)}if(e.inlineContent){let n=new Token(`inline`,``,0);n.level=r+1,n.map=[t],this.tokens.push(n),n.children=await this.inlineTokenizer.renderInline(e,t+1,r+1)}else if(e.childCount>0){let n=0;for(let a=0;a<e.childCount;a++){let o=e.child(a);await this.iterateNode(o,t+n+1,a,r+1),n+=o.nodeSize}}if(a.close){if(!s)throw Error(`No openToken`);let c;if(typeof a.close==`string`){let e=new Token(a.close,o,-1);e.meta=`nodeSpec.close`,e.level=r,this.tokens.push(e),c=e}else{let o=await a.close(e,t,n,s);o.meta=`nodeSpec.close()`,o.level=r,this.tokens.push(o),c=o}[`after`,`both`].includes(a.margin||``)&&c.attrSet(`margin_after`,`1`)}}async serialize(e,t={}){return await this.iterateNode(e,-1,0),this.tokens}},MdStashContext=class{ctxStash=[];currentCtx;constructor(){this.currentCtx={meta:{}},this.stash()}stash(){return this.ctxStash.push(this.currentCtx),this.currentCtx={...structuredClone({...this.currentCtx})},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}get current(){return this.currentCtx}};async function pmToMdConverter(e,t,n,r){let a=await extPmToMdConverter(e,t,n,r);return new TextEncoder().encode(a.content)}async function extPmToMdConverter(e,t,n,r){let a=new MdStashContext,o,s=new DocumentMarkdownTokenizer({paragraph(e){return{open:async(e,t,n)=>{let r=new Token(`paragraph_open`,`p`,1);return o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t,n,r)=>{let a=new Token(`paragraph_close`,`p`,-1),o;return e.children.length===1&&e.children[0].type.name===`shortcode_inline`&&(o=e.children[0]),o?(o.attrs.nesting!==-1&&r.attrSet(`margin_before`,`1`),o.attrs.nesting!==1&&a.attrSet(`margin_after`,`1`)):(r.attrSet(`margin_before`,`1`),a.attrSet(`margin_after`,`1`)),a}}},hr(e){return{selfClose:`hr`,margin:`both`}},heading(e){return{open:async e=>{if(!e.attrs.level)throw Error(`No heading level`);return new Token(`heading_open`,`h`+e.attrs.level,1)},close:`heading_close`,margin:`both`}},blockquote(e){return{open:`blockquote_open`,close:`blockquote_close`}},math(){return{selfClose:async e=>{let t=new Token(`math`,`math`,0);return t.content=e.attrs.content,t.attrSet(`lang`,e.attrs.lang),t.meta=`noEscText`,t}}},task_list(e){return{open:async e=>{a.stash(),a.current.meta.list_type=`tl`,a.current.meta.list_type_symbol=``;let t=new Token(`task_list_open`,`ul`,1);return t.attrSet(`symbol`,`*`),t},close:async e=>(a.unstash(),new Token(`task_list_close`,`ul`,-1)),margin:`both`}},bullet_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ul`,a.current.meta.list_type_symbol=`*`;let r=new Token(`bullet_list_open`,`ul`,1);r.attrSet(`symbol`,`*`);let s=o.nodeAt(t+1);s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type);let c=o.resolve(t),l=c.parent;return c.node(c.depth-1),l?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`bullet_list_close`,`ul`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},ordered_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ol`,a.current.meta.list_type_symbol=e.attrs.type||`1`;let r=new Token(`ordered_list_open`,`ol`,1);r.attrSet(`symbol`,e.attrs.type||`1`),r.attrSet(`start`,e.attrs.start);let s=o.nodeAt(t+1);return s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type),o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`ordered_list_close`,`ol`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},list_item(e){return{open:async e=>{let t=new Token(`list_item_open`,`li`,1);return e.attrs.value&&t.attrSet(`value`,e.attrs.value),e.attrs.type&&t.attrSet(`type`,e.attrs.type),a.current.meta.list_type===`ul`&&(t.markup=a.current.meta.list_type_symbol||`-`),t},close:`list_item_close`}},task_item(e){return{open:async e=>{let t=new Token(`task_item_open`,`li`,1);return t.attrSet(`checked`,e.attrs.checked?`checked`:``),t},close:`task_item_close`}},table(e){return{open:`table_open`,close:`table_close`,margin:`both`}},table_row(e){return{open:`tr_open`,close:`tr_close`}},table_cell(e){return{open:`td_open`,close:`td_close`}},table_header(e){return{open:`th_open`,close:`th_close`}},br(e){return{selfClose:`hardbreak`}},softbreak(e){return{selfClose:`softbreak`}},text(e){return{selfClose:e=>{let t=new Token(`text`,``,0);return t.content=e.text||``,Promise.resolve(t)}}},code_block(e){return{selfClose:e=>{let t=new Token(`code_block`,`code`,0);return t.meta=`noEscText`,t.attrSet(`lang`,e.attrs.lang),t.content=e.textContent,Promise.resolve(t)},margin:`both`}},image(e){return{selfClose:e=>{let t=e.attrs.src,n=e.attrs.alt,r=new Token(`image`,`img`,0);return r.attrSet(`src`,t),r.attrSet(`alt`,n),r.attrSet(`origUrl`,e.attrs.origUrl),e.attrs.title&&r.attrSet(`title`,e.attrs.title),r.attrSet(`mdTemplate`,e.attrs.mdTemplate),Promise.resolve(r)}}},shortcode_inline(e){return{selfClose:e=>{let t=new Token(`shortcode_inline`,`shortcode_inline`,0);return t.content=e.attrs.content,Promise.resolve(t)}}},node_bookmark(e){return{selfClose:e=>{let t=new Token(`bookmark`,`bookmark`,0);return t.content=e.attrs.content,t.attrSet(`id`,e.attrs.id),Promise.resolve(t)}}}},{em:{open:`em_open`,close:`em_close`,mixable:!0,expelEnclosingWhitespace:!0},underline:{open:`underline_open`,close:`underline_close`,mixable:!0,expelEnclosingWhitespace:!0},strong:{open:`strong_open`,close:`strong_close`,mixable:!0,expelEnclosingWhitespace:!0},strike:{open:`strike_open`,close:`strike_close`,mixable:!0,expelEnclosingWhitespace:!0},math:{open:`math_inline_open`,close:`math_inline_close`},link:{open:async e=>{let t=new Token(`link_open`,`a`,1);return t.attrSet(`href`,e.attrs.href),t.attrSet(`origUrl`,e.attrs.origUrl),t.attrSet(`mdTemplate`,e.attrs.mdTemplate),t},close:`link_close`,mixable:!0},code:{open:`code_open`,close:`code_close`,escape:!1}},n),c=[...t.hooks||[]],l=EditorState.create({doc:e}),u=e=>{l=l.apply(e)};if(c.length>0)for(let e of c)await e(l,e=>u(e));o=l.doc;let d=await s.serialize(o);if(t.debugTokens){let e=new CustomEvent(`md:tokens`,{detail:{tokens:d}});r.dispatchEvent(e)}let f=await new MarkdownSerializer({debug:t.serializerDebug}).serialize(d),p=new CustomEvent(`md:output`,{detail:{output:f}});r.dispatchEvent(p);let m={},h=[],g;if(t.sourceMap){let t=new SmartOutput;nodeToTreeStringOutput(t,e),t.getSourceMap((e,t,n,r)=>{r&&(m[r.pos]={targetRow:e,targetCol:t})}),g=f.getSourceMap((e,t,n,r)=>{if(r?.map){let a=r.map[0],o=r.map[2];if(h.push({nodeIdx:a,targetPos:n,targetRow:e,targetCol:t,sourceCol:o}),m[a])return{sourceNo:0,sourceRowPos:m[a].targetRow,sourceColPos:m[a].targetCol}}}),g.file=`target.md`,g.sources=[`debug.txt`],g.sourcesContent=[t.toString()]}if(t.dispatchSourceMap){let e=new CustomEvent(`md:sourcemap`,{detail:{sourceMap:g,debugMap:m,rawTextMap:h}});r.dispatchEvent(e)}return{content:f.toString(),sourceMap:g,debugMap:m,rawTextMap:h}}var removeWhitespaces=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces(r)}return e};function elementFromString(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces(n)}function maybeMerge(e,t){if(e.isText&&t.isText&&Mark$1.sameSet(e.marks,t.marks))return e.withText(e.text+t.text)}var MarkdownParseState=class{schema;tokenHandlers;stack;constructor(e,t){this.schema=e,this.tokenHandlers=t,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:Mark$1.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let t=this.top(),n=t.content,r=n[n.length-1],a=this.schema.text(e,t.marks),o;r&&(o=maybeMerge(r,a))?n[n.length-1]=o:n.push(a)}openMark(e){let t=this.top();t.marks=e.addToSet(t.marks)}closeMark(e){let t=this.top();t.marks=e.removeFromSet(t.marks)}parseTokens(e){for(let t=0;t<e.length;t++){let n=e[t],r=this.tokenHandlers[n.type];if(!r)throw console.log(Object.keys(this.tokenHandlers)),Error("Token type `"+n.type+"` not supported by Markdown parser");r(this,n,e,t)}}addNode(e,t,n){let r=this.top(),a=e.createAndFill(t,n,r?r.marks:[]);return a?(this.push(a),a):null}openNode(e,t){this.stack.push({type:e,attrs:t,content:[],marks:Mark$1.none})}closeNode(){let e=this.stack.pop();return this.addNode(e.type,e.attrs,e.content)}importNodes(e){for(let t of e)this.push(t)}};function attrs(e,t,n,r){return e.getAttrs?e.getAttrs(t,n,r):e.attrs instanceof Function?e.attrs(t):e.attrs}function noCloseToken(e,t){return e.noCloseToken||t==`code_block`||t==`fence`}function withoutTrailingNewline(e){return e[e.length-1]==`
171
+ `,this.ctx.current,e)}let a=this.ctx.current.handlers[e.type]||this.ctx.current.handlers.default;if(e.type===`inline`){if(e.children){this.ctx.stash(`serializeInlineTokens()`),this.ctx.current.log=(e,t)=>{writeIndented(this.ctx.output,e,this.ctx.current,t)};try{serializeInlineTokens(this.ctx,n,e.children),this.ctx.unstash(`serializeInlineTokens()`)}catch(e){if(this.ctx.current.debug(e.message),e.message===`Rewinded before inline tokens`)return;throw e}}}else if(a){for(let t of a)if(t(e,this.ctx,n))break}else throw this.ctx.current.debug(`current.handlers`,Object.keys(this.ctx.current.handlers).sort()),Error(`Unknown token: ${e.type} `+JSON.stringify(e));t[e.level]=e,e.nesting===-1&&(t[e.level+1]=new Token(``,``,e.nesting))}),this.ctx.output}},blankMark={open:``,close:``,mixable:!0},blankNode$1={open:``,close:``};function generateInlineTokens(e){let t=[],n=-1,r=``;for(let[a,o]of e){if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline1`,e.map=[n],e.content=r,t.push(e)}r=``,n=o,r+=a}if(r.length>0){let e=new Token(`text`,``,0);e.meta=`generateInline2`,e.map=[n],e.content=r,t.push(e)}return t}var nullNode={isText:!1,attrs:{},text:``,marks:[]},DocumentMarkdownInlineTokenizer=class{nodes;marks;options;schema;constructor(e,t,n,r){this.nodes=e,this.marks=t,this.options=n,this.schema=r}getMark(e){return this.marks[e]||blankMark}async renderInline(e,t,n){let r=[],a=[],o=[],s=async(s,c,l)=>{let u=t+c,d=s?s.marks:[];`type`in s&&s.type.name===this.options.hardBreakNodeName&&(d=d.filter(t=>{if(l+1==e.childCount)return!1;let n=e.child(l+1);return t.isInSet(n.marks)&&(!n.isText||/\S/.test(n.text))}));let f=a.splice(0,a.length);if(s?.isText&&d.some(e=>{let t=this.getMark(e.type.name);return t&&t.expelEnclosingWhitespace&&!e.isInSet(r)})){let[e,t,n]=/^(\s*)(.*)$/m.exec(s.text);t&&(f.push([t,u]),s=n?this.schema.text(n,s.marks):nullNode,s||(d=r))}if(s&&s.isText&&d.some(t=>{let n=this.getMark(t.type.name);return n&&n.expelEnclosingWhitespace&&(l==e.childCount-1||!t.isInSet(e.child(l+1).marks))})){let[e,t,n]=/^(.*?)(\s*)$/m.exec(s.text);n&&(a.push([n,u]),s=t?this.schema.text(t,s.marks):nullNode,s||(d=r))}let p=d.length?d[d.length-1]:null,m=p&&this.getMark(p.type.name).escape===!1,h=d.length-+!!m;outer:for(let e=0;e<h;e++){let t=d[e];if(!this.getMark(t.type.name).mixable)break;for(let n=0;n<r.length;n++){let a=r[n];if(!this.getMark(a.type.name).mixable)break;if(t.eq(a)){e>n?d=d.slice(0,n).concat(t).concat(d.slice(n,e)).concat(d.slice(e+1,h)):n>e&&(d=d.slice(0,e).concat(d.slice(e+1,n)).concat(t).concat(d.slice(n,h)));continue outer}}}let g=0;for(;g<Math.min(r.length,h)&&d[g].eq(r[g]);)++g;for(;g<r.length;){let e=r.pop();await this.markString(e,!1,o)}for(o.push(...generateInlineTokens(f.splice(0,f.length)));r.length<h;){let e=d[r.length];r.push(e),await this.markString(e,!0,o)}if(m&&s.isText){if(await this.markString(p,!0,o),s.text){let e=new Token(`text`,``,0);e.meta=`noEscText`,e.map=[u],e.content=s.text,o.push(e)}await this.markString(p,!1,o)}else{let e=`type`in s&&this.nodes[s.type.name]?this.nodes[s.type.name](s,t):blankNode$1,r=``;if(`type`in s&&s.type.spec.toDOM){let e=s.type.spec.toDOM(s);Array.isArray(e)&&e.length>0&&(r=e[0])}if(e.selfClose){if(typeof e.selfClose==`string`){let t=new Token(e.selfClose,r,0);t.meta=`nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}else if(`type`in s){let t=await e.selfClose(s,u,l);t.meta=`!nodeSpec.selfClose`,t.level=n,t.map=[u],o.push(t)}}}},c=0;for(let t=0;t<e.childCount;t++){let n=e.child(t);await s(n,c,t),c+=n.nodeSize}for(;r.length>0;){let e=r.pop();await this.markString(e,!1,o)}return o.push(...generateInlineTokens(a.splice(0,a.length))),o}async markString(e,t,n){let r=this.getMark(e.type.name),a=t?r.open:r.close;if(!a){if([`highlight`,`textColor`].includes(e.type.name))return;console.warn(`Unsupported mark type for markdown: `+e.type.name+`, available types: `+Object.keys(this.marks).join(`, `)+`. Mark will be ignored.`);return}typeof a==`string`||a(e);let o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e,!0);Array.isArray(t)&&t.length>0&&(o=t[0])}if(typeof a==`string`){let e=new Token(a,o,t?1:-1);e.meta=`markString`,n.push(e)}else{let t=await a(e);t&&(t.meta=t.meta||`markString()`,n.push(t))}}},blankNode={open:``,close:``},DocumentMarkdownTokenizer=class{nodes;marks;schema;options;tokens=[];inlineTokenizer;constructor(e,t,n,r={hardBreakNodeName:`hard_break`}){this.nodes=e,this.marks=t,this.schema=n,this.options=r,this.inlineTokenizer=new DocumentMarkdownInlineTokenizer(e,t,r,n)}async iterateNode(e,t,n=0,r=-1){let a=this.nodes[e.type.name]?this.nodes[e.type.name](e,t):blankNode,o=``;if(e.type.spec.toDOM){let t=e.type.spec.toDOM(e);Array.isArray(t)&&t.length>0&&(o=t[0])}if(a.selfClose){let s;if(typeof a.selfClose==`string`){let e=new Token(a.selfClose,o,0);e.level=r,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.selfClose(e,t,n);o.level=r,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`),[`after`,`both`].includes(a.margin||``)&&s.attrSet(`margin_after`,`1`);return}let s;if(a.open){if(typeof a.open==`string`){let e=new Token(a.open,o,1);e.level=r,e.meta=`nodeSpec.open`,e.map=[t],this.tokens.push(e),s=e}else{let o=await a.open(e,t,n);o.level=r,o.meta=`nodeSpec.open()`,o.map=[t],this.tokens.push(o),s=o}[`before`,`both`].includes(a.margin||``)&&s.attrSet(`margin_before`,`1`)}if(e.inlineContent){let n=new Token(`inline`,``,0);n.level=r+1,n.map=[t],this.tokens.push(n),n.children=await this.inlineTokenizer.renderInline(e,t+1,r+1)}else if(e.childCount>0){let n=0;for(let a=0;a<e.childCount;a++){let o=e.child(a);await this.iterateNode(o,t+n+1,a,r+1),n+=o.nodeSize}}if(a.close){if(!s)throw Error(`No openToken`);let c;if(typeof a.close==`string`){let e=new Token(a.close,o,-1);e.meta=`nodeSpec.close`,e.level=r,this.tokens.push(e),c=e}else{let o=await a.close(e,t,n,s);o.meta=`nodeSpec.close()`,o.level=r,this.tokens.push(o),c=o}[`after`,`both`].includes(a.margin||``)&&c.attrSet(`margin_after`,`1`)}}async serialize(e,t={}){return await this.iterateNode(e,-1,0),this.tokens}},MdStashContext=class{ctxStash=[];currentCtx;constructor(){this.currentCtx={meta:{}},this.stash()}stash(){return this.ctxStash.push(this.currentCtx),this.currentCtx={...structuredClone({...this.currentCtx})},this.ctxStash.length-1}unstash(){let e=this.ctxStash.pop();if(!e)throw Error(`Unstash failed`);this.currentCtx=e}get current(){return this.currentCtx}};async function pmToMdConverter(e,t,n,r){let a=await extPmToMdConverter(e,t,n,r);return new TextEncoder().encode(a.content)}async function extPmToMdConverter(e,t,n,r){let a=new MdStashContext,o,s=new DocumentMarkdownTokenizer({doc(e){return{open:async(e,n,r)=>{let a=new Token(`frontmatter`,`frontmatter`,0);return e.attrs.meta&&(console.log(`node.attrs`,e.attrs),t.yaml?a.content=`---\n${t.yaml.stringify(e.attrs.meta)}\n---\n`:a.content=`---
172
+ # No yaml service
173
+ ---
174
+ `),a}}},paragraph(e){return{open:async(e,t,n)=>{let r=new Token(`paragraph_open`,`p`,1);return o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t,n,r)=>{let a=new Token(`paragraph_close`,`p`,-1),o;return e.children.length===1&&e.children[0].type.name===`shortcode_inline`&&(o=e.children[0]),o?(o.attrs.nesting!==-1&&r.attrSet(`margin_before`,`1`),o.attrs.nesting!==1&&a.attrSet(`margin_after`,`1`)):(r.attrSet(`margin_before`,`1`),a.attrSet(`margin_after`,`1`)),a}}},hr(e){return{selfClose:`hr`,margin:`both`}},heading(e){return{open:async e=>{if(!e.attrs.level)throw Error(`No heading level`);return new Token(`heading_open`,`h`+e.attrs.level,1)},close:`heading_close`,margin:`both`}},blockquote(e){return{open:`blockquote_open`,close:`blockquote_close`}},math(){return{selfClose:async e=>{let t=new Token(`math`,`math`,0);return t.content=e.attrs.content,t.attrSet(`lang`,e.attrs.lang),t.meta=`noEscText`,t}}},task_list(e){return{open:async e=>{a.stash(),a.current.meta.list_type=`tl`,a.current.meta.list_type_symbol=``;let t=new Token(`task_list_open`,`ul`,1);return t.attrSet(`symbol`,`*`),t},close:async e=>(a.unstash(),new Token(`task_list_close`,`ul`,-1)),margin:`both`}},bullet_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ul`,a.current.meta.list_type_symbol=`*`;let r=new Token(`bullet_list_open`,`ul`,1);r.attrSet(`symbol`,`*`);let s=o.nodeAt(t+1);s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type);let c=o.resolve(t),l=c.parent;return c.node(c.depth-1),l?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`bullet_list_close`,`ul`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},ordered_list(e){return{open:async(e,t,n)=>{a.stash(),a.current.meta.list_type=`ol`,a.current.meta.list_type_symbol=e.attrs.type||`1`;let r=new Token(`ordered_list_open`,`ol`,1);r.attrSet(`symbol`,e.attrs.type||`1`),r.attrSet(`start`,e.attrs.start);let s=o.nodeAt(t+1);return s?.type.name===`list_item`&&r.attrSet(`first_level_type`,s.attrs.type),o.resolve(t).parent?.type.name===`table_cell`&&n>0&&r.attrSet(`not_first_para`,`1`),r},close:async(e,t)=>{a.unstash();let n=new Token(`ordered_list_close`,`ol`,-1),r=o.nodeAt(t+1);return r?.type.name===`list_item`&&n.attrSet(`first_level_type`,r.attrs.type),n},margin:`both`}},list_item(e){return{open:async e=>{let t=new Token(`list_item_open`,`li`,1);return e.attrs.value&&t.attrSet(`value`,e.attrs.value),e.attrs.type&&t.attrSet(`type`,e.attrs.type),a.current.meta.list_type===`ul`&&(t.markup=a.current.meta.list_type_symbol||`-`),t},close:`list_item_close`}},task_item(e){return{open:async e=>{let t=new Token(`task_item_open`,`li`,1);return t.attrSet(`checked`,e.attrs.checked?`checked`:``),t},close:`task_item_close`}},table(e){return{open:`table_open`,close:`table_close`,margin:`both`}},table_row(e){return{open:`tr_open`,close:`tr_close`}},table_cell(e){return{open:`td_open`,close:`td_close`}},table_header(e){return{open:`th_open`,close:`th_close`}},br(e){return{selfClose:`hardbreak`}},softbreak(e){return{selfClose:`softbreak`}},text(e){return{selfClose:e=>{let t=new Token(`text`,``,0);return t.content=e.text||``,Promise.resolve(t)}}},code_block(e){return{selfClose:e=>{let t=new Token(`code_block`,`code`,0);return t.meta=`noEscText`,t.attrSet(`lang`,e.attrs.lang),t.content=e.textContent,Promise.resolve(t)},margin:`both`}},image(e){return{selfClose:e=>{let t=e.attrs.src,n=e.attrs.alt,r=new Token(`image`,`img`,0);return r.attrSet(`src`,t),r.attrSet(`alt`,n),r.attrSet(`origUrl`,e.attrs.origUrl),e.attrs.title&&r.attrSet(`title`,e.attrs.title),r.attrSet(`mdTemplate`,e.attrs.mdTemplate),Promise.resolve(r)}}},shortcode_inline(e){return{selfClose:e=>{let t=new Token(`shortcode_inline`,`shortcode_inline`,0);return t.content=e.attrs.content,Promise.resolve(t)}}},node_bookmark(e){return{selfClose:e=>{let t=new Token(`bookmark`,`bookmark`,0);return t.content=e.attrs.content,t.attrSet(`id`,e.attrs.id),Promise.resolve(t)}}}},{em:{open:`em_open`,close:`em_close`,mixable:!0,expelEnclosingWhitespace:!0},underline:{open:`underline_open`,close:`underline_close`,mixable:!0,expelEnclosingWhitespace:!0},strong:{open:`strong_open`,close:`strong_close`,mixable:!0,expelEnclosingWhitespace:!0},strike:{open:`strike_open`,close:`strike_close`,mixable:!0,expelEnclosingWhitespace:!0},math:{open:`math_inline_open`,close:`math_inline_close`},link:{open:async e=>{let t=new Token(`link_open`,`a`,1);return t.attrSet(`href`,e.attrs.href),t.attrSet(`origUrl`,e.attrs.origUrl),t.attrSet(`mdTemplate`,e.attrs.mdTemplate),t},close:`link_close`,mixable:!0},code:{open:`code_open`,close:`code_close`,escape:!1}},n),c=[...t.hooks||[]],l=EditorState.create({doc:e}),u=e=>{l=l.apply(e)};if(c.length>0)for(let e of c)await e(l,e=>u(e));o=l.doc;let d=await s.serialize(o);if(t.debugTokens){let e=new CustomEvent(`md:tokens`,{detail:{tokens:d}});r.dispatchEvent(e)}let f=await new MarkdownSerializer({debug:t.serializerDebug}).serialize(d),p=new CustomEvent(`md:output`,{detail:{output:f}});r.dispatchEvent(p);let m={},h=[],g;if(t.sourceMap){let t=new SmartOutput;nodeToTreeStringOutput(t,e),t.getSourceMap((e,t,n,r)=>{r&&(m[r.pos]={targetRow:e,targetCol:t})}),g=f.getSourceMap((e,t,n,r)=>{if(r?.map){let a=r.map[0],o=r.map[2];if(h.push({nodeIdx:a,targetPos:n,targetRow:e,targetCol:t,sourceCol:o}),m[a])return{sourceNo:0,sourceRowPos:m[a].targetRow,sourceColPos:m[a].targetCol}}}),g.file=`target.md`,g.sources=[`debug.txt`],g.sourcesContent=[t.toString()]}if(t.dispatchSourceMap){let e=new CustomEvent(`md:sourcemap`,{detail:{sourceMap:g,debugMap:m,rawTextMap:h}});r.dispatchEvent(e)}return{content:f.toString(),sourceMap:g,debugMap:m,rawTextMap:h}}var removeWhitespaces=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&removeWhitespaces(r)}return e};function elementFromString(e){let t=`<html lang="en"><body>${e}</body></html>`,n=new globalThis.DOMParser().parseFromString(t,`text/html`).body;return removeWhitespaces(n)}function maybeMerge(e,t){if(e.isText&&t.isText&&Mark$1.sameSet(e.marks,t.marks))return e.withText(e.text+t.text)}var MarkdownParseState=class{schema;tokenHandlers;stack;constructor(e,t){this.schema=e,this.tokenHandlers=t,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:Mark$1.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let t=this.top(),n=t.content,r=n[n.length-1],a=this.schema.text(e,t.marks),o;r&&(o=maybeMerge(r,a))?n[n.length-1]=o:n.push(a)}openMark(e){let t=this.top();t.marks=e.addToSet(t.marks)}closeMark(e){let t=this.top();t.marks=e.removeFromSet(t.marks)}parseTokens(e){for(let t=0;t<e.length;t++){let n=e[t],r=this.tokenHandlers[n.type];if(!r)throw console.log(Object.keys(this.tokenHandlers)),Error("Token type `"+n.type+"` not supported by Markdown parser");r(this,n,e,t)}}addNode(e,t,n){let r=this.top(),a=e.createAndFill(t,n,r?r.marks:[]);return a?(this.push(a),a):null}openNode(e,t){this.stack.push({type:e,attrs:t,content:[],marks:Mark$1.none})}closeNode(){let e=this.stack.pop();return this.addNode(e.type,e.attrs,e.content)}importNodes(e){for(let t of e)this.push(t)}};function attrs(e,t,n,r){return e.getAttrs?e.getAttrs(t,n,r):e.attrs instanceof Function?e.attrs(t):e.attrs}function noCloseToken(e,t){return e.noCloseToken||t==`code_block`||t==`fence`}function withoutTrailingNewline(e){return e[e.length-1]==`
172
175
  `?e.slice(0,e.length-1):e}function noOp(){}function tokenHandlers(e,t){let n=Object.create(null);for(let r in t){let a=t[r];if(a.block){let t=e.nodes[a.block];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openNode(t,attrs(a,n,r,o)),e.addText(withoutTrailingNewline(n.content)),e.closeNode()}:(n[r+`_open`]=(e,n,r,o)=>e.openNode(t,attrs(a,n,r,o)),n[r+`_close`]=e=>e.closeNode())}else if(a.node){let t=e.nodes[a.node];n[r]=(e,n,r,o)=>e.addNode(t,attrs(a,n,r,o))}else if(a.mark){let t=e.marks[a.mark];noCloseToken(a,r)?n[r]=(e,n,r,o)=>{e.openMark(t.create(attrs(a,n,r,o))),e.addText(withoutTrailingNewline(n.content)),e.closeMark(t)}:(n[r+`_open`]=(e,n,r,o)=>e.openMark(t.create(attrs(a,n,r,o))),n[r+`_close`]=e=>e.closeMark(t))}else if(a.custom){let e=a.custom;n[r]=(t,n,r,a)=>{e(t,n,r,a)}}else if(a.ignore)noCloseToken(a,r)?n[r]=noOp:(n[r+`_open`]=noOp,n[r+`_close`]=noOp);else throw RangeError(`Unrecognized parsing spec `+JSON.stringify(a))}return n.text=(e,t)=>e.addText(t.content),n.inline=(e,t)=>e.parseTokens(t.children),n.softbreak=n.softbreak||(e=>e.addText(` `)),n}var MarkdownParser=class{schema;tokenizer;tokens;tokenHandlers;constructor(e,t,n){this.schema=e,this.tokenizer=t,this.tokens=n,this.tokenHandlers=tokenHandlers(e,n)}parse(e,t={}){let n=new MarkdownParseState(this.schema,this.tokenHandlers),r=this.tokenizer.parse(e,t);n.parseTokens(r);let a;do a=n.closeNode();while(n.stack.length);return a||this.schema.topNodeType.createAndFill()}};function treeToTokens(e,t,n){let r=[],a=0,o=e=>{if(e)return n.substring(e.startIndex,e.endIndex)},s=(e,t)=>{let n=r[r.length-1];if(n?.type===`inline`){n.children||=[],n.children.push(e),n.content=e.content;return}let o=new Token(`inline`,``,0);o.info=t,o.level=a,o.children=[e],o.content=o.children.map(e=>e.content||``).join(``),r.push(o)},c=(e,t,n={row:0,column:0})=>{let o=e=>{if(e)return t.substring(e.startIndex,e.endIndex)},l=(e,t)=>{let r=e.split(`
173
176
  `),a=0;for(let e of r){if(a>0){let e=[n.row+t.startPosition?.row+a,n.row+t.endPosition?.row+a,0,0],r=new Token(`softbreak`,`wbr`,0);r.map=e,r.content=`
174
177
  `,s(r,`softbreak between text rows`)}let o=[n.row+t.startPosition?.row+a,n.row+t.endPosition?.row+a,n.column+t.startPosition?.column,(+t.endPosition.row==+t.startPosition.row?n.column:0)+t.endPosition?.column],c=new Token(`text`,``,0);c.map=o,c.meta=`noEscText`,c.content=r.length>1?e.replace(/^\s+/,``):e,s(c,`text`),a++}};for(let u of e){let e=[n.row+u.startPosition?.row,n.row+u.endPosition?.row,n.column+u.startPosition?.column,(+u.endPosition.row==+u.startPosition.row?n.column:0)+u.endPosition?.column];if(u.type.length===1){let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)||``,s(t,`walkInline`);continue}switch(u.type){case`block_continuation`:case`emphasis_delimiter`:case`code_span_delimiter`:break;case`text`:l(o(u)??``,u);break;case`latex_block`:{let t=u.children.find(e=>e?.type===`latex_span_delimiter`),n=u.children.filter(e=>e?.type!==`latex_span_delimiter`).map(e=>o(e)).join(``);if(o(t)===`$$`){let e=new Token(`fence`,`pre`,0);e.level=a,e.markup=`$$`,e.meta=`noEscText`,e.attrSet(`lang`,`latex`),e.content=n.trim(),r.push(e)}else{let t=new Token(`math`,``,0);t.attrSet(`lang`,`latex`),t.map=e,t.meta=`noEscText`,t.content=n,s(t,`latex_block`)}}break;case`whitespace`:{let t=o(u)||``;if(t===`
175
178
  `){let n=new Token(`softbreak`,`wbr`,0);n.map=e,n.content=t??``,s(n,`whitespace
176
179
  `);break}if(t&&t.match(/^\s+$/)){if(t.endsWith(`
177
- `)){let n=new Token(`hardbreak`,`wbr`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace hardbreak`)}else{let n=new Token(`text`,`br`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace space`)}break}if(t?.trim().length>0){l(t,u);break}}break;case`shortcut_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e?.type===`link_destination`);n.attrSet(`href`,o(r)||``);let a=u.children.find(e=>e?.type===`link_title`);a&&n.attrSet(`title`,o(a)||``),s(n,`shortcut_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`link_text`)}),s(new Token(`link_close`,`a`,-1),`/shortcut_link`)}break;case`inline_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e.type===`link_destination`);n.attrSet(`href`,r?.text||``);let a=u.children.find(e=>e.type===`link_title`);a&&n.attrSet(`title`,a.text||``),s(n,`inline_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`inline_link_txt`)}),s(new Token(`link_close`,`a`,-1),`/inline_link`)}break;case`image`:{let e=new Token(`image`,`img`,0),t=u.children.find(e=>e.type===`image_description`);e.attrSet(`alt`,t?.text||``);let n=u.children.find(e=>e.type===`link_destination`);e.attrSet(`src`,n?.text||``);let r=u.children.find(e=>e.type===`link_title`);r&&e.attrSet(`title`,r.text||``),s(e,`image`)}break;case`strong_emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=e?.text===`_`?`underline`:`strong`,r=e?.text===`_`?`u`:`strong`,a=new Token(n+`_open`,r,1);e?.text===`_`&&(a.markup=`__`),s(a,`strongem`),c(u.children,t);let l=new Token(n+`_close`,r,-1);o(e)===`_`&&(l.markup=`__`),s(l,`/strongem`)}break;case`emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=u.children.filter(e=>e.type!==`emphasis_delimiter`),r=e?.text===`_`?`underline`:`em`,a=e?.text===`_`?`u`:`em`;s(new Token(r+`_open`,a,1),`em`),c(n.filter(e=>!!e),t),s(new Token(r+`_close`,a,-1),`/em`)}break;case`strikethrough`:{let e=`strike`;s(new Token(`strike_open`,e,1),`s`),c(u.children.filter(e=>!!e),t),s(new Token(`strike_close`,e,-1),`/s`)}break;case`code_span`:{let e=`code`;s(new Token(`code_open`,e,1),`code`),c(u.children.filter(e=>!!e),t),s(new Token(`code_close`,e,-1),`/code`)}break;case`html_tag`:{let e=new Token(`html_block`,``,0);e.content=o(u)||``,s(e,`html_block`)}break;case`hard_line_break`:{let t=new Token(`hardbreak`,`br`,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`hard_line_break`)}break;default:throw console.debug(`inline_node`,u),Error(`Unhandled inline node type: ${u.type}`)}}},l=(e,n={tableRowType:`tbody`,cellNo:0,cellAlign:[]})=>{if(e){if(e.type===`inline`){let n=o(e);if(!n)throw Error(`!inlineText`);let r=t.parse(n);if(!r)throw Error(`!inlineTree`);c(r?.rootNode.children,n,e.startPosition);return}if(!e.children||e.children.length===0){if(e.type===`text`||e.type.length===1){let t=new Token(`text`,``,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt2`);return}if(e.type===`whitespace`){if(a===0||(o(e)||``).match(/^\n+$/))return;let t=o(e)||``;if(t&&t.match(/^\s+$/)){let t=new Token(`text`,`br`,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt3`);return}if(t.trim().length>0){let n=new Token(`text`,``,0);n.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],n.meta=`noEscText`,n.content=t??``,s(n,`txt4`);return}}}switch(e.type){case`block_continuation`:break;case`document`:case`section`:e.children.filter(e=>!!e).forEach(e=>l(e,n));break;case`thematic_break`:{let t=new Token(`hr`,`hr`,0);t.level=a,t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.markup=o(e)||``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`setext_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`setext_`)&&e.type.endsWith(`_underline`)),s=t?.type.substring(7,9)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=e.children.filter(e=>!!e).filter(e=>!e.type.startsWith(`setext_`));a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.markup=o(t)||``,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`atx_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`atx_`)&&e.type.endsWith(`_marker`)),s=t?.type.substring(4,6)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=[...e.children.filter(e=>!!e)];u.length>0&&u[0].type.endsWith(`_marker`)&&u.splice(0,1),u.length>0&&u[0].type===`whitespace`&&u.splice(0,1),u.length>0&&u[u.length-1].type===`whitespace`&&u.splice(u.length-1,1),a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`minus_metadata`:{let t=new Token(`frontmatter`,`frontmatter`,0);t.level=a,t.content=o(e)||``,r.push(t)}break;case`fenced_code_block`:{let t=`fence`,n=`pre`,s=e.children.filter(e=>!!e).find(e=>e.type===`info_string`),c=new Token(`fence`,`pre`,0);c.meta=`noEscText`,c.level=a,c.markup="```",s&&c.attrSet(`lang`,o(s)||``),c.content=[...e.children.filter(e=>!!e).filter(e=>e?.type===`code_fence_content`)].map(e=>o(e)||``).join(``),c.attrSet(`margin_before`,`1`),c.attrSet(`margin_after`,`1`),r.push(c)}break;case`block_quote`:{let t=`blockquote`,o=new Token(`blockquote_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.filter(e=>![`block_quote_marker`].includes(e.type)).forEach(e=>l(e,n)),a--;let s=new Token(`blockquote_close`,t,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`indented_code_block`:{let t=new Token(`code_block`,`code_block`,0);t.level=a;let n=80;`indent`in e&&(n=e.indent.length);let o=e.text.split(`
180
+ `)){let n=new Token(`hardbreak`,`wbr`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace hardbreak`)}else{let n=new Token(`text`,`br`,0);n.map=e,n.meta=`noEscText`,n.content=t??``,s(n,`whitespace space`)}break}if(t?.trim().length>0){l(t,u);break}}break;case`shortcut_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e?.type===`link_destination`);n.attrSet(`href`,o(r)||``);let a=u.children.find(e=>e?.type===`link_title`);a&&n.attrSet(`title`,o(a)||``),s(n,`shortcut_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`link_text`)}),s(new Token(`link_close`,`a`,-1),`/shortcut_link`)}break;case`inline_link`:{let t=`a`,n=new Token(`link_open`,`a`,1),r=u.children.find(e=>e.type===`link_destination`);n.attrSet(`href`,r?.text||``);let a=u.children.find(e=>e.type===`link_title`);a&&n.attrSet(`title`,a.text||``),s(n,`inline_link`),u.children.filter(e=>e.type===`link_text`).forEach(t=>{let n=new Token(`text`,``,0);n.map=e,n.meta=`noEscText`,n.content=o(t)??``,s(n,`inline_link_txt`)}),s(new Token(`link_close`,`a`,-1),`/inline_link`)}break;case`image`:{let e=new Token(`image`,`img`,0),t=u.children.find(e=>e.type===`image_description`);e.attrSet(`alt`,t?.text||``);let n=u.children.find(e=>e.type===`link_destination`);e.attrSet(`src`,n?.text||``);let r=u.children.find(e=>e.type===`link_title`);r&&e.attrSet(`title`,r.text||``),s(e,`image`)}break;case`strong_emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=e?.text===`_`?`underline`:`strong`,r=e?.text===`_`?`u`:`strong`,a=new Token(n+`_open`,r,1);e?.text===`_`&&(a.markup=`__`),s(a,`strongem`),c(u.children,t);let l=new Token(n+`_close`,r,-1);o(e)===`_`&&(l.markup=`__`),s(l,`/strongem`)}break;case`emphasis`:{let e=u.children.find(e=>e.type===`emphasis_delimiter`),n=u.children.filter(e=>e.type!==`emphasis_delimiter`),r=e?.text===`_`?`underline`:`em`,a=e?.text===`_`?`u`:`em`;s(new Token(r+`_open`,a,1),`em`),c(n.filter(e=>!!e),t),s(new Token(r+`_close`,a,-1),`/em`)}break;case`strikethrough`:{let e=`strike`;s(new Token(`strike_open`,e,1),`s`),c(u.children.filter(e=>!!e),t),s(new Token(`strike_close`,e,-1),`/s`)}break;case`code_span`:{let e=`code`;s(new Token(`code_open`,e,1),`code`),c(u.children.filter(e=>!!e),t),s(new Token(`code_close`,e,-1),`/code`)}break;case`html_tag`:{let e=new Token(`html_block`,``,0);e.content=o(u)||``,s(e,`html_block`)}break;case`hard_line_break`:{let t=new Token(`hardbreak`,`br`,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`hard_line_break`)}break;case`backslash_escape`:{let t=new Token(`text`,``,0);t.map=e,t.meta=`noEscText`,t.content=o(u)??``,s(t,`backslash_escape`)}break;default:throw console.debug(`inline_node`,u),Error(`Unhandled inline node type: ${u.type}`)}}},l=(e,n={tableRowType:`tbody`,cellNo:0,cellAlign:[]})=>{if(e){if(e.type===`inline`){let n=o(e);if(!n)throw Error(`!inlineText`);let r=t.parse(n);if(!r)throw Error(`!inlineTree`);c(r?.rootNode.children,n,e.startPosition);return}if(!e.children||e.children.length===0){if(e.type===`text`||e.type.length===1){let t=new Token(`text`,``,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt2`);return}if(e.type===`whitespace`){if(a===0||(o(e)||``).match(/^\n+$/))return;let t=o(e)||``;if(t&&t.match(/^\s+$/)){let t=new Token(`text`,`br`,0);t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.meta=`noEscText`,t.content=o(e)??``,s(t,`txt3`);return}if(t.trim().length>0){let n=new Token(`text`,``,0);n.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],n.meta=`noEscText`,n.content=t??``,s(n,`txt4`);return}}}switch(e.type){case`block_continuation`:break;case`document`:case`section`:e.children.filter(e=>!!e).forEach(e=>l(e,n));break;case`thematic_break`:{let t=new Token(`hr`,`hr`,0);t.level=a,t.map=[+e.startPosition?.row,+e.endPosition?.row,+e.startPosition?.column,+e.endPosition?.column],t.markup=o(e)||``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`setext_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`setext_`)&&e.type.endsWith(`_underline`)),s=t?.type.substring(7,9)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=e.children.filter(e=>!!e).filter(e=>!e.type.startsWith(`setext_`));a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.markup=o(t)||``,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`atx_heading`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`atx_`)&&e.type.endsWith(`_marker`)),s=t?.type.substring(4,6)||`h1`,c=new Token(`heading_open`,s,1);c.level=a,c.markup=o(t)||`#`,c.attrSet(`margin_before`,`1`),r.push(c);let u=[...e.children.filter(e=>!!e)];u.length>0&&u[0].type.endsWith(`_marker`)&&u.splice(0,1),u.length>0&&u[0].type===`whitespace`&&u.splice(0,1),u.length>0&&u[u.length-1].type===`whitespace`&&u.splice(u.length-1,1),a++,u.forEach(e=>l(e,n)),a--;let d=new Token(`heading_close`,s,-1);d.level=a,d.attrSet(`margin_after`,`1`),r.push(d)}break;case`minus_metadata`:{let t=new Token(`frontmatter`,`frontmatter`,0);t.level=a,t.content=o(e)||``,r.push(t)}break;case`fenced_code_block`:{let t=`fence`,n=`pre`,s=e.children.filter(e=>!!e).find(e=>e.type===`info_string`),c=new Token(`fence`,`pre`,0);c.meta=`noEscText`,c.level=a,c.markup="```",s&&c.attrSet(`lang`,o(s)||``),c.content=[...e.children.filter(e=>!!e).filter(e=>e?.type===`code_fence_content`)].map(e=>o(e)||``).join(``),c.attrSet(`margin_before`,`1`),c.attrSet(`margin_after`,`1`),r.push(c)}break;case`block_quote`:{let t=`blockquote`,o=new Token(`blockquote_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.filter(e=>![`block_quote_marker`].includes(e.type)).forEach(e=>l(e,n)),a--;let s=new Token(`blockquote_close`,t,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`indented_code_block`:{let t=new Token(`code_block`,`code_block`,0);t.level=a;let n=80;`indent`in e&&(n=e.indent.length);let o=e.text.split(`
178
181
  `);for(let e of o){if(e.trim().length===0)continue;let t=e.match(/^ +/);t?n>t[0].length&&(n=t[0].length):n=0}let s=o.map(e=>e.substring(n)).join(`
179
- `);t.attrSet(`indent`,``+n),t.content=s,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`paragraph`:{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.forEach(e=>l(e,n)),a--;let s=new Token(`paragraph_close`,`p`,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`pipe_table_cell`:{let t=n.tableRowType===`thead`?`th`:`td`,o=n.tableRowType===`thead`?`th`:`td`,c=new Token(t+`_open`,o,1);c.attrSet(`align`,n.cellAlign[n.cellNo]||`left`),c.level=a,r.push(c),a++;{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,r.push(o);let c=[...e.children];for(;c.length>0&&c[c.length-1].type===`whitespace`;)c.splice(c.length-1,1);if(c.length>0)c.forEach(e=>l(e,n));else{let t=[e.startPosition?.row,e.endPosition?.row,e.startPosition?.column,e.endPosition?.column],n=new Token(`text`,``,0);n.map=t,n.meta=`noEscText`,n.content=e.text?.replace(/\s+$/,``)??``,s(n,`txt5`)}let u=new Token(`paragraph_close`,`p`,-1);u.level=a,r.push(u)}a--;let u=new Token(t+`_close`,o,-1);u.level=a,r.push(u),n.cellNo++}break;case`pipe_table_header`:case`pipe_table_row`:{let t=`tr`,o=new Token(`tr_open`,`tr`,1);o.level=a,r.push(o),a++,e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_cell`).forEach(e=>l(e,n)),a--;let s=new Token(`tr_close`,`tr`,-1);s.level=a,r.push(s)}break;case`pipe_table`:{let t=`table`,o=new Token(`table_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++;let s=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_row`),c=[];if(s.length>0){let e=s[0].children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_cell`);for(let t=0;t<e.length;t++)e[t].children.filter(e=>!!e).find(e=>e.type===`pipe_table_align_right`)?c.push(`right`):c.push(`left`)}let u=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_header`);if(u.length>0){let e=`thead`,t=new Token(`thead_open`,e,1);t.level=a,r.push(t),a++,u.forEach(e=>l(e,{...n,tableRowType:`thead`,cellNo:0,cellAlign:c})),a--;let o=new Token(`thead_close`,e,-1);o.level=a,r.push(o)}let d=e.children?.filter(e=>e?.type===`pipe_table_row`);d.length>0&&(a++,d.filter(e=>!!e).forEach(e=>l(e,{...n,tableRowType:`tbody`,cellAlign:c})),a--),a--;let f=new Token(`table_close`,t,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list`:{let t=`bullet_list`,s=`ul`,c=``,u=e.children.filter(e=>!!e).find(e=>e.type===`list_item`);if(u){let e=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker`)),n=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_dot`));e?(t=`task_list`,s=`ul`):n&&(t=`ordered_list`,s=`ol`,c=(o(n)||``).trim().replace(`.`,``))}let d=new Token(t+`_open`,s,1);d.level=a,d.markup=s===`ol`?`.`:`*`,d.attrSet(`symbol`,s===`ol`?`1`:`*`),c&&d.attrSet(`start`,c),d.attrSet(`margin_before`,`1`),r.push(d),a++,e.children.filter(e=>!!e).forEach(e=>l(e,n)),a--;let f=new Token(t+`_close`,s,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list_item`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker_`)),s=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_`));if(!s)break;let c=t?`task_item`:`list_item`,u=`li`,d=new Token(c+`_open`,`li`,1);d.level=a,d.markup=(o(s)||``).trim(),s.type===`list_marker_dot`&&(d.info=``,d.markup=``),t&&(t.type,d.attrSet(`checked`,t.type===`task_list_marker_checked`?`checked`:``)),r.push(d),a++,l(e.children.filter(e=>!!e).find(e=>e.type===`paragraph`),n);let f=e.children.filter(e=>!!e).filter(e=>e.type===`list`);for(let e of f)l(e,n);a--;let p=new Token(c+`_close`,`li`,-1);p.level=a,r.push(p)}break;case`html_block`:{let t=new Token(`html_block`,``,0);t.level=a,t.content=o(e)??``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`text`:{let t=new Token(`text`,``,0);t.level=a,t.content=o(e)??``,r.push(t)}break;default:throw console.warn(`Unhandled node type: ${e.type}, children: ${e.children.map(e=>e.type).join(`, `)}`,{...e,children:void 0,_children:void 0,tree:void 0}),Error(`Unhandled node type: ${e.type}`)}}};return l(e.rootNode),r}async function sitterTokenizer(e){let t=getLangTreeSitter(`markdown`),n=t.files.find(e=>e.indexOf(`_inline`)===-1),r=t.files.find(e=>e.indexOf(`_inline`)>-1),a=await e(t.dir+`/`+n),o=await e(t.dir+`/`+r),s=await createParser(a,{assetLoad:e}),c=await createParser(o,{assetLoad:e});return{parse:e=>{let t=s.parse(e);if(!t)throw Error(`Tree is null`);return treeToTokens(t,c,e)}}}function listIsTight(e,t){for(;++t<e.length;)if(e[t].type!=`list_item_open`)return e[t].hidden;return!1}async function mdToPmConverter(e,t,n){return mdToPmConverterText(new TextDecoder().decode(e),t,n)}async function mdToPmConverterText(e,t,n){if(!t.assetLoad)throw Error(`No config.assetLoad`);let r=new MarkdownParser(n,await sitterTokenizer(t.assetLoad),{frontmatter:{node:`frontmatter`},blockquote:{block:`blockquote`},paragraph:{block:`paragraph`},task_item:{block:`task_item`},task_list:{block:`task_list`},list_item:{block:`list_item`},bullet_list:{block:`bullet_list`,getAttrs:(e,t,n)=>({tight:listIsTight(t,n)})},ordered_list:{block:`ordered_list`,getAttrs:(e,t,n)=>({start:+e.attrGet(`start`)||1,tight:listIsTight(t,n)})},dl:{block:`dl`},dt:{block:`dt`},dd:{block:`dd`},heading:{block:`heading`,getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},fence:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},hr:{node:`hr`},image:{node:`image`,getAttrs:e=>{let t=e.children?e.children[0]:void 0;return{src:e.attrGet(`src`),title:e.attrGet(`title`)||null,alt:t?.content||null}}},hardbreak:{node:`br`},em:{mark:`em`},underline:{mark:`underline`},strong:{mark:`strong`},strike:{mark:`strike`},link:{mark:`link`,getAttrs:e=>({href:e.attrGet(`href`),title:e.attrGet(`title`)||null})},code:{mark:`code`},html_block:{custom:(e,t,r,a)=>{let o=DOMParser$1.fromSchema(n).parse(elementFromString(t.content));e.importNodes(o.children)}},footnote_ref:{block:`code_block`},table:{block:`table`},tr:{block:`table_row`},td:{block:`table_cell`},th:{block:`table_header`},thead:{ignore:!0}}).parse(e),a=[...t.hooks||[]],o=EditorState.create({doc:r}),s=e=>{o=o.apply(e)};if(a.length>0)for(let e of a)await e(o,e=>s(e));return o.doc}var addEmptyLines=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(e,t,n=0,c=0){let l=0,u=!1;for(let t=0;t<e.length;t++){let d=e[t];if([`image`,`node_bookmark`].includes(d.type.name)&&t>0){let s=e[t-1];if(s.type!==o)if(s.type===a)r.setNodeMarkup(r.mapping.map(n+l-s.nodeSize),o);else{let e=o.createAndFill();e&&r.insert(r.mapping.map(n+l),e)}}if(d.type.name===`softbreak`){let a=e[t-1];e[t+1],a?.type.name===`softbreak`&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),a?.textContent?.endsWith(` `)&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),u||r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize))}else u=!0;s(d.children,d,n+l+1,c+1),l+=d.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged},fixIdLinks=(e,t)=>{let n=e.tr,r=e.schema.marks.link;return e.doc.descendants((e,t)=>{e.marks.forEach(a=>{if(a.type===r&&a.attrs.href.startsWith(`#`)){let o=(e.text||e.textBetween(0,e.content.size)).toLowerCase().replace(/[^\w]+/g,` `).trim().replaceAll(` `,`-`);o&&(n=n.removeMark(t,t+e.nodeSize,r).addMark(t,t+e.nodeSize,r.create({...a.attrs,href:`#`+o})))}})}),t&&t(n),n.docChanged},fixShortCodes=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);function s(e,t=0,n=0){e.forEach((c,l,u)=>{if(c.type.name===`shortcode_inline`){if(u>1){let n=e.child(u-1);n.type===a&&(r=r.setNodeMarkup(t+l-n.nodeSize,o))}u<e.childCount-1&&e.child(u+1).type===a&&(r=r.setNodeMarkup(t+l+c.nodeSize,o))}s(c,t+l+1,n+1)})}return s(n),t&&t(r),r.steps.length>0},removeEmptyTags=(e,t)=>{let n=e.schema.nodes.paragraph,r=e.tr;return e.doc.descendants((e,t)=>{if([`paragraph`].includes(e.type.name)){let n=e.children.every(e=>e.isText&&e.textContent===``);(e.childCount===0||n)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}else if([`heading`].includes(e.type.name)){let a=e.children.find(e=>e.type.name===`node_bookmark`),o=e.children.every(e=>e.isText&&e.textContent===``||e.type.name===`node_bookmark`);a&&o?r.setNodeMarkup(r.mapping.map(t),n):(e.childCount===0||o)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}}),t&&t(r),r.docChanged},removeSuggest=(e,t)=>{let n={},r=e.tr,a=e.doc,o=`comment`;a.descendants((e,t)=>{if(e.type.name===`comment`&&e.attrs.id){let r=e.attrs.id;n[r]||(n[r]=[]),e.attrs.nesting===1&&(n[r][0]={node:e,pos:t}),e.attrs.nesting===-1&&(n[r][1]={node:e,pos:t})}});for(let e in n){let t=n[e][0],a=n[e][1];if(t&&a){let e=t.pos,n=a.pos+a.node.nodeSize;r.replace(r.mapping.map(e),r.mapping.map(n))}}return t&&t(r),r.docChanged},rewriteUrls=e=>async(t,n)=>{let r=e?.();if(!r)return!1;let a=t.tr,o=t.schema.marks.link,s=t.schema.nodes.image,c=[],l=[];t.doc.descendants((e,t)=>{e.marks.forEach(n=>{n.type===o&&c.push([n,t,t+e.nodeSize])}),e.type===s&&l.push([e,t])});for(let[e,n,o]of c){let s=e.attrs.href,c={},l=await r(s,{type:`A`,dest:`md`,setMeta:(e,t)=>{c[e]=t}});if(l!==s||c.mdTemplate){let r=c.mdTemplate;a.removeMark(a.mapping.map(n),a.mapping.map(o),e);let u=t.schema.mark(`link`,{...e.attrs,href:l,origUrl:s,mdTemplate:r});a.addMark(a.mapping.map(n),a.mapping.map(o),u)}}for(let[e,t]of l){let n=e.attrs.src,o={},s=await r(n,{type:`IMG`,dest:`md`,setMeta:(e,t)=>{o[e]=t}});if(s!==n||o.mdTemplate){let r=o.mdTemplate;a.setNodeMarkup(a.mapping.map(t),null,{...e.attrs,src:s,origUrl:n,mdTemplate:r})}}return n&&n(a),a.docChanged},trimLines=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=e.schema.nodes.br,s=e.schema.nodes.softbreak,c=e.schema.nodes.paragraph;function l(e,t,n=0,u=0){let d=0;if(t.type.name===`code_block`&&t.textContent.trim())return;function f(t,o){let s=n+o;for(let n=t-1;n>=0;n--){let t=e[n];if(t?.type.name!==`text`)break;let o=t.text||``,c=o.replace(/[ \t\u00A0]+$/,``);if(c!==o){let e=s-t.nodeSize;c.length>0?a.replaceRangeWith(a.mapping.map(e),a.mapping.map(s),r.text(c)):a.replace(a.mapping.map(e),a.mapping.map(s))}else break;s-=t.nodeSize;break}}let p=!1;for(let m=0;m<e.length;m++){let h=e[m];if(h.isText){let e=h.text||``;if(e.match(/^([ \t\u00A0]+)/)&&!p&&c!==t.type){e=e.replace(/^[ \t\u00A0]+/,``);let t=n+d,o=t+h.nodeSize;e?a.replaceRangeWith(a.mapping.map(t),a.mapping.map(o),r.text(e)):a.replace(a.mapping.map(t),a.mapping.map(o))}e&&(p=!0)}o===h.type&&(f(m,d),m+1<e.length&&(e[m+1].type===o||e[m+1].type===s)&&a.setNodeMarkup(a.mapping.map(n+d),s)),l(h.children,h,n+d+1,u+1),d+=h.nodeSize}f(e.length,d)}return l(n.children,n),t&&t(a),a.docChanged},insertToc=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);return n.forEach((e,t,n)=>{if(e.type.name===`bullet_list`&&e.attrs.toc){let t=e.copy(Fragment.from(e.content));r.insert(0,t)}}),t&&t(r),r.steps.length>0},addEnterAfterImage=(e,t)=>{let n=e.tr,r=e.schema.nodes.image,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(t,c=0,l=0){t.forEach((u,d,f)=>{if(u.type!==r)return;let p=t.nodeAt(f+1);if(p?.type===a&&p?.type===o)return;let m=c+d+u.nodeSize;n.insert(n.mapping.map(m),Fragment.from([e.schema.node(`softbreak`),e.schema.node(`softbreak`)])),s(u,c+d+1,l+1)})}return s(e.doc),t&&t(n),n.docChanged},fixParaEnding=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.paragraph;function s(e,t,n=0,c=0){if(t.type===o){let o=t.content.size;for(let t=e.length-1;t>=0;t--){let s=e[t];if(s.type!==a)break;o-=s.nodeSize;let c=n+o,l=c+s.nodeSize;r.replace(r.mapping.map(c),r.mapping.map(l))}return}let l=0;for(let t=0;t<e.length;t++){let r=e[t];s(r.children,r,n+l+1,c+1),l+=r.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged};function getDefaultsPreProcessFilters(e){return[insertToc,fixShortCodes,removeSuggest,removeEmptyTags,fixIdLinks,fixParaEnding,trimLines,addEnterAfterImage,addEmptyLines,rewriteUrls(e.getUrlRewriter)]}var PositionMapper=class{rawTextMap;rawTextArr;doc;constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},MarkdownPluginState=class{editor;extensionMarkdown;capturing=!1;constructor(e,t){this.editor=e,this.extensionMarkdown=t,this.performSnapshot=debounce$1(this.performSnapshot.bind(this),800)}snapshot;async performSnapshot(){let e=this.editor,t=e.version;if(t===this.snapshot?.version)return;let n=await this.extensionMarkdown.toMarkdown(e.state.doc);e.version;let r=new PositionMapper(e,n.rawTextMap);this.snapshot={markdownResult:n,version:t,mapper:r},this.dispatchMeta({snapshot:this.snapshot})}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(`markdown`,e),this.editor.dispatchTransaction(t)}};function createMarkdownPlugin(e,t){return t.version,new Plugin({state:{init(){return new MarkdownPluginState(t,e)},apply(e,t,n,r){return e.docChanged&&t.capturing&&t.performSnapshot(),t}}})}var ExtensionMarkdown=class extends Extension{config;name=`markdown`;hooks={};urlFromRewriter;urlToRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={"text/x-markdown":{fromDoc:n=>pmToMdConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlToRewriter,hooks:this.hooks[`pm2md.pre`]},t,e),toDoc:e=>mdToPmConverter(e,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlFromRewriter,hooks:this.hooks[`md2pm.post`]},t)}};return n[`text/markdown`]=n[`text/x-markdown`],n}toMarkdown(e){return extPmToMdConverter(e,{sourceMap:!0},this.editor.schema,this.editor)}async fromMarkdown(e){let t=(await mdToPmConverterText(e,{assetLoad:this.editor.config.assetLoad,...this.config},this.editor.schema)).content;if(t.content.length===1){let e=t.content[0];if(e.type.name===`paragraph`)return new Slice(e.content,0,0)}return new Slice(t,0,0)}created(){this.editor.schema.topNodeType.name===`doc`?this.hooks[`pm2md.pre`]=getDefaultsPreProcessFilters({getUrlRewriter:()=>this.urlToRewriter}):this.hooks[`pm2md.pre`]=[],this.hooks[`md2pm.post`]=[rewriteUrls(()=>this.urlFromRewriter)]}getCommandFactories(){return{getMarkdownHooks:(e,t)=>()=>(t(this.hooks[e]),!0),setMarkdownHooks:(e,t)=>()=>(this.hooks[e]=t,!0),setFromMarkdownUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0),setToMarkdownUrlRewriter:e=>()=>(this.urlToRewriter=e,!0)}}getProseMirrorPlugins(){return[createMarkdownPlugin(this,this.editor)]}},SVG=`http://www.w3.org/2000/svg`,XLINK=`http://www.w3.org/1999/xlink`,prefix=`kb-icon`;function hashPath(e){let t=Array.isArray(e)?e.map(e=>typeof e==`string`?e:e.d+(e.fill||``)).join(``):e,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return n.toString(16)}function getIcon(e,t){let n=(e.nodeType==9?e:e.ownerDocument)||document,r=n.createElement(`div`);if(r.className=prefix,t.path){let{path:a,width:o,height:s}=t,c=`pm-icon-`+hashPath(a);n.getElementById(c)||buildSVG(e,c,t);let l=r.appendChild(n.createElementNS(SVG,`svg`));l.style.width=o/s+`em`,l.appendChild(n.createElementNS(SVG,`use`)).setAttributeNS(XLINK,`href`,/([^#]*)/.exec(n.location.toString())[1]+`#`+c)}else if(t.dom)r.appendChild(t.dom.cloneNode(!0));else{let{text:e,css:a}=t;r.appendChild(n.createElement(`span`)).textContent=e||``,a&&(r.firstChild.style.cssText=a)}return r}function buildSVG(e,t,n){let[r,a]=e.nodeType==9?[e,e.body]:[e.ownerDocument||document,e],o=r.getElementById(`kb-icon-collection`);o||(o=r.createElementNS(SVG,`svg`),o.id=`kb-icon-collection`,o.style.display=`none`,a.insertBefore(o,a.firstChild));let s=r.createElementNS(SVG,`symbol`);s.id=t,s.setAttribute(`viewBox`,`0 0 `+n.width+` `+n.height);let c=Array.isArray(n.path)?n.path:[n.path];for(let e of c){let t=s.appendChild(r.createElementNS(SVG,`path`));typeof e==`string`?t.setAttribute(`d`,e):(t.setAttribute(`d`,e.d),e.fill&&t.setAttribute(`fill`,e.fill))}o.appendChild(s)}var icons={join:{width:24,height:24,path:`M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z`},lift:{width:24,height:24,path:`M11 4H3v2h8V4zm0 4H3v2h8V8zm0 4H3v2h8v-2zm3-3l-3 3 3 3v-2h4v-2h-4V9zm6 6H11v2h9v-2z`},selectParentNode:{width:24,height:24,path:`M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z`},undo:{width:24,height:24,path:`M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z`},redo:{width:24,height:24,path:`M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z`},strong:{width:24,height:24,path:`M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z`},em:{width:24,height:24,path:`M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z`},underline:{width:24,height:24,path:`M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z`},code:{width:24,height:24,path:`M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z`},link:{width:24,height:24,path:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`},bulletList:{width:24,height:24,path:`M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z`},orderedList:{width:24,height:24,path:`M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z`},taskList:{width:24,height:24,path:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`},blockquote:{width:24,height:24,path:`M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z`},insert:{width:24,height:24,path:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`},type:{width:24,height:24,path:`M5 4v3h5.5v12h3V7H19V4H5z`},table:{width:24,height:24,path:`M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z`},image:{width:24,height:24,path:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z`},horizontalRule:{width:24,height:24,path:`M4 11h16v2H4z`},heading:{width:24,height:24,path:`M6 4v16h2v-7h8v7h2V4h-2v7H8V4H6z`},strike:{width:24,height:24,path:`M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z`},highlight:{width:24,height:24,path:[`M17.75 7L14 3.25l-10 10V17h3.75l10-10zm2.96-2.96a.996.996 0 0 0 0-1.41L18.37.29a.996.996 0 0 0-1.41 0L15 2.25 18.75 6l1.96-1.96z`,{d:`M2 20h20v4H2z`,fill:`#FFEB3B`}]},indent:{width:24,height:24,path:`M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},outdent:{width:24,height:24,path:`M3 21h18v-2H3v2zM7 8v8l-4-4 4-4zm4 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},superscript:{width:24,height:24,path:`M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.87 6H6.19l4.32 6.73L5.88 20z`},subscript:{width:24,height:24,path:`M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.87 4H6.19l4.32 6.73L5.88 18z`},alignLeft:{width:24,height:24,path:`M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z`},alignCenter:{width:24,height:24,path:`M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z`},alignRight:{width:24,height:24,path:`M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z`},alignJustify:{width:24,height:24,path:`M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z`},folderOpen:{width:24,height:24,path:`M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z`}},MenuItem=class{spec;CSS_PREFIX=`kb-menu__button`;constructor(e){this.spec=e}render(e){let t=this.spec,n=t.render?t.render(e):null;if(!n){if(n=document.createElement(`button`),n.setAttribute(`type`,`button`),n.classList.add(this.CSS_PREFIX),t.icon){let r=getIcon(e.root,t.icon);n.appendChild(r),n.classList.add(this.CSS_PREFIX+`--icon-only`)}if(t.label){let r=document.createElement(`span`);r.appendChild(document.createTextNode(translate(e,t.label))),n.appendChild(r),t.icon&&n.classList.remove(this.CSS_PREFIX+`--icon-only`)}if(!t.icon&&!t.label)throw RangeError(`MenuItem without icon or label property`)}if(t.title){let r=typeof t.title==`function`?t.title(e.state):t.title;n.setAttribute(`title`,translate(e,r)),n.setAttribute(`aria-label`,translate(e,r))}return t.class&&n.classList.add(t.class),t.css&&(n.style.cssText+=t.css),n.addEventListener(`mousedown`,r=>{r.preventDefault(),n.classList.contains(this.CSS_PREFIX+`--disabled`)||t.run(e.state,e.dispatch)}),{dom:n,update:e=>{if(t.select){let r=t.select(e);if(n.style.display=r?``:`none`,!r)return!1}let r=!0;if(t.enable&&(r=t.enable(e)||!1,setClass(n,this.CSS_PREFIX+`--disabled`,!r),n.setAttribute(`aria-disabled`,(!r).toString())),t.active){let a=r&&t.active(e)||!1;setClass(n,this.CSS_PREFIX+`--active`,a),n.setAttribute(`aria-pressed`,a.toString())}return!0}}}};function translate(e,t){return e._props.translate?e._props.translate(t):t}var lastMenuEvent={time:0,node:null};function markMenuEvent(e){lastMenuEvent.time=Date.now(),lastMenuEvent.node=e.target}function isMenuEvent(e){return Date.now()-100<lastMenuEvent.time&&lastMenuEvent.node&&e.contains(lastMenuEvent.node)}var Dropdown=class{options;CSS_PREFIX=`kb-dropdown`;content;constructor(e,t={}){this.options=t,this.options=t||{},this.content=Array.isArray(e)?e:[e]}render(e){let t=renderDropdownItems(this.content,e),n=e.dom.ownerDocument.defaultView,r=document.createElement(`button`);if(r.setAttribute(`type`,`button`),r.classList.add(this.CSS_PREFIX+`__label`),this.options.class&&r.classList.add(this.options.class),this.options.css&&r.setAttribute(`style`,this.options.css),this.options.icon){let t=getIcon(e.root,this.options.icon);r.appendChild(t)}let a=translate(e,this.options.label||``);if(a){let e=document.createElement(`span`);e.classList.add(this.CSS_PREFIX+`__label-text`),e.textContent=a,r.appendChild(e)}let o=this.options.title?translate(e,this.options.title):a;o&&(r.setAttribute(`title`,o),r.setAttribute(`aria-label`,o)),r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-expanded`,`false`);let s=document.createElement(`div`);s.classList.add(this.CSS_PREFIX),s.appendChild(r);let c=null,l=null,u=()=>{c&&c.close()&&(c=null,n?.removeEventListener(`mousedown`,l))};r.addEventListener(`mousedown`,e=>{e.preventDefault(),markMenuEvent(e),c?(u(),s.classList.remove(`kb-dropdown--open`)):(c=this.expand(s,t.dom),s.classList.add(`kb-dropdown--open`),n?.addEventListener(`mousedown`,l=()=>{isMenuEvent(s)||u()}))});function d(e){let n=t.update(e);return s.style.display=n?``:`none`,n}return{dom:s,update:d}}expand(e,t){let n=document.createElement(`div`);n.classList.add(`kb-dropdown__menu`),n.setAttribute(`role`,`menu`),this.options.class&&n.classList.add(this.options.class),t.forEach(e=>n.appendChild(e));let r=!1;function a(){return r?!1:(r=!0,e.removeChild(n),!0)}return e.appendChild(n),{close:a,node:n}}};function renderDropdownItems(e,t){let n=[],r=[];for(let a=0;a<e.length;a++){let{dom:o,update:s}=e[a].render(t),c=document.createElement(`div`);c.classList.add(`kb-dropdown__item`),c.appendChild(o),n.push(c),r.push(s)}return{dom:n,update:combineUpdates(r,n)}}function combineUpdates(e,t){return n=>{let r=!1;for(let a=0;a<e.length;a++){let o=e[a](n);t[a].style.display=o?``:`none`,o&&(r=!0)}return r}}function setClass(e,t,n){n?e.classList.add(t):e.classList.remove(t)}var CSS_PREFIX$1=`kb-prompt`;function openPrompt(e){let t=document.body.appendChild(document.createElement(`div`));t.className=`kb-prompt-backdrop`;let n=document.body.appendChild(document.createElement(`div`));n.className=CSS_PREFIX$1;let r=()=>{t.parentNode&&t.parentNode.removeChild(t),n.parentNode&&n.parentNode.removeChild(n)};t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let a=[];for(let t in e.fields)a.push(e.fields[t].render());let o=document.createElement(`button`);o.type=`submit`,o.className=`kb-prompt--submit`,o.textContent=`OK`;let s=document.createElement(`button`);s.type=`button`,s.className=`kb-prompt--cancel`,s.textContent=`Cancel`,s.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let c=n.appendChild(document.createElement(`form`));e.title&&(c.appendChild(document.createElement(`h5`)).textContent=e.title),a.forEach(e=>{c.appendChild(document.createElement(`div`)).appendChild(e)});let l=c.appendChild(document.createElement(`div`));l.className=`kb-prompt__buttons`,l.appendChild(o),l.appendChild(document.createTextNode(` `)),l.appendChild(s);let u=n.getBoundingClientRect();n.style.top=(globalThis.innerHeight-u.height)/2+`px`,n.style.left=(globalThis.innerWidth-u.width)/2+`px`;let d=()=>{let t=getValues(e.fields,a);t&&(r(),e.callback(t))};c.addEventListener(`submit`,e=>{e.preventDefault(),d()}),c.addEventListener(`keydown`,e=>{e.keyCode==27?(e.preventDefault(),r()):e.keyCode==13&&!(e.ctrlKey||e.metaKey||e.shiftKey)?(e.preventDefault(),d()):e.keyCode==9&&globalThis.setTimeout(()=>{n.contains(document.activeElement)||r()},500)});let f=c.elements[0];f&&f.focus()}function getValues(e,t){let n=Object.create(null),r=0;for(let a in e){let o=e[a],s=t[r++],c=o.read(s),l=o.validate(c);if(l)return reportInvalid(s,l),null;n[a]=o.clean(c)}return n}function reportInvalid(e,t){let n=e.parentNode,r=n.appendChild(document.createElement(`div`));r.style.left=e.offsetLeft+e.offsetWidth+2+`px`,r.style.top=e.offsetTop-5+`px`,r.className=`kb-invalid`,r.textContent=t,setTimeout(()=>n.removeChild(r),1500)}var Field=class{options;constructor(e){this.options=e}read(e){return e.value}validateType(e){return null}validate(e){return!e&&this.options.required?`Required field`:this.validateType(e)||(this.options.validate?this.options.validate(e):null)}clean(e){return this.options.clean?this.options.clean(e):e}},TextField=class extends Field{render(){let e=document.createElement(`input`);return e.type=`text`,e.placeholder=this.options.label,e.value=this.options.value||``,e.autocomplete=`off`,e}},FileField=class extends Field{dataUrl=``;render(){let e=document.createElement(`div`);e.className=`kb-prompt__file-field`;let t=document.createElement(`input`);t.type=`file`,t.accept=this.options.accept||`image/*`,t.className=`kb-prompt__file-input`;let n=document.createElement(`label`);n.className=`kb-prompt__file-label`,n.textContent=this.options.label;let r=document.createElement(`span`);return r.className=`kb-prompt__file-name`,r.textContent=`No file selected`,this.options.value&&(this.dataUrl=this.options.value,r.textContent=`Current image`),t.addEventListener(`change`,()=>{let n=t.files?.[0];if(n){r.textContent=n.name;let t=new FileReader;t.onload=t=>{this.dataUrl=t.target?.result,e._dataUrl=this.dataUrl},t.readAsDataURL(n)}}),e.appendChild(n),e.appendChild(t),e.appendChild(r),e._dataUrl=this.dataUrl,e}read(e){return e._dataUrl||``}validateType(e){return this.options.required&&!e?`Please select a file`:null}};function canInsert(e,t){let n=e.selection.$from;for(let e=n.depth;e>=0;e--){let r=n.index(e);if(n.node(e).canReplaceWith(r,r,t))return!0}return!1}function cmdItem(e,t){let n={label:t.title,run:e};for(let e in t)n[e]=t[e];return!t.enable&&!t.select&&(n[t.enable?`enable`:`select`]=t=>e(t)),new MenuItem(n)}function markActive(e,t){let{from:n,$from:r,to:a,empty:o}=e.selection;return o?!!t.isInSet(e.storedMarks||r.marks()):e.doc.rangeHasMark(n,a,t)}function buildMenu(e,t){function n(t,n){let r={active(e){return markActive(e,t)}};for(let e in n)r[e]=n[e];return cmdItem(e.commandFactories.toggleMark(t),r)}function r(t,n){let r={run(r,a){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r,a])},select(r){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r])}};for(let e in n)r[e]=n[e];return new MenuItem(r)}function a(t,n){let r=e.commandFactories.setBlockType(t,n.attrs),a={run:r,enable(t){return r.apply({editor:e},[t])},active(e){let{$from:r,to:a,node:o}=e.selection;return o?o.hasMarkup(t,n.attrs):a<=r.end()&&r.parent.hasMarkup(t,n.attrs)}};for(let e in n)a[e]=n[e];return new MenuItem(a)}let o=[];o.push(new MenuItem({title:`Undo last change`,run:(t,n)=>{let r=e.commandFactories.undo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.undo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.undo})),o.push(new MenuItem({title:`Redo last undone change`,run:(t,n)=>{let r=e.commandFactories.redo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.redo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.redo}));let s=[],c=[];if(t.nodes.paragraph&&c.push(a(t.nodes.paragraph,{title:`Change to paragraph`,label:`Plain`})),t.nodes.code_block&&c.push(a(t.nodes.code_block,{title:`Change to code block`,label:`Code`})),c.length>0&&s.push(new Dropdown(c,{label:`Type`,icon:icons.type})),t.nodes.heading){let e=[];for(let n=1;n<=6;n++)e.push(a(t.nodes.heading,{title:`Change to heading `+n,label:`Heading `+n,attrs:{level:n}}));s.push(new Dropdown(e,{label:`Heading`,icon:icons.heading}))}let l=[];t.nodes.bullet_list&&l.push(cmdItem(e.commandFactories.toggleBulletList(),{title:`Wrap in bullet list`,label:`Bullet List`,icon:icons.bulletList})),t.nodes.ordered_list&&l.push(cmdItem(e.commandFactories.toggleOrderedList(),{title:`Wrap in ordered list`,label:`Ordered List`,icon:icons.orderedList})),t.nodes.task_list&&l.push(cmdItem(e.commandFactories.toggleTaskList(),{title:`Wrap in task list`,label:`Task List`,icon:icons.taskList})),l.length>0&&s.push(new Dropdown(l,{label:`Lists`,icon:icons.bulletList})),s.push(new MenuItem({title:`Lift out of enclosing block`,run:()=>e.chain().lift().run(),select:()=>e.can().lift().run(),icon:icons.outdent})),t.nodes.blockquote&&s.push(r(t.nodes.blockquote,{title:`Wrap in block quote`,icon:icons.blockquote}));let u=[];if(t.marks.strong&&u.push(new MenuItem({title:`Toggle bold`,run:()=>e.chain().toggleStrong().run(),enable:t=>e.can().toggleStrong().run(),icon:icons.strong})),t.marks.em&&u.push(new MenuItem({title:`Toggle italic`,run:()=>e.chain().toggleItalic().run(),enable:t=>e.can().toggleItalic().run(),icon:icons.em})),t.marks.strike&&u.push(n(t.marks.strike,{title:`Toggle strikethrough`,icon:icons.strike})),t.marks.code&&u.push(n(t.marks.code,{title:`Toggle code font`,icon:icons.code})),t.marks.underline&&u.push(new MenuItem({title:`Toggle underline`,run:()=>e.chain().toggleUnderline().run(),enable:t=>e.can().toggleUnderline().run(),icon:icons.underline})),t.marks.highlight&&u.push(n(t.marks.highlight,{title:`Toggle highlight`,icon:icons.highlight})),t.marks.link){let n=t.marks.link;u.push(new MenuItem({title:`Add or remove link`,icon:icons.link,active(e){return markActive(e,n)},enable(e){return!e.selection.empty},run(t,r){return markActive(t,n)?(e.commandFactories.toggleMark(n).apply({editor:e},[t,r]),!0):(openPrompt({title:`Create a link`,fields:{href:new TextField({label:`Link target`,required:!0}),title:new TextField({label:`Title`})},callback(t){e.commandFactories.toggleMark(n,t).apply({editor:e},[e.view.state,e.view.dispatch]),e.view.focus()}}),!0)}}))}let d=[];t.marks.superscript&&d.push(n(t.marks.superscript,{title:`Toggle superscript`,icon:icons.superscript})),t.marks.subscript&&d.push(n(t.marks.subscript,{title:`Toggle subscript`,icon:icons.subscript}));let f=[];t.nodes.paragraph?.spec?.attrs?.textAlign!==void 0&&(f.push(new MenuItem({title:`Align left`,icon:icons.alignLeft,run:()=>e.chain().setTextAlignLeft().run(),enable:()=>e.can().setTextAlignLeft().run()})),f.push(new MenuItem({title:`Align center`,icon:icons.alignCenter,run:()=>e.chain().setTextAlignCenter().run(),enable:()=>e.can().setTextAlignCenter().run()})),f.push(new MenuItem({title:`Align right`,icon:icons.alignRight,run:()=>e.chain().setTextAlignRight().run(),enable:()=>e.can().setTextAlignRight().run()})),f.push(new MenuItem({title:`Justify`,icon:icons.alignJustify,run:()=>e.chain().setTextAlignJustify().run(),enable:()=>e.can().setTextAlignJustify().run()})));let p=[];if(t.nodes.image){let n=t.nodes.image;p.push(new MenuItem({title:`Insert image`,icon:icons.image,enable:e=>canInsert(e,n),run(t,r){let{from:a,to:o}=t.selection,s=null;return t.selection instanceof NodeSelection&&t.selection.node.type==n&&(s=t.selection.node.attrs),openPrompt({title:`Insert image`,fields:{src:new FileField({label:`Choose image`,required:!0,value:s&&s.src}),title:new TextField({label:`Title`,value:s&&s.title}),alt:new TextField({label:`Description`,value:s?s.alt:t.doc.textBetween(a,o,` `)})},callback(t){e.view.dispatch(e.view.state.tr.replaceSelectionWith(n.createAndFill(t))),e.view.focus()}}),!0}}))}if(t.nodes.hr&&p.push(new MenuItem({title:`Insert horizontal rule`,icon:icons.horizontalRule,run:()=>e.chain().setHorizontalRule().run(),enable:t=>e.can().setHorizontalRule().run()})),t.nodes.table){let t=(t,n)=>new MenuItem({label:t,enable:()=>e.can()[n]().run(),run:()=>e.chain()[n]().run()}),n=[t(`Insert table`,`insertTable`),t(`Insert column before`,`addColumnBefore`),t(`Insert column after`,`addColumnAfter`),t(`Delete column`,`deleteColumn`),t(`Insert row before`,`addRowBefore`),t(`Insert row after`,`addRowAfter`),t(`Delete row`,`deleteRow`),t(`Delete table`,`deleteTable`),t(`Merge cells`,`mergeCells`),t(`Split cell`,`splitCell`),t(`Toggle header column`,`toggleHeaderColumn`),t(`Toggle header row`,`toggleHeaderRow`),t(`Toggle header cells`,`toggleHeaderCell`)];p.push(new Dropdown(n,{label:`Table`,icon:icons.table}))}let m=[];return m.push(new MenuItem({title:`Select parent node`,run:()=>e.chain().selectParentNode().run(),select:()=>e.can().selectParentNode().run(),icon:icons.selectParentNode})),[o,s,u,d,f,p,m].filter(e=>e.length>0)}var CSS_PREFIX=`kb-custom-menu`,STORAGE_KEY=`kb-custom-menu-order`,OVERFLOW_BUTTON_WIDTH=48,DRAG_START_DELAY=2e3,CustomMenuView=class{editorView;editor;content;wrapper;toolbar;overflowMenu;pinnedDropdownMenu=null;tools=[];root;closeOverflowHandler=null;closePinnedDropdownHandler=null;keydownHandler=null;submenuStack=[];pinnedDropdownStack=[];resizeObserver=null;draggedItem=null;dragStartTimer=null;isDragging=!1;isDraggingFromOverflow=!1;dragPlaceholder=null;dragGhost=null;dragSourceWrapper=null;currentOverflowTools=[];defaultOrder=[];constructor(e,t,n){this.editorView=e,this.editor=t,this.content=n,this.root=e.root,this.wrapper=document.createElement(`div`),this.wrapper.classList.add(`kb-custom-menu__wrapper`),this.toolbar=document.createElement(`div`),this.toolbar.classList.add(CSS_PREFIX),this.toolbar.setAttribute(`role`,`toolbar`),this.wrapper.appendChild(this.toolbar),e.dom.parentNode&&e.dom.parentNode.replaceChild(this.wrapper,e.dom),this.wrapper.appendChild(e.dom),this.overflowMenu=document.createElement(`div`),this.overflowMenu.classList.add(`kb-custom-menu__overflow-menu`),this.overflowMenu.style.display=`none`,this.wrapper.insertBefore(this.overflowMenu,e.dom),e.dom.classList.add(`kb-custom-menu__editor`),this.initializeTools(),this.loadOrderState(),this.render(),typeof ResizeObserver<`u`&&(this.resizeObserver=new ResizeObserver(()=>{this.render()}),this.resizeObserver.observe(this.toolbar)),this.setupKeyboardNavigation()}closeAllMenus(e){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]),e&&e.focus()}getToolbarButtons(){let e=[];this.toolbar.querySelectorAll(`.kb-custom-menu__item`).forEach(t=>{let n=t.querySelector(`button`);n&&e.push(n)});let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);return t&&e.push(t),e}setupKeyboardNavigation(){this.keydownHandler=e=>{let t=document.activeElement,n=this.toolbar.contains(t),r=this.overflowMenu.contains(t),a=this.pinnedDropdownMenu?.contains(t);if(e.key===`Escape`){if(a||this.pinnedDropdownMenu){e.preventDefault();let t=this.toolbar.querySelector(`[data-last-focused="true"]`);this.closeAllMenus(t||void 0);return}if(r||this.overflowMenu.style.display!==`none`){e.preventDefault();let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);this.closeAllMenus(t||void 0);return}}if(n&&!r&&!a){let n=this.getToolbarButtons(),r=n.indexOf(t);e.key===`ArrowRight`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowLeft`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Home`?(e.preventDefault(),n[0]?.focus()):e.key===`End`&&(e.preventDefault(),n[n.length-1]?.focus())}if(r){let n=Array.from(this.overflowMenu.querySelectorAll(`button, [role="menuitem"], .kb-custom-menu__overflow-item`)),r=n.indexOf(t);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`&&(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus())}},document.addEventListener(`keydown`,this.keydownHandler)}initializeTools(){let e=0;this.content.forEach((t,n)=>{t.forEach(t=>{let{dom:r,update:a}=t.render(this.editorView),o,s=t;o=s.options&&s.options.label?s.options.label:this.extractLabel(r);let c=this.generateStableId(o,r);this.tools.push({id:c,label:o,element:t,order:e++,groupIndex:n})})}),this.defaultOrder=this.tools.map(e=>e.id)}generateStableId(e,t){let n=t.getAttribute(`aria-label`),r=t.getAttribute(`data-id`);if(r)return`tool-${r}`;let a=n||e,o=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return o?`tool-${o}`:`tool-${this.simpleHash(a)}`}simpleHash(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t).toString(36)}extractLabel(e){return e.querySelector(`span`)?.textContent?.trim()||e.querySelector(`.kb-dropdown__label`)?.textContent?.trim()||e.getAttribute(`aria-label`)||e.getAttribute(`title`)||e.querySelector(`svg title`)?.textContent?.trim()||`Unknown Tool`}loadOrderState(){try{let e=localStorage.getItem(STORAGE_KEY);if(e){let t=JSON.parse(e);this.tools.forEach(e=>{let n=t.indexOf(e.id);n===-1?e.order=t.length+e.order:e.order=n}),this.tools.sort((e,t)=>e.order-t.order)}}catch(e){console.error(`Failed to load order state:`,e)}}saveOrderState(){try{let e=this.tools.map(e=>e.id);localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch(e){console.error(`Failed to save order state:`,e)}}hasCustomOrder(){let e=this.tools.map(e=>e.id);return e.length===this.defaultOrder.length?e.some((e,t)=>e!==this.defaultOrder[t]):!0}resetToDefault(){try{localStorage.removeItem(STORAGE_KEY)}catch(e){console.error(`Failed to clear order state:`,e)}this.tools.forEach(e=>{let t=this.defaultOrder.indexOf(e.id);t!==-1&&(e.order=t)}),this.tools.sort((e,t)=>e.order-t.order),this.closeAllMenus(),this.render()}createResetButton(e){let t=document.createElement(`button`);t.type=`button`,t.classList.add(`kb-custom-menu__reset-button`),e?(t.classList.add(`kb-custom-menu__reset-button--icon-only`),t.setAttribute(`role`,`button`)):t.setAttribute(`role`,`menuitem`),t.setAttribute(`tabindex`,`0`),t.setAttribute(`aria-label`,`Reset toolbar to default order`),t.title=`Reset toolbar to default order`;let n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
182
+ `);t.attrSet(`indent`,``+n),t.content=s,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`paragraph`:{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++,e.children?.forEach(e=>l(e,n)),a--;let s=new Token(`paragraph_close`,`p`,-1);s.level=a,s.attrSet(`margin_after`,`1`),r.push(s)}break;case`pipe_table_cell`:{let t=n.tableRowType===`thead`?`th`:`td`,o=n.tableRowType===`thead`?`th`:`td`,c=new Token(t+`_open`,o,1);c.attrSet(`align`,n.cellAlign[n.cellNo]||`left`),c.level=a,r.push(c),a++;{let t=`p`,o=new Token(`paragraph_open`,`p`,1);o.level=a,r.push(o);let c=[...e.children];for(;c.length>0&&c[c.length-1].type===`whitespace`;)c.splice(c.length-1,1);if(c.length>0)c.forEach(e=>l(e,n));else{let t=[e.startPosition?.row,e.endPosition?.row,e.startPosition?.column,e.endPosition?.column],n=new Token(`text`,``,0);n.map=t,n.meta=`noEscText`,n.content=e.text?.replace(/\s+$/,``)??``,s(n,`txt5`)}let u=new Token(`paragraph_close`,`p`,-1);u.level=a,r.push(u)}a--;let u=new Token(t+`_close`,o,-1);u.level=a,r.push(u),n.cellNo++}break;case`pipe_table_header`:case`pipe_table_row`:{let t=`tr`,o=new Token(`tr_open`,`tr`,1);o.level=a,r.push(o),a++,e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_cell`).forEach(e=>l(e,n)),a--;let s=new Token(`tr_close`,`tr`,-1);s.level=a,r.push(s)}break;case`pipe_table`:{let t=`table`,o=new Token(`table_open`,t,1);o.level=a,o.attrSet(`margin_before`,`1`),r.push(o),a++;let s=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_row`),c=[];if(s.length>0){let e=s[0].children.filter(e=>!!e).filter(e=>e.type===`pipe_table_delimiter_cell`);for(let t=0;t<e.length;t++)e[t].children.filter(e=>!!e).find(e=>e.type===`pipe_table_align_right`)?c.push(`right`):c.push(`left`)}let u=e.children.filter(e=>!!e).filter(e=>e.type===`pipe_table_header`);if(u.length>0){let e=`thead`,t=new Token(`thead_open`,e,1);t.level=a,r.push(t),a++,u.forEach(e=>l(e,{...n,tableRowType:`thead`,cellNo:0,cellAlign:c})),a--;let o=new Token(`thead_close`,e,-1);o.level=a,r.push(o)}let d=e.children?.filter(e=>e?.type===`pipe_table_row`);d.length>0&&(a++,d.filter(e=>!!e).forEach(e=>l(e,{...n,tableRowType:`tbody`,cellAlign:c})),a--),a--;let f=new Token(`table_close`,t,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list`:{let t=`bullet_list`,s=`ul`,c=``,u=e.children.filter(e=>!!e).find(e=>e.type===`list_item`);if(u){let e=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker`)),n=u.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_dot`));e?(t=`task_list`,s=`ul`):n&&(t=`ordered_list`,s=`ol`,c=(o(n)||``).trim().replace(`.`,``))}let d=new Token(t+`_open`,s,1);d.level=a,d.markup=s===`ol`?`.`:`*`,d.attrSet(`symbol`,s===`ol`?`1`:`*`),c&&d.attrSet(`start`,c),d.attrSet(`margin_before`,`1`),r.push(d),a++,e.children.filter(e=>!!e).forEach(e=>l(e,n)),a--;let f=new Token(t+`_close`,s,-1);f.level=a,f.attrSet(`margin_after`,`1`),r.push(f)}break;case`list_item`:{let t=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`task_list_marker_`)),s=e.children.filter(e=>!!e).find(e=>e.type.startsWith(`list_marker_`));if(!s)break;let c=t?`task_item`:`list_item`,u=`li`,d=new Token(c+`_open`,`li`,1);d.level=a,d.markup=(o(s)||``).trim(),s.type===`list_marker_dot`&&(d.info=``,d.markup=``),t&&(t.type,d.attrSet(`checked`,t.type===`task_list_marker_checked`?`checked`:``)),r.push(d),a++,l(e.children.filter(e=>!!e).find(e=>e.type===`paragraph`),n);let f=e.children.filter(e=>!!e).filter(e=>e.type===`list`);for(let e of f)l(e,n);a--;let p=new Token(c+`_close`,`li`,-1);p.level=a,r.push(p)}break;case`html_block`:{let t=new Token(`html_block`,``,0);t.level=a,t.content=o(e)??``,t.attrSet(`margin_before`,`1`),t.attrSet(`margin_after`,`1`),r.push(t)}break;case`text`:{let t=new Token(`text`,``,0);t.level=a,t.content=o(e)??``,r.push(t)}break;default:throw console.warn(`Unhandled node type: ${e.type}, children: ${e.children.map(e=>e.type).join(`, `)}`,{...e,children:void 0,_children:void 0,tree:void 0}),Error(`Unhandled node type: ${e.type}`)}}};return l(e.rootNode),r}async function sitterTokenizer(e){let t=getLangTreeSitter(`markdown`),n=t.files.find(e=>e.indexOf(`_inline`)===-1),r=t.files.find(e=>e.indexOf(`_inline`)>-1),a=await e(t.dir+`/`+n),o=await e(t.dir+`/`+r),s=await createParser(a,{assetLoad:e}),c=await createParser(o,{assetLoad:e});return{parse:e=>{let t=s.parse(e);if(!t)throw Error(`Tree is null`);return treeToTokens(t,c,e)}}}function listIsTight(e,t){for(;++t<e.length;)if(e[t].type!=`list_item_open`)return e[t].hidden;return!1}async function mdToPmConverter(e,t,n){return mdToPmConverterText(new TextDecoder().decode(e),t,n)}async function mdToPmConverterText(e,t,n){if(!t.assetLoad)throw Error(`No config.assetLoad`);let r=new MarkdownParser(n,await sitterTokenizer(t.assetLoad),{frontmatter:{custom:(e,n)=>{let r=e.stack[0];if(r?.type.name===`doc`){let e=n.content,a=e.indexOf(`
183
+ ---
184
+ `,4);if(e.startsWith(`---
185
+ `)&&a>-1){let n=t.yaml?.parse(e.substring(4,a))||void 0;r.attrs={...r.attrs,meta:n}}}}},blockquote:{block:`blockquote`},paragraph:{block:`paragraph`},task_item:{block:`task_item`},task_list:{block:`task_list`},list_item:{block:`list_item`},bullet_list:{block:`bullet_list`,getAttrs:(e,t,n)=>({tight:listIsTight(t,n)})},ordered_list:{block:`ordered_list`,getAttrs:(e,t,n)=>({start:+e.attrGet(`start`)||1,tight:listIsTight(t,n)})},dl:{block:`dl`},dt:{block:`dt`},dd:{block:`dd`},heading:{block:`heading`,getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},fence:{block:`code_block`,getAttrs:e=>({lang:e.attrGet(`lang`)||void 0}),noCloseToken:!0},hr:{custom:(e,t,r,a)=>{e.openNode(n.nodes.paragraph,{}),e.addNode(n.nodes.hr,{}),e.closeNode()}},image:{node:`image`,getAttrs:e=>{let t=e.children?e.children[0]:void 0;return{src:e.attrGet(`src`),title:e.attrGet(`title`)||null,alt:t?.content||null}}},hardbreak:{node:`br`},em:{mark:`em`},underline:{mark:`underline`},strong:{mark:`strong`},strike:{mark:`strike`},link:{mark:`link`,getAttrs:e=>({href:e.attrGet(`href`),title:e.attrGet(`title`)||null})},code:{mark:`code`},html_block:{custom:(e,t,r,a)=>{let o=DOMParser$1.fromSchema(n).parse(elementFromString(t.content));e.importNodes(o.children)}},footnote_ref:{block:`code_block`},table:{block:`table`},tr:{block:`table_row`},td:{block:`table_cell`},th:{block:`table_header`},thead:{ignore:!0}}).parse(e),a=[...t.hooks||[]],o=EditorState.create({doc:r}),s=e=>{o=o.apply(e)};if(a.length>0)for(let e of a)await e(o,e=>s(e));return o.doc}var addEmptyLines=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(e,t,n=0,c=0){let l=0,u=!1;for(let t=0;t<e.length;t++){let d=e[t];if([`image`,`node_bookmark`].includes(d.type.name)&&t>0){let s=e[t-1];if(s.type!==o)if(s.type===a)r.setNodeMarkup(r.mapping.map(n+l-s.nodeSize),o);else{let e=o.createAndFill();e&&r.insert(r.mapping.map(n+l),e)}}if(d.type.name===`softbreak`){let a=e[t-1];e[t+1],a?.type.name===`softbreak`&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),a?.textContent?.endsWith(` `)&&r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize)),u||r.delete(r.mapping.map(n+l),r.mapping.map(n+l+d.nodeSize))}else u=!0;s(d.children,d,n+l+1,c+1),l+=d.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged},fixIdLinks=(e,t)=>{let n=e.tr,r=e.schema.marks.link;return e.doc.descendants((e,t)=>{e.marks.forEach(a=>{if(a.type===r&&a.attrs.href.startsWith(`#`)){let o=(e.text||e.textBetween(0,e.content.size)).toLowerCase().replace(/[^\w]+/g,` `).trim().replaceAll(` `,`-`);o&&(n=n.removeMark(t,t+e.nodeSize,r).addMark(t,t+e.nodeSize,r.create({...a.attrs,href:`#`+o})))}})}),t&&t(n),n.docChanged},fixShortCodes=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);function s(e,t=0,n=0){e.forEach((c,l,u)=>{if(c.type.name===`shortcode_inline`){if(u>1){let n=e.child(u-1);n.type===a&&(r=r.setNodeMarkup(t+l-n.nodeSize,o))}u<e.childCount-1&&e.child(u+1).type===a&&(r=r.setNodeMarkup(t+l+c.nodeSize,o))}s(c,t+l+1,n+1)})}return s(n),t&&t(r),r.steps.length>0},removeEmptyTags=(e,t)=>{let n=e.schema.nodes.paragraph,r=e.tr;return e.doc.descendants((e,t)=>{if([`paragraph`].includes(e.type.name)){let n=e.children.every(e=>e.isText&&e.textContent===``);(e.childCount===0||n)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}else if([`heading`].includes(e.type.name)){let a=e.children.find(e=>e.type.name===`node_bookmark`),o=e.children.every(e=>e.isText&&e.textContent===``||e.type.name===`node_bookmark`);a&&o?r.setNodeMarkup(r.mapping.map(t),n):(e.childCount===0||o)&&r.deleteRange(r.mapping.map(t),r.mapping.map(t+e.nodeSize))}}),t&&t(r),r.docChanged},removeSuggest=(e,t)=>{let n={},r=e.tr,a=e.doc,o=`comment`;a.descendants((e,t)=>{if(e.type.name===`comment`&&e.attrs.id){let r=e.attrs.id;n[r]||(n[r]=[]),e.attrs.nesting===1&&(n[r][0]={node:e,pos:t}),e.attrs.nesting===-1&&(n[r][1]={node:e,pos:t})}});for(let e in n){let t=n[e][0],a=n[e][1];if(t&&a){let e=t.pos,n=a.pos+a.node.nodeSize;r.replace(r.mapping.map(e),r.mapping.map(n))}}return t&&t(r),r.docChanged},rewriteUrls=e=>async(t,n)=>{let r=e?.();if(!r)return!1;let a=t.tr,o=t.schema.marks.link,s=t.schema.nodes.image,c=[],l=[];t.doc.descendants((e,t)=>{e.marks.forEach(n=>{n.type===o&&c.push([n,t,t+e.nodeSize])}),e.type===s&&l.push([e,t])});for(let[e,n,o]of c){let s=e.attrs.href,c={},l=await r(s,{type:`A`,dest:`md`,setMeta:(e,t)=>{c[e]=t}});if(l!==s||c.mdTemplate){let r=c.mdTemplate;a.removeMark(a.mapping.map(n),a.mapping.map(o),e);let u=t.schema.mark(`link`,{...e.attrs,href:l,origUrl:s,mdTemplate:r});a.addMark(a.mapping.map(n),a.mapping.map(o),u)}}for(let[e,t]of l){let n=e.attrs.src,o={},s=await r(n,{type:`IMG`,dest:`md`,setMeta:(e,t)=>{o[e]=t}});if(s!==n||o.mdTemplate){let r=o.mdTemplate;a.setNodeMarkup(a.mapping.map(t),null,{...e.attrs,src:s,origUrl:n,mdTemplate:r})}}return n&&n(a),a.docChanged},trimLines=(e,t)=>{let n=e.doc,r=e.schema,a=e.tr,o=e.schema.nodes.br,s=e.schema.nodes.softbreak,c=e.schema.nodes.paragraph;function l(e,t,n=0,u=0){let d=0;if(t.type.name===`code_block`&&t.textContent.trim())return;function f(t,o){let s=n+o;for(let n=t-1;n>=0;n--){let t=e[n];if(t?.type.name!==`text`)break;let o=t.text||``,c=o.replace(/[ \t\u00A0]+$/,``);if(c!==o){let e=s-t.nodeSize;c.length>0?a.replaceRangeWith(a.mapping.map(e),a.mapping.map(s),r.text(c)):a.replace(a.mapping.map(e),a.mapping.map(s))}else break;s-=t.nodeSize;break}}let p=!1;for(let m=0;m<e.length;m++){let h=e[m];if(h.isText){let e=h.text||``;if(e.match(/^([ \t\u00A0]+)/)&&!p&&c!==t.type){e=e.replace(/^[ \t\u00A0]+/,``);let t=n+d,o=t+h.nodeSize;e?a.replaceRangeWith(a.mapping.map(t),a.mapping.map(o),r.text(e)):a.replace(a.mapping.map(t),a.mapping.map(o))}e&&(p=!0)}o===h.type&&(f(m,d),m+1<e.length&&(e[m+1].type===o||e[m+1].type===s)&&a.setNodeMarkup(a.mapping.map(n+d),s)),l(h.children,h,n+d+1,u+1),d+=h.nodeSize}f(e.length,d)}return l(n.children,n),t&&t(a),a.docChanged},insertToc=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;if(!a)throw Error(`No hardbreak type in schema`);if(!o)throw Error(`No softbreak type in schema`);return n.forEach((e,t,n)=>{if(e.type.name===`bullet_list`&&e.attrs.toc){let t=e.copy(Fragment.from(e.content));r.insert(0,t)}}),t&&t(r),r.steps.length>0},addEnterAfterImage=(e,t)=>{let n=e.tr,r=e.schema.nodes.image,a=e.schema.nodes.br,o=e.schema.nodes.softbreak;function s(t,c=0,l=0){t.forEach((u,d,f)=>{if(u.type!==r)return;let p=t.nodeAt(f+1);if(p?.type===a&&p?.type===o)return;let m=c+d+u.nodeSize;n.insert(n.mapping.map(m),Fragment.from([e.schema.node(`softbreak`),e.schema.node(`softbreak`)])),s(u,c+d+1,l+1)})}return s(e.doc),t&&t(n),n.docChanged},fixParaEnding=(e,t)=>{let n=e.doc,r=e.tr,a=e.schema.nodes.br,o=e.schema.nodes.paragraph;function s(e,t,n=0,c=0){if(t.type===o){let o=t.content.size;for(let t=e.length-1;t>=0;t--){let s=e[t];if(s.type!==a)break;o-=s.nodeSize;let c=n+o,l=c+s.nodeSize;r.replace(r.mapping.map(c),r.mapping.map(l))}return}let l=0;for(let t=0;t<e.length;t++){let r=e[t];s(r.children,r,n+l+1,c+1),l+=r.nodeSize}}return s(n.children,n),t&&t(r),r.docChanged};function getDefaultsPreProcessFilters(e){return[insertToc,fixShortCodes,removeSuggest,removeEmptyTags,fixIdLinks,fixParaEnding,trimLines,addEnterAfterImage,addEmptyLines,rewriteUrls(e.getUrlRewriter)]}var PositionMapper=class{rawTextMap;rawTextArr;doc;constructor(e,t){this.rawTextMap=t,this.doc=e.state.doc,this.rawTextArr=[];for(let e of t)e.nodeIdx>=0&&this.rawTextArr.push({nodeIdx:e.nodeIdx,maxNodeIdx:e.nodeIdx,targetPos:e.targetPos,targetRow:e.targetRow,targetCol:e.targetCol});this.rawTextArr.sort((e,t)=>e.nodeIdx-t.nodeIdx);for(let e=0;e<this.rawTextArr.length;e++){let t=e+1;t<this.rawTextArr.length?this.rawTextArr[e].maxNodeIdx=this.rawTextArr[t].nodeIdx-1:this.rawTextArr[e].maxNodeIdx=this.doc.nodeSize}}toRawTextPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let t=0;t<this.rawTextArr.length;t++){let n=this.rawTextArr[t];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,t){for(let n=0;n<this.rawTextArr.length;n++){let r=this.rawTextArr[n],a=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(t>=r.targetCol&&t<r.targetCol+a){let e=t-r.targetCol;return r.nodeIdx+e}let e=this.rawTextArr[n+1];if((!e||e.targetRow>r.targetRow)&&t>=r.targetCol+a)return r.maxNodeIdx}}return-1}},MarkdownPluginState=class{editor;extensionMarkdown;capturing=!1;constructor(e,t){this.editor=e,this.extensionMarkdown=t,this.performSnapshot=debounce$1(this.performSnapshot.bind(this),800)}snapshot;async performSnapshot(){let e=this.editor,t=e.version;if(t===this.snapshot?.version)return;let n=await this.extensionMarkdown.toMarkdown(e.state.doc);e.version;let r=new PositionMapper(e,n.rawTextMap);this.snapshot={markdownResult:n,version:t,mapper:r},this.dispatchMeta({snapshot:this.snapshot})}dispatchMeta(e){let t=this.editor.state.tr;t.setMeta(`markdown`,e),this.editor.dispatchTransaction(t)}};function createMarkdownPlugin(e,t){return t.version,new Plugin({state:{init(){return new MarkdownPluginState(t,e)},apply(e,t,n,r){return e.docChanged&&t.capturing&&t.performSnapshot(),t}}})}var ExtensionMarkdown=class extends Extension{config;name=`markdown`;hooks={};urlFromRewriter;urlToRewriter;constructor(e={}){super(e),this.config=e}getConverters(e,t){let n={"text/x-markdown":{fromDoc:n=>pmToMdConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlToRewriter,hooks:this.hooks[`pm2md.pre`],yaml:e.ci.resolve(`yaml`)},t,e),toDoc:n=>mdToPmConverter(n,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlFromRewriter,hooks:this.hooks[`md2pm.post`],yaml:e.ci.resolve(`yaml`)},t)}};return n[`text/markdown`]=n[`text/x-markdown`],n}toMarkdown(e){return extPmToMdConverter(e,{sourceMap:!0,yaml:this.editor.ci.resolve(`yaml`)},this.editor.schema,this.editor)}async fromMarkdown(e){let t=(await mdToPmConverterText(e,{assetLoad:this.editor.config.assetLoad,...this.config},this.editor.schema)).content;if(t.content.length===1){let e=t.content[0];if(e.type.name===`paragraph`)return new Slice(e.content,0,0)}return new Slice(t,0,0)}created(){this.editor.schema.topNodeType.name===`doc`?this.hooks[`pm2md.pre`]=getDefaultsPreProcessFilters({getUrlRewriter:()=>this.urlToRewriter}):this.hooks[`pm2md.pre`]=[],this.hooks[`md2pm.post`]=[rewriteUrls(()=>this.urlFromRewriter)]}getCommandFactories(){return{getMarkdownHooks:(e,t)=>()=>(t(this.hooks[e]),!0),setMarkdownHooks:(e,t)=>()=>(this.hooks[e]=t,!0),setFromMarkdownUrlRewriter:e=>()=>(this.urlFromRewriter=e,!0),setToMarkdownUrlRewriter:e=>()=>(this.urlToRewriter=e,!0)}}getProseMirrorPlugins(){return[createMarkdownPlugin(this,this.editor)]}},SVG=`http://www.w3.org/2000/svg`,XLINK=`http://www.w3.org/1999/xlink`,prefix=`kb-icon`;function hashPath(e){let t=Array.isArray(e)?e.map(e=>typeof e==`string`?e:e.d+(e.fill||``)).join(``):e,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return n.toString(16)}function getIcon(e,t){let n=(e.nodeType==9?e:e.ownerDocument)||document,r=n.createElement(`div`);if(r.className=prefix,t.path){let{path:a,width:o,height:s}=t,c=`pm-icon-`+hashPath(a);n.getElementById(c)||buildSVG(e,c,t);let l=r.appendChild(n.createElementNS(SVG,`svg`));l.style.width=o/s+`em`,l.appendChild(n.createElementNS(SVG,`use`)).setAttributeNS(XLINK,`href`,/([^#]*)/.exec(n.location.toString())[1]+`#`+c)}else if(t.dom)r.appendChild(t.dom.cloneNode(!0));else{let{text:e,css:a}=t;r.appendChild(n.createElement(`span`)).textContent=e||``,a&&(r.firstChild.style.cssText=a)}return r}function buildSVG(e,t,n){let[r,a]=e.nodeType==9?[e,e.body]:[e.ownerDocument||document,e],o=r.getElementById(`kb-icon-collection`);o||(o=r.createElementNS(SVG,`svg`),o.id=`kb-icon-collection`,o.style.display=`none`,a.insertBefore(o,a.firstChild));let s=r.createElementNS(SVG,`symbol`);s.id=t,s.setAttribute(`viewBox`,`0 0 `+n.width+` `+n.height);let c=Array.isArray(n.path)?n.path:[n.path];for(let e of c){let t=s.appendChild(r.createElementNS(SVG,`path`));typeof e==`string`?t.setAttribute(`d`,e):(t.setAttribute(`d`,e.d),e.fill&&t.setAttribute(`fill`,e.fill))}o.appendChild(s)}var icons={join:{width:24,height:24,path:`M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z`},lift:{width:24,height:24,path:`M11 4H3v2h8V4zm0 4H3v2h8V8zm0 4H3v2h8v-2zm3-3l-3 3 3 3v-2h4v-2h-4V9zm6 6H11v2h9v-2z`},selectParentNode:{width:24,height:24,path:`M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z`},undo:{width:24,height:24,path:`M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z`},redo:{width:24,height:24,path:`M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z`},strong:{width:24,height:24,path:`M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z`},em:{width:24,height:24,path:`M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z`},underline:{width:24,height:24,path:`M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z`},code:{width:24,height:24,path:`M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z`},link:{width:24,height:24,path:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`},bulletList:{width:24,height:24,path:`M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z`},orderedList:{width:24,height:24,path:`M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z`},taskList:{width:24,height:24,path:`M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z`},blockquote:{width:24,height:24,path:`M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z`},insert:{width:24,height:24,path:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`},type:{width:24,height:24,path:`M5 4v3h5.5v12h3V7H19V4H5z`},table:{width:24,height:24,path:`M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z`},image:{width:24,height:24,path:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z`},horizontalRule:{width:24,height:24,path:`M4 11h16v2H4z`},heading:{width:24,height:24,path:`M6 4v16h2v-7h8v7h2V4h-2v7H8V4H6z`},strike:{width:24,height:24,path:`M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z`},highlight:{width:24,height:24,path:[`M17.75 7L14 3.25l-10 10V17h3.75l10-10zm2.96-2.96a.996.996 0 0 0 0-1.41L18.37.29a.996.996 0 0 0-1.41 0L15 2.25 18.75 6l1.96-1.96z`,{d:`M2 20h20v4H2z`,fill:`#FFEB3B`}]},indent:{width:24,height:24,path:`M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},outdent:{width:24,height:24,path:`M3 21h18v-2H3v2zM7 8v8l-4-4 4-4zm4 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z`},superscript:{width:24,height:24,path:`M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.87 6H6.19l4.32 6.73L5.88 20z`},subscript:{width:24,height:24,path:`M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.87 4H6.19l4.32 6.73L5.88 18z`},alignLeft:{width:24,height:24,path:`M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z`},alignCenter:{width:24,height:24,path:`M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z`},alignRight:{width:24,height:24,path:`M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z`},alignJustify:{width:24,height:24,path:`M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z`},folderOpen:{width:24,height:24,path:`M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z`}},MenuItem=class{spec;CSS_PREFIX=`kb-menu__button`;constructor(e){this.spec=e}render(e){let t=this.spec,n=t.render?t.render(e):null;if(!n){if(n=document.createElement(`button`),n.setAttribute(`type`,`button`),n.classList.add(this.CSS_PREFIX),t.icon){let r=getIcon(e.root,t.icon);n.appendChild(r),n.classList.add(this.CSS_PREFIX+`--icon-only`)}if(t.label){let r=document.createElement(`span`);r.appendChild(document.createTextNode(translate(e,t.label))),n.appendChild(r),t.icon&&n.classList.remove(this.CSS_PREFIX+`--icon-only`)}if(!t.icon&&!t.label)throw RangeError(`MenuItem without icon or label property`)}if(t.title){let r=typeof t.title==`function`?t.title(e.state):t.title;n.setAttribute(`title`,translate(e,r)),n.setAttribute(`aria-label`,translate(e,r))}return t.class&&n.classList.add(t.class),t.css&&(n.style.cssText+=t.css),n.addEventListener(`mousedown`,r=>{r.preventDefault(),n.classList.contains(this.CSS_PREFIX+`--disabled`)||t.run(e.state,e.dispatch)}),{dom:n,update:e=>{if(t.select){let r=t.select(e);if(n.style.display=r?``:`none`,!r)return!1}let r=!0;if(t.enable&&(r=t.enable(e)||!1,setClass(n,this.CSS_PREFIX+`--disabled`,!r),n.setAttribute(`aria-disabled`,(!r).toString())),t.active){let a=r&&t.active(e)||!1;setClass(n,this.CSS_PREFIX+`--active`,a),n.setAttribute(`aria-pressed`,a.toString())}return!0}}}};function translate(e,t){return e._props.translate?e._props.translate(t):t}var lastMenuEvent={time:0,node:null};function markMenuEvent(e){lastMenuEvent.time=Date.now(),lastMenuEvent.node=e.target}function isMenuEvent(e){return Date.now()-100<lastMenuEvent.time&&lastMenuEvent.node&&e.contains(lastMenuEvent.node)}var Dropdown=class{options;CSS_PREFIX=`kb-dropdown`;content;constructor(e,t={}){this.options=t,this.options=t||{},this.content=Array.isArray(e)?e:[e]}render(e){let t=renderDropdownItems(this.content,e),n=e.dom.ownerDocument.defaultView,r=document.createElement(`button`);if(r.setAttribute(`type`,`button`),r.classList.add(this.CSS_PREFIX+`__label`),this.options.class&&r.classList.add(this.options.class),this.options.css&&r.setAttribute(`style`,this.options.css),this.options.icon){let t=getIcon(e.root,this.options.icon);r.appendChild(t)}let a=translate(e,this.options.label||``);if(a){let e=document.createElement(`span`);e.classList.add(this.CSS_PREFIX+`__label-text`),e.textContent=a,r.appendChild(e)}let o=this.options.title?translate(e,this.options.title):a;o&&(r.setAttribute(`title`,o),r.setAttribute(`aria-label`,o)),r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-expanded`,`false`);let s=document.createElement(`div`);s.classList.add(this.CSS_PREFIX),s.appendChild(r);let c=null,l=null,u=()=>{c&&c.close()&&(c=null,n?.removeEventListener(`mousedown`,l))};r.addEventListener(`mousedown`,e=>{e.preventDefault(),markMenuEvent(e),c?(u(),s.classList.remove(`kb-dropdown--open`)):(c=this.expand(s,t.dom),s.classList.add(`kb-dropdown--open`),n?.addEventListener(`mousedown`,l=()=>{isMenuEvent(s)||u()}))});function d(e){let n=t.update(e);return s.style.display=n?``:`none`,n}return{dom:s,update:d}}expand(e,t){let n=document.createElement(`div`);n.classList.add(`kb-dropdown__menu`),n.setAttribute(`role`,`menu`),this.options.class&&n.classList.add(this.options.class),t.forEach(e=>n.appendChild(e));let r=!1;function a(){return r?!1:(r=!0,e.removeChild(n),!0)}return e.appendChild(n),{close:a,node:n}}};function renderDropdownItems(e,t){let n=[],r=[];for(let a=0;a<e.length;a++){let{dom:o,update:s}=e[a].render(t),c=document.createElement(`div`);c.classList.add(`kb-dropdown__item`),c.appendChild(o),n.push(c),r.push(s)}return{dom:n,update:combineUpdates(r,n)}}function combineUpdates(e,t){return n=>{let r=!1;for(let a=0;a<e.length;a++){let o=e[a](n);t[a].style.display=o?``:`none`,o&&(r=!0)}return r}}function setClass(e,t,n){n?e.classList.add(t):e.classList.remove(t)}var CSS_PREFIX$1=`kb-prompt`;function openPrompt(e){let t=document.body.appendChild(document.createElement(`div`));t.className=`kb-prompt-backdrop`;let n=document.body.appendChild(document.createElement(`div`));n.className=CSS_PREFIX$1;let r=()=>{t.parentNode&&t.parentNode.removeChild(t),n.parentNode&&n.parentNode.removeChild(n)};t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let a=[];for(let t in e.fields)a.push(e.fields[t].render());let o=document.createElement(`button`);o.type=`submit`,o.className=`kb-prompt--submit`,o.textContent=`OK`;let s=document.createElement(`button`);s.type=`button`,s.className=`kb-prompt--cancel`,s.textContent=`Cancel`,s.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),r()});let c=n.appendChild(document.createElement(`form`));e.title&&(c.appendChild(document.createElement(`h5`)).textContent=e.title),a.forEach(e=>{c.appendChild(document.createElement(`div`)).appendChild(e)});let l=c.appendChild(document.createElement(`div`));l.className=`kb-prompt__buttons`,l.appendChild(o),l.appendChild(document.createTextNode(` `)),l.appendChild(s);let u=n.getBoundingClientRect();n.style.top=(globalThis.innerHeight-u.height)/2+`px`,n.style.left=(globalThis.innerWidth-u.width)/2+`px`;let d=()=>{let t=getValues(e.fields,a);t&&(r(),e.callback(t))};c.addEventListener(`submit`,e=>{e.preventDefault(),d()}),c.addEventListener(`keydown`,e=>{e.keyCode==27?(e.preventDefault(),r()):e.keyCode==13&&!(e.ctrlKey||e.metaKey||e.shiftKey)?(e.preventDefault(),d()):e.keyCode==9&&globalThis.setTimeout(()=>{n.contains(document.activeElement)||r()},500)});let f=c.elements[0];f&&f.focus()}function getValues(e,t){let n=Object.create(null),r=0;for(let a in e){let o=e[a],s=t[r++],c=o.read(s),l=o.validate(c);if(l)return reportInvalid(s,l),null;n[a]=o.clean(c)}return n}function reportInvalid(e,t){let n=e.parentNode,r=n.appendChild(document.createElement(`div`));r.style.left=e.offsetLeft+e.offsetWidth+2+`px`,r.style.top=e.offsetTop-5+`px`,r.className=`kb-invalid`,r.textContent=t,setTimeout(()=>n.removeChild(r),1500)}var Field=class{options;constructor(e){this.options=e}read(e){return e.value}validateType(e){return null}validate(e){return!e&&this.options.required?`Required field`:this.validateType(e)||(this.options.validate?this.options.validate(e):null)}clean(e){return this.options.clean?this.options.clean(e):e}},TextField=class extends Field{render(){let e=document.createElement(`input`);return e.type=`text`,e.placeholder=this.options.label,e.value=this.options.value||``,e.autocomplete=`off`,e}},FileField=class extends Field{dataUrl=``;render(){let e=document.createElement(`div`);e.className=`kb-prompt__file-field`;let t=document.createElement(`input`);t.type=`file`,t.accept=this.options.accept||`image/*`,t.className=`kb-prompt__file-input`;let n=document.createElement(`label`);n.className=`kb-prompt__file-label`,n.textContent=this.options.label;let r=document.createElement(`span`);return r.className=`kb-prompt__file-name`,r.textContent=`No file selected`,this.options.value&&(this.dataUrl=this.options.value,r.textContent=`Current image`),t.addEventListener(`change`,()=>{let n=t.files?.[0];if(n){r.textContent=n.name;let t=new FileReader;t.onload=t=>{this.dataUrl=t.target?.result,e._dataUrl=this.dataUrl},t.readAsDataURL(n)}}),e.appendChild(n),e.appendChild(t),e.appendChild(r),e._dataUrl=this.dataUrl,e}read(e){return e._dataUrl||``}validateType(e){return this.options.required&&!e?`Please select a file`:null}};function canInsert(e,t){let n=e.selection.$from;for(let e=n.depth;e>=0;e--){let r=n.index(e);if(n.node(e).canReplaceWith(r,r,t))return!0}return!1}function cmdItem(e,t){let n={label:t.title,run:e};for(let e in t)n[e]=t[e];return!t.enable&&!t.select&&(n[t.enable?`enable`:`select`]=t=>e(t)),new MenuItem(n)}function markActive(e,t){let{from:n,$from:r,to:a,empty:o}=e.selection;return o?!!t.isInSet(e.storedMarks||r.marks()):e.doc.rangeHasMark(n,a,t)}function buildMenu(e,t){function n(t,n){let r={active(e){return markActive(e,t)}};for(let e in n)r[e]=n[e];return cmdItem(e.commandFactories.toggleMark(t),r)}function r(t,n){let r={run(r,a){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r,a])},select(r){return e.commandFactories.wrapIn(t,n.attrs).apply({editor:e},[r])}};for(let e in n)r[e]=n[e];return new MenuItem(r)}function a(t,n){let r=e.commandFactories.setBlockType(t,n.attrs),a={run:r,enable(t){return r.apply({editor:e},[t])},active(e){let{$from:r,to:a,node:o}=e.selection;return o?o.hasMarkup(t,n.attrs):a<=r.end()&&r.parent.hasMarkup(t,n.attrs)}};for(let e in n)a[e]=n[e];return new MenuItem(a)}let o=[];o.push(new MenuItem({title:`Undo last change`,run:(t,n)=>{let r=e.commandFactories.undo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.undo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.undo})),o.push(new MenuItem({title:`Redo last undone change`,run:(t,n)=>{let r=e.commandFactories.redo?.();return r?r.apply({editor:e},[t,n]):!1},enable:t=>{let n=e.commandFactories.redo?.();return n?n.apply({editor:e},[t]):!1},icon:icons.redo}));let s=[],c=[];if(t.nodes.paragraph&&c.push(a(t.nodes.paragraph,{title:`Change to paragraph`,label:`Plain`})),t.nodes.code_block&&c.push(a(t.nodes.code_block,{title:`Change to code block`,label:`Code`})),c.length>0&&s.push(new Dropdown(c,{label:`Type`,icon:icons.type})),t.nodes.heading){let e=[];for(let n=1;n<=6;n++)e.push(a(t.nodes.heading,{title:`Change to heading `+n,label:`Heading `+n,attrs:{level:n}}));s.push(new Dropdown(e,{label:`Heading`,icon:icons.heading}))}let l=[];t.nodes.bullet_list&&l.push(cmdItem(e.commandFactories.toggleBulletList(),{title:`Wrap in bullet list`,label:`Bullet List`,icon:icons.bulletList})),t.nodes.ordered_list&&l.push(cmdItem(e.commandFactories.toggleOrderedList(),{title:`Wrap in ordered list`,label:`Ordered List`,icon:icons.orderedList})),t.nodes.task_list&&l.push(cmdItem(e.commandFactories.toggleTaskList(),{title:`Wrap in task list`,label:`Task List`,icon:icons.taskList})),l.length>0&&s.push(new Dropdown(l,{label:`Lists`,icon:icons.bulletList})),s.push(new MenuItem({title:`Lift out of enclosing block`,run:()=>e.chain().lift().run(),select:()=>e.can().lift().run(),icon:icons.outdent})),t.nodes.blockquote&&s.push(r(t.nodes.blockquote,{title:`Wrap in block quote`,icon:icons.blockquote}));let u=[];if(t.marks.strong&&u.push(new MenuItem({title:`Toggle bold`,run:()=>e.chain().toggleStrong().run(),enable:t=>e.can().toggleStrong().run(),icon:icons.strong})),t.marks.em&&u.push(new MenuItem({title:`Toggle italic`,run:()=>e.chain().toggleItalic().run(),enable:t=>e.can().toggleItalic().run(),icon:icons.em})),t.marks.strike&&u.push(n(t.marks.strike,{title:`Toggle strikethrough`,icon:icons.strike})),t.marks.code&&u.push(n(t.marks.code,{title:`Toggle code font`,icon:icons.code})),t.marks.underline&&u.push(new MenuItem({title:`Toggle underline`,run:()=>e.chain().toggleUnderline().run(),enable:t=>e.can().toggleUnderline().run(),icon:icons.underline})),t.marks.highlight&&u.push(n(t.marks.highlight,{title:`Toggle highlight`,icon:icons.highlight})),t.marks.link){let n=t.marks.link;u.push(new MenuItem({title:`Add or remove link`,icon:icons.link,active(e){return markActive(e,n)},enable(e){return!e.selection.empty},run(t,r){return markActive(t,n)?(e.commandFactories.toggleMark(n).apply({editor:e},[t,r]),!0):(openPrompt({title:`Create a link`,fields:{href:new TextField({label:`Link target`,required:!0}),title:new TextField({label:`Title`})},callback(t){e.commandFactories.toggleMark(n,t).apply({editor:e},[e.view.state,e.view.dispatch]),e.view.focus()}}),!0)}}))}let d=[];t.marks.superscript&&d.push(n(t.marks.superscript,{title:`Toggle superscript`,icon:icons.superscript})),t.marks.subscript&&d.push(n(t.marks.subscript,{title:`Toggle subscript`,icon:icons.subscript}));let f=[];t.nodes.paragraph?.spec?.attrs?.textAlign!==void 0&&(f.push(new MenuItem({title:`Align left`,icon:icons.alignLeft,run:()=>e.chain().setTextAlignLeft().run(),enable:()=>e.can().setTextAlignLeft().run()})),f.push(new MenuItem({title:`Align center`,icon:icons.alignCenter,run:()=>e.chain().setTextAlignCenter().run(),enable:()=>e.can().setTextAlignCenter().run()})),f.push(new MenuItem({title:`Align right`,icon:icons.alignRight,run:()=>e.chain().setTextAlignRight().run(),enable:()=>e.can().setTextAlignRight().run()})),f.push(new MenuItem({title:`Justify`,icon:icons.alignJustify,run:()=>e.chain().setTextAlignJustify().run(),enable:()=>e.can().setTextAlignJustify().run()})));let p=[];if(t.nodes.image){let n=t.nodes.image;p.push(new MenuItem({title:`Insert image`,icon:icons.image,enable:e=>canInsert(e,n),run(t,r){let{from:a,to:o}=t.selection,s=null;return t.selection instanceof NodeSelection&&t.selection.node.type==n&&(s=t.selection.node.attrs),openPrompt({title:`Insert image`,fields:{src:new FileField({label:`Choose image`,required:!0,value:s&&s.src}),title:new TextField({label:`Title`,value:s&&s.title}),alt:new TextField({label:`Description`,value:s?s.alt:t.doc.textBetween(a,o,` `)})},callback(t){e.view.dispatch(e.view.state.tr.replaceSelectionWith(n.createAndFill(t))),e.view.focus()}}),!0}}))}if(t.nodes.hr&&p.push(new MenuItem({title:`Insert horizontal rule`,icon:icons.horizontalRule,run:()=>e.chain().setHorizontalRule().run(),enable:t=>e.can().setHorizontalRule().run()})),t.nodes.table){let t=(t,n)=>new MenuItem({label:t,enable:()=>e.can()[n]().run(),run:()=>e.chain()[n]().run()}),n=[t(`Insert table`,`insertTable`),t(`Insert column before`,`addColumnBefore`),t(`Insert column after`,`addColumnAfter`),t(`Delete column`,`deleteColumn`),t(`Insert row before`,`addRowBefore`),t(`Insert row after`,`addRowAfter`),t(`Delete row`,`deleteRow`),t(`Delete table`,`deleteTable`),t(`Merge cells`,`mergeCells`),t(`Split cell`,`splitCell`),t(`Toggle header column`,`toggleHeaderColumn`),t(`Toggle header row`,`toggleHeaderRow`),t(`Toggle header cells`,`toggleHeaderCell`)];p.push(new Dropdown(n,{label:`Table`,icon:icons.table}))}let m=[];return m.push(new MenuItem({title:`Select parent node`,run:()=>e.chain().selectParentNode().run(),select:()=>e.can().selectParentNode().run(),icon:icons.selectParentNode})),[o,s,u,d,f,p,m].filter(e=>e.length>0)}var CSS_PREFIX=`kb-custom-menu`,STORAGE_KEY=`kb-custom-menu-order`,OVERFLOW_BUTTON_WIDTH=48,DRAG_START_DELAY=2e3,CustomMenuView=class{editorView;editor;content;wrapper;toolbar;overflowMenu;pinnedDropdownMenu=null;tools=[];root;closeOverflowHandler=null;closePinnedDropdownHandler=null;keydownHandler=null;submenuStack=[];pinnedDropdownStack=[];resizeObserver=null;draggedItem=null;dragStartTimer=null;isDragging=!1;isDraggingFromOverflow=!1;dragPlaceholder=null;dragGhost=null;dragSourceWrapper=null;currentOverflowTools=[];defaultOrder=[];constructor(e,t,n){this.editorView=e,this.editor=t,this.content=n,this.root=e.root,this.wrapper=document.createElement(`div`),this.wrapper.classList.add(`kb-custom-menu__wrapper`),this.toolbar=document.createElement(`div`),this.toolbar.classList.add(CSS_PREFIX),this.toolbar.setAttribute(`role`,`toolbar`),this.wrapper.appendChild(this.toolbar),e.dom.parentNode&&e.dom.parentNode.replaceChild(this.wrapper,e.dom),this.wrapper.appendChild(e.dom),this.overflowMenu=document.createElement(`div`),this.overflowMenu.classList.add(`kb-custom-menu__overflow-menu`),this.overflowMenu.style.display=`none`,this.wrapper.insertBefore(this.overflowMenu,e.dom),e.dom.classList.add(`kb-custom-menu__editor`),this.initializeTools(),this.loadOrderState(),this.render(),typeof ResizeObserver<`u`&&(this.resizeObserver=new ResizeObserver(()=>{this.render()}),this.resizeObserver.observe(this.toolbar)),this.setupKeyboardNavigation()}closeAllMenus(e){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]),e&&e.focus()}getToolbarButtons(){let e=[];this.toolbar.querySelectorAll(`.kb-custom-menu__item`).forEach(t=>{let n=t.querySelector(`button`);n&&e.push(n)});let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);return t&&e.push(t),e}setupKeyboardNavigation(){this.keydownHandler=e=>{let t=document.activeElement,n=this.toolbar.contains(t),r=this.overflowMenu.contains(t),a=this.pinnedDropdownMenu?.contains(t);if(e.key===`Escape`){if(a||this.pinnedDropdownMenu){e.preventDefault();let t=this.toolbar.querySelector(`[data-last-focused="true"]`);this.closeAllMenus(t||void 0);return}if(r||this.overflowMenu.style.display!==`none`){e.preventDefault();let t=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);this.closeAllMenus(t||void 0);return}}if(n&&!r&&!a){let n=this.getToolbarButtons(),r=n.indexOf(t);e.key===`ArrowRight`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowLeft`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Home`?(e.preventDefault(),n[0]?.focus()):e.key===`End`&&(e.preventDefault(),n[n.length-1]?.focus())}if(r){let n=Array.from(this.overflowMenu.querySelectorAll(`button, [role="menuitem"], .kb-custom-menu__overflow-item`)),r=n.indexOf(t);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`&&(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus())}},document.addEventListener(`keydown`,this.keydownHandler)}initializeTools(){let e=0;this.content.forEach((t,n)=>{t.forEach(t=>{let{dom:r,update:a}=t.render(this.editorView),o,s=t;o=s.options&&s.options.label?s.options.label:this.extractLabel(r);let c=this.generateStableId(o,r);this.tools.push({id:c,label:o,element:t,order:e++,groupIndex:n})})}),this.defaultOrder=this.tools.map(e=>e.id)}generateStableId(e,t){let n=t.getAttribute(`aria-label`),r=t.getAttribute(`data-id`);if(r)return`tool-${r}`;let a=n||e,o=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return o?`tool-${o}`:`tool-${this.simpleHash(a)}`}simpleHash(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t).toString(36)}extractLabel(e){return e.querySelector(`span`)?.textContent?.trim()||e.querySelector(`.kb-dropdown__label`)?.textContent?.trim()||e.getAttribute(`aria-label`)||e.getAttribute(`title`)||e.querySelector(`svg title`)?.textContent?.trim()||`Unknown Tool`}loadOrderState(){try{let e=localStorage.getItem(STORAGE_KEY);if(e){let t=JSON.parse(e);this.tools.forEach(e=>{let n=t.indexOf(e.id);n===-1?e.order=t.length+e.order:e.order=n}),this.tools.sort((e,t)=>e.order-t.order)}}catch(e){console.error(`Failed to load order state:`,e)}}saveOrderState(){try{let e=this.tools.map(e=>e.id);localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch(e){console.error(`Failed to save order state:`,e)}}hasCustomOrder(){let e=this.tools.map(e=>e.id);return e.length===this.defaultOrder.length?e.some((e,t)=>e!==this.defaultOrder[t]):!0}resetToDefault(){try{localStorage.removeItem(STORAGE_KEY)}catch(e){console.error(`Failed to clear order state:`,e)}this.tools.forEach(e=>{let t=this.defaultOrder.indexOf(e.id);t!==-1&&(e.order=t)}),this.tools.sort((e,t)=>e.order-t.order),this.closeAllMenus(),this.render()}createResetButton(e){let t=document.createElement(`button`);t.type=`button`,t.classList.add(`kb-custom-menu__reset-button`),e?(t.classList.add(`kb-custom-menu__reset-button--icon-only`),t.setAttribute(`role`,`button`)):t.setAttribute(`role`,`menuitem`),t.setAttribute(`tabindex`,`0`),t.setAttribute(`aria-label`,`Reset toolbar to default order`),t.title=`Reset toolbar to default order`;let n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
180
186
  <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
181
187
  <path d="M3 3v5h5"/>
182
188
  </svg>`;return e?t.innerHTML=n:t.innerHTML=`${n}<span>Reset to Default</span>`,t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.resetToDefault()}),t.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.resetToDefault())}),t}showSubmenu(e){let t=e.element;if(!t.content)return;let n=t.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.submenuStack.push({title:e.label,tools:n}),this.renderOverflowMenu()}goBack(){this.submenuStack.pop(),this.renderOverflowMenu()}showPinnedDropdown(e,t){if(this.overflowMenu.style.display!==`none`){this.overflowMenu.style.display=`none`,this.submenuStack=[];let e=this.toolbar.querySelector(`.kb-custom-menu__overflow-toggle`);e&&e.setAttribute(`aria-expanded`,`false`)}this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null),this.toolbar.querySelectorAll(`[data-last-focused]`).forEach(e=>{e.removeAttribute(`data-last-focused`)}),t.setAttribute(`data-last-focused`,`true`);let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack=[{title:e.label,tools:r,rootTool:e}],this.renderPinnedDropdown(t)}pinnedDropdownGoBack(){if(this.pinnedDropdownStack.pop(),this.pinnedDropdownStack.length===0){this.pinnedDropdownMenu&&=(this.pinnedDropdownMenu.remove(),null);return}let e=this.toolbar.querySelector(`[data-tool-id="${this.pinnedDropdownStack[0].rootTool.id}"]`);e&&this.renderPinnedDropdown(e)}pinnedDropdownShowSubmenu(e,t){let n=e.element;if(!n.content)return;let r=n.content.map((t,n)=>{let{dom:r}=t.render(this.editorView),a,o=t;return a=o.options&&o.options.label?o.options.label:this.extractLabel(r),{id:`${e.id}-sub-${n}`,label:a,element:t,isPinned:!1}});this.pinnedDropdownStack.push({title:e.label,tools:r,rootTool:this.pinnedDropdownStack[0].rootTool}),this.renderPinnedDropdown(t)}renderPinnedDropdown(e){this.pinnedDropdownMenu&&this.pinnedDropdownMenu.remove();let t=this.pinnedDropdownStack[this.pinnedDropdownStack.length-1],n=this.pinnedDropdownStack.length>1;this.pinnedDropdownMenu=document.createElement(`div`),this.pinnedDropdownMenu.classList.add(`kb-custom-menu__pinned-dropdown`),this.pinnedDropdownMenu.setAttribute(`role`,`menu`),this.pinnedDropdownMenu.setAttribute(`aria-label`,t.title);let r=e.getBoundingClientRect();this.pinnedDropdownMenu.style.position=`absolute`,this.pinnedDropdownMenu.style.top=`${r.bottom+4}px`,this.pinnedDropdownMenu.style.left=`${r.left}px`;let a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-content`),n){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let n=document.createElement(`button`);n.type=`button`,n.classList.add(`kb-custom-menu__overflow-back-button`),n.setAttribute(`aria-label`,`Go back to `+t.title),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,n.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.pinnedDropdownGoBack()});let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-submenu-title`),r.textContent=t.title,e.appendChild(n),e.appendChild(r),a.appendChild(e)}t.tools.forEach(t=>{let n=t.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`data-tool-id`,t.id),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),n){let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(n);let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-item-chevron`),a.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(a),r.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),this.pinnedDropdownShowSubmenu(t,e)})}else{let{dom:e}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(t=>{let n=t.closest(`.kb-icon`)!==null,r=t.parentElement===e;t.textContent&&t.textContent.trim()&&!n&&r&&!t.querySelector(`svg`)&&!t.classList.contains(`kb-icon`)&&(t.style.display=`none`)});let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-label`),n.textContent=t.label,r.appendChild(e),r.appendChild(n),r.addEventListener(`mousedown`,t=>{if(t.target!==e){t.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[])})}a.appendChild(r)}),this.pinnedDropdownMenu.appendChild(a),document.body.appendChild(this.pinnedDropdownMenu);let o=this.editorView.dom.ownerDocument||document;setTimeout(()=>{this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler),this.closePinnedDropdownHandler=t=>{let n=t.target;this.pinnedDropdownMenu&&!this.pinnedDropdownMenu.contains(n)&&!e.contains(n)&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[],this.closePinnedDropdownHandler&&o.removeEventListener(`click`,this.closePinnedDropdownHandler))},o.addEventListener(`click`,this.closePinnedDropdownHandler)},0)}renderOverflowMenu(){this.overflowMenu.innerHTML=``,this.overflowMenu.setAttribute(`role`,`menu`),this.overflowMenu.setAttribute(`aria-label`,`More tools`);let e=this.submenuStack.length>0,t=e?this.submenuStack[this.submenuStack.length-1]:null,n=document.createElement(`div`);if(n.classList.add(`kb-custom-menu__overflow-content`),e||n.classList.add(`kb-custom-menu__overflow-content--grid`),e&&t){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-submenu-header`);let r=document.createElement(`button`);r.type=`button`,r.classList.add(`kb-custom-menu__overflow-back-button`),r.setAttribute(`aria-label`,`Go back to previous menu`),r.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>`,r.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.goBack()});let a=document.createElement(`span`);a.classList.add(`kb-custom-menu__overflow-submenu-title`),a.textContent=t.title,e.appendChild(r),e.appendChild(a),n.appendChild(e),t.tools.forEach(e=>{let t=e.element.content!==void 0,r=document.createElement(`div`);if(r.classList.add(`kb-custom-menu__overflow-item`),r.setAttribute(`role`,`menuitem`),r.setAttribute(`tabindex`,`0`),t){r.setAttribute(`aria-haspopup`,`true`);let t=document.createElement(`span`);t.classList.add(`kb-custom-menu__overflow-item-label`),t.textContent=e.label,r.appendChild(t);let n=document.createElement(`span`);n.classList.add(`kb-custom-menu__overflow-item-chevron`),n.setAttribute(`aria-hidden`,`true`),n.innerHTML=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>`,r.appendChild(n);let a=t=>{t.preventDefault(),t.stopPropagation(),this.showSubmenu(e)};r.addEventListener(`click`,a),r.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&a(e)})}else{let{dom:t,update:n}=e.element.render(this.editorView),a=t.querySelector(`span`);a&&(a.style.display=`none`);let o=document.createElement(`span`);o.classList.add(`kb-custom-menu__overflow-item-label`),o.textContent=e.label,r.appendChild(t),r.appendChild(o),r.addEventListener(`mousedown`,e=>{if(e.target!==t){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}}),r.addEventListener(`keydown`,e=>{if(e.key===`Enter`||e.key===` `){e.preventDefault();let n=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(n)}})}n.appendChild(r)})}else this.currentOverflowTools.forEach(t=>{if(!t.label||t.label.trim()===``||t.label===`Unknown Tool`)return;let r=t.element.content!==void 0,a=document.createElement(`div`);if(a.classList.add(`kb-custom-menu__overflow-item`),a.classList.add(`kb-custom-menu__overflow-item--grid`),a.setAttribute(`title`,t.label),a.setAttribute(`role`,`menuitem`),a.setAttribute(`tabindex`,`0`),a.setAttribute(`aria-label`,t.label),r){a.classList.add(`kb-custom-menu__overflow-item--dropdown`),a.setAttribute(`aria-haspopup`,`true`);let e=document.createElement(`button`);e.type=`button`,e.classList.add(`kb-menu__button`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-hidden`,`true`);let n=t.element;if(n.options?.icon){let t=getIcon(this.root,n.options.icon);e.appendChild(t)}a.appendChild(e);let r=document.createElement(`span`);r.classList.add(`kb-custom-menu__overflow-item-indicator`),r.setAttribute(`aria-hidden`,`true`),a.appendChild(r),a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),this.showSubmenu(t)}),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),this.showSubmenu(t))})}else{let{dom:e,update:n}=t.element.render(this.editorView);e.querySelectorAll(`span`).forEach(e=>{e.closest(`.kb-icon`)===null&&!e.querySelector(`svg`)&&(e.style.display=`none`)}),e.style.pointerEvents=`none`,a.appendChild(e),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.closeAllMenus(),requestAnimationFrame(()=>{let e=t.element;e.spec&&typeof e.spec.run==`function`&&e.spec.run(this.editorView.state,this.editorView.dispatch)}))})}!e&&!r&&this.setupOverflowDragHandlers(a,t),n.appendChild(a)});if(this.overflowMenu.appendChild(n),!e&&this.hasCustomOrder()){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__overflow-footer`);let t=this.createResetButton(!1);e.appendChild(t),this.overflowMenu.appendChild(e)}}render(){if(this.isDragging)return;this.toolbar.innerHTML=``,this.overflowMenu.innerHTML=``;let e=(this.toolbar.offsetWidth||this.wrapper.offsetWidth)-OVERFLOW_BUTTON_WIDTH-16,t=[];this.tools.forEach(e=>{let n=document.createElement(`span`);if(n.classList.add(`kb-custom-menu__item`),n.setAttribute(`data-tool-id`,e.id),n.setAttribute(`draggable`,`false`),e.element.content!==void 0){let{dom:t}=e.element.render(this.editorView),r=t.querySelector(`.kb-dropdown__content`);r&&(r.style.display=`none`),n.appendChild(t)}else{let{dom:t}=e.element.render(this.editorView);n.appendChild(t)}this.toolbar.appendChild(n);let r=n.getBoundingClientRect().width;t.push({tool:e,wrapper:n,width:r})});let n=4,r=0,a,o=[],s=[];for(let n of t){let t=0;o.length>0&&(t+=4,a!==void 0&&n.tool.groupIndex!==a&&(t+=13)),r+t+n.width<=e?(o.push(n),r+=t+n.width,a=n.tool.groupIndex):s.push(n)}this.toolbar.innerHTML=``;let c;if(o.forEach(({tool:e,wrapper:t})=>{if(c!==void 0&&e.groupIndex!==c){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(c=e.groupIndex,e.element.content!==void 0){let n=t.querySelector(`button`),r=t.querySelector(`.kb-dropdown__label`),a=n=>{if(this.isDragging){n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();return}n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),this.showPinnedDropdown(e,t)},o=e=>{e.stopImmediatePropagation(),this.isDragging&&e.stopPropagation()};n&&(n.addEventListener(`click`,a,{capture:!0}),n.addEventListener(`mousedown`,o,{capture:!0})),r&&(r.addEventListener(`click`,a,{capture:!0}),r.addEventListener(`mousedown`,o,{capture:!0}))}this.setupDragHandlers(t,e),this.toolbar.appendChild(t)}),this.currentOverflowTools=s.map(e=>e.tool),this.currentOverflowTools.length>0){let e=document.createElement(`div`);e.classList.add(`kb-custom-menu__separator`),this.toolbar.appendChild(e)}if(this.currentOverflowTools.length>0){let e=document.createElement(`button`);e.type=`button`,e.className=`kb-custom-menu__overflow-toggle`,e.setAttribute(`aria-haspopup`,`menu`),e.setAttribute(`aria-expanded`,`false`),e.setAttribute(`aria-label`,`More tools`),e.title=`More tools`,e.innerHTML=`