@bull-board/ui 6.9.6 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- /*! For license information please see 76727.41051597.js.LICENSE.txt */
2
- (self.webpackChunk_bull_board_ui=self.webpackChunk_bull_board_ui||[]).push([["76727"],{67142:function(e){var t;"undefined"!=typeof self&&self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){return"#"===e||""===e||Array.isArray(e)&&0===e.length||!1}e.r(t),e.d(t,{default:()=>x,get:()=>h,isRoot:()=>n,join:()=>k,remove:()=>g,removeUndefinedItems:()=>m,set:()=>d,split:()=>u,splitLast:()=>D});let r=/~1/g,i=/~0/g,s=/\/+/g,o=/(^[#/]*|\/+$)/g;function l(e){return e.replace(r,"/").replace(i,"~")}function a(e){return l(decodeURIComponent(e))}function u(e){if(null==e||"string"!=typeof e||n(e))return Array.isArray(e)?e:[];let t=e.indexOf("#")>=0?a:l,r=(e=(e=e.replace(s,"/")).replace(o,"")).split("/");for(let e=0,n=r.length;e<n;e+=1)r[e]=t(r[e]);return r}function h(e,t,r){if(null==t||null==e)return r;if(n(t))return e;let i=function e(t,n){let r=n.shift();if(void 0!==t)return void 0!==r?e(t[r],n):t}(e,u(t));return void 0===i?r:i}let c=/^\[.*\]$/,f=/^\[(.+)\]$/;function d(e,t,n){if(null==t)return e;let r=u(t);if(0===r.length)return e;null==e&&(e=c.test(r[0])?[]:{});let i,s,o=e;for(;r.length>1;){var l;i=r.shift(),s=c.test(r[0]),"__proto__"===(l=i)||"constructor"==l&&r.length>0&&"prototype"==r[0]||(o=function(e,t,n){if(null!=e[t])return e[t];let r=n?[]:{};return p(e,t,r),r}(o,i,s))}return p(o,i=r.pop(),n),e}function p(e,t,n){let r=t.match(f);"[]"===t&&Array.isArray(e)?e.push(n):r?e[r.pop()]=n:e[t]=n}function m(e){let t=0,n=0;for(;t+n<e.length;)void 0===e[t+n]&&(n+=1),e[t]=e[t+n],t+=1;return e.length=e.length-n,e}function g(e,t,n){let r=u(t),i=r.pop(),s=h(e,r);return s&&delete s[i],Array.isArray(s)&&!0!==n&&m(s),e}let y=/\/+/g,b=/~/g,v=/\//g;function w(e,t){if(0===e.length)return t?"#":"";for(let n=0,r=e.length;n<r;n+=1)e[n]=e[n].replace(b,"~0").replace(v,"~1"),t&&(e[n]=encodeURIComponent(e[n]));return((t?"#/":"/")+e.join("/")).replace(y,"/")}function k(e,...t){let n=[];if(Array.isArray(e))return w(e,!0===arguments[1]);let r=arguments[arguments.length-1],i="boolean"==typeof r?r:e&&"#"===e[0];for(let e=0,t=arguments.length;e<t;e+=1)n.push.apply(n,u(arguments[e]));let s=[];for(let e=0,t=n.length;e<t;e+=1)if(".."===n[e]){if(0===s.length)return i?"#":"";s.pop()}else s.push(n[e]);return w(s,i)}function D(e){let t=u(e);if(0===t.length)return"string"==typeof e&&"#"===e[0]?["#",t[0]]:["",void 0];if(1===t.length)return"#"===e[0]?["#",t[0]]:["",t[0]];let n=t.pop();return[k(t,"#"===e[0]),n]}let x={get:h,set:d,remove:g,join:k,split:u,splitLast:D,isRoot:n,removeUndefinedItems:m};return t})()},21856:function(e,t){"use strict";function n(e){if(void 0!==e){if(null===e)return null;if(""===e)return"";e=e.replace(/\\+$/,e=>e.length%2==0?e:e.slice(0,-1));try{return JSON.parse(e)}catch(s){let[t,i]=":"===e.trimLeft()[0]?r(e,s):r(e,s,f);if(n.lastParseReminding=i,n.onExtraToken&&i.length>0){let r=i.trimRight();n.lastParseReminding=r,r.length>0&&n.onExtraToken(e,t,r)}return t}}}function r(e,t,n){let r=i[e[0]]||n;if(!r)throw console.error(`no parser registered for ${JSON.stringify(e[0])}:`,{s:e}),t;return r(e,t)}t.parse=void 0,t.parse=n,(n=t.parse||(t.parse={})).onExtraToken=(e,t,n)=>{console.error("parsed json with extra tokens:",{text:e,data:t,reminding:n})};let i={};function s(e){return e.trimLeft()}function o(e,t){return r(e=s(e),t)}for(let e of(i[" "]=o,i["\r"]=o,i["\n"]=o,i[" "]=o,i["["]=function(e,t){e=e.substr(1);let n=[];for(e=s(e);e.length>0;){if("]"===e[0]){e=e.substr(1);break}let i=r(e,t,(e,t)=>f(e,t,[",","]"]));n.push(i[0]),","===(e=s(e=i[1]))[0]&&(e=s(e=e.substring(1)))}return[n,e]},"0123456789.-".slice()))i[e]=l;function l(e){for(let t=0;t<e.length;t++){if(i[e[t]]===l)continue;let n=e.substring(0,t);return e=e.substring(t),[a(n),e]}return[a(e),""]}function a(e){if("-"===e)return -0;let t=+e;return Number.isNaN(t)?e:t}function u(e){for(let t=1;t<e.length;t++){let n=e[t];if("\\"===n){t++;continue}if('"'===n){let n=h(e.substring(0,t+1));return e=e.substring(t+1),[JSON.parse(n),e]}}return[JSON.parse(h(e)+'"'),""]}function h(e){return e.replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")}function c(e){for(let t=1;t<e.length;t++){let n=e[t];if("\\"===n){t++;continue}if("'"===n){let n=h(e.substring(0,t+1));return e=e.substring(t+1),[JSON.parse('"'+n.slice(1,-1)+'"'),e]}}return[JSON.parse('"'+h(e.slice(1))+'"'),""]}function f(e,t,n=[" "]){let r=Math.min(...n.map(t=>{let n=e.indexOf(t);return -1===n?e.length:n}));return[e.substring(0,r).trim(),e.substring(r)]}function d(e,t,n,r){for(let r=t.length;r>=1;r--)if(e.startsWith(t.slice(0,r)))return[n,e.slice(r)];{let n=JSON.stringify(e.slice(0,t.length));throw console.error(`unknown token starting with ${n}:`,{s:e}),r}}i['"']=u,i["'"]=c,i["{"]=function(e,t){e=e.substr(1);let n={};for(e=s(e);e.length>0;){var i,o;if("}"===e[0]){e=e.substr(1);break}let l=(o=[":","}"],'"'===(i=e)[0]?u(i):"'"===i[0]?c(i):f(i,t,o)),a=l[0];if(":"!==(e=s(e=l[1]))[0]||0===(e=s(e=e.substr(1))).length){n[a]=void 0;break}let h=r(e,t);n[a]=h[0],","===(e=s(e=h[1]))[0]&&(e=s(e=e.substr(1)))}return[n,e]},i.t=function(e,t){return d(e,"true",!0,t)},i.f=function(e,t){return d(e,"false",!1,t)},i.n=function(e,t){return d(e,"null",null,t)}},39714:function(e){"use strict";var t=function(e){var t,r,i;return!!(t=e)&&"object"==typeof t&&(r=e,"[object RegExp]"!==(i=Object.prototype.toString.call(r))&&"[object Date]"!==i&&r.$$typeof!==n)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l(Array.isArray(e)?[]:{},e,t):e}function i(e,t,n){return e.concat(t).map(function(e){return r(e,n)})}function s(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function l(e,n,a){(a=a||{}).arrayMerge=a.arrayMerge||i,a.isMergeableObject=a.isMergeableObject||t,a.cloneUnlessOtherwiseSpecified=r;var u,h,c=Array.isArray(n);return c!==Array.isArray(e)?r(n,a):c?a.arrayMerge(e,n,a):(h={},(u=a).isMergeableObject(e)&&s(e).forEach(function(t){h[t]=r(e[t],u)}),s(n).forEach(function(t){o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))||(o(e,t)&&u.isMergeableObject(n[t])?h[t]=(function(e,t){if(!t.customMerge)return l;var n=t.customMerge(e);return"function"==typeof n?n:l})(t,u)(e[t],n[t],u):h[t]=r(n[t],u))}),h)}l.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,n){return l(e,n,t)},{})},e.exports=l},44091:function(e,t,n){"use strict";var r;let i=n(73961);!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new i.Parser(e.RULES,{debug:!1});let t=/^(!|&)/,n=/(\?|\+|\*)$/,r=/^%/;function s(e){let s=[];return e.grammarRules.forEach(o=>{if(!/^%/.test(o.name)){let l=o.recover?" /* { recoverUntil="+o.recover+" } */":"";s.push(o.name+" ::= "+function e(s,o){let l=i.findRuleByName(s,o);return l?l.bnf.map(s=>s.map(s=>(function(s,o){if("string"!=typeof s)return s.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]");if(t.test(s))return"";if(r.test(s)){var l,a;let t,r=n.exec(s),u=r?r[0]+" ":"";return(l=s,a=o,(t=i.findRuleByName(l,a))&&1==t.bnf.length&&1==t.bnf[0].length&&(t.bnf[0][0]instanceof RegExp||'"'==t.bnf[0][0][0]||"'"==t.bnf[0][0][0]))?e(s,o)+u:"("+e(s,o)+")"+u}return s})(s,o)).join(" ")).join(" | "):"RULE_NOT_FOUND {"+s+"}"}(o.name,e)+l)}}),s.join("\n")}e.emit=s;let o=0;function l(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function a(t,n=e.defaultParser){let r=n.getAST(t);if(!r)throw Error("Could not parse "+t);if(r.errors&&r.errors.length)throw r.errors[0];let i=[];return r.children.filter(e=>"Production"==e.type).map(e=>{let t=e.children.filter(e=>"NCName"==e.type)[0].text;!function e(t,n,r){let i=n.children.filter(e=>"SequenceOrDifference"==e.type).map(n=>{let i,s;return i=null,s=[],n.children.forEach((a,u)=>{if("Minus"==a.type)throw console.log("reberia restar "+a+" a "+i),Error("Difference not supported yet");let h=n.children[u+1];switch(h=h&&"PrimaryDecoration"==h.type&&h.text||"",a.type){case"SubItem":let c="%"+(r+o++);e(t,a,c),s.push(""+c+h);break;case"NCName":case"StringLiteral":s.push(""+a.text+h);break;case"CharCode":case"CharClass":if(h){let e={name:"%"+(r+o++),bnf:[[l(a.text)]]};t.push(e),s.push(""+e.name+h)}else s.push(l(a.text));break;case"PrimaryDecoration":break;default:throw Error(" HOW SHOULD I PARSE THIS? "+a.type+" -> "+JSON.stringify(a.text))}i=a}),s}),s={name:r,bnf:i},a=null;i.forEach(e=>{a=a||e.recover,delete e.recover}),0==r.indexOf("%")&&(s.fragment=!0),a&&(s.recover=a),t.push(s)}(i,e,t)}),i}e.getRules=a,e.Transform=function(t,n=e.defaultParser){return a(t.join(""),n)};class u extends i.Parser{constructor(t,n){super(a(t,n&&!0===n.debugRulesParser?new i.Parser(e.RULES,{debug:!0}):e.defaultParser),n)}emitSource(){return s(this)}}e.Parser=u}(r||(r={})),t.default=r},73961:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=t.findRuleByName=t.parseRuleName=t.escapeRegExp=t.readToken=void 0;let r=/^[A-Z0-9_]+$/,i=/(\?|\+|\*)$/,s=/^(@|&|!)/,o=n(80707);function l(e,t){let n=t.exec(e);return n&&0==n.index?0==n[0].length&&t.source.length>0?null:{type:null,text:n[0],rest:e.substr(n[0].length),start:0,end:n[0].length-1,fullText:n[0],errors:[],children:[],parent:null}:null}function a(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function u(e){let t=i.exec(e),n=s.exec(e),r=t&&t[0]||"",o=n&&n[0]||"",l={raw:e,name:e.replace(i,"").replace(s,""),isOptional:"?"==r||"*"==r,allowRepetition:"+"==r||"*"==r,atLeastOne:"+"==r,lookupPositive:"&"==o,lookupNegative:"!"==o,pinned:"@"==o,lookup:!1,isLiteral:!1};return l.isLiteral="'"==l.name[0]||'"'==l.name[0],l.lookup=l.lookupNegative||l.lookupPositive,l}function h(e,t){let n=u(e);return t.cachedRules[n.name]||null}function c(e,t){if(e.children){let n=e.children.filter(e=>e.type&&t.test(e.type));for(let t=0;t<n.length;t++){let r=e.children.indexOf(n[t]);-1!=r&&e.children.splice(r,1)}e.children.forEach(e=>c(e,t))}}t.readToken=l,t.escapeRegExp=a,t.parseRuleName=u,t.findRuleByName=h;let f=["EOF"];class d{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let n=[],r=[];if(e.forEach(e=>{let t=u(e.name);if(t.name in this.cachedRules)return void n.push("Duplicated rule "+t.name);if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach(t=>{if("string"==typeof t[0]&&u(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==n.indexOf(t)&&n.push(t)}t.forEach(e=>{if("string"==typeof e){let t=u(e);t.isLiteral||-1!=r.indexOf(t.name)||-1!=f.indexOf(t.name)||r.push(t.name)}})});else{let t="Missing rule content, rule: "+e.name;-1==n.indexOf(t)&&n.push(t)}"WS"==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==r.indexOf("WS")&&r.push("WS"),e.recover&&-1==r.indexOf(e.recover)&&r.push(e.recover)}),r.forEach(e=>{e in this.cachedRules||n.push("Missing rule "+e)}),n.length)throw Error(n.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter(e=>!e.fragment&&0!=e.name.indexOf("%"))[0].name);let n=this.parse(e,t);if(n){!function e(t,n){n.errors&&n.errors.length&&n.errors.forEach(e=>t.push(e)),n.children&&n.children.forEach(n=>e(t,n))}(n.errors,n),function e(t,n){t.start+=n,t.end+=n,t.children&&t.children.forEach(n=>e(n,t.start))}(n,0),c(n,/^%/),this.options&&this.options.keepUpperRules||c(n,r);let e=n.rest;e&&new o.TokenError("Unexpected end of input: \n"+e,n),function e(t){t.rest="",t.children&&t.children.forEach(t=>e(t))}(n),n.rest=e}return n}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(e,t,n=0){let i,s=null,c=u(t),f=this.debug&&!r.test(c.name);f&&console.log(Array(n).join("│ ")+"Trying to get "+t+" from "+JSON.stringify(e.split("\n")[0]));let d=c.name,p=h(c.name,this);if("EOF"==c.name){if(e.length)return null;else if(0==e.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!p&&c.isLiteral){let t=c.name.trim();if(t.startsWith('"')?t=JSON.parse(t):t.startsWith("'")&&(t=t.replace(/^'(.+)'$/,"$1").replace(/\\'/g,"'")),""===t)return{type:"%%EMPTY%%",text:"",rest:e,start:0,end:0,fullText:"",errors:[],children:[],parent:null};i=new RegExp(a(t)),d=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(i){let t=l(e,i);if(t)return t.type=d,t}else{let t=p.bnf;t instanceof Array&&t.forEach(t=>{if(s)return;let r=null,i={type:c.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:e};p.fragment&&(i.fragment=!0);let a=e,h=0,d=t.length>0,m=!1;for(let e=0;e<t.length;e++)if("string"==typeof t[e]){let l,c=u(t[e]);d=d&&c.isOptional;let g=!1;do{if(l=null,p.implicitWs&&!(l=this.parse(a,c.name,n+1))){let e;do if(e=this.parse(a,"WS",n+1))i.text=i.text+e.text,i.end=i.text.length,e.parent=i,i.children.push(e),a=a.substr(e.text.length),h+=e.text.length;else break;while(e&&e.text.length)}if(l=l||this.parse(a,c.name,n+1),c.lookupNegative){if(l)return;break}if(c.lookupPositive&&!l)return;if(!l&&(c.isOptional||c.atLeastOne&&g))break;if(l&&p.pinned==e+1&&(r=l,f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" PINNED")),l||(l=this.parseRecovery(p,a,n+1)),!l)if(!r)return;else s=i,l={type:"SyntaxError",text:a,children:[],end:a.length,errors:[],fullText:"",parent:null,start:0,rest:""},a.length?new o.TokenError(`Unexpected end of input. Expecting ${c.name} Got: ${a}`,l):new o.TokenError(`Unexpected end of input. Missing ${c.name}`,l),f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" "+JSON.stringify(l.text));if(g=!0,m=!0,"%%EMPTY%%"==l.type)break;l.start+=h,l.end+=h,!c.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach(e=>{e.start+=h,e.end+=h,e.parent=i,i.children.push(e)}):(l.parent=i,i.children.push(l))),c.lookup&&(l.lookup=!0),f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" "+JSON.stringify(l.text)),c.lookup||l.lookup||(i.text=i.text+l.text,i.end=i.text.length,a=a.substr(l.text.length),h+=l.text.length),i.rest=a}while(l&&c.allowRepetition&&a.length&&!l.lookup)}else{let r=l(a,t[e]);if(!r)return;f&&console.log(Array(n+1).join("│ ")+"└> "+JSON.stringify(r.text)+t[e].source),m=!0,r.start+=h,r.end+=h,i.text=i.text+r.text,i.end=i.text.length,a=a.substr(r.text.length),h+=r.text.length,i.rest=a}m&&(s=i,f&&console.log(Array(n).join("│ ")+"├<─┴< PUSHING "+s.type+" "+JSON.stringify(s.text)))}),s&&p.simplifyWhenOneChildren&&1==s.children.length&&(s=s.children[0])}return!s&&f&&console.log(t+" NOT RESOLVED FROM "+e),s}parseRecovery(e,t,n){if(e.recover&&t.length){let r,i=this.debug;i&&console.log(Array(n+1).join("│ ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let s={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(r=this.parse(t,e.recover,n+1)){new o.TokenError('Unexpected input: "'+s.text+`" Expecting: ${e.name}`,s);break}s.text=s.text+t[0],s.end=s.text.length,t=t.substr(1)}while(!r&&t.length>0);if(s.text.length>0&&r)return i&&console.log(Array(n+1).join("│ ")+"Recovered text: "+JSON.stringify(s.text)),s}return null}}t.Parser=d,t.default=d},80707:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0,t.TokenError=class extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,t&&t.errors)t.errors.push(this);else throw this}inspect(){return"SyntaxError: "+this.message}}},69378:function(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;0!=i--;){var r,i,s,o=s[i];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n}},96111:function(e){e.exports=function(){"use strict";function e(e,t){return e(t={exports:{}},t.exports),t.exports}var t,n,r,i,s,o,l,a,u,h,c,f,d,p,m=e(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),g=e(function(e){var t=e.exports={version:"2.6.5"};"number"==typeof __e&&(__e=t)});g.version;var y=function(e){return"object"==typeof e?null!==e:"function"==typeof e},b=function(e){if(!y(e))throw TypeError(e+" is not an object!");return e},v=function(e){try{return!!e()}catch(e){return!0}},w=!v(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),k=m.document,D=y(k)&&y(k.createElement),x=!w&&!v(function(){return 7!=Object.defineProperty(D?k.createElement("div"):{},"a",{get:function(){return 7}}).a}),C=function(e,t){var n,r;if(!y(e))return e;if(t&&"function"==typeof(n=e.toString)&&!y(r=n.call(e))||"function"==typeof(n=e.valueOf)&&!y(r=n.call(e))||!t&&"function"==typeof(n=e.toString)&&!y(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},A=Object.defineProperty,E={f:w?Object.defineProperty:function(e,t,n){if(b(e),t=C(t,!0),b(n),x)try{return A(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},S=w?function(e,t,n){return E.f(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}:function(e,t,n){return e[t]=n,e},_={}.hasOwnProperty,O=function(e,t){return _.call(e,t)},F=0,T=Math.random(),P=e(function(e){var t="__core-js_shared__",n=m[t]||(m[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:g.version,mode:"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})})("native-function-to-string",Function.toString),I=e(function(e){var t="Symbol(".concat("src",")_",(++F+T).toString(36)),n="toString",r=(""+P).split(n);g.inspectSource=function(e){return P.call(e)},(e.exports=function(e,n,i,s){var o="function"==typeof i;o&&(O(i,"name")||S(i,"name",n)),e[n]!==i&&(o&&(O(i,t)||S(i,t,e[n]?""+e[n]:r.join(String(n)))),e===m?e[n]=i:s?e[n]?e[n]=i:S(e,n,i):(delete e[n],S(e,n,i)))})(Function.prototype,n,function(){return"function"==typeof this&&this[t]||P.call(this)})}),N=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},B=function(e,t,n){if(N(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}},M="prototype",$=function(e,t,n){var r,i,s,o,l=e&$.F,a=e&$.G,u=e&$.S,h=e&$.P,c=e&$.B,f=a?m:u?m[t]||(m[t]={}):(m[t]||{})[M],d=a?g:g[t]||(g[t]={}),p=d[M]||(d[M]={});for(r in a&&(n=t),n)s=((i=!l&&f&&void 0!==f[r])?f:n)[r],o=c&&i?B(s,m):h&&"function"==typeof s?B(Function.call,s):s,f&&I(f,r,s,e&$.U),d[r]!=s&&S(d,r,o),h&&p[r]!=s&&(p[r]=s)};m.core=g,$.F=1,$.G=2,$.S=4,$.P=8,$.B=16,$.W=32,$.U=64,$.R=128;var L=Math.ceil,R=Math.floor,j=function(e){return isNaN(e*=1)?0:(e>0?R:L)(e)},q=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e},z=function(e,t){var n,r,i=String(q(e)),s=j(t),o=i.length;return s<0||s>=o?void 0:(n=i.charCodeAt(s))<55296||n>56319||s+1===o||(r=i.charCodeAt(s+1))<56320||r>57343?n:(n-55296<<10)+(r-56320)+65536};$($.P,"String",{codePointAt:function(e){return z(this,e)}}),g.String.codePointAt;var U=Math.max,V=Math.min,H=String.fromCharCode,W=String.fromCodePoint;$($.S+$.F*(!!W&&1!=W.length),"String",{fromCodePoint:function(e){for(var t,n,r=arguments,i=[],s=arguments.length,o=0;s>o;){if(((t=j(t=n=+r[o++]))<0?U(t+1114111,0):V(t,1114111))!==n)throw RangeError(n+" is not a valid code point");i.push(n<65536?H(n):H(((n-=65536)>>10)+55296,n%1024+56320))}return i.join("")}}),g.String.fromCodePoint;var G={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},K={isSpaceSeparator:function(e){return"string"==typeof e&&G.Space_Separator.test(e)},isIdStartChar:function(e){return"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||"$"===e||"_"===e||G.ID_Start.test(e))},isIdContinueChar:function(e){return"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"$"===e||"_"===e||"‌"===e||"‍"===e||G.ID_Continue.test(e))},isDigit:function(e){return"string"==typeof e&&/[0-9]/.test(e)},isHexDigit:function(e){return"string"==typeof e&&/[0-9A-Fa-f]/.test(e)}};function J(){if(t[i])return String.fromCodePoint(t.codePointAt(i))}function Q(){var e=J();return"\n"===e?(s++,o=0):e?o+=e.length:o++,e&&(i+=e.length),e}var Y={default:function(){switch(p){case" ":case"\v":case"\f":case" ":case"\xa0":case"\uFEFF":case"\n":case"\r":case"\u2028":case"\u2029":Q();return;case"/":Q(),h="comment";return;case void 0:return Q(),Z("eof")}return K.isSpaceSeparator(p)?void Q():Y[n]()},comment:function(){switch(p){case"*":Q(),h="multiLineComment";return;case"/":Q(),h="singleLineComment";return}throw ei(Q())},multiLineComment:function(){switch(p){case"*":Q(),h="multiLineCommentAsterisk";return;case void 0:throw ei(Q())}Q()},multiLineCommentAsterisk:function(){switch(p){case"*":Q();return;case"/":Q(),h="default";return;case void 0:throw ei(Q())}Q(),h="multiLineComment"},singleLineComment:function(){switch(p){case"\n":case"\r":case"\u2028":case"\u2029":Q(),h="default";return;case void 0:return Q(),Z("eof")}Q()},value:function(){switch(p){case"{":case"[":return Z("punctuator",Q());case"n":return Q(),X("ull"),Z("null",null);case"t":return Q(),X("rue"),Z("boolean",!0);case"f":return Q(),X("alse"),Z("boolean",!1);case"-":case"+":"-"===Q()&&(d=-1),h="sign";return;case".":c=Q(),h="decimalPointLeading";return;case"0":c=Q(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=Q(),h="decimalInteger";return;case"I":return Q(),X("nfinity"),Z("numeric",1/0);case"N":return Q(),X("aN"),Z("numeric",NaN);case'"':case"'":f='"'===Q(),c="",h="string";return}throw ei(Q())},identifierNameStartEscape:function(){if("u"!==p)throw ei(Q());Q();var e=ee();switch(e){case"$":case"_":break;default:if(!K.isIdStartChar(e))throw eo()}c+=e,h="identifierName"},identifierName:function(){switch(p){case"$":case"_":case"‌":case"‍":c+=Q();return;case"\\":Q(),h="identifierNameEscape";return}if(K.isIdContinueChar(p)){c+=Q();return}return Z("identifier",c)},identifierNameEscape:function(){if("u"!==p)throw ei(Q());Q();var e=ee();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!K.isIdContinueChar(e))throw eo()}c+=e,h="identifierName"},sign:function(){switch(p){case".":c=Q(),h="decimalPointLeading";return;case"0":c=Q(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=Q(),h="decimalInteger";return;case"I":return Q(),X("nfinity"),Z("numeric",1/0*d);case"N":return Q(),X("aN"),Z("numeric",NaN)}throw ei(Q())},zero:function(){switch(p){case".":c+=Q(),h="decimalPoint";return;case"e":case"E":c+=Q(),h="decimalExponent";return;case"x":case"X":c+=Q(),h="hexadecimal";return}return Z("numeric",0*d)},decimalInteger:function(){switch(p){case".":c+=Q(),h="decimalPoint";return;case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},decimalPointLeading:function(){if(K.isDigit(p)){c+=Q(),h="decimalFraction";return}throw ei(Q())},decimalPoint:function(){switch(p){case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q(),h="decimalFraction";return}return Z("numeric",d*Number(c))},decimalFraction:function(){switch(p){case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},decimalExponent:function(){switch(p){case"+":case"-":c+=Q(),h="decimalExponentSign";return}if(K.isDigit(p)){c+=Q(),h="decimalExponentInteger";return}throw ei(Q())},decimalExponentSign:function(){if(K.isDigit(p)){c+=Q(),h="decimalExponentInteger";return}throw ei(Q())},decimalExponentInteger:function(){if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},hexadecimal:function(){if(K.isHexDigit(p)){c+=Q(),h="hexadecimalInteger";return}throw ei(Q())},hexadecimalInteger:function(){if(K.isHexDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},string:function(){switch(p){case"\\":Q(),c+=function(){switch(J()){case"b":return Q(),"\b";case"f":return Q(),"\f";case"n":return Q(),"\n";case"r":return Q(),"\r";case"t":return Q()," ";case"v":return Q(),"\v";case"0":if(Q(),K.isDigit(J()))throw ei(Q());return"\0";case"x":return Q(),function(){var e="",t=J();if(!K.isHexDigit(t)||(e+=Q(),t=J(),!K.isHexDigit(t)))throw ei(Q());return String.fromCodePoint(parseInt(e+=Q(),16))}();case"u":return Q(),ee();case"\n":case"\u2028":case"\u2029":return Q(),"";case"\r":return Q(),"\n"===J()&&Q(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw ei(Q())}return Q()}();return;case'"':if(f)return Q(),Z("string",c);c+=Q();return;case"'":if(!f)return Q(),Z("string",c);c+=Q();return;case"\n":case"\r":case void 0:throw ei(Q());case"\u2028":case"\u2029":console.warn("JSON5: '"+el(p)+"' in strings is not valid ECMAScript; consider escaping")}c+=Q()},start:function(){switch(p){case"{":case"[":return Z("punctuator",Q())}h="value"},beforePropertyName:function(){switch(p){case"$":case"_":c=Q(),h="identifierName";return;case"\\":Q(),h="identifierNameStartEscape";return;case"}":return Z("punctuator",Q());case'"':case"'":f='"'===Q(),h="string";return}if(K.isIdStartChar(p)){c+=Q(),h="identifierName";return}throw ei(Q())},afterPropertyName:function(){if(":"===p)return Z("punctuator",Q());throw ei(Q())},beforePropertyValue:function(){h="value"},afterPropertyValue:function(){switch(p){case",":case"}":return Z("punctuator",Q())}throw ei(Q())},beforeArrayValue:function(){if("]"===p)return Z("punctuator",Q());h="value"},afterArrayValue:function(){switch(p){case",":case"]":return Z("punctuator",Q())}throw ei(Q())},end:function(){throw ei(Q())}};function Z(e,t){return{type:e,value:t,line:s,column:o}}function X(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(J()!==n)throw ei(Q());Q()}}function ee(){for(var e="",t=4;t-- >0;){var n=J();if(!K.isHexDigit(n))throw ei(Q());e+=Q()}return String.fromCodePoint(parseInt(e,16))}var et={start:function(){if("eof"===l.type)throw es();en()},beforePropertyName:function(){switch(l.type){case"identifier":case"string":a=l.value,n="afterPropertyName";return;case"punctuator":er();return;case"eof":throw es()}},afterPropertyName:function(){if("eof"===l.type)throw es();n="beforePropertyValue"},beforePropertyValue:function(){if("eof"===l.type)throw es();en()},beforeArrayValue:function(){if("eof"===l.type)throw es();if("punctuator"===l.type&&"]"===l.value)return void er();en()},afterPropertyValue:function(){if("eof"===l.type)throw es();switch(l.value){case",":n="beforePropertyName";return;case"}":er()}},afterArrayValue:function(){if("eof"===l.type)throw es();switch(l.value){case",":n="beforeArrayValue";return;case"]":er()}},end:function(){}};function en(){var e;switch(l.type){case"punctuator":switch(l.value){case"{":e={};break;case"[":e=[]}break;case"null":case"boolean":case"numeric":case"string":e=l.value}if(void 0===u)u=e;else{var t=r[r.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,a,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(null!==e&&"object"==typeof e)r.push(e),n=Array.isArray(e)?"beforeArrayValue":"beforePropertyName";else{var i=r[r.length-1];n=null==i?"end":Array.isArray(i)?"afterArrayValue":"afterPropertyValue"}}function er(){r.pop();var e=r[r.length-1];n=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}function ei(e){return void 0===e?ea("JSON5: invalid end of input at "+s+":"+o):ea("JSON5: invalid character '"+el(e)+"' at "+s+":"+o)}function es(){return ea("JSON5: invalid end of input at "+s+":"+o)}function eo(){return o-=5,ea("JSON5: invalid identifier character at "+s+":"+o)}function el(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){var n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function ea(e){var t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=o,t}return{parse:function(e,m){t=String(e),n="start",r=[],i=0,s=1,o=0,l=void 0,a=void 0,u=void 0;do l=function(){for(h="default",c="",f=!1,d=1;;){p=J();var e=Y[h]();if(e)return e}}(),et[n]();while("eof"!==l.type);return"function"==typeof m?function e(t,n,r){var i=t[n];if(null!=i&&"object"==typeof i)if(Array.isArray(i))for(var s=0;s<i.length;s++){var o=String(s),l=e(i,o,r);void 0===l?delete i[o]:Object.defineProperty(i,o,{value:l,writable:!0,enumerable:!0,configurable:!0})}else for(var a in i){var u=e(i,a,r);void 0===u?delete i[a]:Object.defineProperty(i,a,{value:u,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,n,i)}({"":u},"",m):u},stringify:function(e,t,n){var r,i,s,o=[],l="",a="";if(null==t||"object"!=typeof t||Array.isArray(t)||(n=t.space,s=t.quote,t=t.replacer),"function"==typeof t)i=t;else if(Array.isArray(t)){r=[];for(var u=0,h=t;u<h.length;u+=1){var c=h[u],f=void 0;"string"==typeof c?f=c:("number"==typeof c||c instanceof String||c instanceof Number)&&(f=String(c)),void 0!==f&&0>r.indexOf(f)&&r.push(f)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),"number"==typeof n?n>0&&(n=Math.min(10,Math.floor(n)),a=" ".substr(0,n)):"string"==typeof n&&(a=n.substr(0,10)),function e(t,n){var s=n[t];switch(null!=s&&("function"==typeof s.toJSON5?s=s.toJSON5(t):"function"==typeof s.toJSON&&(s=s.toJSON(t))),i&&(s=i.call(n,t,s)),s instanceof Number?s=Number(s):s instanceof String?s=String(s):s instanceof Boolean&&(s=s.valueOf()),s){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof s?d(s,!1):"number"==typeof s?String(s):"object"==typeof s?Array.isArray(s)?function(t){if(o.indexOf(t)>=0)throw TypeError("Converting circular structure to JSON5");o.push(t);var n,r=l;l+=a;for(var i=[],s=0;s<t.length;s++){var u=e(String(s),t);i.push(void 0!==u?u:"null")}if(0===i.length)n="[]";else if(""===a)n="["+i.join(",")+"]";else{var h=",\n"+l,c=i.join(h);n="[\n"+l+c+",\n"+r+"]"}return o.pop(),l=r,n}(s):function(t){if(o.indexOf(t)>=0)throw TypeError("Converting circular structure to JSON5");o.push(t);var n,i,s=l;l+=a;for(var u=r||Object.keys(t),h=[],c=0;c<u.length;c+=1){var f=u[c],p=e(f,t);if(void 0!==p){var m=function(e){if(0===e.length)return d(e,!0);var t=String.fromCodePoint(e.codePointAt(0));if(!K.isIdStartChar(t))return d(e,!0);for(var n=t.length;n<e.length;n++)if(!K.isIdContinueChar(String.fromCodePoint(e.codePointAt(n))))return d(e,!0);return e}(f)+":";""!==a&&(m+=" "),m+=p,h.push(m)}}if(0===h.length)n="{}";else if(""===a)n="{"+(i=h.join(","))+"}";else{var g=",\n"+l;i=h.join(g),n="{\n"+l+i+",\n"+s+"}"}return o.pop(),l=s,n}(s):void 0}("",{"":e});function d(e){for(var t={"'":.1,'"':.2},n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},r="",i=0;i<e.length;i++){var o=e[i];switch(o){case"'":case'"':t[o]++,r+=o;continue;case"\0":if(K.isDigit(e[i+1])){r+="\\x00";continue}}if(n[o]){r+=n[o];continue}if(o<" "){var l=o.charCodeAt(0).toString(16);r+="\\x"+("00"+l).substring(l.length);continue}r+=o}var a=s||Object.keys(t).reduce(function(e,n){return t[e]<t[n]?e:n});return r=r.replace(RegExp(a,"g"),n[a]),a+r+a}}}}()},79640:function(e){!function(t,n){"use strict";"function"==typeof define&&define.amd?define(n):e.exports?e.exports=n():t.log=n()}(this,function(){"use strict";var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},s=null;function o(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function l(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(){for(var n=this.getLevel(),i=0;i<r.length;i++){var s=r[i];this[s]=i<n?e:this.methodFactory(s,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return"No console available for logging"}function u(e){return function(){typeof console!==t&&(a.call(this),this[e].apply(this,arguments))}}function h(r,i,s){var a;return"debug"===(a=r)&&(a="log"),typeof console!==t&&("trace"===a&&n?l:void 0!==console[a]?o(console,a):void 0!==console.log?o(console,"log"):e)||u.apply(this,arguments)}function c(e,n){var o,l,u,c=this,f="loglevel";function d(){var e;if(typeof window!==t&&f){try{e=window.localStorage[f]}catch(e){}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch(e){}return void 0===c.levels[e]&&(e=void 0),e}}function p(e){var t=e;if("string"==typeof t&&void 0!==c.levels[t.toUpperCase()]&&(t=c.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=c.levels.SILENT)return t;throw TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?f+=":"+e:"symbol"==typeof e&&(f=void 0),c.name=e,c.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},c.methodFactory=n||h,c.getLevel=function(){return null!=u?u:null!=l?l:o},c.setLevel=function(e,n){return u=p(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&f){try{window.localStorage[f]=n;return}catch(e){}try{window.document.cookie=encodeURIComponent(f)+"="+n+";"}catch(e){}}}(u),a.call(c)},c.setDefaultLevel=function(e){l=p(e),d()||c.setLevel(e,!1)},c.resetLevel=function(){if(u=null,typeof window!==t&&f){try{window.localStorage.removeItem(f)}catch(e){}try{window.document.cookie=encodeURIComponent(f)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}a.call(c)},c.enableAll=function(e){c.setLevel(c.levels.TRACE,e)},c.disableAll=function(e){c.setLevel(c.levels.SILENT,e)},c.rebuild=function(){if(s!==c&&(o=p(s.getLevel())),a.call(c),s===c)for(var e in i)i[e].rebuild()},o=p(s?s.getLevel():"WARN");var m=d();null!=m&&(u=p(m)),a.call(c)}(s=new c).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw TypeError("You must supply a name when creating a logger.");var t=i[e];return t||(t=i[e]=new c(e,s.methodFactory)),t};var f=typeof window!==t?window.log:void 0;return s.noConflict=function(){return typeof window!==t&&window.log===s&&(window.log=f),s},s.getLoggers=function(){return i},s.default=s,s})},43614:function(e){var t;t=function(){function e(t,n,r){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=r,this}function t(e,t,n,r){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function i(){this.reset("")}function s(e,t,s){if(e instanceof r)var o=e,s=t;else var o=r.fromCompiled(e,t);for(var l in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new i},s||{})this.options[l]=s[l];this.lexer=this.options.lexer,this.lexerState=void 0;var a=new n(o,0);this.table=[a],a.wants[o.start]=[],a.predict(o.start),a.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t)if(e.literal)return JSON.stringify(e.literal);else if(e instanceof RegExp)return e.toString();else if(e.type)return"%"+e.type;else if(e.test)return"<"+String(e.test)+">";else throw Error("Unknown symbol type: "+e)}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do e.push(t.right.data),t=t.left;while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,r=this.completed,i=0;i<t.length;i++){var o=t[i];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var l=o.wantedBy,a=l.length;a--;){var u=l[a];this.complete(u,o)}if(o.reference===this.index){var h=o.rule.name;(this.completed[h]=this.completed[h]||[]).push(o)}}}else{var h=o.rule.symbols[o.dot];if("string"!=typeof h){this.scannable.push(o);continue}if(n[h]){if(n[h].push(o),r.hasOwnProperty(h))for(var c=r[h],a=0;a<c.length;a++){var f=c[a];this.complete(o,f)}}else n[h]=[o],this.predict(h)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],r=0;r<n.length;r++){var i=n[r],s=this.wants[e],o=new t(i,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},r.fromCompiled=function(t,n){var i=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules);var t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)}),s=new r(t,n);return s.lexer=i,s},i.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},i.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},i.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},i.prototype.formatError=function(e,t){var n=this.buffer;if("string"!=typeof n)return t+" at index "+(this.index-1);var r=n.split("\n").slice(Math.max(0,this.line-5),this.line),i=n.indexOf("\n",this.index);-1===i&&(i=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=r.map(function(e,t){return l(this.line-r.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+l("",o+s)+"^\n";function l(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,r=this.lexer;for(r.reset(e,this.lexerState);;){try{if(!(t=r.next()))break}catch(e){var s=new n(this.grammar,this.current+1);this.table.push(s);var o=Error(this.reportLexerError(e));throw o.offset=this.current,o.token=e.token,o}var l=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1,s=new n(this.grammar,a);this.table.push(s);for(var u=void 0!==t.text?t.text:t.value,h=r.constructor===i?t.value:t,c=l.scannable,f=c.length;f--;){var d=c[f],p=d.rule.symbols[d.dot];if(p.test?p.test(h):p.type?p.type===t.type:p.literal===u){var m=d.nextState({data:h,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length){var o=Error(this.reportError(t));throw o.offset=this.current,o.token=t,o}this.options.keepHistory&&(l.lexerState=r.save()),this.current++}return l&&(this.lexerState=r.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,r=e.token;return r?(t="input "+JSON.stringify(r.text[0])+" (lexer error)",n=this.lexer.formatError(r,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var r=this.table.length-2,i=this.table[r],s=i.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});return 0===s.length?(n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(i.states,n)):(n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n"),s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this).forEach(function(e){var t=e[0],r=t.rule.symbols[t.dot],i=this.getSymbolDisplay(r);n.push("A "+i+" based on:"),this.displayStateStack(e,n)},this)),n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,r=0,i=0;i<e.length;i++){var s=e[i],o=s.rule.toString(s.dot);o===n?r++:(r>0&&t.push(" ^ "+r+" more lines identical to this"),r=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){var t=e,n=typeof t;if("string"===n)return t;if("object"===n)if(t.literal)return JSON.stringify(t.literal);else if(t instanceof RegExp)return"character matching "+t;else if(t.type)return t.type+" token";else if(t.test)return"token matching "+String(t.test);else throw Error("Unknown symbol type: "+t)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],r=[e].concat(t),i=this.buildFirstStateStack(n,r);return null===i?null:[e].concat(i)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:r,Rule:e}},e.exports?e.exports=t():this.nearley=t()},62935:function(e,t){"use strict";function n(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});let r=e=>[].concat(...e.map(e=>Array.isArray(e)?r(e):e));function i(e){return e?Array.isArray(e)?r(e).join(""):e:""}t.default={Lexer:void 0,ParserRules:[{name:"Reverse_path",symbols:["Path"]},{name:"Reverse_path$string$1",symbols:[{literal:"<"},{literal:">"}],postprocess:e=>e.join("")},{name:"Reverse_path",symbols:["Reverse_path$string$1"]},{name:"Forward_path$subexpression$1$subexpression$1",symbols:[{literal:"<"},/[pP]/,/[oO]/,/[sS]/,/[tT]/,/[mM]/,/[aA]/,/[sS]/,/[tT]/,/[eE]/,/[rR]/,{literal:"@"}],postprocess:function(e){return e.join("")}},{name:"Forward_path$subexpression$1",symbols:["Forward_path$subexpression$1$subexpression$1","Domain",{literal:">"}]},{name:"Forward_path",symbols:["Forward_path$subexpression$1"]},{name:"Forward_path$subexpression$2",symbols:[{literal:"<"},/[pP]/,/[oO]/,/[sS]/,/[tT]/,/[mM]/,/[aA]/,/[sS]/,/[tT]/,/[eE]/,/[rR]/,{literal:">"}],postprocess:function(e){return e.join("")}},{name:"Forward_path",symbols:["Forward_path$subexpression$2"]},{name:"Forward_path",symbols:["Path"]},{name:"Path$ebnf$1$subexpression$1",symbols:["A_d_l",{literal:":"}]},{name:"Path$ebnf$1",symbols:["Path$ebnf$1$subexpression$1"],postprocess:n},{name:"Path$ebnf$1",symbols:[],postprocess:()=>null},{name:"Path",symbols:[{literal:"<"},"Path$ebnf$1","Mailbox",{literal:">"}]},{name:"A_d_l$ebnf$1",symbols:[]},{name:"A_d_l$ebnf$1$subexpression$1",symbols:[{literal:","},"At_domain"]},{name:"A_d_l$ebnf$1",symbols:["A_d_l$ebnf$1","A_d_l$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"A_d_l",symbols:["At_domain","A_d_l$ebnf$1"]},{name:"At_domain",symbols:[{literal:"@"},"Domain"]},{name:"Domain$ebnf$1",symbols:[]},{name:"Domain$ebnf$1$subexpression$1",symbols:[{literal:"."},"sub_domain"]},{name:"Domain$ebnf$1",symbols:["Domain$ebnf$1","Domain$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"Domain",symbols:["sub_domain","Domain$ebnf$1"]},{name:"sub_domain",symbols:["U_label"]},{name:"Let_dig",symbols:["ALPHA_DIGIT"],postprocess:n},{name:"Ldh_str$ebnf$1",symbols:[]},{name:"Ldh_str$ebnf$1",symbols:["Ldh_str$ebnf$1","ALPHA_DIG_DASH"],postprocess:e=>e[0].concat([e[1]])},{name:"Ldh_str",symbols:["Ldh_str$ebnf$1","Let_dig"]},{name:"U_Let_dig",symbols:["ALPHA_DIGIT_U"],postprocess:n},{name:"U_Ldh_str$ebnf$1",symbols:[]},{name:"U_Ldh_str$ebnf$1",symbols:["U_Ldh_str$ebnf$1","ALPHA_DIG_DASH_U"],postprocess:e=>e[0].concat([e[1]])},{name:"U_Ldh_str",symbols:["U_Ldh_str$ebnf$1","U_Let_dig"]},{name:"U_label$ebnf$1$subexpression$1",symbols:["U_Ldh_str"]},{name:"U_label$ebnf$1",symbols:["U_label$ebnf$1$subexpression$1"],postprocess:n},{name:"U_label$ebnf$1",symbols:[],postprocess:()=>null},{name:"U_label",symbols:["U_Let_dig","U_label$ebnf$1"]},{name:"address_literal$subexpression$1",symbols:["IPv4_address_literal"]},{name:"address_literal$subexpression$1",symbols:["IPv6_address_literal"]},{name:"address_literal$subexpression$1",symbols:["General_address_literal"]},{name:"address_literal",symbols:[{literal:"["},"address_literal$subexpression$1",{literal:"]"}]},{name:"non_local_part",symbols:["Domain"],postprocess:function(e){return{DomainName:i(e[0])}}},{name:"non_local_part",symbols:["address_literal"],postprocess:function(e){return{AddressLiteral:i(e[0])}}},{name:"Mailbox",symbols:["Local_part",{literal:"@"},"non_local_part"],postprocess:function(e){return{localPart:i(e[0]),domainPart:i(e[2])}}},{name:"Local_part",symbols:["Dot_string"],postprocess:function(e){return{DotString:i(e[0])}}},{name:"Local_part",symbols:["Quoted_string"],postprocess:function(e){return{QuotedString:i(e[0])}}},{name:"Dot_string$ebnf$1",symbols:[]},{name:"Dot_string$ebnf$1$subexpression$1",symbols:[{literal:"."},"Atom"]},{name:"Dot_string$ebnf$1",symbols:["Dot_string$ebnf$1","Dot_string$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"Dot_string",symbols:["Atom","Dot_string$ebnf$1"]},{name:"Atom$ebnf$1",symbols:[/[0-9A-Za-z!#$%&'*+\-/=?^_`{|}~\u0080-\uFFFF/]/]},{name:"Atom$ebnf$1",symbols:["Atom$ebnf$1",/[0-9A-Za-z!#$%&'*+\-/=?^_`{|}~\u0080-\uFFFF/]/],postprocess:e=>e[0].concat([e[1]])},{name:"Atom",symbols:["Atom$ebnf$1"]},{name:"Quoted_string$ebnf$1",symbols:[]},{name:"Quoted_string$ebnf$1",symbols:["Quoted_string$ebnf$1","QcontentSMTP"],postprocess:e=>e[0].concat([e[1]])},{name:"Quoted_string",symbols:["DQUOTE","Quoted_string$ebnf$1","DQUOTE"]},{name:"QcontentSMTP",symbols:["qtextSMTP"]},{name:"QcontentSMTP",symbols:["quoted_pairSMTP"]},{name:"quoted_pairSMTP",symbols:[{literal:"\\"},/[\x20-\x7e]/]},{name:"qtextSMTP",symbols:[/[\x20-\x21\x23-\x5b\x5d-\x7e\u0080-\uFFFF]/],postprocess:n},{name:"IPv4_address_literal$macrocall$2",symbols:[{literal:"."},"Snum"]},{name:"IPv4_address_literal$macrocall$1",symbols:["IPv4_address_literal$macrocall$2","IPv4_address_literal$macrocall$2","IPv4_address_literal$macrocall$2"]},{name:"IPv4_address_literal",symbols:["Snum","IPv4_address_literal$macrocall$1"]},{name:"IPv6_address_literal$subexpression$1",symbols:[/[iI]/,/[pP]/,/[vV]/,{literal:"6"},{literal:":"}],postprocess:function(e){return e.join("")}},{name:"IPv6_address_literal",symbols:["IPv6_address_literal$subexpression$1","IPv6_addr"]},{name:"General_address_literal$ebnf$1",symbols:["dcontent"]},{name:"General_address_literal$ebnf$1",symbols:["General_address_literal$ebnf$1","dcontent"],postprocess:e=>e[0].concat([e[1]])},{name:"General_address_literal",symbols:["Standardized_tag",{literal:":"},"General_address_literal$ebnf$1"]},{name:"Standardized_tag",symbols:["Ldh_str"]},{name:"dcontent",symbols:[/[\x21-\x5a\x5e-\x7e]/],postprocess:n},{name:"Snum",symbols:["DIGIT"]},{name:"Snum$subexpression$1",symbols:[/[1-9]/,"DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$1"]},{name:"Snum$subexpression$2",symbols:[{literal:"1"},"DIGIT","DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$2"]},{name:"Snum$subexpression$3",symbols:[{literal:"2"},/[0-4]/,"DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$3"]},{name:"Snum$subexpression$4",symbols:[{literal:"2"},{literal:"5"},/[0-5]/]},{name:"Snum",symbols:["Snum$subexpression$4"]},{name:"IPv6_addr",symbols:["IPv6_full"]},{name:"IPv6_addr",symbols:["IPv6_comp"]},{name:"IPv6_addr",symbols:["IPv6v4_full"]},{name:"IPv6_addr",symbols:["IPv6v4_comp"]},{name:"IPv6_hex",symbols:["HEXDIG"]},{name:"IPv6_hex$subexpression$1",symbols:["HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$1"]},{name:"IPv6_hex$subexpression$2",symbols:["HEXDIG","HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$2"]},{name:"IPv6_hex$subexpression$3",symbols:["HEXDIG","HEXDIG","HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$3"]},{name:"IPv6_full$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_full$macrocall$1",symbols:["IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2"]},{name:"IPv6_full",symbols:["IPv6_hex","IPv6_full$macrocall$1"]},{name:"IPv6_comp$ebnf$1$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_comp$ebnf$1$subexpression$1$macrocall$1",symbols:["IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2"]},{name:"IPv6_comp$ebnf$1$subexpression$1",symbols:["IPv6_hex","IPv6_comp$ebnf$1$subexpression$1$macrocall$1"]},{name:"IPv6_comp$ebnf$1",symbols:["IPv6_comp$ebnf$1$subexpression$1"],postprocess:n},{name:"IPv6_comp$ebnf$1",symbols:[],postprocess:()=>null},{name:"IPv6_comp$string$1",symbols:[{literal:":"},{literal:":"}],postprocess:e=>e.join("")},{name:"IPv6_comp$ebnf$2$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_comp$ebnf$2$subexpression$1$macrocall$1",symbols:["IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2"]},{name:"IPv6_comp$ebnf$2$subexpression$1",symbols:["IPv6_hex","IPv6_comp$ebnf$2$subexpression$1$macrocall$1"]},{name:"IPv6_comp$ebnf$2",symbols:["IPv6_comp$ebnf$2$subexpression$1"],postprocess:n},{name:"IPv6_comp$ebnf$2",symbols:[],postprocess:()=>null},{name:"IPv6_comp",symbols:["IPv6_comp$ebnf$1","IPv6_comp$string$1","IPv6_comp$ebnf$2"]},{name:"IPv6v4_full$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_full$macrocall$1",symbols:["IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2"]},{name:"IPv6v4_full",symbols:["IPv6_hex","IPv6v4_full$macrocall$1",{literal:":"},"IPv4_address_literal"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1$macrocall$1",symbols:["IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1",symbols:["IPv6_hex","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$1"]},{name:"IPv6v4_comp$ebnf$1",symbols:["IPv6v4_comp$ebnf$1$subexpression$1"],postprocess:n},{name:"IPv6v4_comp$ebnf$1",symbols:[],postprocess:()=>null},{name:"IPv6v4_comp$string$1",symbols:[{literal:":"},{literal:":"}],postprocess:e=>e.join("")},{name:"IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_comp$ebnf$2$subexpression$1$macrocall$1",symbols:["IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2"]},{name:"IPv6v4_comp$ebnf$2$subexpression$1",symbols:["IPv6_hex","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$1",{literal:":"}]},{name:"IPv6v4_comp$ebnf$2",symbols:["IPv6v4_comp$ebnf$2$subexpression$1"],postprocess:n},{name:"IPv6v4_comp$ebnf$2",symbols:[],postprocess:()=>null},{name:"IPv6v4_comp",symbols:["IPv6v4_comp$ebnf$1","IPv6v4_comp$string$1","IPv6v4_comp$ebnf$2","IPv4_address_literal"]},{name:"DIGIT",symbols:[/[0-9]/],postprocess:n},{name:"ALPHA_DIGIT_U",symbols:[/[0-9A-Za-z\u0080-\uFFFF]/],postprocess:n},{name:"ALPHA_DIGIT",symbols:[/[0-9A-Za-z]/],postprocess:n},{name:"ALPHA_DIG_DASH",symbols:[/[-0-9A-Za-z]/],postprocess:n},{name:"ALPHA_DIG_DASH_U",symbols:[/[-0-9A-Za-z\u0080-\uFFFF]/],postprocess:n},{name:"HEXDIG",symbols:[/[0-9A-Fa-f]/],postprocess:n},{name:"DQUOTE",symbols:[{literal:'"'}],postprocess:n}],ParserStart:"Reverse_path"}},21391:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.canonicalize=t.canonicalize_quoted_string=t.normalize=t.normalize_dot_string=t.parse=void 0;let i=n(43614),s=r(n(62935));s.default.ParserStart="Mailbox";let o=i.Grammar.fromCompiled(s.default);function l(e){let t=new i.Parser(o);if(t.feed(e),1!==t.results.length)throw Error("address parsing failed: ambiguous grammar");return t.results[0]}function a(e){return(function(){let t=e.indexOf("+");return -1===t?e:e.substr(0,t)})().replace(/\./g,"").toLowerCase()}function u(e){let t=e.substr(1).substr(0,e.length-2).replace(/(?:\\(.))/g,"$1").replace(/(?:(["\\]))/g,"\\$1");return`"${t}"`}t.parse=l,t.normalize_dot_string=a,t.normalize=function(e){var t,n;let r=l(e),i=null!=(t=r.domainPart.AddressLiteral)?t:r.domainPart.DomainName.toLowerCase(),s=null!=(n=r.localPart.QuotedString)?n:a(r.localPart.DotString);return`${s}@${i}`},t.canonicalize_quoted_string=u,t.canonicalize=function(e){var t;let n=l(e),r=null!=(t=n.domainPart.AddressLiteral)?t:n.domainPart.DomainName.toLowerCase(),i=n.localPart.QuotedString?u(n.localPart.QuotedString):n.localPart.DotString;return`${i}@${r}`}},1170:function(e,t,n){!function(e){"use strict";e.exports.is_uri=n,e.exports.is_http_uri=r,e.exports.is_https_uri=i,e.exports.is_web_uri=s,e.exports.isUri=n,e.exports.isHttpUri=r,e.exports.isHttpsUri=i,e.exports.isWebUri=s;var t=function(e){return e.match(/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/)};function n(e){if(!(!e||/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(e)||/%[^0-9a-f]/i.test(e)||/%[0-9a-f](:?[^0-9a-f]|$)/i.test(e))){var n=[],r="",i="",s="",o="",l="",a="";if(r=(n=t(e))[1],i=n[2],s=n[3],o=n[4],l=n[5],r&&r.length&&s.length>=0){if(i&&i.length){if(!(0===s.length||/^\//.test(s)))return}else if(/^\/\//.test(s))return;if(/^[a-z][a-z0-9\+\-\.]*$/.test(r.toLowerCase()))return a+=r+":",i&&i.length&&(a+="//"+i),a+=s,o&&o.length&&(a+="?"+o),l&&l.length&&(a+="#"+l),a}}}function r(e,r){if(n(e)){var i=[],s="",o="",l="",a="",u="",h="",c="";if(s=(i=t(e))[1],o=i[2],l=i[3],u=i[4],h=i[5],s){if(r){if("https"!=s.toLowerCase())return}else if("http"!=s.toLowerCase())return;if(o)return/:(\d+)$/.test(o)&&(a=o.match(/:(\d+)$/)[0],o=o.replace(/:\d+$/,"")),c+=s+":",c+="//"+o,a&&(c+=a),c+=l,u&&u.length&&(c+="?"+u),h&&h.length&&(c+="#"+h),c}}}function i(e){return r(e,!0)}function s(e){return r(e)||i(e)}}(e=n.nmd(e))},54250:function(e,t,n){"use strict";n.d(t,{B1:()=>ex,GA:()=>ey,Gn:()=>es,vQ:()=>ec,ys:()=>eD});var r=n(35740),i=n(76621),s=n(85237);class o{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=(0,s.qz)(this.state).resolveInner(this.pos,-1);for(;t&&0>e.indexOf(t.name);)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),i=r.search(h(e,!1));return i<0?null:{from:n+i,to:this.pos,text:r.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function l(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}class a{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}}function u(e){return e.selection.main.from}function h(e,t){var n;let{source:r}=e,i=t&&"^"!=r[0],s="$"!=r[r.length-1];return i||s?RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,null!=(n=e.flags)?n:e.ignoreCase?"i":""):e}let c=r.q6.define(),f=new WeakMap;function d(e){if(!Array.isArray(e))return e;let t=f.get(e);return t||f.set(e,t=function(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,r]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let e=1;e<r.length;e++)n[r[e]]=!0}let r=l(t)+l(n)+"*$";return[RegExp("^"+r),new RegExp(r)]}(t);return e=>{let i=e.matchBefore(r);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}(e)),t}let p=r.Py.define(),m=r.Py.define();class g{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=(0,r.gm)(e,t),i=(0,r.nZ)(n);this.chars.push(n);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push((0,r.gm)(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:i,precise:s,byWord:o}=this;if(1==t.length){let i=(0,r.gm)(e,0),s=(0,r.nZ)(i),o=s==e.length?0:-100;if(i==t[0]);else{if(i!=n[0])return null;o+=-200}return this.ret(o,[0,s])}let l=e.indexOf(this.pattern);if(0==l)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=t.length,u=0;if(l<0){for(let s=0,o=Math.min(e.length,200);s<o&&u<a;){let o=(0,r.gm)(e,s);(o==t[u]||o==n[u])&&(i[u++]=s),s+=(0,r.nZ)(o)}if(u<a)return null}let h=0,c=0,f=!1,d=0,p=-1,m=-1,g=/[a-z]/.test(e),y=!0;for(let i=0,u=Math.min(e.length,200),b=0;i<u&&c<a;){let u=(0,r.gm)(e,i);l<0&&(h<a&&u==t[h]&&(s[h++]=i),d<a&&(u==t[d]||u==n[d]?(0==d&&(p=i),m=i+1,d++):d=0));let v,w=u<255?u>=48&&u<=57||u>=97&&u<=122?2:+(u>=65&&u<=90):(v=(0,r.bg)(u))!=v.toLowerCase()?1:2*(v!=v.toUpperCase());(!i||1==w&&g||0==b&&0!=w)&&(t[c]==u||n[c]==u&&(f=!0)?o[c++]=i:o.length&&(y=!1)),b=w,i+=(0,r.nZ)(u)}return c==a&&0==o[0]&&y?this.result(-100+(f?-200:0),o,e):d==a&&0==p?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):d==a?this.ret(-900-e.length,[p,m]):c==a?this.result(-100+(f?-200:0)+-700+(y?0:-1100),o,e):2==t.length?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,n){let i=[],s=0;for(let e of t){let t=e+(this.astral?(0,r.nZ)((0,r.gm)(n,e)):1);s&&i[s-1]==e?i[s-1]=t:(i[s++]=e,i[s++]=t)}return this.ret(e-n.length,i)}}class y{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return null==n?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}}let b=r.r$.define({combine:e=>(0,r.BO)(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:w,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>v(e(n),t(n)),optionClass:(e,t)=>n=>v(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function v(e,t){return e?t?e+" "+t:e:t}function w(e,t,n,r,s,o){let l=e.textDirection==i.Nm.RTL,a=l,u=!1,h="top",c,f,d=t.left-s.left,p=s.right-t.right,m=r.right-r.left,g=r.bottom-r.top;if(a&&d<Math.min(m,p)?a=!1:!a&&p<Math.min(m,d)&&(a=!0),m<=(a?d:p))c=Math.max(s.top,Math.min(n.top,s.bottom-g))-t.top,f=Math.min(400,a?d:p);else{u=!0,f=Math.min(400,(l?t.right:s.right-t.left)-30);let e=s.bottom-t.bottom;e>=g||e>t.top?c=n.bottom-t.top:(h="bottom",c=t.bottom-n.top)}let y=(t.bottom-t.top)/o.offsetHeight,b=(t.right-t.left)/o.offsetWidth;return{style:`${h}: ${c/y}px; max-width: ${f/b}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":a?"left":"right")}}function k(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let r=Math.floor((e-t)/n);return{from:e-(r+1)*n,to:e-r*n}}class D{constructor(e,t,n){let r;this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,l=e.state.facet(b);this.optionContent=(r=l.addToOptions.slice(),l.icons&&r.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),r.push({render(e,t,n,r){let i=document.createElement("span");i.className="cm-completionLabel";let s=e.displayLabel||e.label,o=0;for(let e=0;e<r.length;){let t=r[e++],n=r[e++];t>o&&i.appendChild(document.createTextNode(s.slice(o,t)));let l=i.appendChild(document.createElement("span"));l.appendChild(document.createTextNode(s.slice(t,n))),l.className="cm-completionMatchedText",o=n}return o<s.length&&i.appendChild(document.createTextNode(s.slice(o))),i},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),r.sort((e,t)=>e.position-t.position).map(e=>e.render)),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=k(s.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",n=>{let{options:r}=e.state.field(t).open;for(let t=n.target,i;t&&t!=this.dom;t=t.parentNode)if("LI"==t.nodeName&&(i=/-(\d+)$/.exec(t.id))&&+i[1]<r.length){this.applyCompletion(e,r[+i[1]]),n.preventDefault();return}}),this.dom.addEventListener("focusout",t=>{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(b).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:m.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=r){let{options:i,selected:s,disabled:o}=n.open;r.open&&r.open.options==i||(this.range=k(i.length,s,e.state.facet(b).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),o!=(null==(t=r.open)?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=k(t.options.length,t.selected,this.view.state.facet(b).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:r}=n;if(!r)return;let s="string"==typeof r?document.createTextNode(r):r(n);if(!s)return;"then"in s?s.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>(0,i.OO)(this.view.state,e,"completion info")):this.addInfoPane(s,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;n.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){var t,n;let r,i,s,o=null;for(let t=this.list.firstChild,n=this.range.from;t;t=t.nextSibling,n++)"LI"==t.nodeName&&t.id?n==e?t.hasAttribute("aria-selected")||(t.setAttribute("aria-selected","true"),o=t):t.hasAttribute("aria-selected")&&t.removeAttribute("aria-selected"):n--;return o&&(t=this.list,n=o,r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),s=r.height/t.offsetHeight,i.top<r.top?t.scrollTop-=(r.top-i.top)/s:i.bottom>r.bottom&&(t.scrollTop+=(i.bottom-r.bottom)/s)),o}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return r.top>Math.min(i.bottom,t.bottom)-10||r.bottom<Math.max(i.top,t.top)+10?null:this.view.state.facet(b).positionInfo(this.view,t,r,n,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,n){let r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",e=>{e.target==r&&e.preventDefault()});let i=null;for(let s=n.from;s<n.to;s++){let{completion:o,match:l}=e[s],{section:a}=o;if(a){let e="string"==typeof a?a:a.name;e!=i&&(s>n.from||0==n.from)&&(i=e,"string"!=typeof a&&a.header?r.appendChild(a.header(a)):r.appendChild(document.createElement("completion-section")).textContent=e)}let u=r.appendChild(document.createElement("li"));u.id=t+"-"+s,u.setAttribute("role","option");let h=this.optionClass(o);for(let e of(h&&(u.className=h),this.optionContent)){let t=e(o,this.view.state,this.view,l);t&&u.appendChild(t)}}return n.from&&r.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function x(e){return 100*(e.boost||0)+10*!!e.apply+5*!!e.info+ +!!e.type}class C{constructor(e,t,n,r,i,s){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=i,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new C(this.options,_(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,r,i,s){if(r&&!s&&e.some(e=>e.isPending))return r.setDisabled();let o=function(e,t){let n=[],r=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){r||(r=[]);let e="string"==typeof t?t:t.name;r.some(t=>t.name==e)||r.push("string"==typeof t?{name:e}:t)}},s=t.facet(b);for(let r of e)if(r.hasResult()){let e=r.result.getMatch;if(!1===r.result.filter)for(let t of r.result.options)i(new a(t,r.source,e?e(t):[],1e9-n.length));else{let n=t.sliceDoc(r.from,r.to),o,l=s.filterStrict?new y(n):new g(n);for(let t of r.result.options)if(o=l.match(t.label)){let n=t.displayLabel?e?e(t,o.matched):[]:o.matched;i(new a(t,r.source,n,o.score+(t.boost||0)))}}}if(r){let e=Object.create(null),t=0;for(let n of r.sort((e,t)=>{var n,r;return(null!=(n=e.rank)?n:1e9)-(null!=(r=t.rank)?r:1e9)||(e.name<t.name?-1:1)}))t-=1e5,e[n.name]=t;for(let t of n){let{section:n}=t.completion;n&&(t.score+=e["string"==typeof n?n:n.name])}}let o=[],l=null,u=s.compareCompletions;for(let e of n.sort((e,t)=>t.score-e.score||u(e.completion,t.completion))){let t=e.completion;l&&l.label==t.label&&l.detail==t.detail&&(null==l.type||null==t.type||l.type==t.type)&&l.apply==t.apply&&l.boost==t.boost?x(e.completion)>x(l)&&(o[o.length-1]=e):o.push(e),l=e.completion}return o}(e,t);if(!o.length)return r&&e.some(e=>e.isPending)?r.setDisabled():null;let l=t.facet(b).selectOnOpen?0:-1;if(r&&r.selected!=l&&-1!=r.selected){let e=r.options[r.selected].completion;for(let t=0;t<o.length;t++)if(o[t].completion==e){l=t;break}}return new C(o,_(n,l),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:$,above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new C(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new C(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class A{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new A(O,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(b),r=(n.override||t.languageDataAt("autocomplete",u(t)).map(d)).map(t=>(this.active.find(e=>e.source==t)||new T(t,+!!this.active.some(e=>0!=e.state))).update(e,n));r.length==this.active.length&&r.every((e,t)=>e==this.active[t])&&(r=this.active);let i=this.open,s=e.effects.some(e=>e.is(I));for(let o of(i&&e.docChanged&&(i=i.map(e.changes)),e.selection||r.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let n=0,r=0;;){for(;n<e.length&&!e[n].hasResult();)n++;for(;r<t.length&&!t[r].hasResult();)r++;let i=n==e.length,s=r==t.length;if(i||s)return i==s;if(e[n++].result!=t[r++].result)return!1}}(r,this.active)||s?i=C.build(r,t,this.id,i,n,s):i&&i.disabled&&!r.some(e=>e.isPending)&&(i=null),!i&&r.every(e=>!e.isPending)&&r.some(e=>e.hasResult())&&(r=r.map(e=>e.hasResult()?new T(e.source,0):e)),e.effects))o.is(N)&&(i=i&&i.setSelected(o.value,this.id));return r==this.active&&i==this.open?this:new A(r,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?E:S}}let E={"aria-autocomplete":"list"},S={};function _(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}let O=[];function F(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(c);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:16*!!e.docChanged}class T{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let n=F(e,t),r=this;for(let t of((8&n||16&n&&this.touches(e))&&(r=new T(r.source,0)),4&n&&0==r.state&&(r=new T(this.source,1)),r=r.updateFor(e,n),e.effects))if(t.is(p))r=new T(r.source,1,t.value);else if(t.is(m))r=new T(r.source,0);else if(t.is(I))for(let e of t.value)e.source==r.source&&(r=e);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(u(e.state))}}class P extends T{constructor(e,t,n,r,i,s){super(e,3,t),this.limit=n,this.result=r,this.from=i,this.to=s}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),l=u(e.state);if(l>s||!r||2&t&&(u(e.startState)==this.from||l<this.limit))return new T(this.source,4&t?1:0);let a=e.changes.mapPos(this.limit);return!function(e,t,n,r){if(!e)return!1;let i=t.sliceDoc(n,r);return"function"==typeof e?e(i,n,r,t):h(e,!0).test(i)}(r.validFor,e.state,i,s)?r.update&&(r=r.update(r,i,s,new o(e.state,l,!1)))?new P(this.source,this.explicit,a,r,r.from,null!=(n=r.to)?n:u(e.state)):new T(this.source,1,this.explicit):new P(this.source,this.explicit,a,r,i,s)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new P(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new T(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}let I=r.Py.define({map:(e,t)=>e.map(e=>e.map(t))}),N=r.Py.define(),B=r.QQ.define({create:()=>A.start(),update:(e,t)=>e.update(t),provide:e=>[i.hJ.from(e,e=>e.tooltip),i.tk.contentAttributes.from(e,e=>e.attrs)]});function M(e,t){let n=t.completion.apply||t.completion.label,i=e.state.field(B).active.find(e=>e.source==t.source);return i instanceof P&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,i){let{main:s}=e.selection,o=n-s.from,l=i-s.from;return Object.assign(Object.assign({},e.changeByRange(a=>{if(a!=s&&n!=i&&e.sliceDoc(a.from+o,a.from+l)!=e.sliceDoc(n,i))return{range:a};let u=e.toText(t);return{changes:{from:a.from+o,to:i==s.from?a.to:a.from+l,insert:u},range:r.jT.cursor(a.from+o+u.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,i.from,i.to)),{annotations:c.of(t.completion)})):n(e,t.completion,i.from,i.to),!0)}let $=e=>new D(e,B,M);function L(e,t="option"){return n=>{let r=n.state.field(B,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(b).interactionDelay)return!1;let s=1,o;"page"==t&&(o=(0,i.gB)(n,r.open.tooltip))&&(s=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:l}=r.open.options,a=r.open.selected>-1?r.open.selected+s*(e?1:-1):e?0:l-1;return a<0?a="page"==t?0:l-1:a>=l&&(a="page"==t?l-1:0),n.dispatch({effects:N.of(a)}),!0}}let R=e=>!!e.state.field(B,!1)&&(e.dispatch({effects:p.of(!0)}),!0);class j{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}let q=i.lg.fromClass(class{constructor(e){for(let t of(this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,e.state.field(B).active))t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(B),n=e.state.facet(b);if(!e.selectionSet&&!e.docChanged&&e.startState.field(B)==t)return;let r=e.transactions.some(e=>{let t=F(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.context.abortOnDocChange&&e.docChanged||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){(0,i.OO)(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(p)))&&(this.pendingStart=!0);let s=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),s):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(B);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(b).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=u(t),r=new o(t,n,e.explicit,this.view),s=new j(e,r);this.running.push(s),Promise.resolve(e.source(r)).then(e=>{s.context.aborted||(s.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:m.of(null)}),(0,i.OO)(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(b).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(b),r=this.view.state.field(B);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(void 0===s.done)continue;if(this.running.splice(i--,1),s.done){let r=u(s.updates.length?s.updates[0].startState:this.view.state),i=Math.min(r,s.done.from+ +!s.active.explicit),o=new P(s.active.source,s.active.explicit,i,s.done,s.done.from,null!=(e=s.done.to)?e:r);for(let e of s.updates)o=o.update(e,n);if(o.hasResult()){t.push(o);continue}}let o=r.active.find(e=>e.source==s.active.source);if(o&&o.isPending)if(null==s.done){let e=new T(s.active.source,0);for(let t of s.updates)e=e.update(t,n);e.isPending||t.push(e)}else this.startQuery(o)}(t.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:I.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(B,!1);if(t&&t.tooltip&&this.view.state.facet(b).closeOnBlur){let n=t.open&&(0,i.gB)(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:m.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:p.of(!1)}),20),this.composing=0}}}),z="object"==typeof navigator&&/Win/.test(navigator.platform),U=r.Wl.highest(i.tk.domEventHandlers({keydown(e,t){let n=t.state.field(B,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(z&&e.altKey)||e.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(e=>e.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&M(t,r),!1}})),V=i.tk.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xb7\xb7\xb7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class H{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}}class W{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,r.gc.TrackDel),n=e.mapPos(this.to,1,r.gc.TrackDel);return null==t||null==n?null:new W(this.field,t,n)}}class G{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],i=e.doc.lineAt(t),o=/^\s*/.exec(i.text)[0];for(let i of this.lines){if(n.length){let n=o,l=/^\t*/.exec(i)[0].length;for(let t=0;t<l;t++)n+=e.facet(s.c);r.push(t+n.length-l),i=n+i.slice(l)}n.push(i),t+=i.length+1}return{text:n,ranges:this.fieldPositions.map(e=>new W(e.field,r[e.line]+e.from,r[e.line]+e.to))}}static parse(e){let t=[],n=[],r=[],i;for(let s of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(s);){let e=i[1]?+i[1]:null,o=i[2]||i[3]||"",l=-1,a=o.replace(/\\[{}]/g,e=>e[1]);for(let n=0;n<t.length;n++)(null!=e?t[n].seq==e:a&&t[n].name==a)&&(l=n);if(l<0){let n=0;for(;n<t.length&&(null==e||null!=t[n].seq&&t[n].seq<e);)n++;for(let i of(t.splice(n,0,{seq:e,name:a}),l=n,r))i.field>=l&&i.field++}r.push(new H(l,n.length,i.index,i.index+a.length)),s=s.slice(0,i.index)+o+s.slice(i.index+i[0].length)}s=s.replace(/\\([{}])/g,(e,t,i)=>{for(let e of r)e.line==n.length&&e.from>i&&(e.from--,e.to--);return t}),n.push(s)}return new G(n,r)}}let K=i.p.widget({widget:new class extends i.l9{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),J=i.p.mark({class:"cm-snippetField"});class Q{constructor(e,t){this.ranges=e,this.active=t,this.deco=i.p.set(e.map(e=>(e.from==e.to?K:J).range(e.from,e.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new Q(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}let Y=r.Py.define({map:(e,t)=>e&&e.map(t)}),Z=r.Py.define(),X=r.QQ.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(Y))return n.value;if(n.is(Z)&&e)return new Q(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>i.tk.decorations.from(e,e=>e?e.deco:i.p.none)});function ee(e,t){return r.jT.create(e.filter(e=>e.field==t).map(e=>r.jT.range(e.from,e.to)))}function et(e){return({state:t,dispatch:n})=>{let r=t.field(X,!1);if(!r||e<0&&0==r.active)return!1;let i=r.active+e,s=e>0&&!r.ranges.some(t=>t.field==i+e);return n(t.update({selection:ee(r.ranges,i),effects:Y.of(s?null:new Q(r.ranges,i)),scrollIntoView:!0})),!0}}let en=[{key:"Tab",run:et(1),shift:et(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(X,!1)&&(t(e.update({effects:Y.of(null)})),!0)}],er=r.r$.define({combine:e=>e.length?e[0]:en}),ei=r.Wl.highest(i.$f.compute([er],e=>e.facet(er)));function es(e,t){let n;return Object.assign(Object.assign({},t),{apply:(n=G.parse(e),(e,t,i,s)=>{let{text:o,ranges:l}=n.instantiate(e.state,i),{main:a}=e.state.selection,u={changes:{from:i,to:s==a.from?a.to:s,insert:r.xv.of(o)},scrollIntoView:!0,annotations:t?[c.of(t),r.YW.userEvent.of("input.complete")]:void 0};if(l.length&&(u.selection=ee(l,0)),l.some(e=>e.field>0)){let t=new Q(l,0),n=u.effects=[Y.of(t)];void 0===e.state.field(X,!1)&&n.push(r.Py.appendConfig.of([X,ei,eo,V]))}e.dispatch(e.state.update(u))})})}let eo=i.tk.domEventHandlers({mousedown(e,t){let n=t.state.field(X,!1),r;if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let i=n.ranges.find(e=>e.from<=r&&e.to>=r);return!!i&&i.field!=n.active&&(t.dispatch({selection:ee(n.ranges,i.field),effects:Y.of(n.ranges.some(e=>e.field>i.field)?new Q(n.ranges,i.field):null),scrollIntoView:!0}),!0)}}),el={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ea=r.Py.define({map(e,t){let n=t.mapPos(e,-1,r.gc.TrackAfter);return null==n?void 0:n}}),eu=new class extends r.uU{};eu.startSide=1,eu.endSide=-1;let eh=r.QQ.define({create:()=>r.Xs.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(ea)&&(e=e.update({add:[eu.range(n.value,n.value+1)]}));return e}});function ec(){return[eg,eh]}let ef="()[]{}<>\xab\xbb\xbb\xab[]{}";function ed(e){for(let t=0;t<ef.length;t+=2)if(ef.charCodeAt(t)==e)return ef.charAt(t+1);return(0,r.bg)(e<128?e:e+1)}function ep(e,t){return e.languageDataAt("closeBrackets",t)[0]||el}let em="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),eg=i.tk.inputHandler.of((e,t,n,i)=>{if((em?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(i.length>2||2==i.length&&1==(0,r.nZ)((0,r.gm)(i,0))||t!=o.from||n!=o.to)return!1;let l=function(e,t){let n=ep(e,e.selection.main.head),i=n.brackets||el.brackets;for(let o of i){let l=ed((0,r.gm)(o,0));if(t==o)return l==o?function(e,t,n,i){let o=i.stringPrefixes||el.stringPrefixes,l=null,a=e.changeByRange(i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:ea.of(i.to+t.length),range:r.jT.range(i.anchor+t.length,i.head+t.length)};let a=i.head,u=ev(e.doc,a),h;if(u==t){if(ew(e,a))return{changes:{insert:t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};else if(eb(e,a)){let i=n&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+i.length,insert:i},range:r.jT.cursor(a+i.length)}}}else if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&(h=ek(e,a-2*t.length,o))>-1&&ew(e,h))return{changes:{insert:t+t+t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};else if(e.charCategorizer(a)(u)!=r.D0.Word&&ek(e,a,o)>-1&&!function(e,t,n,r){let i=(0,s.qz)(e).resolveInner(t,-1),o=r.reduce((e,t)=>Math.max(e,t.length),0);for(let s=0;s<5;s++){let s=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+o)),l=s.indexOf(n);if(!l||l>-1&&r.indexOf(s.slice(0,l))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+l;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let a=i.to==t&&i.parent;if(!a)break;i=a}return!1}(e,a,t,o))return{changes:{insert:t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};return{range:l=i}});return l?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}(e,o,i.indexOf(o+o+o)>-1,n):function(e,t,n,i){let s=null,o=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:n,from:o.to}],effects:ea.of(o.to+t.length),range:r.jT.range(o.anchor+t.length,o.head+t.length)};let l=ev(e.doc,o.head);return!l||/\s/.test(l)||i.indexOf(l)>-1?{changes:{insert:t+n,from:o.head},effects:ea.of(o.head+t.length),range:r.jT.cursor(o.head+t.length)}:{range:s=o}});return s?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}(e,o,l,n.before||el.before);if(t==l&&eb(e,e.selection.main.from))return function(e,t,n){let i=null,s=e.changeByRange(t=>t.empty&&ev(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:r.jT.cursor(t.head+n.length)}:i={range:t});return i?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}(e,0,l)}return null}(e.state,i);return!!l&&(e.dispatch(l),!0)}),ey=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=ep(e,e.selection.main.head).brackets||el.brackets,i=null,s=e.changeByRange(t=>{if(t.empty){var s,o;let i,l=(s=e.doc,o=t.head,i=s.sliceString(o-2,o),(0,r.nZ)((0,r.gm)(i,0))==i.length?i:i.slice(1));for(let i of n)if(i==l&&ev(e.doc,t.head)==ed((0,r.gm)(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:r.jT.cursor(t.head-i.length)}}return{range:i=t}});return i||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function eb(e,t){let n=!1;return e.field(eh).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function ev(e,t){let n=e.sliceString(t,t+2);return n.slice(0,(0,r.nZ)((0,r.gm)(n,0)))}function ew(e,t){let n=(0,s.qz)(e).resolveInner(t+1);return n.parent&&n.from==t}function ek(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=r.D0.Word)return t;for(let s of n){let n=t-s.length;if(e.sliceDoc(n,t)==s&&i(e.sliceDoc(n-1,n))!=r.D0.Word)return n}return -1}function eD(e={}){return[U,B,b.of(e),q,eC,V]}let ex=[{key:"Ctrl-Space",run:R},{mac:"Alt-`",run:R},{key:"Escape",run:e=>{let t=e.state.field(B,!1);return!!t&&!!t.active.some(e=>0!=e.state)&&(e.dispatch({effects:m.of(null)}),!0)}},{key:"ArrowDown",run:L(!0)},{key:"ArrowUp",run:L(!1)},{key:"PageDown",run:L(!0,"page")},{key:"PageUp",run:L(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(B,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(b).interactionDelay)&&M(e,t.open.options[t.open.selected])}}],eC=r.Wl.highest(i.$f.computeN([b],e=>e.facet(b).defaultKeymap?[ex]:[]))},66203:function(e,t,n){"use strict";n.d(t,{f$:()=>P,m8:()=>b,wQ:()=>eS});var r=n(35740),i=n(76621),s=n(85237),o=n(7888);function l(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(r(n.update(i)),!0)}}let a=l(function(e,t,n=t.selection.ranges){let r=[],i=-1;for(let{from:e,to:s}of n){let n=r.length,o=1e9,l=c(t,e).line;if(l){for(let n=e;n<=s;){let a=t.doc.lineAt(n);if(a.from>i&&(e==s||s>a.from)){i=a.from;let e=/^\s*/.exec(a.text)[0].length,t=e==a.length,n=a.text.slice(e,e+l.length)==l?e:-1;e<a.text.length&&e<o&&(o=e),r.push({line:a,comment:n,token:l,indent:e,empty:t,single:!1})}n=a.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}}if(2!=e&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:s,single:o}of r)(o||!s)&&e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,s=r+i.length;" "==t.text[s-t.from]&&s++,e.push({from:r,to:s})}return{changes:e}}return null},0),u=l(f,0),h=l((e,t)=>f(e,t,function(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>r.from?t[s].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}(t)),0);function c(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}function f(e,t,n=t.selection.ranges){let r=n.map(e=>c(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>(function(e,{open:t,close:n},r,i){let s,o,l=e.sliceDoc(r-50,r),a=e.sliceDoc(i,i+50),u=/\s*$/.exec(l)[0].length,h=/^\s*/.exec(a)[0].length,c=l.length-u;if(l.slice(c-t.length,c)==t&&a.slice(h,h+n.length)==n)return{open:{pos:r-u,margin:u&&1},close:{pos:i+h,margin:h&&1}};i-r<=100?s=o=e.sliceDoc(r,i):(s=e.sliceDoc(r,r+50),o=e.sliceDoc(i-50,i));let f=/^\s*/.exec(s)[0].length,d=/\s*$/.exec(o)[0].length,p=o.length-d-n.length;return s.slice(f,f+t.length)==t&&o.slice(p,p+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(s.charAt(f+t.length))},close:{pos:i-d-n.length,margin:+!!/\s/.test(o.charAt(p-1))}}:null})(t,r[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+" "},{from:e.to,insert:" "+r[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:s,close:o}=n;e.push({from:s.pos-i.open.length,to:s.pos+s.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}let d=r.q6.define(),p=r.q6.define(),m=r.r$.define(),g=r.r$.define({combine:e=>(0,r.BO)(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}),y=r.QQ.define({create:()=>T.empty,update(e,t){let n=t.state.facet(g),i=t.annotation(d);if(i){let r=C.fromTransaction(t,i.selection),s=i.side,o=0==s?e.undone:e.done;return o=r?A(o,o.length,n.minDepth,r):_(o,t.startState.selection),new T(0==s?i.rest:o,0==s?o:i.rest)}let s=t.annotation(p);if(("full"==s||"before"==s)&&(e=e.isolate()),!1===t.annotation(r.YW.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let o=C.fromTransaction(t),l=t.annotation(r.YW.time),a=t.annotation(r.YW.userEvent);return o?e=e.addChanges(o,l,a,n,t):t.selection&&(e=e.addSelection(t.startState.selection,l,a,n.newGroupDelay)),("full"==s||"after"==s)&&(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new T(e.done.map(C.fromJSON),e.undone.map(C.fromJSON))});function b(e={}){return[y,g.of(e),i.tk.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?w:"historyRedo"==e.inputType?k:null;return!!n&&(e.preventDefault(),n(t))}})]}function v(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(y,!1);if(!i)return!1;let s=i.pop(e,n,t);return!!s&&(r(s),!0)}}let w=v(0,!1),k=v(1,!1),D=v(0,!0),x=v(1,!0);class C{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new C(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null==(e=this.changes)?void 0:e.toJSON(),mapped:null==(t=this.mapped)?void 0:t.toJSON(),startSelection:null==(n=this.startSelection)?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new C(e.changes&&r.as.fromJSON(e.changes),[],e.mapped&&r.n0.fromJSON(e.mapped),e.startSelection&&r.jT.fromJSON(e.startSelection),e.selectionsAfter.map(r.jT.fromJSON))}static fromTransaction(e,t){let n=S;for(let t of e.startState.facet(m)){let r=t(e);r.length&&(n=n.concat(r))}return!n.length&&e.changes.empty?null:new C(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,S)}static selection(e){return new C(void 0,S,void 0,void 0,e)}}function A(e,t,n,r){let i=e.slice(t+1>n+20?t-n-1:0,t);return i.push(r),i}function E(e,t){return e.length?t.length?e.concat(t):e:t}let S=[];function _(e,t){if(!e.length)return[C.selection([t])];{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-200));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),A(e,e.length-1,1e9,n.setSelAfter(r)))}}function O(e,t){if(!e.length)return e;let n=e.length,i=S;for(;n;){let s=function(e,t,n){let i=E(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):S,n);if(!e.changes)return C.selection(i);let s=e.changes.map(t),o=t.mapDesc(e.changes,!0),l=e.mapped?e.mapped.composeDesc(o):o;return new C(s,r.Py.mapEffects(e.effects,t),l,e.startSelection.map(o),i)}(e[n-1],t,i);if(s.changes&&!s.changes.empty||s.effects.length){let t=e.slice(0,n);return t[n-1]=s,t}t=s.mapped,n--,i=s.selectionsAfter}return i.length?[C.selection(i)]:S}let F=/^(input\.type|delete)($|\.)/;class T{constructor(e,t,n=0,r){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new T(this.done,this.undone):this}addChanges(e,t,n,i,s){var o,l;let a,u,h=this.done,c=h[h.length-1];return new T(h=c&&c.changes&&!c.changes.empty&&e.changes&&(!n||F.test(n))&&(!c.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,(o=c.changes,l=e.changes,a=[],u=!1,o.iterChangedRanges((e,t)=>a.push(e,t)),l.iterChangedRanges((e,t,n,r)=>{for(let e=0;e<a.length;){let t=a[e++],i=a[e++];r>=t&&n<=i&&(u=!0)}}),u))||"input.type.compose"==n)?A(h,h.length-1,i.minDepth,new C(e.changes.compose(c.changes),E(r.Py.mapEffects(e.effects,c.changes),c.effects),c.mapped,c.startSelection,S)):A(h,h.length,i.minDepth,e),S,t,n)}addSelection(e,t,n,r){var i;let s=this.done.length?this.done[this.done.length-1].selectionsAfter:S;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&(i=s[s.length-1],i.ranges.length==e.ranges.length&&0===i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length)?this:new T(_(this.done,e),this.undone,t,n)}addMapping(e){return new T(O(this.done,e),O(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=0==e?this.done:this.undone;if(0==r.length)return null;let i=r[r.length-1],s=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length){let n,o;return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:d.of({side:e,rest:(n=r[r.length-1],(o=r.slice())[r.length-1]=n.setSelAfter(n.selectionsAfter.slice(0,n.selectionsAfter.length-1)),o),selection:s}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0})}{if(!i.changes)return null;let n=1==r.length?S:r.slice(0,r.length-1);return i.mapped&&(n=O(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:d.of({side:e,rest:n,selection:s}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}}}T.empty=new T(S,S);let P=[{key:"Mod-z",run:w,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:k,preventDefault:!0},{linux:"Ctrl-Shift-z",run:k,preventDefault:!0},{key:"Mod-u",run:D,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:x,preventDefault:!0}];function I(e,t){return r.jT.create(e.ranges.map(t),e.mainIndex)}function N(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function B({state:e,dispatch:t},n){let r=I(e.selection,n);return!r.eq(e.selection,!0)&&(t(N(e,r)),!0)}function M(e,t){return r.jT.cursor(t?e.to:e.from)}function $(e,t){return B(e,n=>n.empty?e.moveByChar(n,t):M(n,t))}function L(e){return e.textDirectionAt(e.state.selection.main.head)==i.Nm.LTR}let R=e=>$(e,!L(e)),j=e=>$(e,L(e));function q(e,t){return B(e,n=>n.empty?e.moveByGroup(n,t):M(n,t))}function z(e,t,n){let i,l,a=(0,s.qz)(e).resolveInner(t.head),u=n?o.md.closedBy:o.md.openedBy;for(let r=t.head;;){let t=n?a.childAfter(r):a.childBefore(r);if(!t)break;!function(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}(e,t,u)?r=n?t.to:t.from:a=t}return l=a.type.prop(u)&&(i=n?(0,s.Um)(e,a.from,1):(0,s.Um)(e,a.to,-1))&&i.matched?n?i.end.to:i.end.from:n?a.to:a.from,r.jT.cursor(l,n?-1:1)}function U(e,t){return B(e,n=>{if(!n.empty)return M(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}"undefined"!=typeof Intl&&Intl.Segmenter;let V=e=>U(e,!1),H=e=>U(e,!0);function W(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let t of e.state.facet(i.tk.scrollMargins)){let i=t(e);(null==i?void 0:i.top)&&(n=Math.max(null==i?void 0:i.top,n)),(null==i?void 0:i.bottom)&&(r=Math.max(null==i?void 0:i.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function G(e,t){let n,r=W(e),{state:s}=e,o=I(s.selection,n=>n.empty?e.moveVertically(n,t,r.height):M(n,t));if(o.eq(s.selection))return!1;if(r.selfScroll){let t=e.coordsAtPos(s.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),a=l.top+r.marginTop,u=l.bottom-r.marginBottom;t&&t.top>a&&t.bottom<u&&(n=i.tk.scrollIntoView(o.main.head,{y:"start",yMargin:t.top-a}))}return e.dispatch(N(s,o),{effects:n}),!0}let K=e=>G(e,!1),J=e=>G(e,!0);function Q(e,t,n){let i=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?i.to:i.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(s=r.jT.cursor(i.from+n))}return s}function Y(e,t){let n=I(e.state.selection,e=>{let n=t(e);return r.jT.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(N(e.state,n)),!0)}function Z(e,t){return Y(e,n=>e.moveByChar(n,t))}let X=e=>Z(e,!L(e)),ee=e=>Z(e,L(e));function et(e,t){return Y(e,n=>e.moveByGroup(n,t))}function en(e,t){return Y(e,n=>e.moveVertically(n,t))}let er=e=>en(e,!1),ei=e=>en(e,!0);function es(e,t){return Y(e,n=>e.moveVertically(n,t,W(e).height))}let eo=e=>es(e,!1),el=e=>es(e,!0),ea=({state:e,dispatch:t})=>(t(N(e,{anchor:0})),!0),eu=({state:e,dispatch:t})=>(t(N(e,{anchor:e.doc.length})),!0),eh=({state:e,dispatch:t})=>(t(N(e,{anchor:e.selection.main.anchor,head:0})),!0),ec=({state:e,dispatch:t})=>(t(N(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function ef(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:s}=e,o=s.changeByRange(i=>{let{from:s,to:o}=i;if(s==o){let r=t(i);r<s?(n="delete.backward",r=ed(e,r,!1)):r>s&&(n="delete.forward",r=ed(e,r,!0)),s=Math.min(s,r),o=Math.max(o,r)}else s=ed(e,s,!1),o=ed(e,o,!0);return s==o?{range:i}:{changes:{from:s,to:o},range:r.jT.cursor(s,s<i.head?-1:1)}});return!o.changes.empty&&(e.dispatch(s.update(o,{scrollIntoView:!0,userEvent:n,effects:"delete.selection"==n?i.tk.announce.of(s.phrase("Selection deleted")):void 0})),!0)}function ed(e,t,n){if(e instanceof i.tk)for(let r of e.state.facet(i.tk.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}let ep=(e,t,n)=>ef(e,i=>{let o=i.from,{state:l}=e,a=l.doc.lineAt(o),u,h;if(n&&!t&&o>a.from&&o<a.from+200&&!/[^ \t]/.test(u=a.text.slice(0,o-a.from))){if(" "==u[u.length-1])return o-1;let e=(0,r.IS)(u,l.tabSize)%(0,s.y1)(l)||(0,s.y1)(l);for(let t=0;t<e&&" "==u[u.length-1-t];t++)o--;h=o}else(h=(0,r.cp)(a.text,o-a.from,t,t)+a.from)==o&&a.number!=(t?l.doc.lines:1)?h+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(a.text.slice(h-a.from,o-a.from))&&(h=(0,r.cp)(a.text,h-a.from,!1,!1)+a.from);return h}),em=e=>ep(e,!1,!0),eg=e=>ep(e,!0,!1),ey=(e,t)=>ef(e,n=>{let i=n.head,{state:s}=e,o=s.doc.lineAt(i),l=s.charCategorizer(i);for(let e=null;;){if(i==(t?o.to:o.from)){i==n.head&&o.number!=(t?s.doc.lines:1)&&(i+=t?1:-1);break}let a=(0,r.cp)(o.text,i-o.from,t)+o.from,u=o.text.slice(Math.min(i,a)-o.from,Math.max(i,a)-o.from),h=l(u);if(null!=e&&h!=e)break;(" "!=u||i!=n.head)&&(e=h),i=a}return i}),eb=e=>ey(e,!1);function ev(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),s=e.doc.lineAt(r.to);if(r.empty||r.to!=s.from||(s=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=s.to,e.ranges.push(r)}else t.push({from:i.from,to:s.to,ranges:[r]});n=s.number+1}return t}function ew(e,t,n){if(e.readOnly)return!1;let i=[],s=[];for(let t of ev(e)){if(n?t.to==e.doc.length:0==t.from)continue;let o=e.doc.lineAt(n?t.to+1:t.from-1),l=o.length+1;if(n)for(let n of(i.push({from:t.to,to:o.to},{from:t.from,insert:o.text+e.lineBreak}),t.ranges))s.push(r.jT.range(Math.min(e.doc.length,n.anchor+l),Math.min(e.doc.length,n.head+l)));else for(let n of(i.push({from:o.from,to:t.from},{from:t.to,insert:e.lineBreak+o.text}),t.ranges))s.push(r.jT.range(n.anchor-l,n.head-l))}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:r.jT.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0)}function ek(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of ev(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}let eD=eC(!1),ex=eC(!0);function eC(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>{let{from:i,to:l}=n,a=t.doc.lineAt(i),u=!e&&i==l&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=(0,s.qz)(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),l;return r&&i&&r.to<=t&&i.from>=t&&(l=r.type.prop(o.md.closedBy))&&l.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}(t,i);e&&(i=l=(l<=a.to?a:t.doc.lineAt(l)).to);let h=new s.Gn(t,{simulateBreak:i,simulateDoubleBreak:!!u}),c=(0,s.K0)(h,i);for(null==c&&(c=(0,r.IS)(/^\s*/.exec(t.doc.lineAt(i).text)[0],t.tabSize));l<a.to&&/\s/.test(a.text[l-a.from]);)l++;u?{from:i,to:l}=u:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let f=["",(0,s.SS)(t,c)];return u&&f.push((0,s.SS)(t,h.lineIndent(a.from,-1))),{changes:{from:i,to:l,insert:r.xv.of(f)},range:r.jT.cursor(i+1+f[1].length)}});return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function eA(e,t){let n=-1;return e.changeByRange(i=>{let s=[];for(let r=i.from;r<=i.to;){let o=e.doc.lineAt(r);o.number>n&&(i.empty||i.to>o.from)&&(t(o,s,i),n=o.number),r=o.to+1}let o=e.changes(s);return{changes:s,range:r.jT.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}let eE=[{key:"Ctrl-b",run:R,shift:X,preventDefault:!0},{key:"Ctrl-f",run:j,shift:ee},{key:"Ctrl-p",run:V,shift:er},{key:"Ctrl-n",run:H,shift:ei},{key:"Ctrl-a",run:e=>B(e,t=>r.jT.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>Y(e,t=>r.jT.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>B(e,t=>r.jT.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>Y(e,t=>r.jT.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:eg},{key:"Ctrl-h",run:em},{key:"Ctrl-k",run:e=>ef(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)})},{key:"Ctrl-Alt-h",run:eb},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:r.xv.of(["",""])},range:r.jT.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,i=e.doc.lineAt(n),s=n==i.from?n-1:(0,r.cp)(i.text,n-i.from,!1)+i.from,o=n==i.to?n+1:(0,r.cp)(i.text,n-i.from,!0)+i.from;return{changes:{from:s,to:o,insert:e.doc.slice(n,o).append(e.doc.slice(s,n))},range:r.jT.cursor(o)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:J}],eS=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>B(e,t=>z(e.state,t,!L(e))),shift:e=>Y(e,t=>z(e.state,t,!L(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>B(e,t=>z(e.state,t,L(e))),shift:e=>Y(e,t=>z(e.state,t,L(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>ew(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>ek(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>ew(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>ek(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=r.jT.create([n.main]):n.main.empty||(i=r.jT.create([r.jT.cursor(n.main.head)])),!!i&&(t(N(e,i)),!0)}},{key:"Mod-Enter",run:ex},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=ev(e).map(({from:t,to:n})=>r.jT.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:r.jT.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=I(e.selection,t=>{let n=(0,s.qz)(e),i=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=i.node.from&&e.node.to<=i.node.to&&(i=e)}for(let e=i;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return r.jT.range(n.to,n.from)}return t});return!n.eq(e.selection)&&(t(N(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eA(e,(t,n)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let o=(0,r.IS)(i,e.tabSize),l=0,a=(0,s.SS)(e,Math.max(0,o-(0,s.y1)(e)));for(;l<i.length&&l<a.length&&i.charCodeAt(l)==a.charCodeAt(l);)l++;n.push({from:t.from+l,to:t.from+i.length,insert:a.slice(l)})}),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eA(e,(t,n)=>{n.push({from:t.from,insert:e.facet(s.c)})}),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new s.Gn(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=eA(e,(t,i,o)=>{let l=(0,s.K0)(r,t.from);if(null==l)return;/\S/.test(t.text)||(l=0);let a=/^\s*/.exec(t.text)[0],u=(0,s.SS)(e,l);(a!=u||o.from<t.from+a.length)&&(n[t.from]=l,i.push({from:t.from,to:t.from+a.length,insert:u}))});return i.changes.empty||t(e.update(i,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ev(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=I(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>{let n,i;return n=!1,i=I(e.selection,t=>{let i=(0,s.Um)(e,t.head,-1)||(0,s.Um)(e,t.head,1)||t.head>0&&(0,s.Um)(e,t.head-1,1)||t.head<e.doc.length&&(0,s.Um)(e,t.head+1,-1);if(!i||!i.end)return t;n=!0;let o=i.start.from==t.head?i.end.to:i.end.from;return r.jT.cursor(o)}),!!n&&(t(N(e,i)),!0)}},{key:"Mod-/",run:e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=c(e.state,n.from);return r.line?a(e):!!r.block&&h(e)}},{key:"Alt-A",run:u},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:R,shift:X,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>q(e,!L(e)),shift:e=>et(e,!L(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>B(e,t=>Q(e,t,!L(e))),shift:e=>Y(e,t=>Q(e,t,!L(e))),preventDefault:!0},{key:"ArrowRight",run:j,shift:ee,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>q(e,L(e)),shift:e=>et(e,L(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>B(e,t=>Q(e,t,L(e))),shift:e=>Y(e,t=>Q(e,t,L(e))),preventDefault:!0},{key:"ArrowUp",run:V,shift:er,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ea,shift:eh},{mac:"Ctrl-ArrowUp",run:K,shift:eo},{key:"ArrowDown",run:H,shift:ei,preventDefault:!0},{mac:"Cmd-ArrowDown",run:eu,shift:ec},{mac:"Ctrl-ArrowDown",run:J,shift:el},{key:"PageUp",run:K,shift:eo},{key:"PageDown",run:J,shift:el},{key:"Home",run:e=>B(e,t=>Q(e,t,!1)),shift:e=>Y(e,t=>Q(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:ea,shift:eh},{key:"End",run:e=>B(e,t=>Q(e,t,!0)),shift:e=>Y(e,t=>Q(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:eu,shift:ec},{key:"Enter",run:eD,shift:eD},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:em,shift:em},{key:"Delete",run:eg},{key:"Mod-Backspace",mac:"Alt-Backspace",run:eb},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ey(e,!0)},{mac:"Mod-Backspace",run:e=>ef(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>ef(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)})}].concat(eE.map(e=>({mac:e.key,run:e.run,shift:e.shift}))))},85237:function(e,t,n){"use strict";n.d(t,{Dv:()=>R,Gn:()=>F,K0:()=>O,Qf:()=>eo,SS:()=>_,Um:()=>ex,c:()=>E,e7:()=>J,mi:()=>ei,n$:()=>ev,nF:()=>eh,nY:()=>M,qp:()=>d,qz:()=>p,ri:()=>C,tC:()=>B,uj:()=>T,x0:()=>L,y1:()=>S});var r,i=n(7888),s=n(35740),o=n(76621),l=n(42367),a=n(81965);let u=new i.md,h=new i.md;class c{constructor(e,t,n=[],r=""){this.data=e,this.name=r,s.yy.prototype.hasOwnProperty("tree")||Object.defineProperty(s.yy.prototype,"tree",{get(){return p(this)}}),this.parser=t,this.extension=[x.of(this),s.yy.languageData.of((e,t,n)=>{let r=f(e,t,n),i=r.type.prop(u);if(!i)return[];let s=e.facet(i),o=r.type.prop(h);if(o){let i=r.resolve(t-r.from,n);for(let t of o)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(s)}}return s})].concat(n)}isActiveAt(e,t,n=-1){return f(e,t,n).type.prop(u)==this.data}findRegions(e){let t=e.facet(x);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(e,t)=>{if(e.prop(u)==this.data)return void n.push({from:t,to:t+e.length});let s=e.prop(i.md.mounted);if(s){if(s.tree.prop(u)==this.data){if(s.overlay)for(let e of s.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}else if(s.overlay){let e=n.length;if(r(s.tree,s.overlay[0].from+t),n.length>e)return}}for(let n=0;n<e.children.length;n++){let s=e.children[n];s instanceof i.mp&&r(s,e.positions[n]+t)}};return r(p(e),0),n}get allowsNesting(){return!0}}function f(e,t,n){let r=e.facet(x),s=p(e).topNode;if(!r||r.allowsNesting)for(let e=s;e;e=e.enter(t,n,i.vj.ExcludeBuffers))e.type.isTop&&(s=e);return s}c.setState=s.Py.define();class d extends c{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){var t;let n=(t=e.languageData,s.r$.define({combine:t?e=>e.concat(t):void 0}));return new d(n,e.parser.configure({props:[u.add(e=>e.isTop?n:void 0)]}),e.name)}configure(e,t){return new d(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function p(e){let t=e.field(c.state,!1);return t?t.tree:i.mp.empty}class m{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let g=null;class y{constructor(e,t,n=[],r,i,s,o,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=i,this.viewport=s,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new y(e,t,[],i.mp.empty,0,n,[],null)}startParse(){return this.parser.startParse(new m(this.state.doc),this.fragments)}work(e,t){return(null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=i.mp.empty&&this.isDone(null!=t?t:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r){if(this.fragments=this.withoutTempSkipped(i.i9.addTree(r,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(n=this.parse.stoppedAt)?n:this.state.doc.length,this.tree=r,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(i.i9.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=g;g=this;try{return e()}finally{g=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=b(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,r,i)=>t.push({fromA:e,toA:n,fromB:r,toB:i})),n=i.i9.applyChanges(n,t),r=i.mp.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length)for(let t of(l=[],this.skipped)){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);n<r&&l.push({from:n,to:r})}}return new y(this.parser,t,n,r,s,o,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:n,to:r}=this.skipped[t];n<e.to&&r>e.from&&(this.fragments=b(this.fragments,n,r),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends i._b{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let t=g;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=o,new i.mp(i.Jq.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return g}}function b(e,t,n){return i.i9.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class v{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new v(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=y.create(e.facet(x).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new v(n)}}c.state=s.QQ.define({create:v.init,update(e,t){for(let e of t.effects)if(e.is(c.setState))return e.value;return t.startState.facet(x)!=t.state.facet(x)?v.init(t.state):e.apply(t)}});let w=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(w=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});let k="undefined"!=typeof navigator&&(null==(r=navigator.scheduling)?void 0:r.isInputPending)?()=>navigator.scheduling.isInputPending():null,D=o.lg.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(c.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(c.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=w(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,i=n.field(c.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!k?Math.max(25,e.timeRemaining()-5):1e9),o=i.context.treeLen<r&&n.doc.length>r+1e3,l=i.context.work(()=>k&&k()||Date.now()>s,r+1e5*!o);this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:c.setState.of(new v(i.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>(0,o.OO)(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),x=s.r$.define({combine:e=>e.length?e[0]:null,enables:e=>[c.state,D,o.tk.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class C{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}let A=s.r$.define(),E=s.r$.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function S(e){let t=e.facet(E);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function _(e,t){let n="",r=e.tabSize,i=e.facet(E)[0];if(" "==i){for(;t>=r;)n+=" ",t-=r;i=" "}for(let e=0;e<t;e++)n+=i;return n}function O(e,t){for(let n of(e instanceof s.yy&&(e=new F(e)),e.state.facet(A))){let r=n(e,t);if(void 0!==r)return r}let n=p(e.state);return n.length>=t?function(e,t,n){let r=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let e=[];for(let t=i;t&&(t.from!=r.node.from||t.type!=r.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)r={node:e[t],next:r}}return P(r,e,n)}(e,n,t):null}class F{constructor(e,t={}){this.state=e,this.options=t,this.unit=S(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;if(null!=r&&r>=n.from&&r<=n.to)if(i&&r==e)return{text:"",from:e};else if(t<0?r<e:r<=e)return{text:n.text.slice(r-n.from),from:r};else return{text:n.text.slice(0,r-n.from),from:n.from};return n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.countColumn(n,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(i+=s-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return(0,s.IS)(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(r);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}let T=new i.md;function P(e,t,n){for(let r=e;r;r=r.next){let e=function(e){let t=e.type.prop(T);if(t)return t;let n=e.firstChild,r;if(n&&(r=n.type.prop(i.md.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>(function(e,t,n,r,i){let s=e.textAfter,o=s.match(/^\s*/)[0].length,l=r&&s.slice(o,o+r.length)==r||i==e.pos+o,a=t?function(e){let t=e.node,n=t.childAfter(t.from),r=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),o=null==i||i<=s.from?s.to:Math.min(s.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==r)return null;if(!i.type.isSkipped){if(i.from>=o)return null;let e=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}(e):null;return a?l?e.column(a.from):e.column(a.to):e.baseIndent+(l?0:+e.unit)})(e,!0,1,void 0,n&&!(e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak)?t.from:void 0)}return null==e.parent?I:null}(r.node);if(e)return e(N.create(t,n,r))}return 0}function I(){return 0}class N extends F{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new N(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(function(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return P(this.context.next,this.base,this.pos)}}function B({except:e,units:t=1}={}){return n=>{let r=e&&e.test(n.textAfter);return n.baseIndent+(r?0:t*n.unit)}}function M(){return s.yy.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:r}=e.newSelection.main,i=n.lineAt(r);if(r>i.from+200)return e;let s=n.sliceString(i.from,r);if(!t.some(e=>e.test(s)))return e;let{state:o}=e,l=-1,a=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==l)continue;l=t.from;let n=O(o,t.from);if(null==n)continue;let r=/^\s*/.exec(t.text)[0],i=_(o,n);r!=i&&a.push({from:t.from,to:t.from+r.length,insert:i})}return a.length?[e,{changes:a,sequential:!0}]:e})}let $=s.r$.define(),L=new i.md;function R(e){let t=e.firstChild,n=e.lastChild;return t&&t.to<n.from?{from:t.to,to:n.type.isError?e.to:n.from}:null}function j(e,t,n){for(let r of e.facet($)){let i=r(e,t,n);if(i)return i}return function(e,t,n){let r=p(e);if(r.length<n)return null;let i=r.resolveStack(n,1),s=null;for(let o=i;o;o=o.next){let i=o.node;if(i.to<=n||i.from>n)continue;if(s&&i.from<t)break;let l=i.type.prop(L);if(l&&(i.to<r.length-50||r.length==e.doc.length||!function(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}(i))){let r=l(i,e);r&&r.from<=n&&r.from>=t&&r.to>n&&(s=r)}}return s}(e,t,n)}function q(e,t){let n=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return n>=r?void 0:{from:n,to:r}}let z=s.Py.define({map:q}),U=s.Py.define({map:q});function V(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}let H=s.QQ.define({create:()=>o.p.none,update(e,t){for(let n of(e=e.map(t.changes),t.effects))if(n.is(z)&&!function(e,t,n){let r=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(r=!0)}),r}(e,n.value.from,n.value.to)){let{preparePlaceholder:r}=t.state.facet(Y),i=r?o.p.replace({widget:new et(r(t.state,n.value))}):ee;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(U)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));if(t.selection){let n=!1,{head:r}=t.selection.main;e.between(r,r,(e,t)=>{e<r&&t>r&&(n=!0)}),n&&(e=e.update({filterFrom:r,filterTo:r,filter:(e,t)=>t<=r||e>=r}))}return e},provide:e=>o.tk.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n<e.length;){let r=e[n++],i=e[n++];if("number"!=typeof r||"number"!=typeof i)throw RangeError("Invalid JSON for fold state");t.push(ee.range(r,i))}return o.p.set(t,!0)}});function W(e,t,n){var r;let i=null;return null==(r=e.field(H,!1))||r.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function G(e,t){return e.field(H,!1)?t:t.concat(s.Py.appendConfig.of(Z()))}function K(e,t,n=!0){let r=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return o.tk.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${e.state.phrase("to")} ${i}.`)}let J=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of V(e)){let n=j(e.state,t.from,t.to);if(n)return e.dispatch({effects:G(e.state,[z.of(n),K(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(H,!1))return!1;let t=[];for(let n of V(e)){let r=W(e.state,n.from,n.to);r&&t.push(U.of(r),K(e,r,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let r=0;r<t.doc.length;){let i=e.lineBlockAt(r),s=j(t,i.from,i.to);s&&n.push(z.of(s)),r=(s?e.lineBlockAt(s.to):i).to+1}return n.length&&e.dispatch({effects:G(e.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(H,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(U.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],Q={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Y=s.r$.define({combine:e=>(0,s.BO)(e,Q)});function Z(e){let t=[H,es];return e&&t.push(Y.of(e)),t}function X(e,t){let{state:n}=e,r=n.facet(Y),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),r=W(e.state,n.from,n.to);r&&e.dispatch({effects:U.of(r)}),t.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(e,i,t);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}let ee=o.p.replace({widget:new class extends o.l9{toDOM(e){return X(e,null)}}});class et extends o.l9{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return X(e,this.value)}}let en={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class er extends o.SJ{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function ei(e={}){let t=Object.assign(Object.assign({},en),e),n=new er(t,!0),r=new er(t,!1),i=o.lg.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(x)!=e.state.facet(x)||e.startState.field(H,!1)!=e.state.field(H,!1)||p(e.startState)!=p(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new s.f_;for(let i of e.viewportLineBlocks){let s=W(e.state,i.from,i.to)?r:j(e.state,i.from,i.to)?n:null;s&&t.add(i.from,i.from,s)}return t.finish()}}),{domEventHandlers:l}=t;return[i,(0,o.v5)({class:"cm-foldGutter",markers(e){var t;return(null==(t=e.plugin(i))?void 0:t.markers)||s.Xs.empty},initialSpacer:()=>new er(t,!1),domEventHandlers:Object.assign(Object.assign({},l),{click:(e,t,n)=>{if(l.click&&l.click(e,t,n))return!0;let r=W(e.state,t.from,t.to);if(r)return e.dispatch({effects:U.of(r)}),!0;let i=j(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:z.of(i)}),!0)}})}),Z()]}let es=o.tk.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class eo{constructor(e,t){let n;function r(e){let t=a.V.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;let i="string"==typeof t.all?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof c?e=>e.prop(u)==s.data:s?e=>e==s:void 0,this.style=(0,l.QR)(e.map(e=>({tag:e.tag,class:e.class||r(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new a.V(n):null,this.themeType=t.themeType}static define(e,t){return new eo(e,t||{})}}let el=s.r$.define(),ea=s.r$.define({combine:e=>e.length?[e[0]]:null});function eu(e){let t=e.facet(el);return t.length?t:e.facet(ea)}function eh(e,t){let n=[ec],r;return e instanceof eo&&(e.module&&n.push(o.tk.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(ea.of(e)):r?n.push(el.computeN([o.tk.darkTheme],t=>t.facet(o.tk.darkTheme)==("dark"==r)?[e]:[])):n.push(el.of(e)),n}let ec=s.Wl.high(o.lg.fromClass(class{constructor(e){this.markCache=Object.create(null),this.tree=p(e.state),this.decorations=this.buildDeco(e,eu(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=p(e.state),n=eu(e.state),r=n!=eu(e.startState),{viewport:i}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length<i.to&&!r&&t.type==this.tree.type&&s>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return o.p.none;let n=new s.f_;for(let{from:r,to:i}of e.visibleRanges)(0,l.bW)(this.tree,t,(e,t,r)=>{n.add(e,t,this.markCache[r]||(this.markCache[r]=o.p.mark({class:r})))},r,i);return n.finish()}},{decorations:e=>e.decorations}));l.pJ.meta,l.pJ.link,l.pJ.heading,l.pJ.emphasis,l.pJ.strong,l.pJ.strikethrough,l.pJ.keyword,l.pJ.atom,l.pJ.bool,l.pJ.url,l.pJ.contentSeparator,l.pJ.labelName,l.pJ.literal,l.pJ.inserted,l.pJ.string,l.pJ.deleted,l.pJ.regexp,l.pJ.escape,l.pJ.string,l.pJ.variableName,l.pJ.variableName,l.pJ.typeName,l.pJ.namespace,l.pJ.className,l.pJ.variableName,l.pJ.macroName,l.pJ.propertyName,l.pJ.comment,l.pJ.invalid;let ef=o.tk.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ed="()[]{}",ep=s.r$.define({combine:e=>(0,s.BO)(e,{afterCursor:!0,brackets:ed,maxScanDistance:1e4,renderMatch:ey})}),em=o.p.mark({class:"cm-matchingBracket"}),eg=o.p.mark({class:"cm-nonmatchingBracket"});function ey(e){let t=[],n=e.matched?em:eg;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}let eb=[s.QQ.define({create:()=>o.p.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],r=t.state.facet(ep);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=ex(t.state,e.head,-1,r)||e.head>0&&ex(t.state,e.head-1,1,r)||r.afterCursor&&(ex(t.state,e.head,1,r)||e.head<t.state.doc.length&&ex(t.state,e.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,t.state)))}return o.p.set(n,!0)},provide:e=>o.tk.decorations.from(e)}),ef];function ev(e={}){return[ep.of(e),eb]}let ew=new i.md;function ek(e,t,n){let r=e.prop(t<0?i.md.openedBy:i.md.closedBy);if(r)return r;if(1==e.name.length){let r=n.indexOf(e.name);if(r>-1&&r%2==+(t<0))return[n[r+t]]}return null}function eD(e){let t=e.type.prop(ew);return t?t(e.node):e}function ex(e,t,n,r={}){let i=r.maxScanDistance||1e4,s=r.brackets||ed,o=p(e),l=o.resolveInner(t,n);for(let e=l;e;e=e.parent){let r=ek(e.type,n,s);if(r&&e.from<e.to){let i=eD(e);if(i&&(n>0?t>=i.from&&t<i.to:t>i.from&&t<=i.to))return function(e,t,n,r,i,s,o){let l=r.parent,a={from:i.from,to:i.to},u=0,h=null==l?void 0:l.cursor();if(h&&(n<0?h.childBefore(r.from):h.childAfter(r.to)))do if(n<0?h.to<=r.from:h.from>=r.to){if(0==u&&s.indexOf(h.type.name)>-1&&h.from<h.to){let e=eD(h);return{start:a,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}else if(ek(h.type,n,o))u++;else if(ek(h.type,-n,o)){if(0==u){let e=eD(h);return{start:a,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}u--}}while(n<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}(0,0,n,e,i,r,s)}}return function(e,t,n,r,i,s,o){let l=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),a=o.indexOf(l);if(a<0||a%2==0!=n>0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},h=e.doc.iterRange(t,n>0?e.doc.length:0),c=0;for(let e=0;!h.next().done&&e<=s;){let s=h.value;n<0&&(e+=s.length);let l=t+e*n;for(let e=n>0?0:s.length-1,t=n>0?s.length:-1;e!=t;e+=n){let t=o.indexOf(s[e]);if(!(t<0)&&r.resolveInner(l+e,1).type==i)if(t%2==0==n>0)c++;else{if(1==c)return{start:u,end:{from:l+e,to:l+e+1},matched:t>>1==a>>1};c--}}n>0&&(e+=s.length)}return h.done?{start:u,matched:!1}:null}(e,t,n,o,l.type,i,s)}let eC=Object.create(null),eA=[i.Jq.none],eE=[],eS=Object.create(null),e_=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])e_[e]=function(e,t){let n=[];for(let r of t.split(" ")){let t=[];for(let n of r.split(".")){let r=e[n]||l.pJ[n];r?"function"==typeof r?t.length?t=t.map(r):eO(n,`Modifier ${n} used at start of tag`):t.length?eO(n,`Tag ${n} used as modifier`):t=Array.isArray(r)?r:[r]:eO(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let r=t.replace(/ /g,"_"),s=r+" "+n.map(e=>e.id),o=eS[s];if(o)return o.id;let a=eS[s]=i.Jq.define({id:eA.length,name:r,props:[(0,l.Gv)({[r]:n})]});return eA.push(a),a.id}(eC,t);function eO(e,t){eE.indexOf(e)>-1||(eE.push(e),console.warn(t))}o.Nm.RTL,o.Nm.LTR},77730:function(e,t,n){"use strict";n.d(t,{Q2:()=>j,ir:()=>D,Fv:()=>v,KS:()=>m});var r=n(76621),i=n(35740);function s(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];"string"==typeof i?e.setAttribute(r,i):null!=i&&(e[r]=i)}t++}for(;t<arguments.length;t++)!function e(t,n){if("string"==typeof n)t.appendChild(document.createTextNode(n));else if(null==n);else if(null!=n.nodeType)t.appendChild(n);else if(Array.isArray(n))for(var r=0;r<n.length;r++)e(t,n[r]);else throw RangeError("Unsupported child node: "+n)}(e,arguments[t]);return e}class o{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class l{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let s=n.facet(k).markerFilter;s&&(e=s(e,n));let o=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),u=new i.f_,h=[],c=0;for(let e=0;;){let t,i,s=e==o.length?null:o[e];if(!s&&!h.length)break;for(h.length?(t=c,i=h.reduce((e,t)=>Math.min(e,t.to),s&&s.from>t?s.from:1e8)):(t=s.from,i=s.to,h.push(s),e++);e<o.length;){let n=o[e];if(n.from==t&&(n.to>n.from||n.to==t))h.push(n),e++,i=Math.min(n.to,i);else{i=Math.min(n.from,i);break}}let l=T(h);if(h.some(e=>e.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from))u.add(t,t,r.p.widget({widget:new A(l),diagnostics:h.slice()}));else{let e=h.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");u.add(t,i,r.p.mark({class:"cm-lintRange cm-lintRange-"+l+e,diagnostics:h.slice(),inclusiveEnd:h.some(e=>e.to>i)}))}c=i;for(let e=0;e<h.length;e++)h[e].to<=c&&h.splice(e--,1)}let f=u.finish();return new l(f,t,a(f))}}function a(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&0>i.diagnostics.indexOf(t)))if(r){if(0>i.diagnostics.indexOf(r.diagnostic))return!1;r=new o(r.from,n,r.diagnostic)}else r=new o(e,n,t||i.diagnostics[0])}),r}function u(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(k).hideOn(e,n,r);if(null!=i)return i;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(c))||e.changes.touchesRange(s.from,Math.max(s.to,r)))}function h(e,t){return e.field(p,!1)?t:t.concat(i.Py.appendConfig.of(L))}let c=i.Py.define(),f=i.Py.define(),d=i.Py.define(),p=i.QQ.define({create:()=>new l(r.p.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=a(n,e.selected.diagnostic,i)||a(n,null,i)}!n.size&&i&&t.state.facet(k).autoPanel&&(i=null),e=new l(n,i,r)}for(let n of t.effects)if(n.is(c)){let r=t.state.facet(k).autoPanel?n.value.length?S.open:null:e.panel;e=l.init(n.value,r,t.state)}else n.is(f)?e=new l(e.diagnostics,n.value?S.open:null,e.selected):n.is(d)&&(e=new l(e.diagnostics,e.panel,n.value));return e},provide:e=>[r.mH.from(e,e=>e.panel),r.tk.decorations.from(e,e=>e.diagnostics)]});function m(e){let t=e.field(p,!1);return t?t.diagnostics.size:0}let g=r.p.mark({class:"cm-lintRange cm-lintRange-active"});function y(e,t){return s("ul",{class:"cm-tooltip-lint"},t.map(t=>C(e,t,!1)))}let b=e=>{let t=e.state.field(p,!1);return!!t&&!!t.panel&&(e.dispatch({effects:f.of(!1)}),!0)},v=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(p,!1);t&&t.panel||e.dispatch({effects:h(e.state,[f.of(!0)])});let n=(0,r.Sd)(e,S.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(p,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return(!!r.value||!!(r=t.diagnostics.iter(0)).value&&(r.from!=n.from||r.to!=n.to))&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],w=r.lg.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(k);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(k);t.length&&function(e,t,n){let r=[],i=-1;for(let s of e)s.then(n=>{r.push(n),clearTimeout(i),r.length==e.length?t(r):i=setTimeout(()=>t(r),200)},n)}(t.map(e=>Promise.resolve(e(this.view))),t=>{var n,r;this.view.state.doc==e.doc&&this.view.dispatch((n=this.view.state,r=t.reduce((e,t)=>e.concat(t)),{effects:h(n,[c.of(r)])}))},e=>{(0,r.OO)(this.view.state,e)})}}update(e){let t=e.state.facet(k);(e.docChanged||t!=e.startState.facet(k)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),k=i.r$.define({combine:e=>Object.assign({sources:e.map(e=>e.source).filter(e=>null!=e)},(0,i.BO)(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))});function D(e,t={}){return[k.of({source:e,config:t}),w,L]}function x(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function C(e,t,n){var r;let i=n?x(t.actions):[];return s("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},s("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null==(r=t.actions)?void 0:r.map((n,r)=>{let o=!1,l=r=>{if(r.preventDefault(),o)return;o=!0;let i=a(e.state.field(p).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:u}=n,h=i[r]?u.indexOf(i[r]):-1,c=h<0?u:[u.slice(0,h),s("u",u.slice(h,h+1)),u.slice(h+1)];return s("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${u}${h<0?"":` (access key "${i[r]})"`}.`},c)}),t.source&&s("div",{class:"cm-diagnosticSource"},t.source))}class A extends r.l9{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return s("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class E{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=C(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class S{constructor(e){this.view=e,this.items=[],this.list=s("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)b(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65)||!(t.keyCode<=90)||!(this.selectedIndex>=0))return;let{diagnostic:n}=this.items[this.selectedIndex],r=x(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=a(this.view.state.field(p).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=s("div",{class:"cm-panel-lint"},this.list,s("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>b(this.view)},"\xd7")),this.update()}get selectedIndex(){let e=this.view.state.field(p).selected;if(!e)return -1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return -1}update(){let{diagnostics:e,selected:t}=this.view.state.field(p),n=0,r=!1,i=null,s=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:l})=>{for(let e of l.diagnostics){if(s.has(e))continue;s.add(e);let o=-1,l;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(l=new E(this.view,e),this.items.splice(n,0,l),r=!0):(l=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&l.diagnostic==t.diagnostic?l.dom.hasAttribute("aria-selected")||(l.dom.setAttribute("aria-selected","true"),i=l):l.dom.hasAttribute("aria-selected")&&l.dom.removeAttribute("aria-selected"),n++}});n<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();0==this.items.length&&(this.items.push(new E(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=a(this.view.state.field(p).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:d.of(t)})}static open(e){return new S(e)}}function _(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function O(e){return _(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}let F=r.tk.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:O("#d11")},".cm-lintRange-warning":{backgroundImage:O("orange")},".cm-lintRange-info":{backgroundImage:O("#999")},".cm-lintRange-hint":{backgroundImage:O("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function T(e){let t="hint",n=1;for(let i of e){var r;let e="error"==(r=i.severity)?4:"warning"==r?3:"info"==r?2:1;e>n&&(n=e,t=i.severity)}return t}class P extends r.SJ{constructor(e){super(),this.diagnostics=e,this.severity=T(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,r=e.state.facet(R).tooltipFilter;return r&&(n=r(n,e.state)),n.length&&(t.onmouseover=()=>(function(e,t,n){function r(){let r,i=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(i.from)&&e.dispatch({effects:B.of({pos:i.from,above:!1,clip:!1,create:()=>({dom:y(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,r=n=>{let i=t.getBoundingClientRect();if(!(n.clientX>i.left-10)||!(n.clientX<i.right+10)||!(n.clientY>i.top-10)||!(n.clientY<i.bottom+10)){for(let e=n.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",r),e.state.field(M)&&e.dispatch({effects:B.of(null)})}},window.addEventListener("mousemove",r)}let{hoverTime:i}=e.state.facet(R),s=setTimeout(r,i);t.onmouseout=()=>{clearTimeout(s),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(s),s=setTimeout(r,i)}})(e,t,n)),t}}let I=(0,r.v5)({class:"cm-gutter-lint",markers:e=>e.state.field(N),widgetMarker:(e,t,n)=>{let r=[];return e.state.field(N).between(n.from,n.to,(e,t,i)=>{e>n.from&&e<n.to&&r.push(...i.diagnostics)}),r.length?new P(r):null}}),N=i.QQ.define({create:()=>i.Xs.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(R).markerFilter;for(let r of t.effects)if(r.is(c)){let s=r.value;n&&(s=n(s||[],t.state)),e=function(e,t){let n=Object.create(null);for(let r of t){let t=e.lineAt(r.from);(n[t.from]||(n[t.from]=[])).push(r)}let r=[];for(let e in n)r.push(new P(n[e]).range(+e));return i.Xs.of(r,!0)}(t.state.doc,s.slice(0))}return e}}),B=i.Py.define(),M=i.QQ.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=u(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(B)?t.value:e,e)),provide:e=>r.hJ.from(e)}),$=r.tk.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:_('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:_('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:_('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),L=[p,r.tk.decorations.compute([p],e=>{let{selected:t,panel:n}=e.field(p);return t&&n&&t.from!=t.to?r.p.set([g.range(t.from,t.to)]):r.p.none}),(0,r.bF)(function(e,t,n){let{diagnostics:r}=e.state.field(p),i,s=-1,o=-1;r.between(t-(n<0),t+ +(n>0),(e,r,{spec:l})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=l.diagnostics,s=e,o=r,!1});let l=e.state.facet(k).tooltipFilter;return(i&&l&&(i=l(i,e.state)),i)?{pos:s,end:o,above:e.state.doc.lineAt(s).to<o,create:()=>({dom:y(e,i)})}:null},{hideOn:u}),F],R=i.r$.define({combine:e=>(0,i.BO)(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function j(e={}){return[R.of(e),N,I,$,M]}},35740:function(e,t,n){"use strict";let r;n.d(t,{Py:()=>ep,q6:()=>ec,n0:()=>F,Xs:()=>e_,xv:()=>d,YW:()=>em,as:()=>T,IS:()=>ej,gm:()=>x,jT:()=>R,gc:()=>O,bg:()=>C,uU:()=>eC,f_:()=>eO,yy:()=>eD,BO:()=>ex,QQ:()=>K,r$:()=>z,D0:()=>ew,nZ:()=>A,cp:()=>D,Gz:()=>eq,Wl:()=>Y});let i=[],s=[],o="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<o.length;e++)(e%2?s:i).push(t+=o[e]);function l(e){return e>=127462&&e<=127487}function a(e,t,n){if(t==e.length)return t;t&&h(e.charCodeAt(t))&&c(e.charCodeAt(t-1))&&t--;let r=u(e,t);for(t+=f(r);t<e.length;){let o=u(e,t);if(8205==r||8205==o||n&&function(e){if(e<768)return!1;for(let t=0,n=i.length;;){let r=t+n>>1;if(e<i[r])n=r;else{if(!(e>=s[r]))return!0;t=r+1}if(t==n)return!1}}(o))t+=f(o),r=o;else if(l(o)){let n=0,r=t-2;for(;r>=0&&l(u(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function u(e,t){let n=e.charCodeAt(t);if(!c(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return h(r)?(n-55296<<10)+(r-56320)+65536:n}function h(e){return e>=56320&&e<57344}function c(e){return e>=55296&&e<56320}function f(e){return e<65536?1:2}class d{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=k(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),m.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=k(this,e,t);let n=[];return this.decompose(e,t,n,0),m.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new y(this),i=new y(e);for(let e=t,s=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(s+=r.value.length,r.done||s>=n)return!0}}iter(e=1){return new y(this,e)}iterRange(e,t=this.length){return new b(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new v(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new p(e):m.from(p.split(e,[])):d.empty}}class p extends d{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let s=this.text[i],o=r+s.length;if((t?n:o)>=e)return new w(r,o,n,s);r=o+1,n++}}decompose(e,t,n,r){var i;let s=e<=0&&t>=this.length?this:new p((i=this.text,g(i,[""],e,t)),Math.min(t,this.length)-Math.max(0,e));if(1&r){let e=n.pop(),t=g(s.text,e.text.slice(),0,s.length);if(t.length<=32)n.push(new p(t,e.length+s.length));else{let e=t.length>>1;n.push(new p(t.slice(0,e)),new p(t.slice(e)))}}else n.push(s)}replace(e,t,n){var r,i;if(!(n instanceof p))return super.replace(e,t,n);[e,t]=k(this,e,t);let s=g(this.text,g(n.text,(r=this.text,i=0,g(r,[""],0,e))),t),o=this.length+n.length-(t-e);return s.length<=32?new p(s,o):m.from(p.split(s,[]),o)}sliceString(e,t=this.length,n="\n"){[e,t]=k(this,e,t);let r="";for(let i=0,s=0;i<=t&&s<this.text.length;s++){let o=this.text[s],l=i+o.length;i>e&&s&&(r+=n),e<l&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let i of e)n.push(i),r+=i.length+1,32==n.length&&(t.push(new p(n,r)),n=[],r=-1);return r>-1&&t.push(new p(n,r)),t}}class m extends d{constructor(e,t){for(let n of(super(),this.children=e,this.length=t,this.lines=0,e))this.lines+=n.lines}lineInner(e,t,n,r){for(let i=0;;i++){let s=this.children[i],o=r+s.length,l=n+s.lines-1;if((t?l:o)>=e)return s.lineInner(e,t,n,r);r=o+1,n=l+1}}decompose(e,t,n,r){for(let i=0,s=0;s<=t&&i<this.children.length;i++){let o=this.children[i],l=s+o.length;if(e<=l&&t>=s){let i=r&(s<=e|2*(l>=t));s>=e&&l<=t&&!i?n.push(o):o.decompose(e-s,t-s,n,i)}s=l+1}}replace(e,t,n){if([e,t]=k(this,e,t),n.lines<this.lines)for(let r=0,i=0;r<this.children.length;r++){let s=this.children[r],o=i+s.length;if(e>=i&&t<=o){let l=s.replace(e-i,t-i,n),a=this.lines-s.lines+l.lines;if(l.lines<a>>4&&l.lines>a>>6){let i=this.children.slice();return i[r]=l,new m(i,this.length-(t-e)+n.length)}return super.replace(i,o,l)}i=o+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=k(this,e,t);let r="";for(let i=0,s=0;i<this.children.length&&s<=t;i++){let o=this.children[i],l=s+o.length;s>e&&i&&(r+=n),e<l&&t>s&&(r+=o.sliceString(e-s,t-s,n)),s=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof m))return 0;let n=0,[r,i,s,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,i+=t){if(r==s||i==o)return n;let l=this.children[r],a=e.children[i];if(l!=a)return n+l.scanIdentical(a,t);n+=l.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new p(n,t)}let r=Math.max(32,n>>5),i=r<<1,s=r>>1,o=[],l=0,a=-1,u=[];function h(){0!=l&&(o.push(1==u.length?u[0]:m.from(u,a)),a=-1,l=u.length=0)}for(let t of e)!function e(t){let n;if(t.lines>i&&t instanceof m)for(let n of t.children)e(n);else t.lines>s&&(l>s||!l)?(h(),o.push(t)):t instanceof p&&l&&(n=u[u.length-1])instanceof p&&t.lines+n.lines<=32?(l+=t.lines,a+=t.length+1,u[u.length-1]=new p(n.text.concat(t.text),n.length+1+t.length)):(l+t.lines>r&&h(),l+=t.lines,a+=t.length+1,u.push(t))}(t);return h(),1==o.length?o[0]:new m(o,t)}}function g(e,t,n=0,r=1e9){for(let i=0,s=0,o=!0;s<e.length&&i<=r;s++){let l=e[s],a=i+l.length;a>=n&&(a>r&&(l=l.slice(0,r-i)),i<n&&(l=l.slice(n-i)),o?(t[t.length-1]+=l,o=!1):t.push(l)),i=a+1}return t}d.empty=new p([""],0);class y{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof p?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],s=i>>1,o=r instanceof p?r.text.length:r.children.length;if(s==(t>0?o:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof p){let i=r.text[s+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[s+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof p?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class b{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new y(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class v{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(d.prototype[Symbol.iterator]=function(){return this.iter()},y.prototype[Symbol.iterator]=b.prototype[Symbol.iterator]=v.prototype[Symbol.iterator]=function(){return this});class w{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}}function k(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function D(e,t,n=!0,r=!0){return function(e,t,n=!0,r=!0){return(n?a:function(e,t,n){for(;t>0;){let r=a(e,t-2,n);if(r<t)return r;t--}return 0})(e,t,r)}(e,t,n,r)}function x(e,t){let n=e.charCodeAt(t);if(!(n>=55296&&n<56320)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return r>=56320&&r<57344?(n-55296<<10)+(r-56320)+65536:n}function C(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(((e-=65536)>>10)+55296,(1023&e)+56320)}function A(e){return e<65536?1:2}let E=/\r\n?|\n/;var S,_,O=((S=O||(O={}))[S.Simple=0]="Simple",S[S.TrackDel=1]="TrackDel",S[S.TrackBefore=2]="TrackBefore",S[S.TrackAfter=3]="TrackAfter",S);class F{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?(e(n,r,i),r+=i):r+=s,n+=i}}iterChangedRanges(e,t=!1){N(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new F(e)}composeDesc(e){return this.empty?e:e.empty?this:M(this,e)}mapDesc(e,t=!1){return e.empty?this:B(this,e,t)}mapPos(e,t=-1,n=O.Simple){let r=0,i=0;for(let s=0;s<this.sections.length;){let o=this.sections[s++],l=this.sections[s++],a=r+o;if(l<0){if(a>e)return i+(e-r);i+=o}else{if(n!=O.Simple&&a>=e&&(n==O.TrackDel&&r<e&&a>e||n==O.TrackBefore&&r<e||n==O.TrackAfter&&a>e))return null;if(a>e||a==e&&t<0&&!o)return e==r||t<0?i:i+l;i+=l}r=a}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],s=this.sections[n++],o=r+i;if(s>=0&&r<=t&&o>=e)return!(r<e)||!(o>t)||"cover";r=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw RangeError("Invalid JSON representation of ChangeDesc");return new F(e)}static create(e){return new F(e)}}class T extends F{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError("Applying change set to a document with the wrong length");return N(this,(t,n,r,i,s)=>e=e.replace(r,r+(n-t),s),!1),e}mapDesc(e,t=!1){return B(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,i=0;r<t.length;r+=2){let s=t[r],o=t[r+1];if(o>=0){t[r]=o,t[r+1]=s;let l=r>>1;for(;n.length<l;)n.push(d.empty);n.push(s?e.slice(i,i+s):d.empty)}i+=s}return new T(t,n)}compose(e){return this.empty?e:e.empty?this:M(this,e,!0)}map(e,t=!1){return e.empty?this:B(this,e,t,!0)}iterChanges(e,t=!1){N(this,e,t)}get desc(){return F.create(this.sections)}filter(e){let t=[],n=[],r=[],i=new $(this);t:for(let s=0,o=0;;){let l=s==e.length?1e9:e[s++];for(;o<l||o==l&&0==i.len;){if(i.done)break t;let e=Math.min(i.len,l-o);P(r,e,-1);let s=-1==i.ins?-1:0==i.off?i.ins:0;P(t,e,s),s>0&&I(n,t,i.text),i.forward(e),o+=e}let a=e[s++];for(;o<a;){if(i.done)break t;let e=Math.min(i.len,a-o);P(t,e,-1),P(r,e,-1==i.ins?-1:0==i.off?i.ins:0),i.forward(e),o+=e}}return{changes:new T(t,n),filtered:F.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):0==r?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],i=[],s=0,o=null;function l(e=!1){if(!e&&!r.length)return;s<t&&P(r,t-s,-1);let n=new T(r,i);o=o?o.compose(n.map(o)):n,r=[],i=[],s=0}return!function e(a){if(Array.isArray(a))for(let t of a)e(t);else if(a instanceof T){if(a.length!=t)throw RangeError(`Mismatched change set length (got ${a.length}, expected ${t})`);l(),o=o?o.compose(a.map(o)):a}else{let{from:e,to:o=e,insert:u}=a;if(e>o||e<0||o>t)throw RangeError(`Invalid change range ${e} to ${o} (in doc of length ${t})`);let h=u?"string"==typeof u?d.of(u.split(n||E)):u:d.empty,c=h.length;if(e==o&&0==c)return;e<s&&l(),e>s&&P(r,e-s,-1),P(r,o-e,c),I(i,r,h),s=o}}(e),l(!o),o}static empty(e){return new T(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if("number"==typeof i)t.push(i,-1);else if(!Array.isArray(i)||"number"!=typeof i[0]||i.some((e,t)=>t&&"string"!=typeof e))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==i.length)t.push(i[0],0);else{for(;n.length<r;)n.push(d.empty);n[r]=d.of(i.slice(1)),t.push(i[0],n[r].length)}}return new T(t,n)}static createSet(e,t){return new T(e,t)}}function P(e,t,n,r=!1){if(0==t&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&0==t&&0==e[i]?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function I(e,t,n){if(0==n.length)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(d.empty);e.push(n)}}function N(e,t,n){let r=e.inserted;for(let i=0,s=0,o=0;o<e.sections.length;){let l=e.sections[o++],a=e.sections[o++];if(a<0)i+=l,s+=l;else{let u=i,h=s,c=d.empty;for(;u+=l,h+=a,a&&r&&(c=c.append(r[o-2>>1])),!n&&o!=e.sections.length&&!(e.sections[o+1]<0);)l=e.sections[o++],a=e.sections[o++];t(i,u,s,h,c),i=u,s=h}}}function B(e,t,n,r=!1){let i=[],s=r?[]:null,o=new $(e),l=new $(t);for(let e=-1;;)if(o.done&&l.len||l.done&&o.len)throw Error("Mismatched change set lengths");else if(-1==o.ins&&-1==l.ins){let e=Math.min(o.len,l.len);P(i,e,-1),o.forward(e),l.forward(e)}else if(l.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(l.len<o.len||l.len==o.len&&!n))){let t=l.len;for(P(i,l.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(P(i,0,o.ins),s&&I(s,i,o.text),e=o.i),o.forward(n),t-=n}l.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(-1==l.ins){let e=Math.min(n,l.len);t+=e,n-=e,l.forward(e)}else if(0==l.ins&&l.len<n)n-=l.len,l.next();else break;P(i,t,e<o.i?o.ins:0),s&&e<o.i&&I(s,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&l.done)return s?T.createSet(i,s):F.create(i);else throw Error("Mismatched change set lengths")}function M(e,t,n=!1){let r=[],i=n?[]:null,s=new $(e),o=new $(t);for(let e=!1;;)if(s.done&&o.done)return i?T.createSet(r,i):F.create(r);else if(0==s.ins)P(r,s.len,0,e),s.next();else if(0!=o.len||o.done)if(s.done||o.done)throw Error("Mismatched change set lengths");else{let t=Math.min(s.len2,o.len),n=r.length;if(-1==s.ins){let n=-1==o.ins?-1:o.off?0:o.ins;P(r,t,n,e),i&&n&&I(i,r,o.text)}else -1==o.ins?(P(r,s.off?0:s.len,t,e),i&&I(i,r,s.textBit(t))):(P(r,s.off?0:s.len,o.off?0:o.ins,e),i&&!o.off&&I(i,r,o.text));e=(s.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),s.forward2(t),o.forward(t)}else P(r,0,o.ins,e),i&&I(i,r,o.text),o.next()}class ${constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?d.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?d.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class L{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 0xffffff==e?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new L(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return R.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return R.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw RangeError("Invalid JSON representation for SelectionRange");return R.range(e.anchor,e.head)}static create(e,t,n){return new L(e,t,n)}}class R{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:R.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new R([this.main],0)}addRange(e,t=!0){return R.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,R.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new R(e.ranges.map(e=>L.fromJSON(e)),e.main)}static single(e,t=e){return new R([R.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let i=e[r];if(i.empty?i.from<=n:i.from<n)return R.normalized(e.slice(),t);n=i.to}return new R(e,t)}static cursor(e,t=0,n,r){return L.create(e,e,(0==t?0:t<0?8:16)|(null==n?7:Math.min(6,n))|(null!=r?r:0xffffff)<<6)}static range(e,t,n,r){let i=(null!=n?n:0xffffff)<<6|(null==r?7:Math.min(6,r));return t<e?L.create(t,e,48|i):L.create(e,t,8*(t>e)|i)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;n<e.length;n++){let r=e[n],i=e[n-1];if(r.empty?r.from<=i.to:r.from<i.to){let s=i.from,o=Math.max(r.to,i.to);n<=t&&t--,e.splice(--n,2,r.anchor>r.head?R.range(o,s):R.range(s,o))}}return new R(e,t)}}function j(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError("Selection points outside of document")}let q=0;class z{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=q++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(e={}){return new z(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(!e.combine?U:(e,t)=>e===t),!!e.static,e.enables)}of(e){return new V([],this,0,e)}compute(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new V(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new V(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function U(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class V{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=q++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,i=this.id,s=e[i]>>1,o=2==this.type,l=!1,a=!1,u=[];for(let n of this.dependencies)"doc"==n?l=!0:"selection"==n?a=!0:((null!=(t=e[n.id])?t:1)&1)==0&&u.push(e[n.id]);return{create:e=>(e.values[s]=n(e),1),update(e,t){if(l&&t.docChanged||a&&(t.docChanged||t.selection)||W(e,u)){let t=n(e);if(o?!H(t,e.values[s],r):!r(t,e.values[s]))return e.values[s]=t,1}return 0},reconfigure:(e,t)=>{let l,a=t.config.address[i];if(null!=a){let i=er(t,a);if(this.dependencies.every(n=>n instanceof z?t.facet(n)===e.facet(n):!(n instanceof K)||t.field(n,!1)==e.field(n,!1))||(o?H(l=n(e),i,r):r(l=n(e),i)))return e.values[s]=i,0}else l=n(e);return e.values[s]=l,1}}}}function H(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function W(e,t){let n=!1;for(let r of t)1&en(e,r)&&(n=!0);return n}let G=z.define({static:!0});class K{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(e){let t=new K(q++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(G).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(G),i=n.facet(G),s;return(s=r.find(e=>e.field==this))&&s!=i.find(e=>e.field==this)?(e.values[t]=s.create(e),1):null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,G.of({field:this,create:e})]}get extension(){return this}}let J={lowest:4,low:3,default:2,high:1,highest:0};function Q(e){return t=>new Z(t,e)}let Y={highest:Q(J.highest),high:Q(J.high),default:Q(J.default),low:Q(J.low),lowest:Q(J.lowest)};class Z{constructor(e,t){this.inner=e,this.prec=t}}class X{of(e){return new ee(this,e)}reconfigure(e){return X.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class ee{constructor(e,t){this.compartment=e,this.inner=t}}class et{constructor(e,t,n,r,i,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,n){var r,i,s;let o,l,a=[],u=Object.create(null),h=new Map;for(let n of(r=e,i=t,s=h,o=[[],[],[],[],[]],l=new Map,!function e(t,n){let r=l.get(t);if(null!=r){if(r<=n)return;let e=o[r].indexOf(t);e>-1&&o[r].splice(e,1),t instanceof ee&&s.delete(t.compartment)}if(l.set(t,n),Array.isArray(t))for(let r of t)e(r,n);else if(t instanceof ee){if(s.has(t.compartment))throw RangeError("Duplicate use of compartment in extensions");let r=i.get(t.compartment)||t.inner;s.set(t.compartment,r),e(r,n)}else if(t instanceof Z)e(t.inner,t.prec);else if(t instanceof K)o[n].push(t),t.provides&&e(t.provides,n);else if(t instanceof V)o[n].push(t),t.facet.extensions&&e(t.facet.extensions,J.default);else{let r=t.extension;if(!r)throw Error(`Unrecognized extension value in extension set (${t}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(r,n)}}(r,J.default),o.reduce((e,t)=>e.concat(t))))n instanceof K?a.push(n):(u[n.facet.id]||(u[n.facet.id]=[])).push(n);let c=Object.create(null),f=[],d=[];for(let e of a)c[e.id]=d.length<<1,d.push(t=>e.slot(t));let p=null==n?void 0:n.config.facets;for(let e in u){let t=u[e],r=t[0].facet,i=p&&p[e]||[];if(t.every(e=>0==e.type))if(c[r.id]=f.length<<1|1,U(i,t))f.push(n.facet(r));else{let e=r.combine(t.map(e=>e.value));f.push(n&&r.compare(e,n.facet(r))?n.facet(r):e)}else{for(let e of t)0==e.type?(c[e.id]=f.length<<1|1,f.push(e.value)):(c[e.id]=d.length<<1,d.push(t=>e.dynamicSlot(t)));c[r.id]=d.length<<1,d.push(e=>(function(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),s=r.filter(e=>!(1&e)),o=e[t.id]>>1;function l(e){let n=[];for(let t=0;t<r.length;t++){let s=er(e,r[t]);if(2==i[t])for(let e of s)n.push(e);else n.push(s)}return t.combine(n)}return{create(e){for(let t of r)en(e,t);return e.values[o]=l(e),1},update(e,n){if(!W(e,s))return 0;let r=l(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let s=W(e,r),a=i.config.facets[t.id],u=i.facet(t);if(a&&!s&&U(n,a))return e.values[o]=u,0;let h=l(e);return t.compare(h,u)?(e.values[o]=u,0):(e.values[o]=h,1)}}})(e,r,t))}}return new et(e,h,d.map(e=>e(c)),c,f,u)}}function en(e,t){if(1&t)return 2;let n=t>>1,r=e.status[n];if(4==r)throw Error("Cyclic dependency between fields and/or facets");if(2&r)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function er(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}let ei=z.define(),es=z.define({combine:e=>e.some(e=>e),static:!0}),eo=z.define({combine:e=>e.length?e[0]:void 0,static:!0}),el=z.define(),ea=z.define(),eu=z.define(),eh=z.define({combine:e=>!!e.length&&e[0]});class ec{constructor(e,t){this.type=e,this.value=t}static define(){return new ef}}class ef{of(e){return new ec(this,e)}}class ed{constructor(e){this.map=e}of(e){return new ep(this,e)}}class ep{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ep(this.type,t)}is(e){return this.type==e}static define(e={}){return new ed(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}}ep.reconfigure=ep.define(),ep.appendConfig=ep.define();class em{constructor(e,t,n,r,i,s){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,n&&j(n,t.newLength),i.some(e=>e.type==em.time)||(this.annotations=i.concat(em.time.of(Date.now())))}static create(e,t,n,r,i,s){return new em(e,t,n,r,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(em.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function eg(e,t,n){var r;let i,s,o;return n?(i=t.changes,s=T.empty(t.changes.length),o=e.changes.compose(t.changes)):(i=t.changes.map(e.changes),s=e.changes.mapDesc(t.changes,!0),o=e.changes.compose(i)),{changes:o,selection:t.selection?t.selection.map(s):null==(r=e.selection)?void 0:r.map(i),effects:ep.mapEffects(e.effects,i).concat(ep.mapEffects(t.effects,s)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function ey(e,t,n){let r=t.selection,i=ev(t.annotations);return t.userEvent&&(i=i.concat(em.userEvent.of(t.userEvent))),{changes:t.changes instanceof T?t.changes:T.of(t.changes||[],n,e.facet(eo)),selection:r&&(r instanceof R?r:R.single(r.anchor,r.head)),effects:ev(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}em.time=ec.define(),em.userEvent=ec.define(),em.addToHistory=ec.define(),em.remote=ec.define();let eb=[];function ev(e){return null==e?eb:Array.isArray(e)?e:[e]}var ew=((_=ew||(ew={}))[_.Word=0]="Word",_[_.Space=1]="Space",_[_.Other=2]="Other",_);let ek=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{r=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class eD{constructor(e,t,n,r,i,s){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)en(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(null==n){if(t)throw RangeError("Field is not present in this state");return}return en(this,n),er(this,n)}update(...e){return function e(t,n,r){let i=ey(t,n.length?n[0]:{},t.doc.length);n.length&&!1===n[0].filter&&(r=!1);for(let e=1;e<n.length;e++){!1===n[e].filter&&(r=!1);let s=!!n[e].sequential;i=eg(i,ey(t,n[e],s?i.changes.newLength:t.doc.length),s)}let s=em.create(t,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(e){let t=e.startState,n=t.facet(eu),r=e;for(let i=n.length-1;i>=0;i--){let s=n[i](e);s&&Object.keys(s).length&&(r=eg(r,ey(t,s,e.changes.newLength),!0))}return r==e?e:em.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}(r?function(t){let n=t.startState,r=!0;for(let e of n.facet(el)){let n=e(t);if(!1===n){r=!1;break}Array.isArray(n)&&(r=!0===r?n:function(e,t){let n=[];for(let r=0,i=0;;){let s,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))s=e[r++],o=e[r++];else{if(!(i<t.length))return n;s=t[i++],o=t[i++]}!n.length||n[n.length-1]<s?n.push(s,o):n[n.length-1]<o&&(n[n.length-1]=o)}}(r,n))}if(!0!==r){let e,i;if(!1===r)i=t.changes.invertedDesc,e=T.empty(n.doc.length);else{let n=t.changes.filter(r);e=n.changes,i=n.filtered.mapDesc(n.changes).invertedDesc}t=em.create(n,e,t.selection&&t.selection.map(i),ep.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let i=n.facet(ea);for(let r=i.length-1;r>=0;r--){let s=i[r](t);t=s instanceof em?s:Array.isArray(s)&&1==s.length&&s[0]instanceof em?s[0]:e(n,ev(s),!1)}return t}(s):s)}(this,e,!0)}applyTransaction(e){let t,n=this.config,{base:r,compartments:i}=n;for(let t of e.effects)t.is(X.reconfigure)?(n&&(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),n=null),i.set(t.value.compartment,t.value.extension)):t.is(ep.reconfigure)?(n=null,r=t.value):t.is(ep.appendConfig)&&(n=null,r=ev(r).concat(t.value));t=n?e.startState.values.slice():new eD(n=et.resolve(r,i,this),this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values;let s=e.startState.facet(es)?e.newSelection:e.newSelection.asSingle();new eD(n,e.newDoc,s,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:R.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],s=ev(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),l=this.changes(o.changes),a=l.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(a);let u=r.mapDesc(l,!0);i.push(o.range.map(u)),r=r.compose(a),s=ep.mapEffects(s,a).concat(ep.mapEffects(ev(o.effects),u))}return{changes:r,selection:R.create(i,t.mainIndex),effects:s}}changes(e=[]){return e instanceof T?e:T.of(e,this.doc.length,this.facet(eD.lineSeparator))}toText(e){return d.of(e.split(this.facet(eD.lineSeparator)||E))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(en(this,t),er(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof K&&null!=this.config.address[r.id]&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||"string"!=typeof e.doc)throw RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let t in n)if(Object.prototype.hasOwnProperty.call(e,t)){let i=n[t],s=e[t];r.push(i.init(e=>i.spec.fromJSON(s,e)))}}return eD.create({doc:e.doc,selection:R.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=et.resolve(e.extensions||[],new Map),n=e.doc instanceof d?e.doc:d.of((e.doc||"").split(t.staticFacet(eD.lineSeparator)||E)),r=e.selection?e.selection instanceof R?e.selection:R.single(e.selection.anchor,e.selection.head):R.single(0);return j(r,n.length),t.staticFacet(es)||(r=r.asSingle()),new eD(t,n,r,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(eD.tabSize)}get lineBreak(){return this.facet(eD.lineSeparator)||"\n"}get readOnly(){return this.facet(eh)}phrase(e,...t){for(let t of this.facet(eD.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let r=+(n||1);return!r||r>t.length?e:t[r-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let i of this.facet(ei))for(let s of i(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){var t;return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return ew.Space;if(function(e){if(r)return r.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>"\x80"&&(n.toUpperCase()!=n.toLowerCase()||ek.test(n)))return!0}return!1}(e))return ew.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return ew.Word;return ew.Other}}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),i=this.charCategorizer(e),s=e-n,o=e-n;for(;s>0;){let e=D(t,s,!1);if(i(t.slice(e,s))!=ew.Word)break;s=e}for(;o<r;){let e=D(t,o);if(i(t.slice(o,e))!=ew.Word)break;o=e}return s==o?null:R.range(s+n,o+n)}}function ex(e,t,n={}){let r={};for(let t of e)for(let e of Object.keys(t)){let i=t[e],s=r[e];if(void 0===s)r[e]=i;else if(s===i||void 0===i);else if(Object.hasOwnProperty.call(n,e))r[e]=n[e](s,i);else throw Error("Config merge conflict for field "+e)}for(let e in t)void 0===r[e]&&(r[e]=t[e]);return r}eD.allowMultipleSelections=es,eD.tabSize=z.define({combine:e=>e.length?e[0]:4}),eD.lineSeparator=eo,eD.readOnly=eh,eD.phrases=z.define({compare(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length==r.length&&n.every(n=>e[n]==t[n])}}),eD.languageData=ei,eD.changeFilter=el,eD.transactionFilter=ea,eD.transactionExtender=eu,X.reconfigure=ep.define();class eC{eq(e){return this==e}range(e,t=e){return eA.create(e,t,this)}}eC.prototype.startSide=eC.prototype.endSide=0,eC.prototype.point=!1,eC.prototype.mapMode=O.TrackDel;class eA{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new eA(e,t,n)}}function eE(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class eS{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let i=n?this.to:this.from;for(let s=r,o=i.length;;){if(s==o)return s;let r=s+o>>1,l=i[r]-e||(n?this.value[r].endSide:this.value[r].startSide)-t;if(r==s)return l>=0?s:o;l>=0?o=r:s=r+1}}between(e,t,n,r){for(let i=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,i);i<s;i++)if(!1===r(this.from[i]+e,this.to[i]+e,this.value[i]))return!1}map(e,t){let n=[],r=[],i=[],s=-1,o=-1;for(let l=0;l<this.value.length;l++){let a=this.value[l],u=this.from[l]+e,h=this.to[l]+e,c,f;if(u==h){let e=t.mapPos(u,a.startSide,a.mapMode);if(null==e||(c=f=e,a.startSide!=a.endSide&&(f=t.mapPos(u,a.endSide))<c))continue}else if((c=t.mapPos(u,a.startSide))>(f=t.mapPos(h,a.endSide))||c==f&&a.startSide>0&&a.endSide<=0)continue;0>(f-c||a.endSide-a.startSide)||(s<0&&(s=c),a.point&&(o=Math.max(o,f-c)),n.push(a),r.push(c-s),i.push(f-s))}return{mapped:n.length?new eS(r,i,n,o):null,pos:s}}}class e_{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new e_(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:i=this.length}=e,s=e.filter;if(0==t.length&&!s)return this;if(n&&(t=t.slice().sort(eE)),this.isEmpty)return t.length?e_.of(t):this;let o=new eT(this,null,-1).goto(0),l=0,a=[],u=new eO;for(;o.value||l<t.length;)if(l<t.length&&(o.from-t[l].from||o.startSide-t[l].value.startSide)>=0){let e=t[l++];u.addInner(e.from,e.to,e.value)||a.push(e)}else 1==o.rangeIndex&&o.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(o.chunkIndex)<t[l].from)&&(!s||r>this.chunkEnd(o.chunkIndex)||i<this.chunkPos[o.chunkIndex])&&u.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!s||r>o.to||i<o.from||s(o.from,o.to,o.value))&&!u.addInner(o.from,o.to,o.value)&&a.push(eA.create(o.from,o.to,o.value)),o.next());return u.finishInner(this.nextLayer.isEmpty&&!a.length?e_.empty:this.nextLayer.update({add:a,filter:s,filterFrom:r,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i],l=e.touchesRange(s,s+o.length);if(!1===l)r=Math.max(r,o.maxPoint),t.push(o),n.push(e.mapPos(s));else if(!0===l){let{mapped:i,pos:l}=o.map(s,e);i&&(r=Math.max(r,i.maxPoint),t.push(i),n.push(l))}}let i=this.nextLayer.map(e);return 0==t.length?i:new e_(n,t,i||e_.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let i=this.chunkPos[r],s=this.chunk[r];if(t>=i&&e<=i+s.length&&!1===s.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return eP.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return eP.from(e).goto(t)}static compare(e,t,n,r,i=-1){let s=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),l=eF(s,o,n),a=new eN(s,l,i),u=new eN(o,l,i);n.iterGaps((e,t,n)=>eB(a,e,u,t,n,r)),n.empty&&0==n.length&&eB(a,0,u,0,0,r)}static eq(e,t,n=0,r){null==r&&(r=0x3b9ac9ff);let i=e.filter(e=>!e.isEmpty&&0>t.indexOf(e)),s=t.filter(t=>!t.isEmpty&&0>e.indexOf(t));if(i.length!=s.length)return!1;if(!i.length)return!0;let o=eF(i,s),l=new eN(i,o,0).goto(n),a=new eN(s,o,0).goto(n);for(;;){if(l.to!=a.to||!eM(l.active,a.active)||l.point&&(!a.point||!l.point.eq(a.point)))return!1;if(l.to>r)return!0;l.next(),a.next()}}static spans(e,t,n,r,i=-1){let s=new eN(e,null,i).goto(t),o=t,l=s.openStart;for(;;){let e=Math.min(s.to,n);if(s.point){let n=s.activeForPoint(s.to),i=s.pointFrom<t?n.length+1:s.point.startSide<0?n.length:Math.min(n.length,l);r.point(o,e,s.point,n,i,s.pointRank),l=Math.min(s.openEnd(e),n.length)}else e>o&&(r.span(o,e,s.active,l),l=s.openEnd(e));if(s.to>n)return l+(s.point&&s.to>n?1:0);o=s.to,s.next()}}static of(e,t=!1){let n=new eO;for(let r of e instanceof eA?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let r=e[n];if(eE(t,r)>0)return e.slice().sort(eE);t=r}return e}(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return e_.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=e_.empty;r=r.nextLayer)t=new e_(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}e_.empty=new e_([],[],null,-1),e_.empty.nextLayer=e_.empty;class eO{finishChunk(e){this.chunks.push(new eS(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new eO)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&0>(e-this.lastFrom||n.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(r<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if(0>(e-this.lastTo||t.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(e_.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=e_.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function eF(e,t,n){let r=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&r.set(t.chunk[e],t.chunkPos[e]);let i=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let s=r.get(e.chunk[t]);null==s||(n?n.mapPos(s):s)!=e.chunkPos[t]||(null==n?void 0:n.touchesRange(s,s+e.chunk[t].length))||i.add(e.chunk[t])}return i}class eT{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){0>(this.to-e||this.endSide-t)&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class eP{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let i=0;i<e.length;i++)for(let s=e[i];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&r.push(new eT(s,t,n,i));return 1==r.length?r[0]:new eP(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)eI(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)eI(this.heap,e);0>(this.to-e||this.value.endSide-t)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),eI(this.heap,0)}}}function eI(e,t){for(let n=e[t];;){let r=(t<<1)+1;if(r>=e.length)break;let i=e[r];if(r+1<e.length&&i.compare(e[r+1])>=0&&(i=e[r+1],r++),0>n.compare(i))break;e[r]=n,e[t]=i,t=r}}class eN{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=eP.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t);)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){e$(this.active,e),e$(this.activeTo,e),e$(this.activeRank,e),this.minActive=eR(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:i}=this.cursor;for(;t<this.activeRank.length&&(i-this.activeRank[t]||r-this.activeTo[t])>0;)t++;eL(this.active,t,n),eL(this.activeTo,t,r),eL(this.activeRank,t,i),e&&eL(e,t,this.cursor.from),this.minActive=eR(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&0>(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&e$(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let e=this.cursor.value;if(e.point)if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(n),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let t=n.length-1;t>=0&&n[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function eB(e,t,n,r,i,s){e.goto(t),n.goto(r);let o=r+i,l=r,a=r-t;for(;;){let t=e.to+a-n.to,r=t||e.endSide-n.endSide,i=r<0?e.to+a:n.to,u=Math.min(i,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&eM(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(l,u,e.point,n.point):u>l&&!eM(e.active,n.active)&&s.compareRange(l,u,e.active,n.active),i>o)break;(t||e.openEnd!=n.openEnd)&&s.boundChange&&s.boundChange(i),l=i,r<=0&&e.next(),r>=0&&n.next()}}function eM(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!e[n].eq(t[n]))return!1;return!0}function e$(e,t){for(let n=t,r=e.length-1;n<r;n++)e[n]=e[n+1];e.pop()}function eL(e,t,n){for(let n=e.length-1;n>=t;n--)e[n+1]=e[n];e[t]=n}function eR(e,t){let n=-1,r=1e9;for(let i=0;i<t.length;i++)0>(t[i]-r||e[i].endSide-e[n].endSide)&&(n=i,r=t[i]);return n}function ej(e,t,n=e.length){let r=0;for(let i=0;i<n&&i<e.length;)9==e.charCodeAt(i)?(r+=t-r%t,i++):(r++,i=D(e,i));return r}function eq(e,t,n,r){for(let r=0,i=0;;){if(i>=t)return r;if(r==e.length)break;i+=9==e.charCodeAt(r)?n-i%n:1,r=D(e,r)}return!0===r?-1:e.length}},76621:function(e,t,n){"use strict";let r;n.d(t,{l9:()=>eh,SJ:()=>ru,Uw:()=>nV,lg:()=>e3,tk:()=>nA,v5:()=>rp,$f:()=>nI,Sd:()=>ri,gB:()=>rt,bF:()=>re,Eu:()=>rO,HQ:()=>rI,OO:()=>eX,hJ:()=>n8,p:()=>ef,mH:()=>ra,Nm:()=>eC});for(var i,s,o,l=n(35740),a=n(81965),u={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:"'"},h={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},c="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),f="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),d=0;d<10;d++)u[48+d]=u[96+d]=String(d);for(var d=1;d<=24;d++)u[d+111]="F"+d;for(var d=65;d<=90;d++)u[d]=String.fromCharCode(d+32),h[d]=String.fromCharCode(d);for(var p in u)h.hasOwnProperty(p)||(h[p]=u[p]);function m(e){let t;return(11==e.nodeType?e.getSelection?e:e.ownerDocument:e).getSelection()}function g(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function y(e,t){if(!t.anchorNode)return!1;try{return g(e,t.anchorNode)}catch(e){return!1}}function b(e){return 3==e.nodeType?O(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function v(e,t,n,r){return!!n&&(D(e,t,n,r,-1)||D(e,t,n,r,1))}function w(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function k(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function D(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:x(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=w(e)+(i<0?0:1),e=n}else{if(1!=e.nodeType||1==(e=e.childNodes[t+(i<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=i<0?x(e):0}}}function x(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function C(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function A(e,t){let n=t.width/e.offsetWidth,r=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||1>Math.abs(t.width-e.offsetWidth))&&(n=1),(r>.995&&r<1.005||!isFinite(r)||1>Math.abs(t.height-e.offsetHeight))&&(r=1),{scaleX:n,scaleY:r}}class E{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?x(t):0),n,Math.min(e.focusOffset,n?x(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}}let S=null;function _(e){if(e.setActive)return e.setActive();if(S)return e.focus(S);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==S?{get preventScroll(){return S={preventScroll:!0},!0}}:void 0),!S){S=!1;for(let e=0;e<t.length;){let n=t[e++],r=t[e++],i=t[e++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=i&&(n.scrollLeft=i)}}}function O(e,t,n=t){let i=r||(r=document.createRange());return i.setEnd(e,n),i.setStart(e,t),i}function F(e,t,n,r){let i={key:t,code:t,keyCode:n,which:n,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,e.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,e.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function T(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function P(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function I(e,t){for(let n=e,r=t;;)if(3==n.nodeType&&r>0)return{node:n,offset:r};else if(1==n.nodeType&&r>0){if("false"==n.contentEditable)return null;r=x(n=n.childNodes[r-1])}else{if(!n.parentNode||k(n))return null;r=w(n),n=n.parentNode}}function N(e,t){for(let n=e,r=t;;)if(3==n.nodeType&&r<n.nodeValue.length)return{node:n,offset:r};else if(1==n.nodeType&&r<n.childNodes.length){if("false"==n.contentEditable)return null;n=n.childNodes[r],r=0}else{if(!n.parentNode||k(n))return null;r=w(n)+1,n=n.parentNode}}class B{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new B(e.parentNode,w(e),t)}static after(e,t){return new B(e.parentNode,w(e)+1,t)}}let M=[];class ${constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let n=this.dom,r=null,i;for(let s of this.children){if(7&s.flags){if(!s.dom&&(i=r?r.nextSibling:n.firstChild)){let e=$.get(i);(!e||!e.parent&&e.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(e,t),s.flags&=-8}if(i=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=s.dom&&(t.written=!0),s.dom.parentNode==n)for(;i&&i!=s.dom;)i=L(i);else n.insertBefore(s.dom,i);r=s.dom}for((i=r?r.nextSibling:n.firstChild)&&t&&t.node==n&&(t.written=!0);i;)i=L(i)}else if(1&this.flags)for(let n of this.children)7&n.flags&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=0==x(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==r&&t.firstChild!=t.lastChild&&(r=e==t.firstChild?-1:1),e=t}n=r<0?e:e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!$.get(n);)n=n.nextSibling;if(!n)return this.length;for(let e=0,t=0;;e++){let r=this.children[e];if(r.dom==n)return t;t+=r.length+r.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,i=-1,s=-1,o=-1;for(let l=0,a=n,u=n;l<this.children.length;l++){let n=this.children[l],h=a+n.length;if(a<e&&h>t)return n.domBoundsAround(e,t,a);if(h>=e&&-1==r&&(r=l,i=a),a>t&&n.dom.parentNode==this.dom){s=l,o=u;break}u=h,a=h+n.breakAfter}return{from:i,to:o<0?n+this.length:o,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=M){this.markDirty();for(let r=e;r<t;r++){let e=this.children[r];e.parent==this&&0>n.indexOf(e)&&e.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let e=0;e<n.length;e++)n[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new R(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,i,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}}function L(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}$.prototype.breakAfter=0;class R{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function j(e,t,n,r,i,s,o,l,a){let{children:u}=e,h=u.length?u[t]:null,c=s.length?s[s.length-1]:null,f=c?c.breakAfter:o;if(!(t==r&&h&&!o&&!f&&s.length<2&&h.merge(n,i,s.length?c:null,0==n,l,a))){if(r<u.length){let e=u[r];e&&(i<e.length||e.breakAfter&&(null==c?void 0:c.breakAfter))?(t==r&&(e=e.split(i),i=0),!f&&c&&e.merge(0,i,c,!0,0,a)?s[s.length-1]=e:((i||e.children.length&&!e.children[0].length)&&e.merge(0,i,null,!1,0,a),s.push(e))):(null==e?void 0:e.breakAfter)&&(c?c.breakAfter=1:o=1),r++}for(h&&(h.breakAfter=o,n>0&&(!o&&s.length&&h.merge(n,h.length,s[0],!1,l,0)?h.breakAfter=s.shift().breakAfter:(n<h.length||h.children.length&&0==h.children[h.children.length-1].length)&&h.merge(n,h.length,null,!1,l,0),t++));t<r&&s.length;)if(u[r-1].become(s[s.length-1]))r--,s.pop(),a=s.length?0:l;else if(u[t].become(s[0]))t++,s.shift(),l=s.length?0:a;else break;!s.length&&t&&r<u.length&&!u[t-1].breakAfter&&u[r].merge(0,0,u[t-1],!1,l,a)&&t--,(t<r||s.length)&&e.replaceChildren(t,r,s)}}function q(e,t,n,r,i,s){let o=e.childCursor(),{i:l,off:a}=o.findPos(n,1),{i:u,off:h}=o.findPos(t,-1),c=t-n;for(let e of r)c+=e.length;e.length+=c,j(e,u,h,l,a,r,0,i,s)}let z="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},U="undefined"!=typeof document?document:{documentElement:{style:{}}},V=/Edge\/(\d+)/.exec(z.userAgent),H=/MSIE \d/.test(z.userAgent),W=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(z.userAgent),G=!!(H||W||V),K=!G&&/gecko\/(\d+)/i.test(z.userAgent),J=!G&&/Chrome\/(\d+)/.exec(z.userAgent),Q="webkitFontSmoothing"in U.documentElement.style,Y=!G&&/Apple Computer/.test(z.vendor),Z=Y&&(/Mobile\/\w+/.test(z.userAgent)||z.maxTouchPoints>2);var X={mac:Z||/Mac/.test(z.platform),windows:/Win/.test(z.platform),linux:/Linux|X11/.test(z.platform),ie:G,ie_version:H?U.documentMode||6:W?+W[1]:V?+V[1]:0,gecko:K,gecko_version:K?+(/Firefox\/(\d+)/.exec(z.userAgent)||[0,0])[1]:0,chrome:!!J,chrome_version:J?+J[1]:0,ios:Z,android:/Android\b/.test(z.userAgent),webkit:Q,safari:Y,webkit_version:Q?+(/\bAppleWebKit\/(\d+)/.exec(z.userAgent)||[0,0])[1]:0,tabSize:null!=U.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class ee extends ${constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags)&&(!n||n instanceof ee&&!(this.length-(t-e)+n.length>256)&&!(8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new ee(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new B(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let r=e.nodeValue.length;t>r&&(t=r);let i=t,s=t,o=0;0==t&&n<0||t==r&&n>=0?!(X.chrome||X.gecko)&&(t?(i--,o=1):s<r&&(s++,o=-1)):n<0?i--:s<r&&s++;let l=O(e,i,s).getClientRects();if(!l.length)return null;let a=l[(o?o<0:n>=0)?0:l.length-1];return X.safari&&!o&&0==a.width&&(a=Array.prototype.find.call(l,e=>e.width)||a),o?C(a,o<0):a||null}(this.dom,e,t)}}class et extends ${constructor(e,t=[],n=0){for(let r of(super(),this.mark=e,this.children=t,this.length=n,t))r.setParent(this)}setAttrs(e){if(T(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,i,s){return(!n||!!(n instanceof et&&n.mark.eq(this.mark))&&(!e||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(q(this,e,t,n?n.children.slice():[],i-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,i=0;for(let s of this.children){let o=n+s.length;o>e&&t.push(n<e?s.split(e-n):s),r<0&&n>=e&&(r=i),n=o,i++}let s=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new et(this.mark,t,s)}domAtPos(e){return ei(this,e)}coordsAt(e,t){return es(this,e,t)}}class en extends ${static create(e,t,n){return new en(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=en.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,i,s){return(!n||n instanceof en&&!!this.widget.compare(n.widget)&&(!(e>0)||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof en&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return l.xv.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):l.xv.empty}domAtPos(e){return(this.length?0==e:this.side>0)?B.before(this.dom):B.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),i=null;if(!r.length)return null;let s=this.side?this.side<0:e>0;for(let t=s?r.length-1:0;i=r[t],e>0?0!=t:t!=r.length-1&&!(i.top<i.bottom);t+=s?-1:1);return C(i,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class er extends ${constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof er&&e.side==this.side}split(){return new er(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?B.before(this.dom):B.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return l.xv.empty}get isHidden(){return!0}}function ei(e,t){let n=e.dom,{children:r}=e,i=0;for(let e=0;i<r.length;i++){let s=r[i],o=e+s.length;if(!(o==e&&0>=s.getSide())){if(t>e&&t<o&&s.dom.parentNode==n)return s.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=i;e>0;e--){let t=r[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e<r.length;e++){let t=r[e];if(t.dom.parentNode==n)return t.domAtPos(0)}return new B(n,0)}function es(e,t,n){let r=null,i=-1,s=null,o=-1;!function e(t,l){for(let a=0,u=0;a<t.children.length&&u<=l;a++){let h=t.children[a],c=u+h.length;c>=l&&(h.children.length?e(h,l-u):(!s||s.isHidden&&(n>0||function(e,t){let n=e.coordsAt(0,1),r=t.coordsAt(0,1);return n&&r&&r.top<n.bottom}(s,h)))&&(c>l||u==c&&h.getSide()>0)?(s=h,o=l-u):(u<l||u==c&&0>h.getSide()&&!h.isHidden)&&(r=h,i=l-u)),u=c}}(e,t);let l=(n<0?r:s)||r||s;return l?l.coordsAt(Math.max(0,l==r?i:o),n):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=b(t);return n[n.length-1]||null}(e)}function eo(e,t){for(let n in e)"class"==n&&t.class?t.class+=" "+e.class:"style"==n&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}ee.prototype.children=en.prototype.children=er.prototype.children=M;let el=Object.create(null);function ea(e,t,n){if(e==t)return!0;e||(e=el),t||(t=el);let r=Object.keys(e),i=Object.keys(t);if(r.length-(n&&r.indexOf(n)>-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let s of r)if(s!=n&&(-1==i.indexOf(s)||e[s]!==t[s]))return!1;return!0}function eu(e,t,n){let r=!1;if(t)for(let i in t)n&&i in n||(r=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(r=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return r}class eh{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ec=((i=ec||(ec={}))[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i);class ef extends l.uU{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new ed(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new em(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:i,end:s}=eg(e,t);n=(i?t?-3e8:-1:5e8)-1,r=(s?t?2e8:1:-6e8)+1}return new em(e,n,r,t,e.widget||null,!0)}static line(e){return new ep(e)}static set(e,t=!1){return l.Xs.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}ef.none=l.Xs.empty;class ed extends ef{constructor(e){let{start:t,end:n}=eg(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof ed&&this.tagName==e.tagName&&(this.class||(null==(t=this.attrs)?void 0:t.class))==(e.class||(null==(n=e.attrs)?void 0:n.class))&&ea(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw RangeError("Mark decorations may not be empty");return super.range(e,t)}}ed.prototype.point=!1;class ep extends ef{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ep&&this.spec.class==e.spec.class&&ea(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}ep.prototype.mapMode=l.gc.TrackBefore,ep.prototype.point=!0;class em extends ef{constructor(e,t,n,r,i,s){super(t,n,i,e),this.block=r,this.isReplace=s,this.mapMode=r?t<=0?l.gc.TrackBefore:l.gc.TrackAfter:l.gc.TrackDel}get type(){return this.startSide!=this.endSide?ec.WidgetRange:this.startSide<=0?ec.WidgetBefore:ec.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){var t,n;return e instanceof em&&(t=this.widget,t==(n=e.widget)||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function eg(e,t=!1){let{inclusiveStart:n,inclusiveEnd:r}=e;return null==n&&(n=e.inclusive),null==r&&(r=e.inclusive),{start:null!=n?n:t,end:null!=r?r:t}}function ey(e,t,n,r=0){let i=n.length-1;i>=0&&n[i]+r>=e?n[i]=Math.max(n[i],t):n.push(e,t)}em.prototype.point=!0;class eb extends ${constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,i,s){if(n){if(!(n instanceof eb))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),q(this,e,t,n?n.children.slice():[],i,s),!0}split(e){let t=new eb;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let e=n;e<this.children.length;e++)t.append(this.children[e],0);for(;n>0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ea(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){!function e(t,n,r){let i,{children:s}=t;r>0&&n instanceof et&&s.length&&(i=s[s.length-1])instanceof et&&i.mark.eq(n.mark)?e(i,n.children[0],r-1):(s.push(n),n.setParent(t)),t.length+=n.length}(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=eo(t,this.attrs||{})),n&&(this.attrs=eo({class:n},this.attrs||{}))}domAtPos(e){return ei(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(T(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(eu(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&$.get(r)instanceof et;)r=r.lastChild;if(!r||!this.length||"BR"!=r.nodeName&&(null==(n=$.get(r))?void 0:n.isEditable)==!1&&(!X.ios||!this.children.some(e=>e instanceof ee))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof ee)||/[^ -~]/.test(n.text))return null;let r=b(n.dom);if(1!=r.length)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=es(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(2>Math.abs(t-e.lineHeight)&&e.textHeight<t){let r=(t-e.textHeight)/2;return{top:n.top+r,bottom:n.bottom-r,left:n.left,right:n.left}}}return n}become(e){return e instanceof eb&&0==this.children.length&&0==e.children.length&&ea(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let i=e.children[n],s=r+i.length;if(s>=t){if(i instanceof eb)return i;if(s>t)break}r=s+i.breakAfter}return null}}class ev extends ${constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,i,s){return(!n||n instanceof ev&&!!this.widget.compare(n.widget)&&(!(e>0)||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?B.before(this.dom):B.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new ev(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return M}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):l.xv.empty}domBoundsAround(){return null}become(e){return e instanceof ev&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof ew?null:C(this.dom.getBoundingClientRect(),this.length?0==e:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t!=n&&(e<0?t<0:n>0)}}class ew extends eh{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class ek{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof ev&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new eb),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(eD(new er(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof ev||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)throw Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(eD(new ee(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,i,s){if(this.disallowBlockEffectsFor[s]&&n instanceof em){if(n.block)throw RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(n instanceof em)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ev(n.widget||ex.block,o,n));else{let s=en.create(n.widget||ex.inline,o,o?0:n.startSide),l=this.atCursorPos&&!s.isEditable&&i<=r.length&&(e<t||n.startSide>0),a=!s.isEditable&&(e<t||i>r.length||n.startSide<=0),u=this.getLine();2!=this.pendingBuffer||l||s.isEditable||(this.pendingBuffer=0),this.flushBuffer(r),l&&(u.append(eD(new er(1),r),i),i=r.length+Math.max(0,i-r.length)),u.append(eD(s,r),i),this.atCursorPos=a,this.pendingBuffer=a?e<t||i>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,r,i){let s=new ek(e,t,n,i);return s.openEnd=l.Xs.spans(r,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function eD(e,t){for(let n of t)e=new et(n,[e],e.length);return e}class ex extends eh{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}ex.inline=new ex("span"),ex.block=new ex("div");var eC=((s=eC||(eC={}))[s.LTR=0]="LTR",s[s.RTL=1]="RTL",s);let eA=eC.LTR,eE=eC.RTL;function eS(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<e[n]);return t}let e_=eS("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),eO=eS("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),eF=Object.create(null),eT=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),n=e.charCodeAt(1);eF[t]=n,eF[n]=-t}function eP(e){return e<=247?e_[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?eO[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8204?256:64336<=e&&e<=65023?4:1}let eI=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class eN{get dir(){return this.level%2?eE:eA}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let i=-1;for(let s=0;s<e.length;s++){let o=e[s];if(o.from<=t&&o.to>=t){if(o.level==n)return s;(i<0||(0!=r?r<0?o.from<t:o.to>t:e[i].level>o.level))&&(i=s)}}if(i<0)throw RangeError("Index out of range");return i}}let eB=[];function eM(e){return[new eN(0,e,0)]}let e$="",eL=l.r$.define(),eR=l.r$.define(),ej=l.r$.define(),eq=l.r$.define(),ez=l.r$.define(),eU=l.r$.define(),eV=l.r$.define(),eH=l.r$.define(),eW=l.r$.define(),eG=l.r$.define({combine:e=>e.some(e=>e)}),eK=l.r$.define({combine:e=>e.some(e=>e)}),eJ=l.r$.define();class eQ{constructor(e,t="nearest",n="nearest",r=5,i=5,s=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=i,this.isSnapshot=s}map(e){return e.empty?this:new eQ(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new eQ(l.jT.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}let eY=l.Py.define({map:(e,t)=>e.map(t)}),eZ=l.Py.define();function eX(e,t,n){let r=e.facet(eq);r.length?r[0](t):window.onerror?window.onerror(String(t),n,void 0,void 0,t):n?console.error(n+":",t):console.error(t)}let e0=l.r$.define({combine:e=>!e.length||e[0]}),e1=0,e2=l.r$.define();class e3{constructor(e,t,n,r,i){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.extension=i(this)}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:i,decorations:s}=t||{};return new e3(e1++,e,n,r,e=>{let t=[e2.of(e)];return s&&t.push(e4.of(t=>{let n=t.plugin(e);return n?s(n):ef.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return e3.define(t=>new e(t),t)}}class e5{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(eX(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){eX(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null==(t=this.value)?void 0:t.destroy)try{this.value.destroy()}catch(t){eX(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}let e8=l.r$.define(),e6=l.r$.define(),e4=l.r$.define(),e9=l.r$.define(),e7=l.r$.define(),te=l.r$.define();function tt(e,t){let n=e.state.facet(te);if(!n.length)return n;let r=n.map(t=>t instanceof Function?t(e):t),i=[];return l.Xs.spans(r,t.from,t.to,{point(){},span(e,n,r,s){let o=e-t.from,l=n-t.from,a=i;for(let e=r.length-1;e>=0;e--,s--){let n=r[e].spec.bidiIsolate,i;if(null==n&&(n=function(e,t,n){for(let r=t;r<n;r++){let t=eP(e.charCodeAt(r));if(1==t)break;if(2==t||4==t)return eE}return eA}(t.text,o,l)),s>0&&a.length&&(i=a[a.length-1]).to==o&&i.direction==n)i.to=l,a=i.inner;else{let e={from:o,to:l,direction:n,inner:[]};a.push(e),a=e.inner}}}}),i}let tn=l.r$.define();function tr(e){let t=0,n=0,r=0,i=0;for(let s of e.state.facet(tn)){let o=s(e);o&&(null!=o.left&&(t=Math.max(t,o.left)),null!=o.right&&(n=Math.max(n,o.right)),null!=o.top&&(r=Math.max(r,o.top)),null!=o.bottom&&(i=Math.max(i,o.bottom)))}return{left:t,right:n,top:r,bottom:i}}let ti=l.r$.define();class ts{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new ts(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(0==t.length)return e;let n=[];for(let r=0,i=0,s=0,o=0;;r++){let l=r==e.length?null:e[r],a=s-o,u=l?l.fromB:1e9;for(;i<t.length&&t[i]<u;){let e=t[i],r=t[i+1],s=Math.max(o,e),l=Math.min(u,r);if(s<=l&&new ts(s+a,l+a,s,l).addToSet(n),r>u)break;i+=2}if(!l)return n;new ts(l.fromA,l.toA,l.fromB,l.toB).addToSet(n),s=l.toA,o=l.toB}}}class to{constructor(e,t,n){for(let r of(this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=l.as.empty(this.startState.doc.length),n))this.changes=this.changes.compose(r.changes);let r=[];this.changes.iterChangedRanges((e,t,n,i)=>r.push(new ts(e,t,n,i))),this.changedRanges=r}static create(e,t,n){return new to(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class tl extends ${get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=ef.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new eb],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ts(0,0,0,e.state.doc.length)],0,null)}update(e){var t,n,r,i,s,o;let a,u,h=e.changedRanges;this.minWidth>0&&h.length&&(h.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let c=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(t=this.domChanged)?void 0:t.newSel)?c=this.domChanged.newSel.head:(n=e.changes,r=this.hasComposition,a=!1,r&&n.iterChangedRanges((e,t)=>{e<r.to&&t>r.from&&(a=!0)}),a||e.selectionSet||(c=e.state.selection.main.head)));let f=c>-1?function(e,t,n){let r=ta(e,n);if(!r)return null;let{node:i,from:s,to:o}=r,l=i.nodeValue;if(/[\n\r]/.test(l)||e.state.doc.sliceString(r.from,r.to)!=l)return null;let a=t.invertedDesc,u=new ts(a.mapPos(s),a.mapPos(o),s,o),h=[];for(let t=i.parentNode;;t=t.parentNode){let n=$.get(t);if(n instanceof et)h.push({node:t,deco:n.mark});else{if(n instanceof eb||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:u,text:i,marks:h,line:t};if(t==e.contentDOM)return null;h.push({node:t,deco:new ed({inclusive:!0,attributes:function(e){let t=Object.create(null);for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n];t[r.name]=r.value}return t}(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,c):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;h=new ts(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(h.slice())}this.hasComposition=f?{from:f.range.fromB,to:f.range.toB}:null,(X.ie||X.chrome)&&!f&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let d=(i=this.decorations,s=this.updateDeco(),o=e.changes,u=new tu,l.Xs.compare(i,s,o,u),u.changes);return h=ts.extendWithRanges(h,d),(!!(7&this.flags)||0!=h.length)&&(this.updateInner(h,e.startState.doc.length,f),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=X.chrome||X.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof ev&&e.widget instanceof ew&&i.push(e.dom);r.updateGaps(i)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,i=this.childCursor(t);for(let e=r.length-1;;e--){let t=e>=0?r[e]:null;if(!t)break;let{fromA:s,toA:o,fromB:l,toB:a}=t,u,h,c,f;if(n&&n.range.fromB<a&&n.range.toB>l){let e=ek.build(this.view.state.doc,l,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=ek.build(this.view.state.doc,n.range.toB,a,this.decorations,this.dynamicDecorationMap);h=e.breakAtStart,c=e.openStart,f=t.openEnd;let r=this.compositionView(n);t.breakAtStart?r.breakAfter=1:t.content.length&&r.merge(r.length,r.length,t.content[0],!1,t.openStart,0)&&(r.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&r.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),u=e.content.concat(r).concat(t.content)}else({content:u,breakAtStart:h,openStart:c,openEnd:f}=ek.build(this.view.state.doc,l,a,this.decorations,this.dynamicDecorationMap));let{i:d,off:p}=i.findPos(o,1),{i:m,off:g}=i.findPos(s,-1);j(this,m,g,d,p,u,h,c,f)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){for(let t of(this.editContextFormatting=this.editContextFormatting.map(e.changes),e.transactions))for(let e of t.effects)e.is(eZ)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new ee(e.text.nodeValue);for(let{deco:n}of(t.flags|=8,e.marks))t=new et(n,[t],t.length);let n=new eb;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|!!t.children.some(e=>7&e.flags),this.markedForComposition.add(t);let n=$.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let i=e.marks.length-1;i>=-1;i--)n=r.childPos(n.off,1),r=r.children[n.i],t(i>=0?e.marks[i].node:e.text,r)}updateSelection(e=!1,t=!1){var n;(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,i=r==this.dom,s=!i&&!(this.view.state.facet(e0)||this.dom.tabIndex>-1)&&y(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(i||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),u=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(X.gecko&&l.empty&&!this.hasComposition&&1==(n=a).node.nodeType&&n.node.firstChild&&(0==n.offset||"false"==n.node.childNodes[n.offset-1].contentEditable)&&(n.offset==n.node.childNodes.length||"false"==n.node.childNodes[n.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(e,a.node.childNodes[a.offset]||null)),a=u=new B(e,0),o=!0}let h=this.view.observer.selectionRange;!o&&h.focusNode&&(v(a.node,a.offset,h.anchorNode,h.anchorOffset)&&v(u.node,u.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,l))||(this.view.observer.ignore(()=>{X.android&&X.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=m(this.view.root);if(e)if(l.empty){if(X.gecko){var t,n;let e=(t=a.node,n=a.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|2*(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable));if(e&&3!=e){let t=(1==e?I:N)(a.node,a.offset);t&&(a=new B(t.node,t.offset))}}e.collapse(a.node,a.offset),null!=l.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=l.bidiLevel)}else if(e.extend){e.collapse(a.node,a.offset);try{e.extend(u.node,u.offset)}catch(e){}}else{let t=document.createRange();l.anchor>l.head&&([a,u]=[u,a]),t.setEnd(u.node,u.offset),t.setStart(a.node,a.offset),e.removeAllRanges(),e.addRange(t)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(a,u)),this.impreciseAnchor=a.precise?null:new B(h.anchorNode,h.anchorOffset),this.impreciseHead=u.precise?null:new B(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&v(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=m(e.root),{anchorNode:r,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let s=eb.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let l=this.coordsAt(t.head,-1),a=this.coordsAt(t.head,1);if(!l||!a||l.bottom>a.top)return;let u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(r,i)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let e=$.get(t.childNodes[r]);e instanceof eb&&(n=e.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let e=$.get(t.childNodes[r]);e instanceof eb&&(n=e.domAtPos(e.length))}return n?new B(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let e=$.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(n<e.length||e instanceof eb)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let i=this.length,s=this.children.length-1;s>=0;s--){let o=this.children[s],l=i-o.breakAfter,a=l-o.length;if(l<e)break;if(a<=e&&(a<e||o.covers(-1))&&(l>e||o.covers(1))&&(!n||o instanceof eb&&!(n instanceof eb&&t>=0)))n=o,r=a;else if(n&&a==e&&l==e&&o instanceof ev&&2>Math.abs(t))if(o.deco.startSide<0)break;else s&&(n=null);i=a}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof eb))return null;for(;r.children.length;){let{i:e,off:t}=r.childPos(n,1);for(;;e++){if(e==r.children.length)return null;if((r=r.children[e]).length)break}n=t}if(!(r instanceof ee))return null;let i=(0,l.cp)(r.text,n);if(i==n)return null;let s=O(r.dom,n,i).getClientRects();for(let e=0;e<s.length;e++){let t=s[e];if(e==s.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==eC.LTR;for(let e=0,a=0;a<this.children.length;a++){let u=this.children[a],h=e+u.length;if(h>r)break;if(e>=n){let n=u.dom.getBoundingClientRect();if(t.push(n.height),s){let t=u.dom.lastChild,r=t?b(t):[];if(r.length){let t=r[r.length-1],s=l?t.right-n.left:n.right-t.left;s>o&&(o=s,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=h)}}}e=h+u.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?eC.RTL:eC.LTR}measureTextSize(){for(let e of this.children)if(e instanceof eb){let t=e.measureTextSize();if(t)return t}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=b(e.firstChild)[0];t=e.getBoundingClientRect().height,n=i?i.width/27:7,r=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new R(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let i=r==t.viewports.length?null:t.viewports[r],s=i?i.from-1:this.length;if(s>n){let r=(t.lineBlockAt(s).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(ef.replace({widget:new ew(r),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!i)break;n=i.to+1}return ef.set(e)}updateDeco(){let e=1,t=this.view.state.facet(e4).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),n=!1,r=this.view.state.facet(e9).map((e,t)=>{let r="function"==typeof e;return r&&(n=!0),r?e(this.view):e});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(l.Xs.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=t.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let t of this.view.state.facet(eJ))try{if(t(this.view,e.range,e))return!0}catch(e){eX(this.view.state,e,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let i=tr(this.view),s={left:n.left-i.left,top:n.top-i.top,right:n.right+i.right,bottom:n.bottom+i.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;!function(e,t,n,r,i,s,o,l){let a=e.ownerDocument,u=a.defaultView||window;for(let h=e,c=!1;h&&!c;)if(1==h.nodeType){let e,f=h==a.body,d=1,p=1;if(f)e=function(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:d,scaleY:p}=A(h,t)),e={left:t.left,right:t.left+h.clientWidth*d,top:t.top,bottom:t.top+h.clientHeight*p}}let m=0,g=0;if("nearest"==i)t.top<e.top?(g=t.top-(e.top+o),n>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+o)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+o,n<0&&t.top-g<e.top&&(g=t.top-(e.top+o)));else{let r=t.bottom-t.top,s=e.bottom-e.top;g=("center"==i&&r<=s?t.top+r/2-s/2:"start"==i||"center"==i&&n<0?t.top-o:t.bottom-s+o)-e.top}if("nearest"==r?t.left<e.left?(m=t.left-(e.left+s),n>0&&t.right>e.right+m&&(m=t.right-e.right+s)):t.right>e.right&&(m=t.right-e.right+s,n<0&&t.left<e.left+m&&(m=t.left-(e.left+s))):m=("center"==r?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==r==l?t.left-s:t.right-(e.right-e.left)+s)-e.left,m||g)if(f)u.scrollBy(m,g);else{let e=0,n=0;if(g){let e=h.scrollTop;h.scrollTop+=g/p,n=(h.scrollTop-e)*p}if(m){let t=h.scrollLeft;h.scrollLeft+=m/d,e=(h.scrollLeft-t)*d}t={left:t.left-e,top:t.top-n,right:t.right-e,bottom:t.bottom-n},e&&1>Math.abs(e-m)&&(r="nearest"),n&&1>Math.abs(n-g)&&(i="nearest")}if(f)break;(t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else if(11==h.nodeType)h=h.host;else break}(this.view.scrollDOM,s,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==eC.LTR)}}function ta(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let r=I(n.focusNode,n.focusOffset),i=N(n.focusNode,n.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let t=$.get(i.node);if(!t||t instanceof ee&&t.text!=i.node.nodeValue)s=i;else if(e.docView.lastCompositionAfterCursor){let e=$.get(r.node);!e||e instanceof ee&&e.text!=r.node.nodeValue||(s=i)}}if(e.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=t-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}let tu=class{constructor(){this.changes=[]}compareRange(e,t){ey(e,t,this.changes)}comparePoint(e,t){ey(e,t,this.changes)}boundChange(e){ey(e,e,this.changes)}};function th(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function tc(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function tf(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function td(e,t,n){let r=e.nodeValue.length,i=-1,s=1e9,o=0;for(let l=0;l<r;l++){let r=O(e,l,l+1).getClientRects();for(let a=0;a<r.length;a++){let u=r[a];if(u.top==u.bottom)continue;o||(o=t-u.left);let h=(u.top>n?u.top-n:n-u.bottom)-1;if(u.left-1<=t&&u.right+1>=t&&h<s){let n=t>=(u.left+u.right)/2,r=n;if((X.chrome||X.gecko)&&O(e,l).getBoundingClientRect().left==u.right&&(r=!n),h<=0)return{node:e,offset:l+ +!!r};i=l+ +!!r,s=h}}}return{node:e,offset:i>-1?i:o>0?e.nodeValue.length:0}}function tp(e,t,n,r=-1){var i,s;let o=e.contentDOM.getBoundingClientRect(),l=o.top+e.viewState.paddingTop,a,{docHeight:u}=e.viewState,{x:h,y:c}=t,f=c-l;if(f<0)return 0;if(f>u)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;(a=e.elementAtHeight(f)).type!=ec.Text;)for(;!((f=r>0?a.bottom+t:a.top-t)>=0)||!(f<=u);){if(i)return n?null:0;i=!0,r=-r}c=l+f;let d=a.from;if(d<e.viewport.from)return 0==e.viewport.from?0:n?null:tm(e,o,a,h,c);if(d>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:tm(e,o,a,h,c);let p=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:p,g=m.elementFromPoint(h,c);g&&!e.contentDOM.contains(g)&&(g=null),!g&&(h=Math.max(o.left+1,Math.min(o.right-1,h)),(g=m.elementFromPoint(h,c))&&!e.contentDOM.contains(g)&&(g=null));let y,v=-1;if(g&&(null==(i=e.docView.nearest(g))?void 0:i.isEditable)!=!1){if(p.caretPositionFromPoint){let e=p.caretPositionFromPoint(h,c);e&&({offsetNode:y,offset:v}=e)}else if(p.caretRangeFromPoint){let t=p.caretRangeFromPoint(h,c);t&&({startContainer:y,startOffset:v}=t,(!e.contentDOM.contains(y)||X.safari&&function(e,t,n){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return O(e,r-1,r).getBoundingClientRect().left>n}(y,v,h)||X.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return n-(1==e.nodeType?e.getBoundingClientRect():O(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(y,v,h))&&(y=void 0))}y&&(v=Math.min(x(y),v))}if(!y||!e.docView.dom.contains(y)){let t=eb.find(e.docView,d);if(!t)return f>a.top+a.height/2?a.to:a.from;({node:y,offset:v}=function e(t,n,r){let i,s,o,l,a,u,h,c,f=!1;for(let m=t.firstChild;m;m=m.nextSibling){let t=b(m);for(let g=0;g<t.length;g++){var d,p;let y=t[g];u&&th(u,y)&&(y=tc(tf(y,u.bottom),u.top));let b=(d=y).left>n?d.left-n:Math.max(0,n-d.right),v=(p=y).top>r?p.top-r:Math.max(0,r-p.bottom);if(0==b&&0==v)return 3==m.nodeType?td(m,n,r):e(m,n,r);if(!a||c>v||c==v&&h>b){a=m,u=y,h=b,c=v;let e=v?r<y.top?-1:1:b?n<y.left?-1:1:0;f=!e||(e>0?g<t.length-1:g>0)}0==b?r>y.bottom&&(!o||o.bottom<y.bottom)?(i=m,o=y):r<y.top&&(!l||l.top>y.top)&&(s=m,l=y):o&&th(o,y)?o=tf(o,y.bottom):l&&th(l,y)&&(l=tc(l,y.top))}}if(o&&o.bottom>=r?(a=i,u=o):l&&l.top<=r&&(a=s,u=l),!a)return{node:t,offset:0};let m=Math.max(u.left,Math.min(u.right,n));if(3==a.nodeType)return td(a,m,r);if(f&&"false"!=a.contentEditable)return e(a,m,r);let g=Array.prototype.indexOf.call(t.childNodes,a)+ +(n>=(u.left+u.right)/2);return{node:t,offset:g}}(t.dom,h,c))}let w=e.docView.nearest(y);if(!w)return null;if(!w.isWidget||(null==(s=w.dom)?void 0:s.nodeType)!=1)return w.localPosFromDOM(y,v)+w.posAtStart;{let e=w.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?w.posAtStart:w.posAtEnd}}function tm(e,t,n,r,i){let s=Math.round((r-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;s+=Math.floor((i-n.top-(e.defaultLineHeight-t)*.5)/t)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(n.from,n.to);return n.from+(0,l.Gz)(o,s,e.state.tabSize)}function tg(e,t,n){let r=e.lineBlockAt(t);if(Array.isArray(r.type)){let e;for(let i of r.type){if(i.from>t)break;if(!(i.to<t)){if(i.from<t&&i.to>t)return i;(!e||i.type==ec.Text&&(e.type!=i.type||(n<0?i.from<t:i.to>t)))&&(e=i)}}return e||r}return r}function ty(e,t,n,r){let i=e.state.doc.lineAt(t.head),s=e.bidiSpans(i),o=e.textDirectionAt(i.from);for(let a=t,u=null;;){let t=function(e,t,n,r,i){var s;let o=r.head-e.from,a=eN.find(t,o,null!=(s=r.bidiLevel)?s:-1,r.assoc),u=t[a],h=u.side(i,n);if(o==h){let e=a+=i?1:-1;if(e<0||e>=t.length)return null;o=(u=t[a=e]).side(!i,n),h=u.side(i,n)}let c=(0,l.cp)(e.text,o,u.forward(i,n));(c<u.from||c>u.to)&&(c=h),e$=e.text.slice(Math.min(o,c),Math.max(o,c));let f=a==(i?t.length-1:0)?null:t[a+(i?1:-1)];return f&&c==h&&f.level+ +!i<u.level?l.jT.cursor(f.side(!i,n)+e.from,f.forward(i,n)?1:-1,f.level):l.jT.cursor(c+e.from,u.forward(i,n)?-1:1,u.level)}(i,s,o,a,n),h=e$;if(!t){if(i.number==(n?e.state.doc.lines:1))return a;h="\n",i=e.state.doc.line(i.number+(n?1:-1)),s=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(u){if(!u(h))return a}else{if(!r)return t;u=r(h)}a=t}}function tb(e,t,n){for(;;){let r=0;for(let i of e)i.between(t-1,t+1,(e,i,s)=>{if(t>e&&t<i){let s=r||n||(t-e<i-t?-1:1);t=s<0?e:i,r=s}});if(!r)return t}}function tv(e,t,n){let r=tb(e.state.facet(e7).map(t=>t(e)),n.from,t.head>n.from?-1:1);return r==n.from?n:l.jT.cursor(r,r<n.from?1:-1)}class tw{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(l.yy.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+="￿"}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let e=this.text.length;this.readNode(r);let i=r.nextSibling;if(i==t)break;let s=$.get(r),o=$.get(i);(s&&o?s.breakAfter:(s?s.breakAfter:k(r))||k(i)&&("BR"!=r.nodeName||r.cmIgnore)&&this.text.length>e)&&this.lineBreak(),r=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,o;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,n),s=this.lineSeparator.length):(o=r.exec(t))&&(i=o.index,s=o[0].length),this.append(t.slice(n,i<0?t.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);n=i+s}}readNode(e){if(e.cmIgnore)return;let t=$.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(!function(e,t,n){for(;;){if(!t||n<x(t))return!1;if(t==e)return!0;n=w(t)+1,t=t.parentNode}}(e,n.node,n.offset)?0:t))}}class tk{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class tD{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||s?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new tk(n,r)),(i!=n||s!=r)&&t.push(new tk(i,s))),t}(e),n=new tw(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,r=2==e.length?e[1].pos:n;return n>-1&&r>-1?l.jT.single(n+t,r+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!g(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),r=s&&s.node==t.anchorNode&&s.offset==t.anchorOffset||!g(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),o=e.viewport;if((X.ios||X.chrome)&&e.state.selection.main.empty&&n!=r&&(o.from>0||o.to<e.state.doc.length)){let t=Math.min(n,r),i=Math.max(n,r),s=o.from-t,l=o.to-i;(0==s||1==s||0==t)&&(0==l||-1==l||i==e.state.doc.length)&&(n=0,r=e.state.doc.length)}this.newSel=l.jT.single(r,n)}}}function tx(e,t){let n,{newSel:r}=t,i=e.state.selection.main,s=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:r,to:o}=t.bounds,a=i.from,u=null;(8===s||X.android&&t.text.length<o-r)&&(a=i.to,u="end");let h=function(e,t,n,r){let i=Math.min(e.length,t.length),s=0;for(;s<i&&e.charCodeAt(s)==t.charCodeAt(s);)s++;if(s==i&&e.length==t.length)return null;let o=e.length,l=t.length;for(;o>0&&l>0&&e.charCodeAt(o-1)==t.charCodeAt(l-1);)o--,l--;if("end"==r){let e=Math.max(0,s-Math.min(o,l));n-=o+e-s}if(o<s&&e.length<t.length){let e=n<=s&&n>=o?s-n:0;s-=e,l=s+(l-o),o=s}else if(l<s){let e=n<=s&&n>=l?s-n:0;s-=e,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}(e.state.doc.sliceString(r,o,"￿"),t.text,a-r,u);h&&(X.chrome&&13==s&&h.toB==h.from+2&&"￿￿"==t.text.slice(h.from,h.toB)&&h.toB--,n={from:r+h.from,to:r+h.toA,insert:l.xv.of(t.text.slice(h.from,h.toB).split("￿"))})}else r&&(!e.hasFocus&&e.state.facet(e0)||r.main.eq(i))&&(r=null);if(!n&&!r)return!1;if(!n&&t.typeOver&&!i.empty&&r&&r.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(X.mac||X.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(r&&2==n.insert.length&&(r=l.jT.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:l.xv.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:X.chrome&&n&&n.from==n.to&&n.from==i.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(r&&(r=l.jT.single(r.main.anchor-1,r.main.head-1)),n={from:i.from,to:i.to,insert:l.xv.of([" "])}),n)return tC(e,n,r,s);if(!r||r.main.eq(i))return!1;{let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:r,scrollIntoView:t,userEvent:n}),!0}}function tC(e,t,n,r=-1){let i;if(X.ios&&e.inputState.flushIOSKey(t))return!0;let s=e.state.selection.main;if(X.android&&(t.to==s.to&&(t.from==s.from||t.from==s.from-1&&" "==e.state.sliceDoc(t.from,s.from))&&1==t.insert.length&&2==t.insert.lines&&F(e.contentDOM,"Enter",13)||(t.from==s.from-1&&t.to==s.to&&0==t.insert.length||8==r&&t.insert.length<t.to-t.from&&t.to>s.head)&&F(e.contentDOM,"Backspace",8)||t.from==s.from&&t.to==s.to+1&&0==t.insert.length&&F(e.contentDOM,"Delete",46)))return!0;let o=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a=()=>i||(i=function(e,t,n){let r,i=e.state,s=i.selection.main;if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=s.from<t.from?i.sliceDoc(s.from,t.from):"",o=s.to>t.to?i.sliceDoc(t.to,s.to):"";r=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+o))}else{let o=i.changes(t),a=n&&n.main.to<=o.newLength?n.main:void 0;if(i.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=s.to&&t.to>=s.to-10){let u=e.state.sliceDoc(t.from,t.to),h,c=n&&ta(e,n.main.head);if(c){let e=t.insert.length-(t.to-t.from);h={from:c.from,to:c.to-e}}else h=e.state.doc.lineAt(s.head);let f=s.to-t.to,d=s.to-s.from;r=i.changeByRange(n=>{if(n.from==s.from&&n.to==s.to)return{changes:o,range:a||n.map(o)};let r=n.to-f,c=r-u.length;if(n.to-n.from!=d||e.state.sliceDoc(c,r)!=u||n.to>=h.from&&n.from<=h.to)return{range:n};let p=i.changes({from:c,to:r,insert:t.insert}),m=n.to-s.to;return{changes:p,range:a?l.jT.range(Math.max(0,a.anchor+m),Math.max(0,a.head+m)):n.map(p)}})}else r={changes:o,selection:a&&i.selection.replaceRange(a)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:o,scrollIntoView:!0})}(e,t,n));return e.state.facet(eU).some(n=>n(e,t.from,t.to,o,a))||e.dispatch(a()),!0}class tA{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){var t;this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,X.safari&&e.contentDOM.addEventListener("input",()=>null),X.gecko&&(t=e.contentDOM.ownerDocument,tQ.has(t)||(tQ.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{})))}handleEvent(e){!(!function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,r;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=$.get(n))&&r.ignoreEvent(t))return!1;return!0}(this.view,e)||this.ignoreDuringComposition(e))&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=function(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let r in e.domEventHandlers){let i=e.domEventHandlers[r];i&&n(r).handlers.push(tE(t.value,i))}if(e&&e.domEventObservers)for(let r in e.domEventObservers){let i=e.domEventObservers[r];i&&n(r).observers.push(tE(t.value,i))}}for(let e in tP)n(e).handlers.push(tP[e]);for(let e in tI)n(e).observers.push(tI[e]);return t}(e),n=this.handlers,r=this.view.contentDOM;for(let e in t)if("scroll"!=e){let i=!t[e].handlers.length,s=n[e];s&&!s.handlers.length!=i&&(r.removeEventListener(e,this.handleEvent),s=null),s||r.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)"scroll"==e||t[e]||r.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){let t;return this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),!!(9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))||((this.tabFocusMode>0&&27!=e.keyCode&&0>tO.indexOf(e.keyCode)&&(this.tabFocusMode=-1),X.android&&X.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))?(this.view.observer.delayAndroidKey(e.key,e.keyCode),!0):X.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=tS.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||t_.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(229!=e.keyCode&&this.view.observer.forceFlush(),!1))}flushIOSKey(e){let t=this.pendingIOSKey;return!(!t||"Enter"==t.key&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString()))&&(this.pendingIOSKey=void 0,F(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(X.safari&&!X.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function tE(e,t){return(n,r)=>{try{return t.call(e,r,n)}catch(e){eX(n.state,e)}}}let tS=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],t_="dthko",tO=[16,17,18,20,91,92,224,225];function tF(e){return .7*Math.max(0,e)+8}class tT{constructor(e,t,n,r){var i,s;let o;this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t=e.ownerDocument,n,r;for(let i=e.parentNode;i;)if(i==t.body||n&&r)break;else if(1==i.nodeType)!r&&i.scrollHeight>i.clientHeight&&(r=i),!n&&i.scrollWidth>i.clientWidth&&(n=i),i=i.assignedSlot||i.parentNode;else if(11==i.nodeType)i=i.host;else break;return{x:n,y:r}}(e.contentDOM),this.atoms=e.state.facet(e7).map(t=>t(e));let a=e.contentDOM.ownerDocument;a.addEventListener("mousemove",this.move=this.move.bind(this)),a.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(l.yy.allowMultipleSelections)&&(i=e,s=t,(o=i.state.facet(eL)).length?o[0](s):X.mac?s.metaKey:s.ctrlKey),this.dragging=!!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let r=m(e.root);if(!r||0==r.rangeCount)return!0;let i=r.getRangeAt(0).getClientRects();for(let e=0;e<i.length;e++){let n=i[e];if(n.left<=t.clientX&&n.right>=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)&&1==tV(t)&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(t=this.startEvent,Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))))return;this.select(this.lastEvent=e);let n=0,r=0,i=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=tr(this.view);e.clientX-a.left<=i+6?n=-tF(i-e.clientX):e.clientX+a.right>=o-6&&(n=tF(e.clientX-o)),e.clientY-a.top<=s+6?r=-tF(s-e.clientY):e.clientY+a.bottom>=l-6&&(r=tF(e.clientY-l)),this.setScrollSpeed(n,r)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],i=null;if(r.empty){let e=tb(this.atoms,r.from,0);e!=r.from&&(i=l.jT.cursor(e,-1))}else{let e=tb(this.atoms,r.from,-1),t=tb(this.atoms,r.to,1);(e!=r.from||t!=r.to)&&(i=l.jT.range(r.from==r.anchor?e:t,r.from==r.head?e:t))}i&&(t||(t=e.ranges.slice()),t[n]=i)}return t?l.jT.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,!1===this.dragging))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(e=>e.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}let tP=Object.create(null),tI=Object.create(null),tN=X.ie&&X.ie_version<15||X.ios&&X.webkit_version<604;function tB(e,t,n){for(let r of e.facet(t))n=r(n,e);return n}function tM(e,t){t=tB(e.state,eH,t);let{state:n}=e,r,i=1,s=n.toText(t),o=s.lines==n.selection.ranges.length;if(null!=tW&&n.selection.ranges.every(e=>e.empty)&&tW==s.toString()){let e=-1;r=n.changeByRange(r=>{let a=n.doc.lineAt(r.from);if(a.from==e)return{range:r};e=a.from;let u=n.toText((o?s.line(i++).text:t)+n.lineBreak);return{changes:{from:a.from,insert:u},range:l.jT.cursor(r.from+u.length)}})}else r=o?n.changeByRange(e=>{let t=s.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:l.jT.cursor(e.from+t.length)}}):n.replaceSelection(s);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function t$(e,t,n,r){if(1==r)return l.jT.cursor(t,n);{if(2==r)return function(e,t,n=1){let r=e.charCategorizer(t),i=e.doc.lineAt(t),s=t-i.from;if(0==i.length)return l.jT.cursor(t);0==s?n=1:s==i.length&&(n=-1);let o=s,a=s;n<0?o=(0,l.cp)(i.text,s,!1):a=(0,l.cp)(i.text,s);let u=r(i.text.slice(o,a));for(;o>0;){let e=(0,l.cp)(i.text,o,!1);if(r(i.text.slice(e,o))!=u)break;o=e}for(;a<i.length;){let e=(0,l.cp)(i.text,a);if(r(i.text.slice(a,e))!=u)break;a=e}return l.jT.range(o+i.from,a+i.from)}(e.state,t,n);let i=eb.find(e.docView,t),s=e.state.doc.lineAt(i?i.posAtEnd:t),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<e.state.doc.length&&a==s.to&&a++,l.jT.range(o,a)}}tI.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},tP.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),tI.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},tI.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},tP.mousedown=(e,t)=>{var n,r;let i,s,o;if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let n of e.state.facet(ej))if(a=n(e,t))break;if(a||0!=t.button||(i=tR(n=e,r=t),s=tV(r),o=n.state.selection,a={update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),o=o.map(e.changes))},get(e,t,r){let a=tR(n,e),u,h=t$(n,a.pos,a.bias,s);if(i.pos!=a.pos&&!t){let e=t$(n,i.pos,i.bias,s),t=Math.min(e.from,h.from),r=Math.max(e.to,h.to);h=t<h.from?l.jT.range(t,r):l.jT.range(r,t)}return t?o.replaceRange(o.main.extend(h.from,h.to)):r&&1==s&&o.ranges.length>1&&(u=function(e,t){for(let n=0;n<e.ranges.length;n++){let{from:r,to:i}=e.ranges[n];if(r<=t&&i>=t)return l.jT.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n))}return null}(o,a.pos))?u:r?o.addRange(h):l.jT.create([h])}}),a){let n=!e.hasFocus;e.inputState.startMouseSelection(new tT(e,t,a,n)),n&&e.observer.ignore(()=>{_(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),!1===r.dragging}return!1};let tL=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function tR(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:function(e,t,n,r){let i=eb.find(e.docView,t);if(!i)return 1;let s=t-i.posAtStart;if(0==s)return 1;if(s==i.length)return -1;let o=i.coordsAt(s,-1);if(o&&tL(n,r,o))return -1;let l=i.coordsAt(s,1);return l&&tL(n,r,l)?1:o&&o.bottom>=r?-1:1}(e,n,t.clientX,t.clientY)}}let tj=X.ie&&X.ie_version<=11,tq=null,tz=0,tU=0;function tV(e){if(!tj)return e.detail;let t=tq,n=tU;return tq=e,tU=Date.now(),tz=!t||n>Date.now()-400&&2>Math.abs(t.clientX-e.clientX)&&2>Math.abs(t.clientY-e.clientY)?(tz+1)%3:1}function tH(e,t,n,r){let i;if(!(n=tB(e.state,eH,n)))return;let s=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:o}=e.inputState,l=r&&o&&((i=e.state.facet(eR)).length?i[0](t):X.mac?!t.altKey:!t.ctrlKey)?{from:o.from,to:o.to}:null,a={from:s,insert:n},u=e.state.changes(l?[l,a]:a);e.focus(),e.dispatch({changes:u,selection:{anchor:u.mapPos(s,-1),head:u.mapPos(s,1)},userEvent:l?"move.drop":"input.drop"}),e.inputState.draggedContent=null}tP.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.nearest(t.target);if(r&&r.isWidget){let e=r.posAtStart,t=e+r.length;(e>=n.to||t<=n.from)&&(n=l.jT.range(e,t))}}let{inputState:r}=e;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",tB(e.state,eW,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},tP.dragend=e=>(e.inputState.draggedContent=null,!1),tP.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let r=Array(n.length),i=0,s=()=>{++i==n.length&&tH(e,t,r.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<n.length;e++){let t=new FileReader;t.onerror=s,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),s()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return tH(e,t,n,!0),!0}return!1},tP.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=tN?null:t.clipboardData;return n?(tM(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(!function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),tM(e,n.value)},50)}(e),!1)};let tW=null;tP.copy=tP.cut=(e,t)=>{let{text:n,ranges:r,linewise:i}=function(e){let t=[],n=[],r=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let i=-1;for(let{from:r}of e.selection.ranges){let s=e.doc.lineAt(r);s.number>i&&(t.push(s.text),n.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),i=s.number}r=!0}return{text:tB(e,eW,t.join(e.lineBreak)),ranges:n,linewise:r}}(e.state);if(!n&&!i)return!1;tW=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=tN?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(!function(e,t){let n=e.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout(()=>{r.remove(),e.focus()},50)}(e,n),!1)};let tG=l.q6.define();function tK(e,t){let n=[];for(let r of e.facet(eV)){let i=r(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:tG.of(!0)}):null}function tJ(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=tK(e.state,t);n?e.dispatch(n):e.update([])}},10)}tI.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),tJ(e)},tI.blur=e=>{e.observer.clearSelectionRange(),tJ(e)},tI.compositionstart=tI.compositionupdate=e=>{!e.observer.editContext&&(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},tI.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,X.chrome&&X.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},tI.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},tP.beforeinput=(e,t)=>{var n,r;let i;if("insertReplacementText"==t.inputType&&e.observer.editContext){let r=null==(n=t.dataTransfer)?void 0:n.getData("text/plain"),i=t.getTargetRanges();if(r&&i.length){let t=i[0],n=e.posAtDOM(t.startContainer,t.startOffset),s=e.posAtDOM(t.endContainer,t.endOffset);return tC(e,{from:n,to:s,insert:e.state.toText(r)},null),!0}}if(X.chrome&&X.android&&(i=tS.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null==(r=window.visualViewport)?void 0:r.height)||0;setTimeout(()=>{var n;((null==(n=window.visualViewport)?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return X.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),X.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>tI.compositionend(e,t),20),!1};let tQ=new Set,tY=["pre-wrap","normal","pre-line","break-spaces"],tZ=!1;class tX{constructor(e){this.lineWrapping=e,this.doc=l.xv.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return tY.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(10*r)]||(t=!0,this.heightSamples[Math.floor(10*r)]=!0)}return t}refresh(e,t,n,r,i,s){let o=tY.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=i,l){this.heightSamples={};for(let e=0;e<s.length;e++){let t=s[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return l}}class t0{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class t1{constructor(e,t,n,r,i){this.from=e,this.length=t,this.top=n,this.height=r,this._content=i}get type(){return"number"==typeof this._content?ec.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof em?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t1(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var t2=((o=t2||(t2={}))[o.ByPos=0]="ByPos",o[o.ByHeight=1]="ByHeight",o[o.ByPosNoHeight=2]="ByPosNoHeight",o);class t3{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=2*!!e|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>.001&&(tZ=!0),this.height=e)}replace(e,t,n){return t3.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let i=this,s=n.doc;for(let o=r.length-1;o>=0;o--){let{fromA:l,toA:a,fromB:u,toB:h}=r[o],c=i.lineAt(l,t2.ByPosNoHeight,n.setDoc(t),0,0),f=c.to>=a?c:i.lineAt(a,t2.ByPosNoHeight,n,0,0);for(h+=f.to-a,a=f.to;o>0&&c.from<=r[o-1].toA;)l=r[o-1].fromA,u=r[o-1].fromB,o--,l<c.from&&(c=i.lineAt(l,t2.ByPosNoHeight,n,0,0));u+=c.from-l,l=c.from;let d=ne.build(n.setDoc(s),e,u,h);i=t5(i,i.replace(l,a,d))}return i.updateHeight(n,0)}static empty(){return new t6(0,0)}static of(e){if(1==e.length)return e[0];let t=0,n=e.length,r=0,i=0;for(;;)if(t==n)if(r>2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,r-=i.size}else if(i>2*r){let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}else break;else if(r<i){let n=e[t++];n&&(r+=n.size)}else{let t=e[--n];t&&(i+=t.size)}let s=0;return null==e[t-1]?(s=1,t--):null==e[t]&&(s=1,n++),new t9(t3.of(e.slice(0,t)),s,t3.of(e.slice(n)))}}function t5(e,t){return e==t?e:(e.constructor!=t.constructor&&(tZ=!0),t)}t3.prototype.size=1;class t8 extends t3{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new t1(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,i){return this.blockAt(0,n,r,i)}forEachLine(e,t,n,r,i,s){e<=i+this.length&&t>=i&&s(this.blockAt(0,n,r,i))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class t6 extends t8{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new t1(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return 1==n.length&&(r instanceof t6||r instanceof t4&&4&r.flags)&&10>Math.abs(this.length-r.length)?(r instanceof t4?r=new t6(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):t3.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class t4 extends t3{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,i=r-n+1,s,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);s=t/i,this.length>i+1&&(o=(this.height-t)/(this.length-i-1))}else s=this.height/i;return{firstLine:n,lastLine:r,perLine:s,perChar:o}}blockAt(e,t,n,r){let{firstLine:i,lastLine:s,perLine:o,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let i=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),s=t.doc.lineAt(i),a=o+s.length*l,u=Math.max(n,e-a/2);return new t1(s.from,s.length,u,a,0)}{let r=Math.max(0,Math.min(s-i,Math.floor((e-n)/o))),{from:l,length:a}=t.doc.line(i+r);return new t1(l,a,n+o*r,o,0)}}lineAt(e,t,n,r,i){if(t==t2.ByHeight)return this.blockAt(e,n,r,i);if(t==t2.ByPosNoHeight){let{from:t,to:r}=n.doc.lineAt(e);return new t1(t,r-t,0,0,0)}let{firstLine:s,perLine:o,perChar:l}=this.heightMetrics(n,i),a=n.doc.lineAt(e),u=o+a.length*l,h=a.number-s,c=r+o*h+l*(a.from-i-h);return new t1(a.from,a.length,Math.max(r,Math.min(c,r+this.height-u)),u,0)}forEachLine(e,t,n,r,i,s){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(n,i);for(let u=e,h=r;u<=t;){let t=n.doc.lineAt(u);if(u==e){let n=t.number-o;h+=l*n+a*(e-i-n)}let r=l+a*t.length;s(new t1(t.from,t.length,h,r,0)),h+=r,u=t.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let e=n[n.length-1];e instanceof t4?n[n.length-1]=new t4(e.length+r):n.push(null,new t4(r-1))}if(e>0){let t=n[0];t instanceof t4?n[0]=new t4(e+t.length):n.unshift(new t4(e-1),null)}return t3.of(n)}decomposeLeft(e,t){t.push(new t4(e-1),null)}decomposeRight(e,t){t.push(null,new t4(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let i=t+this.length;if(r&&r.from<=t+this.length&&r.more){let n=[],s=Math.max(t,r.from),o=-1;for(r.from>t&&n.push(new t4(r.from-t-1).updateHeight(e,t));s<=i&&r.more;){let t=e.doc.lineAt(s).length;n.length&&n.push(null);let i=r.heights[r.index++];-1==o?o=i:Math.abs(i-o)>=.001&&(o=-2);let l=new t6(t,i);l.outdated=!1,n.push(l),s+=t+1}s<=i&&n.push(null,new t4(i-s).updateHeight(e,s));let l=t3.of(n);return(o<0||Math.abs(l.height-this.height)>=.001||Math.abs(o-this.heightMetrics(e,t).perLine)>=.001)&&(tZ=!0),t5(this,l)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class t9 extends t3{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,r){let i=n+this.left.height;return e<i?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,i,r+this.left.length+this.break)}lineAt(e,t,n,r,i){let s=r+this.left.height,o=i+this.left.length+this.break,l=t==t2.ByHeight?e<s:e<o,a=l?this.left.lineAt(e,t,n,r,i):this.right.lineAt(e,t,n,s,o);if(this.break||(l?a.to<o:a.from>o))return a;let u=t==t2.ByPosNoHeight?t2.ByPosNoHeight:t2.ByPos;return l?a.join(this.right.lineAt(o,u,n,s,o)):this.left.lineAt(o,u,n,r,i).join(a)}forEachLine(e,t,n,r,i,s){let o=r+this.left.height,l=i+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,n,r,i,s),t>=l&&this.right.forEachLine(e,t,n,o,l,s);else{let a=this.lineAt(l,t2.ByPos,n,r,i);e<a.from&&this.left.forEachLine(e,a.from-1,n,r,i,s),a.to>=e&&a.from<=t&&s(a),t>a.to&&this.right.forEachLine(a.to+1,t,n,o,l,s)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let e of n)i.push(e);if(e>0&&t7(i,s-1),t<this.length){let e=i.length;this.decomposeRight(t,i),t7(i,e)}return t3.of(i)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&e>=++n&&t.push(null),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?t3.of(this.break?[e,null,t]:[e,t]):(this.left=t5(this.left,e),this.right=t5(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:i,right:s}=this,o=t+i.length+this.break,l=null;return(r&&r.from<=t+i.length&&r.more?l=i=i.updateHeight(e,t,n,r):i.updateHeight(e,t,n),r&&r.from<=o+s.length&&r.more?l=s=s.updateHeight(e,o,n,r):s.updateHeight(e,o,n),l)?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function t7(e,t){let n,r;null==e[t]&&(n=e[t-1])instanceof t4&&(r=e[t+1])instanceof t4&&e.splice(t-1,3,new t4(n.length+1+r.length))}class ne{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof t6?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new t6(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,i=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=t-e;n.block?this.addBlock(new t8(s,r,n)):(s||i||r>=5)&&this.addLineDeco(r,i,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new t6(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new t4(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof t6)return e;let t=new t6(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof t6||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new t6(0,-1));let n=e;for(let e of this.nodes)e instanceof t6&&e.updateHeight(this.oracle,n),n+=e?e.length:1;return this.nodes}static build(e,t,n,r){let i=new ne(n,e);return l.Xs.spans(t,n,r,i,0),i.finish(n)}}class nt{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&ey(e,t,this.changes,5)}}class nn{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.from!=i.from||r.to!=i.to||r.size!=i.size)return!1}return!0}draw(e,t){return ef.replace({widget:new nr(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class nr extends eh{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class ni{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=na,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=eC.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(e6).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new tX(t),this.stateDeco=e.facet(e4).filter(e=>"function"!=typeof e),this.heightMap=t3.empty().applyChanges(this.stateDeco,l.xv.empty,this.heightOracle.setDoc(e.doc),[new ts(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ef.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>r>=e&&r<=t)){let{from:t,to:n}=this.lineBlockAt(r);e.push(new ns(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?na:new nu(this.heightOracle,this.heightMap,this.viewports),2*!e.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(nh(e,this.scaler))})}update(e,t=null){var n,r;let i;this.state=e.state;let s=this.stateDeco;this.stateDeco=this.state.facet(e4).filter(e=>"function"!=typeof e);let o=e.changedRanges,a=ts.extendWithRanges(o,(n=this.stateDeco,r=e?e.changes:l.as.empty(this.state.doc.length),i=new nt,l.Xs.compare(s,n,r,i,0),i.changes)),u=this.heightMap.height,h=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);tZ=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),a),(this.heightMap.height!=u||tZ)&&(e.flags|=2),h?(this.scrollAnchorPos=e.changes.mapPos(h.from,-1),this.scrollAnchorHeight=h.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=u);let c=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<c.from||t.range.head>c.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,t));let f=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,e.flags|=this.updateForViewport(),(f||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(eK)&&(this.mustEnforceCursorAssoc=!0)}measure(e){var t;let n,r,i=e.contentDOM,s=window.getComputedStyle(i),o=this.heightOracle,a=s.whiteSpace;this.defaultTextDirection="rtl"==s.direction?eC.RTL:eC.LTR;let u=this.heightOracle.mustRefreshForWrapping(a),h=i.getBoundingClientRect(),c=u||this.mustMeasureContent||this.contentDOMHeight!=h.height;this.contentDOMHeight=h.height,this.mustMeasureContent=!1;let f=0,d=0;if(h.width&&h.height){let{scaleX:e,scaleY:t}=A(i,h);(e>.005&&Math.abs(this.scaleX-e)>.005||t>.005&&Math.abs(this.scaleY-t)>.005)&&(this.scaleX=e,this.scaleY=t,f|=16,u=c=!0)}let p=(parseInt(s.paddingTop)||0)*this.scaleY,m=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=p||this.paddingBottom!=m)&&(this.paddingTop=p,this.paddingBottom=m,f|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(c=!0),this.editorWidth=e.scrollDOM.clientWidth,f|=16);let g=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=g&&(this.scrollAnchorHeight=-1,this.scrollTop=g),this.scrolledToBottom=P(e.scrollDOM);let y=(this.printing?function(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}:function(e,t){let n=e.getBoundingClientRect(),r=e.ownerDocument,i=r.defaultView||window,s=Math.max(0,n.left),o=Math.min(i.innerWidth,n.right),l=Math.max(0,n.top),a=Math.min(i.innerHeight,n.bottom);for(let t=e.parentNode;t&&t!=r.body;)if(1==t.nodeType){let n=t,r=window.getComputedStyle(n);if((n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=r.overflow){let r=n.getBoundingClientRect();s=Math.max(s,r.left),o=Math.min(o,r.right),l=Math.max(l,r.top),a=Math.min(t==e.parentNode?i.innerHeight:a,r.bottom)}t="absolute"==r.position||"fixed"==r.position?n.offsetParent:n.parentNode}else if(11==t.nodeType)t=t.host;else break;return{left:s-n.left,right:Math.max(s,o)-n.left,top:l-(n.top+t),bottom:Math.max(l,a)-(n.top+t)}})(i,this.paddingTop),b=y.top-this.pixelViewport.top,v=y.bottom-this.pixelViewport.bottom;this.pixelViewport=y;let w=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(w!=this.inView&&(this.inView=w,w&&(c=!0)),!this.inView&&!this.scrollTarget&&(n=(t=e.dom).getBoundingClientRect(),r=t.ownerDocument.defaultView||window,!(n.left<r.innerWidth)||!(n.right>0)||!(n.top<r.innerHeight)||!(n.bottom>0)))return 0;let k=h.width;if((this.contentDOMWidth!=k||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=h.width,this.editorHeight=e.scrollDOM.clientHeight,f|=16),c){let t=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(t)&&(u=!0),u||o.lineWrapping&&Math.abs(k-this.contentDOMWidth)>o.charWidth){let{lineHeight:n,charWidth:r,textHeight:i}=e.docView.measureTextSize();(u=n>0&&o.refresh(a,n,r,i,k/r,t))&&(e.docView.minWidth=0,f|=16)}for(let n of(b>0&&v>0?d=Math.max(b,v):b<0&&v<0&&(d=Math.min(b,v)),tZ=!1,this.viewports)){let r=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(u?t3.empty().applyChanges(this.stateDeco,l.xv.empty,this.heightOracle,[new ts(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,u,new t0(n.from,r))}tZ&&(f|=2)}let D=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return D&&(2&f&&(f|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),f|=this.updateForViewport()),(2&f||D)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(u?[]:this.lineGaps,e)),f|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),f}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,l=new ns(r.lineAt(s-1e3*n,t2.ByHeight,i,0,0).from,r.lineAt(o+(1-n)*1e3,t2.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(e<l.from||e>l.to){let n=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=r.lineAt(e,t2.ByPos,i,0,0),o;o="center"==t.y?(s.top+s.bottom)/2-n/2:"start"==t.y||"nearest"==t.y&&e<l.from?s.top:s.bottom-n,l=new ns(r.lineAt(o-500,t2.ByHeight,i,0,0).from,r.lineAt(o+n+500,t2.ByHeight,i,0,0).to)}}return l}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new ns(this.heightMap.lineAt(n,t2.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,t2.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,t2.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(t,t2.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:o}=this;return(0==e||r<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=o+Math.max(10,Math.min(n,250)))&&r>s-2e3&&i<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new nn(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,i=r>>1,s=r<<1;if(this.defaultTextDirection!=eC.LTR&&!n)return[];let o=[],a=(r,s,u,h)=>{if(s-r<i)return;let c=this.state.selection.main,f=[c.from];for(let e of(c.empty||f.push(c.to),f))if(e>r&&e<s){a(r,e-10,u,h),a(e+10,s,u,h);return}let d=function(e,t){for(let n of e)if(t(n))return n}(e,e=>e.from>=u.from&&e.to<=u.to&&Math.abs(e.from-r)<i&&Math.abs(e.to-s)<i&&!f.some(t=>e.from<t&&e.to>t));if(!d){if(s<u.to&&t&&n&&t.visibleRanges.some(e=>e.from<=s&&e.to>=s)){let e=t.moveToLineBoundary(l.jT.cursor(s),!1,!0).head;e>r&&(s=e)}let e=this.gapSize(u,r,s,h),i=n||e<2e6?e:2e6;d=new nn(r,s,e,i)}o.push(d)},u=t=>{var i,o,u;let h,c,f,d,p;if(t.length<s||t.type!=ec.Text)return;let m=(i=t.from,o=t.to,u=this.stateDeco,f=[],d=i,p=0,l.Xs.spans(u,i,o,{span(){},point(e,t){e>d&&(f.push({from:d,to:e}),p+=e-d),d=t}},20),d<o&&(f.push({from:d,to:o}),p+=o-d),{total:p,ranges:f});if(m.total<s)return;let g=this.scrollTarget?this.scrollTarget.range.head:null;if(n){let e,n,i=r/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=g){let r=nl(m,g),s=((this.visibleBottom-this.visibleTop)/2+i)/t.height;e=r-s,n=r+s}else e=(this.visibleTop-t.top-i)/t.height,n=(this.visibleBottom-t.top+i)/t.height;h=no(m,e),c=no(m,n)}else{let n,i,s=m.total*this.heightOracle.charWidth,o=r*this.heightOracle.charWidth,l=0;if(s>2e6)for(let n of e)n.from>=t.from&&n.from<t.to&&n.size!=n.displaySize&&n.from*this.heightOracle.charWidth+l<this.pixelViewport.left&&(l=n.size-n.displaySize);let a=this.pixelViewport.left+l,u=this.pixelViewport.right+l;if(null!=g){let e=nl(m,g),t=((u-a)/2+o)/s;n=e-t,i=e+t}else n=(a-o)/s,i=(u+o)/s;h=no(m,n),c=no(m,i)}h>t.from&&a(t.from,h,t,m),c<t.to&&a(c,t.to,t,m)};for(let e of this.viewportLines)Array.isArray(e.type)?e.type.forEach(u):u(e);return o}gapSize(e,t,n,r){let i=nl(r,n)-nl(r,t);return this.heightOracle.lineWrapping?e.height*i:r.total*this.heightOracle.charWidth*i}updateLineGaps(e){nn.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ef.set(e.map(e=>e.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];l.Xs.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let t=0;t<n.length&&!(8&r);t++){let i=this.visibleRanges[t],s=n[t];(i.from!=s.from||i.to!=s.to)&&(r|=4,e&&e.mapPos(i.from,-1)==s.from&&e.mapPos(i.to,1)==s.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||nh(this.heightMap.lineAt(e,t2.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||nh(this.heightMap.lineAt(this.scaler.fromDOM(e),t2.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return nh(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class ns{constructor(e,t){this.from=e,this.to=t}}function no({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let r=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],s=i-n;if(r<=s)return n+r;r-=s}}function nl(e,t){let n=0;for(let{from:r,to:i}of e.ranges){if(t<=i){n+=t-r;break}n+=i-r}return n/e.total}let na={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class nu{constructor(e,t,n){let r=0,i=0,s=0;for(let o of(this.viewports=n.map(({from:n,to:i})=>{let s=t.lineAt(n,t2.ByPos,e,0,0).top,o=t.lineAt(i,t2.ByPos,e,0,0).bottom;return r+=o-s,{from:n,to:i,top:s,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r),this.viewports))o.domTop=s+(o.top-i)*this.scale,s=o.domBottom=o.domTop+(o.bottom-o.top),i=o.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.top)return r+(e-n)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);n=i.bottom,r=i.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.domTop)return n+(e-r)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);n=i.bottom,r=i.domBottom}}eq(e){return e instanceof nu&&this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to)}}function nh(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),r=t.toDOM(e.bottom);return new t1(e.from,e.length,n,r-n,Array.isArray(e._content)?e._content.map(e=>nh(e,t)):e._content)}let nc=l.r$.define({combine:e=>e.join(" ")}),nf=l.r$.define({combine:e=>e.indexOf(!0)>-1}),nd=a.V.newName(),np=a.V.newName(),nm=a.V.newName(),ng={"&light":"."+np,"&dark":"."+nm};function ny(e,t,n){return new a.V(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw RangeError(`Unsupported selector: ${t}`);return n[t]}):e+" "+t})}let nb=ny("."+nd,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},ng),nv={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},nw=X.ie&&X.ie_version<=11;class nk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new E,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(X.ie&&X.ie_version<=11||X.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&!1!==e.constructor.EDIT_CONTEXT&&!(X.chrome&&X.chrome_version<126)&&(this.editContext=new nC(e),e.state.facet(e0)&&(e.contentDOM.editContext=this.editContext.editContext)),nw&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null==(e=this.view.docView)?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){for(let t of(this.gapIntersection.disconnect(),e))this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(e0)?n.root.activeElement!=this.dom:!y(this.dom,r))return;let i=r.anchorNode&&n.docView.nearest(r.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(X.ie&&X.ie_version<=11||X.android&&X.chrome)&&!n.state.selection.main.empty&&r.focusNode&&v(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=m(e.root);if(!t)return!1;let n=X.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return nx(e,n)}let n=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),n?nx(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=y(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let n=t.focusNode,r=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=r)return!1;for(r=Math.min(r,x(n));;)if(r){if(1!=n.nodeType)return!1;let e=n.childNodes[r-1];"false"==e.contentEditable?r--:r=x(n=e)}else{if(n==e)return!0;r=w(n),n=n.parentNode}}(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(1==n.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(11==n.nodeType)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,nv),nw&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),nw&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;this.delayedAndroidKey||(this.flushingAndroidKey=this.view.win.requestAnimationFrame(()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&F(this.dom,e.key,e.keyCode))})),this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null==(n=this.delayedAndroidKey)?void 0:n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(r=!0),-1==t?{from:t,to:n}=e:(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&y(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new tD(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=tx(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=nD(t,e.previousSibling||e.target.previousSibling,-1),r=nD(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(e0)!=e.state.facet(e0)&&(e.view.contentDOM.editContext=e.state.facet(e0)?this.editContext.editContext:null))}destroy(){var e,t,n;for(let r of(this.stop(),null==(e=this.intersection)||e.disconnect(),null==(t=this.gapIntersection)||t.disconnect(),null==(n=this.resizeScroll)||n.disconnect(),this.scrollTargets))r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function nD(e,t,n){for(;t;){let r=$.get(t);if(r&&r.parent==e)return r;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function nx(e,t){let n=t.startContainer,r=t.startOffset,i=t.endContainer,s=t.endOffset,o=e.docView.domAtPos(e.state.selection.main.anchor);return v(o.node,o.offset,i,s)&&([n,r,i,s]=[i,s,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}}class nC{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});for(let n in this.handlers.textupdate=t=>{let n=e.state.selection.main,{anchor:r,head:i}=n,s=this.toEditorPos(t.updateRangeStart),o=this.toEditorPos(t.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:t.updateRangeStart,editorBase:s,drifted:!1});let a={from:s,to:o,insert:l.xv.of(t.text.split("\n"))};if(a.from==this.from&&r<this.from?a.from=r:a.to==this.to&&r>this.to&&(a.to=r),a.from==a.to&&!a.insert.length){let r=l.jT.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd));r.main.eq(n)||e.dispatch({selection:r,userEvent:"select"});return}if((X.mac||X.android)&&a.from==i-1&&/^\. ?$/.test(t.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(a={from:s,to:o,insert:l.xv.of([t.text.replace("."," ")])}),this.pendingContextChange=a,!e.state.readOnly){let n=this.to-this.from+(a.to-a.from+a.insert.length);tC(e,a,l.jT.single(this.toEditorPos(t.selectionStart,n),this.toEditorPos(t.selectionEnd,n)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let r=[],i=null;for(let t=this.toEditorPos(n.rangeStart),s=this.toEditorPos(n.rangeEnd);t<s;t++){let n=e.coordsForChar(t);i=n&&new DOMRect(n.left,n.top,n.right-n.left,n.bottom-n.top)||i||new DOMRect,r.push(i)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=t=>{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,r=e.underlineThickness;if("None"!=t&&"None"!=r){let i=this.toEditorPos(e.rangeStart),s=this.toEditorPos(e.rangeEnd);if(i<s){let e=`text-decoration: underline ${"Dashed"==t?"dashed ":"Squiggle"==t?"wavy ":""}${"Thin"==r?1:2}px`;n.push(ef.mark({attributes:{style:e}}).range(i,s))}}}e.dispatch({effects:eZ.of(ef.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}},this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=m(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((i,s,o,l,a)=>{if(n)return;let u=a.length-(s-i);if(r&&s>=r.to)if(r.from==i&&r.to==s&&r.insert.eq(a)){r=this.pendingContextChange=null,t+=u,this.to+=u;return}else r=null,this.revertPending(e.state);if(i+=t,(s+=t)<=this.from)this.from+=u,this.to+=u;else if(i<this.to){if(i<this.from||s>this.to||this.to-this.from+a.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(s),a.toString()),this.to+=u}t+=u}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class nA{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;for(let t of(this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach(e=>n(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new ni(e.state||l.yy.create(e)),e.scrollTo&&e.scrollTo.is(eY)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(e2).map(e=>new e5(e)),this.plugins))t.update(this);this.observer=new nk(this),this.inputState=new tA(this),this.inputState.ensureHandlers(this.plugins),this.docView=new tl(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(t=document.fonts)?void 0:t.ready)&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=1==e.length&&e[0]instanceof l.YW?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,i=this.state;for(let t of e){if(t.startState!=i)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=t.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,o=0,a=null;e.some(e=>e.annotation(tG))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,(a=tK(i,s))||(o=1));let u=this.observer.delayedAndroidKey,h=null;if(u?(this.observer.clearDelayedAndroidKey(),((h=this.observer.readChange())&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(h=null)):this.observer.clear(),i.facet(l.yy.phrases)!=this.state.facet(l.yy.phrases))return this.setState(i);r=to.create(this,i,e),r.flags|=o;let c=this.viewState.scrollTarget;try{for(let t of(this.updateState=2,e)){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new eQ(e.empty?e:l.jT.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(eY)&&(c=e.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=n_.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(ti)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(nc)!=r.state.facet(nc)&&(this.viewState.mustMeasureContent=!0),(t||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let e of this.state.facet(ez))try{e(r)}catch(e){eX(this.state,e,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!tx(this,h)&&u.force&&F(this.contentDOM,u.key,u.keyCode)})}setState(e){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);for(let t of(this.viewState=new ni(e),this.plugins=e.facet(e2).map(e=>new e5(e)),this.pluginMap.clear(),this.plugins))t.update(this);this.docView.destroy(),this.docView=new tl(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(e2),n=e.state.facet(e2);if(t!=n){let r=[];for(let i of n){let n=t.indexOf(i);if(n<0)r.push(new e5(i));else{let t=this.plugins[n];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(e){eX(this.state,e,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(s<0)if(P(n))i=-1,s=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(r);i=e.from,s=e.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];4&o||([this.measureRequests,l]=[l,this.measureRequests]);let a=l.map(e=>{try{return e.read(this)}catch(e){return eX(this.state,e),nS}}),u=to.create(this,this.state,[]),h=!1;u.flags|=o,t?t.flags|=o:t=u,this.updateState=2,!u.empty&&(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),(h=this.docView.update(u))&&this.docViewUpdate());for(let e=0;e<l.length;e++)if(a[e]!=nS)try{let t=l[e];t.write&&t.write(a[e],this)}catch(e){eX(this.state,e)}if(h&&this.docView.updateSelection(!0),!u.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let e=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(e>1||e<-1){n.scrollTop=(r+=e)/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(ez))e(t)}get themeClasses(){return nd+" "+(this.state.facet(nf)?nm:np)+" "+this.state.facet(nc)}updateAttrs(){let e=nO(this,e8,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(e0)?"true":"false",class:"cm-content",style:`${X.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),nO(this,e6,t);let n=this.observer.ignore(()=>{let n=eu(this.contentDOM,this.contentAttrs,t),r=eu(this.dom,this.editorAttrs,e);return n||r});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)e.is(nA.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(ti);let e=this.state.facet(nA.cspNonce);a.V.mount(this.root,this.styleModules.concat(nb).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e)&&!(this.measureRequests.indexOf(e)>-1)){if(null!=e.key){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return tv(this,e,ty(this,e,t,n))}moveByGroup(e,t){return tv(this,e,ty(this,e,t,t=>{var n;let r,i;return n=e.head,i=(r=this.state.charCategorizer(n))(t),e=>{let t=r(e);return i==l.D0.Space&&(i=t),i==t}}))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return l.jT.cursor(i.side(t,r)+e.from,i.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,r){let i=tg(e,t.head,t.assoc||-1),s=r&&i.type==ec.Text&&(e.lineWrapping||i.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(s){let t=e.dom.getBoundingClientRect(),r=e.textDirectionAt(i.from),o=e.posAtCoords({x:n==(r==eC.LTR)?t.right-1:t.left+1,y:(s.top+s.bottom)/2});if(null!=o)return l.jT.cursor(o,n?-1:1)}return l.jT.cursor(n?i.to:i.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return tv(this,e,function(e,t,n,r){let i=t.head,s=n?1:-1;if(i==(n?e.state.doc.length:0))return l.jT.cursor(i,t.assoc);let o=t.goalColumn,a,u=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(i,t.assoc||-1),c=e.documentTop;if(h)null==o&&(o=h.left-u.left),a=s<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(i);null==o&&(o=Math.min(u.right-u.left,e.defaultCharacterWidth*(i-t.from))),a=(s<0?t.top:t.bottom)+c}let f=u.left+o,d=null!=r?r:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=a+(d+t)*s,r=tp(e,{x:f,y:n},!1,s);if(n<u.top||n>u.bottom||(s<0?r<i:r>i)){let t=e.docView.coordsForChar(r),i=!t||n<t.top?-1:1;return l.jT.cursor(r,i,void 0,o)}}}(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),tp(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),i=this.bidiSpans(r);return C(n,i[eN.find(i,e-r.from,-1,t)].dir==eC.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(eG)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>nE)return eM(e.length);let t=this.textDirectionAt(e.from),n;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||function e(t,n){if(t.length!=n.length)return!1;for(let r=0;r<t.length;r++){let i=t[r],s=n[r];if(i.from!=s.from||i.to!=s.to||i.direction!=s.direction||!e(i.inner,s.inner))return!1}return!0}(r.isolates,n=tt(this,e))))return r.order;n||(n=tt(this,e));let r=function(e,t,n){if(!e)return[new eN(0,0,+(t==eE))];if(t==eA&&!n.length&&!eI.test(e))return eM(e.length);if(n.length)for(;e.length>eB.length;)eB[eB.length]=256;let r=[],i=+(t!=eA);return function e(t,n,r,i,s,o,l){let a=n%2?2:1;!function(e,t,n,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:t,l=s<r.length?r[s].from:n,a=s?256:i;for(let t=o,n=a,r=a;t<l;t++){let i=eP(e.charCodeAt(t));512==i?i=n:8==i&&4==r&&(i=16),eB[t]=4==i?2:i,7&i&&(r=i),n=i}for(let e=o,t=a,r=a;e<l;e++){let i=eB[e];if(128==i)e<l-1&&t==eB[e+1]&&24&t?i=eB[e]=t:eB[e]=256;else if(64==i){let i=e+1;for(;i<l&&64==eB[i];)i++;let s=e&&8==t||i<n&&8==eB[i]?1==r?1:8:256;for(let t=e;t<i;t++)eB[t]=s;e=i-1}else 8==i&&1==r&&(eB[e]=1);t=i,7&i&&(r=i)}}}(t,s,o,i,a),function(e,t,n,r,i){let s=1==i?2:1;for(let o=0,l=0,a=0;o<=r.length;o++){let u=o?r[o-1].to:t,h=o<r.length?r[o].from:n;for(let t=u,n,r,o;t<h;t++)if(r=eF[n=e.charCodeAt(t)])if(r<0){for(let e=l-3;e>=0;e-=3)if(eT[e+1]==-r){let n=eT[e+2],r=2&n?i:4&n?1&n?s:i:0;r&&(eB[t]=eB[eT[e]]=r),l=e;break}}else if(189==eT.length)break;else eT[l++]=t,eT[l++]=n,eT[l++]=a;else if(2==(o=eB[t])||1==o){let e=o==i;a=+!e;for(let t=l-3;t>=0;t-=3){let n=eT[t+2];if(2&n)break;if(e)eT[t+2]|=2;else{if(4&n)break;eT[t+2]|=4}}}}}(t,s,o,i,a),function(e,t,n,r){for(let i=0,s=r;i<=n.length;i++){let o=i?n[i-1].to:e,l=i<n.length?n[i].from:t;for(let a=o;a<l;){let o=eB[a];if(256==o){let o=a+1;for(;;)if(o==l){if(i==n.length)break;o=n[i++].to,l=i<n.length?n[i].from:t}else if(256==eB[o])o++;else break;let u=1==s,h=u==((o<t?eB[o]:r)==1)?u?1:2:r;for(let t=o,r=i,s=r?n[r-1].to:e;t>a;)t==s&&(t=n[--r].from,s=r?n[r-1].to:e),eB[--t]=h;a=o}else s=o,a++}}}(s,o,i,a),function t(n,r,i,s,o,l,a){let u=s%2?2:1;if(s%2==o%2)for(let h=r,c=0;h<i;){let r=!0,f=!1;if(c==l.length||h<l[c].from){let e=eB[h];e!=u&&(r=!1,f=16==e)}let d=r||1!=u?null:[],p=r?s:s+1,m=h;n:for(;;)if(c<l.length&&m==l[c].from){if(f)break;let t=l[c];if(!r)for(let e=t.to,n=c+1;;){if(e==i)break n;if(n<l.length&&l[n].from==e)e=l[n++].to;else if(eB[e]==u)break n;else break}c++,d?d.push(t):(t.from>h&&a.push(new eN(h,t.from,p)),e(n,t.direction==eA!=!(p%2)?s+1:s,o,t.inner,t.from,t.to,a),h=t.to),m=t.to}else if(m==i||(r?eB[m]!=u:eB[m]==u))break;else m++;d?t(n,h,m,s+1,o,d,a):h<m&&a.push(new eN(h,m,p)),h=m}else for(let h=i,c=l.length;h>r;){let i=!0,f=!1;if(!c||h>l[c-1].to){let e=eB[h-1];e!=u&&(i=!1,f=16==e)}let d=i||1!=u?null:[],p=i?s:s+1,m=h;n:for(;;)if(c&&m==l[c-1].to){if(f)break;let t=l[--c];if(!i)for(let e=t.from,n=c;;){if(e==r)break n;if(n&&l[n-1].to==e)e=l[--n].from;else if(eB[e-1]==u)break n;else break}d?d.push(t):(t.to<h&&a.push(new eN(t.to,h,p)),e(n,t.direction==eA!=!(p%2)?s+1:s,o,t.inner,t.from,t.to,a),h=t.from),m=t.from}else if(m==r||(i?eB[m-1]!=u:eB[m-1]==u))break;else m--;d?t(n,m,h,s+1,o,d,a):m<h&&a.push(new eN(m,h,p)),h=m}}(t,s,o,n,r,i,l)}(e,i,i,n,0,e.length,r),r}(e.text,t,n);return this.bidiCache.push(new n_(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||X.safari&&(null==(e=this.inputState)?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{_(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return eY.of(new eQ("number"==typeof e?l.jT.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return eY.of(new eQ(l.jT.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return e3.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return e3.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=a.V.newName(),r=[nc.of(n),ti.of(ny(`.${n}`,e))];return t&&t.dark&&r.push(nf.of(!0)),r}static baseTheme(e){return l.Wl.lowest(ti.of(ny("."+nd,e,ng)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&$.get(n)||$.get(e);return(null==(t=null==r?void 0:r.rootView)?void 0:t.view)||null}}nA.styleModule=ti,nA.inputHandler=eU,nA.clipboardInputFilter=eH,nA.clipboardOutputFilter=eW,nA.scrollHandler=eJ,nA.focusChangeEffect=eV,nA.perLineTextDirection=eG,nA.exceptionSink=eq,nA.updateListener=ez,nA.editable=e0,nA.mouseSelectionStyle=ej,nA.dragMovesSelection=eR,nA.clickAddsSelectionRange=eL,nA.decorations=e4,nA.outerDecorations=e9,nA.atomicRanges=e7,nA.bidiIsolatedRanges=te,nA.scrollMargins=tn,nA.darkTheme=nf,nA.cspNonce=l.r$.define({combine:e=>e.length?e[0]:""}),nA.contentAttributes=e6,nA.editorAttributes=e8,nA.lineWrapping=nA.contentAttributes.of({class:"cm-lineWrapping"}),nA.announce=l.Py.define();let nE=4096,nS={};class n_{constructor(e,t,n,r,i,s){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=i,this.order=s}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:eC.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir!=r||t.touchesRange(s.from,s.to)||n.push(new n_(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return n}}function nO(e,t,n){for(let r=e.state.facet(t),i=r.length-1;i>=0;i--){let t=r[i],s="function"==typeof t?t(e):t;s&&eo(s,n)}return n}let nF=X.mac?"mac":X.windows?"win":X.linux?"linux":"key";function nT(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}let nP=l.Wl.default(nA.domEventHandlers({keydown:(e,t)=>{let n,r;return function(e,t,n,r){var i;nM=t;let s=("Esc"==(i=!(c&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||f&&t.shiftKey&&t.key&&1==t.key.length||"Unidentified"==t.key)&&t.key||(t.shiftKey?h:u)[t.keyCode]||t.key||"Unidentified")&&(i="Escape"),"Del"==i&&(i="Delete"),"Left"==i&&(i="ArrowLeft"),"Up"==i&&(i="ArrowUp"),"Right"==i&&(i="ArrowRight"),"Down"==i&&(i="ArrowDown"),i),o=(0,l.gm)(s,0),a=(0,l.nZ)(o)==s.length&&" "!=s,d="",p=!1,m=!1,g=!1;nB&&nB.view==n&&nB.scope==r&&(d=nB.prefix+" ",0>tO.indexOf(t.keyCode)&&(m=!0,nB=null));let y=new Set,b=e=>{if(e){for(let t of e.run)if(!y.has(t)&&(y.add(t),t(n)))return e.stopPropagation&&(g=!0),!0;e.preventDefault&&(e.stopPropagation&&(g=!0),m=!0)}return!1},v=e[r],w,k;return v&&(b(v[d+nT(s,t,!a)])?p=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(X.windows&&t.ctrlKey&&t.altKey)&&(w=u[t.keyCode])&&w!=s?b(v[d+nT(w,t,!0)])?p=!0:t.shiftKey&&(k=h[t.keyCode])!=s&&k!=w&&b(v[d+nT(k,t,!1)])&&(p=!0):a&&t.shiftKey&&b(v[d+nT(s,t,!0)])&&(p=!0),!p&&b(v._any)&&(p=!0)),m&&(p=!0),p&&g&&t.stopPropagation(),nM=null,p}((n=t.state.facet(nI),(r=nN.get(n))||nN.set(n,r=function(e,t=nF){let n=Object.create(null),r=Object.create(null),i=(e,t)=>{let n=r[e];if(null==n)r[e]=t;else if(n!=t)throw Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},s=(e,r,s,o,l)=>{var a,u;let h=n[e]||(n[e]=Object.create(null)),c=r.split(/ (?!$)/).map(e=>(function(e,t){let n,r,i,s,o=e.split(/-(?!$)/),l=o[o.length-1];"Space"==l&&(l=" ");for(let e=0;e<o.length-1;++e){let l=o[e];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))r=!0;else if(/^s(hift)?$/i.test(l))i=!0;else if(/^mod$/i.test(l))"mac"==t?s=!0:r=!0;else throw Error("Unrecognized modifier name: "+l)}return n&&(l="Alt-"+l),r&&(l="Ctrl-"+l),s&&(l="Meta-"+l),i&&(l="Shift-"+l),l})(e,t));for(let t=1;t<c.length;t++){let n=c.slice(0,t).join(" ");i(n,!0),h[n]||(h[n]={preventDefault:!0,stopPropagation:!1,run:[t=>{let r=nB={view:t,prefix:n,scope:e};return setTimeout(()=>{nB==r&&(nB=null)},4e3),!0}]})}let f=c.join(" ");i(f,!1);let d=h[f]||(h[f]={preventDefault:!1,stopPropagation:!1,run:(null==(u=null==(a=h._any)?void 0:a.run)?void 0:u.slice())||[]});s&&d.run.push(s),o&&(d.preventDefault=!0),l&&(d.stopPropagation=!0)};for(let r of e){let e=r.scope?r.scope.split(" "):["editor"];if(r.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=r;for(let t in e)e[t].run.push(e=>i(e,nM))}let i=r[t]||r.key;if(i)for(let t of e)s(t,i,r.run,r.preventDefault,r.stopPropagation),r.shift&&s(t,"Shift-"+i,r.shift,r.preventDefault,r.stopPropagation)}return n}(n.reduce((e,t)=>e.concat(t),[]))),r),e,t,"editor")}})),nI=l.r$.define({enables:nP}),nN=new WeakMap,nB=null,nM=null;class n${constructor(e,t,n,r,i){this.className=e,this.left=t,this.top=n,this.width=r,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(!n.empty)return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let r=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),s=e.textDirection==eC.LTR,o=e.contentDOM,l=o.getBoundingClientRect(),a=nL(e),u=o.querySelector(".cm-line"),h=u&&window.getComputedStyle(u),c=l.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=l.right-(h?parseInt(h.paddingRight):0),d=tg(e,r,1),p=tg(e,i,-1),m=d.type==ec.Text?d:null,g=p.type==ec.Text?p:null;if(m&&(e.lineWrapping||d.widgetLineBreaks)&&(m=nR(e,r,1,m)),g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=nR(e,i,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return b(v(n.from,n.to,m));{let t=m?v(n.from,null,m):w(d,!1),r=g?v(null,n.to,g):w(p,!0),i=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<r.top?i.push(y(c,t.bottom,f,r.top)):t.bottom<r.top&&e.elementAtHeight((t.bottom+r.top)/2).type==ec.Text&&(t.bottom=r.top=(t.bottom+r.top)/2),b(t).concat(i).concat(b(r))}function y(e,n,r,i){return new n$(t,e-a.left,n-a.top,r-e,i-n)}function b({top:e,bottom:t,horizontal:n}){let r=[];for(let i=0;i<n.length;i+=2)r.push(y(n[i],e,n[i+1],t));return r}function v(t,n,r){let i=1e9,o=-1e9,l=[];function a(t,n,a,u,h){let d=e.coordsAtPos(t,t==r.to?-2:2),p=e.coordsAtPos(a,a==r.from?2:-2);d&&p&&(i=Math.min(d.top,p.top,i),o=Math.max(d.bottom,p.bottom,o),h==eC.LTR?l.push(s&&n?c:d.left,s&&u?f:p.right):l.push(!s&&u?c:p.left,!s&&n?f:d.right))}let u=null!=t?t:r.from,h=null!=n?n:r.to;for(let r of e.visibleRanges)if(r.to>u&&r.from<h)for(let i=Math.max(r.from,u),s=Math.min(r.to,h);;){let r=e.state.doc.lineAt(i);for(let o of e.bidiSpans(r)){let e=o.from+r.from,l=o.to+r.from;if(e>=s)break;l>i&&a(Math.max(e,i),null==t&&e<=u,Math.min(l,s),null==n&&l>=h,o.dir)}if((i=r.to+1)>=s)break}return 0==l.length&&a(u,null==t,h,null==n,e.textDirection),{top:i,bottom:o,horizontal:l}}function w(e,t){let n=l.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n);{let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let i=nL(e);return[new n$(t,r.left-i.left,r.top-i.top,null,r.bottom-r.top)]}}}function nL(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==eC.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function nR(e,t,n,r){let i=e.coordsAtPos(t,2*n);if(!i)return r;let s=e.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,l=e.posAtCoords({x:s.left+1,y:o}),a=e.posAtCoords({x:s.right-1,y:o});return null==l||null==a?r:{from:Math.max(r.from,Math.min(l,a)),to:Math.min(r.to,Math.max(l,a))}}class nj{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(nq)!=e.state.facet(nq)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(nq);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>{var n;return n=this.drawn[t],!(e.constructor==n.constructor&&e.eq(n))})){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}let nq=l.r$.define();function nz(e){return[e3.define(t=>new nj(t,e)),nq.of(e)]}let nU=l.r$.define({combine:e=>(0,l.BO)(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function nV(e={}){return[nU.of(e),nW,nK,nJ,eK.of(!0)]}function nH(e){return e.startState.facet(nU)!=e.state.facet(nU)}let nW=nz({above:!0,markers(e){let{state:t}=e,n=t.facet(nU),r=[];for(let i of t.selection.ranges){let s=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=i.empty?i:l.jT.cursor(i.head,i.head>i.anchor?-1:1);for(let i of n$.forRange(e,t,n))r.push(i)}}return r},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=nH(e);return n&&nG(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){nG(t.state,e)},class:"cm-cursorLayer"});function nG(e,t){t.style.animationDuration=e.facet(nU).cursorBlinkRate+"ms"}let nK=nz({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:n$.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||nH(e),class:"cm-selectionLayer"}),nJ=l.Wl.highest(nA.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));/x/.unicode;let nQ="-10000px";class nY{constructor(e,t,n,r){this.facet=t,this.createTooltipView=n,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let r=e.state.facet(this.facet),i=r.filter(e=>e);if(r===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let s=[],o=t?[]:null;for(let n=0;n<i.length;n++){let r=i[n],l=-1;if(r){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==r.create&&(l=e)}if(l<0)s[n]=this.createTooltipView(r,n?s[n-1]:null),o&&(o[n]=!!r.above);else{let r=s[n]=this.tooltipViews[l];o&&(o[n]=t[l]),r.update&&r.update(e)}}}for(let e of this.tooltipViews)0>s.indexOf(e)&&(this.removeTooltipView(e),null==(n=e.destroy)||n.call(e));return t&&(o.forEach((e,n)=>t[n]=e),t.length=o.length),this.input=r,this.tooltips=i,this.tooltipViews=s,!0}}function nZ(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}let nX=l.r$.define({combine:e=>{var t,n,r;return{position:X.ios?"absolute":(null==(t=e.find(e=>e.position))?void 0:t.position)||"fixed",parent:(null==(n=e.find(e=>e.parent))?void 0:n.parent)||null,tooltipSpace:(null==(r=e.find(e=>e.tooltipSpace))?void 0:r.tooltipSpace)||nZ}}}),n0=new WeakMap,n1=e3.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(nX);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new nY(e,n8,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver)for(let e of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(e.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,r=e.state.facet(nX);if(r.position!=this.position&&!this.madeAbsolute){for(let e of(this.position=r.position,this.manager.tooltipViews))e.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){for(let e of(this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),r=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=nQ,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;for(let t of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))t.dom.remove(),null==(e=t.destroy)||e.call(t);this.parent&&this.container.remove(),null==(t=this.resizeObserver)||t.disconnect(),null==(n=this.intersectionObserver)||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(X.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==nQ&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=tr(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(nX).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute)for(let e of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))e.dom.style.position="absolute";let{visible:n,space:r,scaleX:i,scaleY:s}=e,o=[];for(let l=0;l<this.manager.tooltips.length;l++){let a=this.manager.tooltips[l],u=this.manager.tooltipViews[l],{dom:h}=u,c=e.pos[l],f=e.size[l];if(!c||!1!==a.clip&&(c.bottom<=Math.max(n.top,r.top)||c.top>=Math.min(n.bottom,r.bottom)||c.right<Math.max(n.left,r.left)-.1||c.left>Math.min(n.right,r.right)+.1)){h.style.top=nQ;continue}let d=a.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=7*!!d,m=f.right-f.left,g=null!=(t=n0.get(u))?t:f.bottom-f.top,y=u.offset||n5,b=this.view.textDirection==eC.LTR,v=f.width>r.right-r.left?b?r.left:r.right-f.width:b?Math.max(r.left,Math.min(c.left-14*!!d+y.x,r.right-m)):Math.min(Math.max(r.left,c.left-m+14*!!d-y.x),r.right-m),w=this.above[l];!a.strictSide&&(w?c.top-g-p-y.y<r.top:c.bottom+g+p+y.y>r.bottom)&&w==r.bottom-c.bottom>c.top-r.top&&(w=this.above[l]=!w);let k=(w?c.top-r.top:r.bottom-c.bottom)-p;if(k<g&&!1!==u.resize){if(k<this.view.defaultLineHeight){h.style.top=nQ;continue}n0.set(u,g),h.style.height=(g=k)/s+"px"}else h.style.height&&(h.style.height="");let D=w?c.top-g-p-y.y:c.bottom+p+y.y,x=v+m;if(!0!==u.overlap)for(let e of o)e.left<x&&e.right>v&&e.top<D+g&&e.bottom>D&&(D=w?e.top-g-2-p:e.bottom+p+2);if("absolute"==this.position?(h.style.top=(D-e.parent.top)/s+"px",n2(h,(v-e.parent.left)/i)):(h.style.top=D/s+"px",n2(h,v/i)),d){let e=c.left+(b?y.x:-y.x)-(v+14-7);d.style.left=e/i+"px"}!0!==u.overlap&&o.push({left:v,top:D,right:x,bottom:D+g}),h.classList.toggle("cm-tooltip-above",w),h.classList.toggle("cm-tooltip-below",!w),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView)&&(this.inView=this.view.inView,!this.inView))for(let e of this.manager.tooltipViews)e.dom.style.top=nQ}},{eventObservers:{scroll(){this.maybeMeasure()}}});function n2(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}let n3=nA.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),n5={x:0,y:0},n8=l.r$.define({enables:[n1,n3]}),n6=l.r$.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class n4{static create(e){return new n4(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new nY(e,n6,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null==(e=t.destroy)||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(void 0!==r){if(void 0===t)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}let n9=n8.compute([n6],e=>{let t=e.facet(n6);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!=(t=e.end)?t:e.pos})),create:n4.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class n7{constructor(e,t,n,r,i){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,n=e.docView.nearest(t.target);if(!n)return;let r,i=1;if(n instanceof en)r=n.posAtStart;else{if(null==(r=e.posAtCoords(t)))return;let n=e.coordsAtPos(r);if(!n||t.y<n.top||t.y>n.bottom||t.x<n.left-e.defaultCharacterWidth||t.x>n.right+e.defaultCharacterWidth)return;let s=e.bidiSpans(e.state.doc.lineAt(r)).find(e=>e.from<=r&&e.to>=r),o=s&&s.dir==eC.RTL?-1:1;i=t.x<n.left?-o:o}let s=this.source(e,r,i);if(null==s?void 0:s.then){let t=this.pending={pos:r};s.then(n=>{this.pending==t&&(this.pending=null,n&&!(Array.isArray(n)&&!n.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>eX(e.state,t,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(n1),t=e?e.manager.tooltips.findIndex(e=>e.create==n4.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:i}=this;if(r.length&&i&&!function(e,t){let{left:n,right:r,top:i,bottom:s}=e.getBoundingClientRect(),o;if(o=e.querySelector(".cm-tooltip-arrow")){let e=o.getBoundingClientRect();i=Math.min(e.top,i),s=Math.max(e.bottom,s)}return t.clientX>=n-4&&t.clientX<=r+4&&t.clientY>=i-4&&t.clientY<=s+4}(i.dom,e)||this.pending){let{pos:i}=r[0]||this.pending,s=null!=(n=null==(t=r[0])?void 0:t.end)?n:i;(i==s?this.view.posAtCoords(this.lastMove)!=i:!function(e,t,n,r,i,s){let o=e.scrollDOM.getBoundingClientRect(),l=e.documentTop+e.documentPadding.top+e.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,l)<i)return!1;let a=e.posAtCoords({x:r,y:i},!1);return a>=t&&a<=n}(this.view,i,s,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function re(e,t={}){let n=l.Py.define(),r=l.QQ.define({create:()=>[],update(e,r){if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e))),r.docChanged)){let t=[];for(let n of e){let e=r.changes.mapPos(n.pos,-1,l.gc.TrackDel);if(null!=e){let i=Object.assign(Object.create(null),n);i.pos=e,null!=i.end&&(i.end=r.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of r.effects)t.is(n)&&(e=t.value),t.is(rn)&&(e=[]);return e},provide:e=>n6.from(e)});return{active:r,extension:[r,e3.define(i=>new n7(i,e,r,n,t.hoverTime||300)),n9]}}function rt(e,t){let n=e.plugin(n1);if(!n)return null;let r=n.manager.tooltips.indexOf(t);return r<0?null:n.manager.tooltipViews[r]}let rn=l.Py.define(),rr=l.r$.define({combine(e){let t,n;for(let r of e)t=t||r.topContainer,n=n||r.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ri(e,t){let n=e.plugin(rs),r=n?n.specs.indexOf(t):-1;return r>-1?n.panels[r]:null}let rs=e3.fromClass(class{constructor(e){this.input=e.state.facet(ra),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(rr);for(let n of(this.top=new ro(e,!0,t.topContainer),this.bottom=new ro(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top)),this.panels))n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(rr);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ro(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ro(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(ra);if(n!=this.input){let t=n.filter(e=>e),r=[],i=[],s=[],o=[];for(let n of t){let t=this.specs.indexOf(n),l;t<0?(l=n(e.view),o.push(l)):(l=this.panels[t]).update&&l.update(e),r.push(l),(l.top?i:s).push(l)}for(let e of(this.specs=t,this.panels=r,this.top.sync(i),this.bottom.sync(s),o))e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>nA.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ro{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&0>e.indexOf(t)&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=rl(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=rl(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function rl(e){let t=e.nextSibling;return e.remove(),t}let ra=l.r$.define({enables:rs});class ru extends l.uU{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ru.prototype.elementClass="",ru.prototype.toDOM=void 0,ru.prototype.mapMode=l.gc.TrackBefore,ru.prototype.startSide=ru.prototype.endSide=-1,ru.prototype.point=!0;let rh=l.r$.define(),rc=l.r$.define(),rf={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>l.Xs.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},rd=l.r$.define();function rp(e){return[rg(),rd.of(Object.assign(Object.assign({},rf),e))]}let rm=l.r$.define({combine:e=>e.some(e=>e)});function rg(e){let t=[ry];return e&&!1===e.fixed&&t.push(rm.of(!0)),t}let ry=e3.fromClass(class{constructor(e){for(let t of(this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(rd).map(t=>new rk(e,t)),this.gutters))this.dom.appendChild(t.dom);this.fixed=!e.state.facet(rm),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,r=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(rm)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let n=l.Xs.iter(this.view.state.facet(rh),this.view.viewport.from),r=[],i=this.gutters.map(e=>new rw(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(e.type)){let t=!0;for(let s of e.type)if(s.type==ec.Text&&t){for(let e of(rv(n,r,s.from),i))e.line(this.view,s,r);t=!1}else if(s.widget)for(let e of i)e.widget(this.view,s)}else if(e.type==ec.Text)for(let t of(rv(n,r,e.from),i))t.line(this.view,e,r);else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(rd),n=e.state.facet(rd),r=e.docChanged||e.heightChanged||e.viewportChanged||!l.Xs.eq(e.startState.facet(rh),e.state.facet(rh),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(r=!0);else{r=!0;let i=[];for(let r of n){let n=t.indexOf(r);n<0?i.push(new rk(this.view,r)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),0>i.indexOf(e)&&e.destroy();for(let e of i)this.dom.appendChild(e.dom);this.gutters=i}return r}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>nA.scrollMargins.of(t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==eC.LTR?{left:n.dom.offsetWidth*t.scaleX}:{right:n.dom.offsetWidth*t.scaleX}:null})});function rb(e){return Array.isArray(e)?e:[e]}function rv(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class rw{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=l.Xs.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,i=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let t=new rD(e,s,i,n);r.elements.push(t),r.dom.appendChild(t.dom)}else r.elements[this.i].update(e,s,i,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];rv(this.cursor,r,t.from),n.length&&(r=r.concat(n));let i=this.gutter.config.lineMarker(e,t,r);i&&r.unshift(i);let s=this.gutter;(0!=r.length||s.config.renderEmptyElements)&&this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let n of e.state.facet(rc)){let i=n(e,t.widget,t);i&&(r||(r=[])).push(i)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class rk{constructor(e,t){for(let n in this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),t.domEventHandlers)this.dom.addEventListener(n,r=>{let i=r.target,s;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();s=(e.top+e.bottom)/2}else s=r.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[n](e,o,r)&&r.preventDefault()});this.markers=rb(t.markers(e)),t.initialSpacer&&(this.spacer=new rD(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=rb(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!l.Xs.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class rD{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),!function(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}(this.markers,r)&&this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let i=0,s=0;;){let o=s,l=i<t.length?t[i++]:null,a=!1;if(l){let e=l.elementClass;e&&(n+=" "+e);for(let e=s;e<this.markers.length;e++)if(this.markers[e].compare(l)){o=e,a=!0;break}}else o=this.markers.length;for(;s<o;){let e=this.markers[s++];if(e.toDOM){e.destroy(r);let t=r.nextSibling;r.remove(),r=t}}if(!l)break;l.toDOM&&(a?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),a&&s++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}}let rx=l.r$.define(),rC=l.r$.define(),rA=l.r$.define({combine:e=>(0,l.BO)(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let r=n[e],i=t[e];n[e]=r?(e,t,n)=>r(e,t,n)||i(e,t,n):i}return n}})});class rE extends ru{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function rS(e,t){return e.state.facet(rA).formatNumber(t,e.state)}let r_=rd.compute([rA],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(rx),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new rE(rS(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let r of e.state.facet(rC)){let i=r(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(rA)!=e.state.facet(rA),initialSpacer:e=>new rE(rS(e,rF(e.state.doc.lines))),updateSpacer(e,t){let n=rS(t.view,rF(t.view.state.doc.lines));return n==e.number?e:new rE(n)},domEventHandlers:e.facet(rA).domEventHandlers}));function rO(e={}){return[rA.of(e),rg(),r_]}function rF(e){let t=9;for(;t<e;)t=10*t+9;return t}let rT=new class extends ru{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},rP=rh.compute(["selection"],e=>{let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.head).from;i>n&&(n=i,t.push(rT.range(i)))}return l.Xs.of(t)});function rI(){return rP}},7888:function(e,t,n){"use strict";var r,i;n.d(t,{Jq:()=>c,L3:()=>s,Lj:()=>f,_b:()=>N,i9:()=>I,md:()=>a,mp:()=>m,vj:()=>r});let s=1024,o=0;class l{constructor(e,t){this.from=e,this.to=t}}class a{constructor(e={}){this.id=o++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=c.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}a.closedBy=new a({deserialize:e=>e.split(" ")}),a.openedBy=new a({deserialize:e=>e.split(" ")}),a.group=new a({deserialize:e=>e.split(" ")}),a.isolate=new a({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw RangeError("Invalid value for isolate: "+e);return e||"auto"}}),a.contextHash=new a({perNode:!0}),a.lookAhead=new a({perNode:!0}),a.mounted=new a({perNode:!0});class u{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[a.mounted.id]}}let h=Object.create(null);class c{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):h,n=!!e.top|2*!!e.skipped|4*!!e.error|8*(null==e.name),r=new c(e.name||"",t,e.id,n);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(a.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return e=>{for(let n=e.prop(a.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}}c.none=new c("",Object.create(null),0,8);class f{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let t of e){let e=t(n);e&&(r||(r=Object.assign({},n.props)),r[e[0].id]=e[1])}t.push(r?new c(n.name,r,n.id,n.flags):n)}return new f(t)}}let d=new WeakMap,p=new WeakMap;(i=r||(r={}))[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays";class m{constructor(e,t,n,r,i){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,i&&i.length)for(let[e,t]of(this.props=Object.create(null),i))this.props["number"==typeof e?e:e.id]=t}toString(){let e=u.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let n=e.toString();n&&(t&&(t+=","),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new _(this.topNode,e)}cursorAt(e,t=0,n=0){let r=new _(d.get(this)||this.topNode);return r.moveTo(e,t),d.set(this,r._tree),r}get topNode(){return new k(this,0,0,null)}resolve(e,t=0){let n=v(d.get(this)||this.topNode,e,t,!1);return d.set(this,n),n}resolveInner(e,t=0){let n=v(p.get(this)||this.topNode,e,t,!0);return p.set(this,n),n}resolveStack(e,t=0){return function(e,t,n){let r=e.resolveInner(t,n),i=null;for(let e=r instanceof k?r:r.context.parent;e;e=e.parent)if(e.index<0){let s=e.parent;(i||(i=[r])).push(s.resolve(t,n)),e=s}else{let s=u.get(e.tree);if(s&&s.overlay&&s.overlay[0].from<=t&&s.overlay[s.overlay.length-1].to>=t){let o=new k(s.tree,s.overlay[0].from+e.from,-1,e);(i||(i=[r])).push(v(o,t,n,!1))}}return i?E(i):r}(this,e,t)}iterate(e){let{enter:t,leave:n,from:i=0,to:s=this.length}=e,o=e.mode||0,l=(o&r.IncludeAnonymous)>0;for(let e=this.cursor(o|r.IncludeAnonymous);;){let r=!1;if(e.from<=s&&e.to>=i&&(!l&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(l||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:P(c.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new m(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new m(c.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:r,maxBufferLength:i=s,reused:o=[],minRepeatType:l=r.types.length}=e,u=Array.isArray(n)?new g(n,n.length):n,h=r.types,c=0,f=0;function d(e,t,n,i,s,o,l,a,u){let h=[],c=[];for(;e.length>i;)h.push(e.pop()),c.push(t.pop()+n-s);e.push(p(r.types[l],h,c,o-s,a-o,u)),t.push(s-n)}function p(e,t,n,r,i,s,o){if(s){let e=[a.contextHash,s];o=o?[e].concat(o):[e]}if(i>25){let e=[a.lookAhead,i];o=o?[e].concat(o):[e]}return new m(e,t,n,r,o)}let b=[],v=[];for(;u.pos>0;)!function e(t,n,s,g,b,v){let{id:w,start:k,end:D,size:x}=u,C=f,A=c;for(;x<0;){if(u.next(),-1==x){let e=o[w];s.push(e),g.push(k-t);return}if(-3==x){c=w;return}if(-4==x){f=w;return}else throw RangeError(`Unrecognized record size: ${x}`)}let E=h[w],S,_,O=k-t;if(D-k<=i&&(_=function(e,t){let n=u.fork(),r=0,s=0,o=0,a=n.end-i,h={size:0,start:0,skip:0};r:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){h.size=r,h.start=s,h.skip=o,o+=4,r+=4,n.next();continue}let u=n.pos-e;if(e<0||u<i||n.start<a)break;let c=4*(n.id>=l),f=n.start;for(n.next();n.pos>u;){if(n.size<0)if(-3==n.size)c+=4;else break r;else n.id>=l&&(c+=4);n.next()}s=f,r+=e,o+=c}return(t<0||r==e)&&(h.size=r,h.start=s,h.skip=o),h.size>4?h:void 0}(u.pos-n,b))){let e=new Uint16Array(_.size-_.skip),n=u.pos-_.size,i=e.length;for(;u.pos>n;)i=function e(t,n,r){let{id:i,start:s,end:o,size:a}=u;if(u.next(),a>=0&&i<l){let l=r;if(a>4){let i=u.pos-(a-4);for(;u.pos>i;)r=e(t,n,r)}n[--r]=l,n[--r]=o-t,n[--r]=s-t,n[--r]=i}else -3==a?c=i:-4==a&&(f=i);return r}(_.start,e,i);S=new y(e,D-_.start,r),O=_.start-t}else{let t=u.pos-x;u.next();let n=[],s=[],o=w>=l?w:-1,h=0,c=D;for(;u.pos>t;)o>=0&&u.id==o&&u.size>=0?(u.end<=c-i&&(d(n,s,k,h,u.end,c,o,C,A),h=n.length,c=u.end),u.next()):v>2500?function(e,t,n,s){let o=[],l=0,a=-1;for(;u.pos>t;){let{id:e,start:t,end:n,size:r}=u;if(r>4)u.next();else if(a>-1&&t<a)break;else a<0&&(a=n-i),o.push(e,t,n),l++,u.next()}if(l){let t=new Uint16Array(4*l),i=o[o.length-2];for(let e=o.length-3,n=0;e>=0;e-=3)t[n++]=o[e],t[n++]=o[e+1]-i,t[n++]=o[e+2]-i,t[n++]=n;n.push(new y(t,o[2]-i,r)),s.push(i-e)}}(k,t,n,s):e(k,t,n,s,o,v+1);if(o>=0&&h>0&&h<n.length&&d(n,s,k,h,k,c,o,C,A),n.reverse(),s.reverse(),o>-1&&h>0){let e=function(e,t){return(n,r,i)=>{let s=0,o=n.length-1,l,u;if(o>=0&&(l=n[o])instanceof m){if(!o&&l.type==e&&l.length==i)return l;(u=l.prop(a.lookAhead))&&(s=r[o]+l.length+u)}return p(e,n,r,i,s,t)}}(E,A);S=P(E,n,s,0,n.length,0,D-k,e,e)}else S=p(E,n,s,D-k,C-D,A)}s.push(S),g.push(O)}(e.start||0,e.bufferStart||0,b,v,-1,0);let w=null!=(t=e.length)?t:b.length?v[0]+b[0].length:0;return new m(h[e.topID],b.reverse(),v.reverse(),w)}(e)}}m.empty=new m(c.none,[],[],0);class g{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new g(this.buffer,this.index)}}class y{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return c.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),n==(e+=4))return i;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,n,r,i){let{buffer:s}=this,o=-1;for(let l=e;l!=t&&(!b(i,r,s[l+1],s[l+2])||(o=l,!(n>0)));l=s[l+3]);return o}slice(e,t,n){let r=this.buffer,i=new Uint16Array(t-e),s=0;for(let o=e,l=0;o<t;){i[l++]=r[o++],i[l++]=r[o++]-n;let t=i[l++]=r[o++]-n;i[l++]=r[o++]-e,s=Math.max(s,t)}return new y(i,s,this.set)}}function b(e,t,n,r){switch(e){case -2:return n<t;case -1:return r>=t&&n<t;case 0:return n<t&&r>t;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function v(e,t,n,i){for(var s;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof k&&e.index<0?null:e.parent;if(!t)return e;e=t}let o=i?0:r.IgnoreOverlays;if(i)for(let r=e,i=r.parent;i;i=(r=i).parent)r instanceof k&&r.index<0&&(null==(s=i.enter(t,n,o))?void 0:s.from)!=r.from&&(e=i);for(;;){let r=e.enter(t,n,o);if(!r)return e;e=r}}class w{cursor(e=0){return new _(this,e)}getChild(e,t=null,n=null){let r=D(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return D(this,e,t,n)}resolve(e,t=0){return v(this,e,t,!1)}resolveInner(e,t=0){return v(this,e,t,!0)}matchContext(e){return x(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(n=t,t=e.prevSibling):t=e}return n}get node(){return this}get next(){return this.parent}}class k extends w{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,i,s=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,h=t>0?l.length:-1;e!=h;e+=t){let h=l[e],c=a[e]+o.from;if(b(i,n,c,c+h.length)){if(h instanceof y){if(s&r.ExcludeBuffers)continue;let l=h.findChild(0,h.buffer.length,t,n-c,i);if(l>-1)return new A(new C(o,h,e,c),null,l)}else if(s&r.IncludeAnonymous||!h.type.isAnonymous||O(h)){let l;if(!(s&r.IgnoreMounts)&&(l=u.get(h))&&!l.overlay)return new k(l.tree,c,e,o);let a=new k(h,c,e,o);return s&r.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?h.children.length-1:0,t,n,i)}}}if(s&r.IncludeAnonymous||!o.type.isAnonymous||(e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length,!(o=o._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let i;if(!(n&r.IgnoreOverlays)&&(i=u.get(this._tree))&&i.overlay){let n=e-this.from;for(let{from:e,to:r}of i.overlay)if((t>0?e<=n:e<n)&&(t<0?r>=n:r>n))return new k(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function D(e,t,n,r){let i=e.cursor(),s=[];if(!i.firstChild())return s;if(null!=n){for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return s}for(;;){if(null!=r&&i.type.is(r))return s;if(i.type.is(t)&&s.push(i.node),!i.nextSibling())return null==r?s:[]}}function x(e,t,n=t.length-1){for(let r=e;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}class C{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}}class A extends w{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new A(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&r.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new A(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new A(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new A(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let s=n.buffer[this.index+1];e.push(n.slice(r,i,s)),t.push(0)}return new m(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function E(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let i=e[r];(i.from>n.from||i.to<n.to)&&(n=i,t=r)}let r=n instanceof k&&n.index<0?null:n.parent,i=e.slice();return r?i[t]=r:i.splice(t,1),new S(i,n)}class S{constructor(e,t){this.heads=e,this.node=t}get next(){return E(this.heads)}}class _{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof k)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return!!e&&(e instanceof k?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return!(i<0)&&(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?!(n&r.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&r.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&r.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=i)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let i=t+e,s=e<0?-1:n._tree.children.length;i!=s;i+=e){let e=n._tree.children[i];if(this.mode&r.IncludeAnonymous||e instanceof y||!e.type.isAnonymous||O(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)r:for(let r=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,n=i+1;break r}r=this.stack[--i]}for(let e=n;e<this.stack.length;e++)t=new A(this.buffer,t,this.stack[e]);return this.bufferNode=new A(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return x(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return x(this._tree,e,r);let s=n[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}}function O(e){return e.children.some(e=>e instanceof y||!e.type.isAnonymous||O(e))}let F=new WeakMap;function T(e,t){if(!e.isAnonymous||t instanceof y||t.type!=e)return 1;let n=F.get(t);if(null==n){for(let r of(n=1,t.children)){if(r.type!=e||!(r instanceof m)){n=1;break}n+=T(e,r)}F.set(t,n)}return n}function P(e,t,n,r,i,s,o,l,a){let u=0;for(let n=r;n<i;n++)u+=T(e,t[n]);let h=Math.ceil(1.5*u/8),c=[],f=[];return!function t(n,r,i,o,l){for(let u=i;u<o;){let i=u,d=r[u],p=T(e,n[u]);for(u++;u<o;u++){let t=T(e,n[u]);if(p+t>=h)break;p+=t}if(u==i+1){if(p>h){let e=n[i];t(e.children,e.positions,0,e.children.length,r[i]+l);continue}c.push(n[i])}else{let t=r[u-1]+n[u-1].length-d;c.push(P(e,n,r,i,u,d,t,null,a))}f.push(d+l-s)}}(t,n,r,i,0),(l||a)(c,f,o)}class I{constructor(e,t,n,r,i=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=!!i|2*!!s}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let r=[new I(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],i=1,s=e.length?e[0]:null;for(let o=0,l=0,a=0;;o++){let u=o<t.length?t[o]:null,h=u?u.fromA:1e9;if(h-l>=n)for(;s&&s.from<h;){let t=s;if(l>=t.from||h<=t.to||a){let e=Math.max(t.from,l)-a,n=Math.min(t.to,h)-a;t=e>=n?null:new I(e,n,t.tree,t.offset+a,o>0,!!u)}if(t&&r.push(t),s.to>h)break;s=i<e.length?e[i++]:null}if(!u)break;l=u.toA,a=u.toA-u.toB}return r}}class N{startParse(e,t,n){return"string"==typeof e&&(e=new B(e)),n=n?n.length?n.map(e=>new l(e.from,e.to)):[new l(0,0)]:[new l(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}}class B{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new a({perNode:!0})},42367:function(e,t,n){"use strict";n.d(t,{Gv:()=>a,QR:()=>c,bW:()=>f,pJ:()=>O});var r=n(7888);let i=0;class s{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=i++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){if(e instanceof s&&(t=e),null==t?void 0:t.base)throw Error("Can not derive from a modified tag");let n=new s("string"==typeof e?e:"?",[],null,[]);if(n.set.push(n),t)for(let e of t.set)n.set.push(e);return n}static defineModifier(e){let t=new l(e);return e=>e.modified.indexOf(t)>-1?e:l.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}}let o=0;class l{constructor(e){this.name=e,this.instances=[],this.id=o++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>{var r,i;return n.base==e&&(r=t,i=n.modified,r.length==i.length&&r.every((e,t)=>e==i[t]))});if(n)return n;let r=[],i=new s(e.name,r,e,t);for(let e of t)e.instances.push(i);let o=function(e){let t=[[]];for(let n=0;n<e.length;n++)for(let r=0,i=t.length;r<i;r++)t.push(t[r].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of o)r.push(l.get(t,e));return i}}function a(e){let t=Object.create(null);for(let n in e){let r=e[n];for(let e of(Array.isArray(r)||(r=[r]),n.split(" ")))if(e){let n=[],i=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!r)throw RangeError("Invalid path: "+e);if(n.push("*"==r[0]?"":'"'==r[0][0]?JSON.parse(r[0]):r[0]),(t+=r[0].length)==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){i=0;break}if("/"!=o)throw RangeError("Invalid path: "+e);s=e.slice(t)}let o=n.length-1,l=n[o];if(!l)throw RangeError("Invalid path: "+e);let a=new h(r,i,o>0?n.slice(0,o):null);t[l]=a.sort(t[l])}}return u.add(t)}let u=new r.md;class h{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function c(e,t){let n=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)n[e.id]=t.class;else n[t.tag.id]=t.class;let{scope:r,all:i=null}=t||{};return{style:e=>{let t=i;for(let r of e)for(let e of r.set){let r=n[e.id];if(r){t=t?t+" "+r:r;break}}return t},scope:r}}function f(e,t,n,r=0,i=e.length){let s=new d(r,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),r,i,"",s.highlighters),s.flush(i)}h.empty=new h([],2,null);class d{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,i,s){let{type:o,from:l,to:a}=e;if(l>=n||a<=t)return;o.isTop&&(s=this.highlighters.filter(e=>!e.scope||e.scope(o)));let c=i,f=function(e){let t=e.type.prop(u);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||h.empty,d=function(e,t){let n=null;for(let r of e){let e=r.style(t);e&&(n=n?n+" "+e:e)}return n}(s,f.tags);if(d&&(c&&(c+=" "),c+=d,1==f.mode&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(t,l),c),f.opaque)return;let p=e.tree&&e.tree.prop(r.md.mounted);if(p&&p.overlay){let r=e.node.enter(p.overlay[0].from+l,1),o=this.highlighters.filter(e=>!e.scope||e.scope(p.tree.type)),u=e.firstChild();for(let h=0,f=l;;h++){let d=h<p.overlay.length?p.overlay[h]:null,m=d?d.from+l:a,g=Math.max(t,f),y=Math.min(n,m);if(g<y&&u)for(;e.from<y&&(this.highlightRange(e,g,y,i,s),this.startSpan(Math.min(y,e.to),c),!(e.to>=m)&&e.nextSibling()););if(!d||m>n)break;(f=d.to+l)>t&&(this.highlightRange(r.cursor(),Math.max(t,d.from+l),Math.min(n,f),"",o),this.startSpan(Math.min(n,f),c))}u&&e.parent()}else if(e.firstChild()){p&&(i="");do{if(e.to<=t)continue;if(e.from>=n)break;this.highlightRange(e,t,n,i,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}}let p=s.define,m=p(),g=p(),y=p(g),b=p(g),v=p(),w=p(v),k=p(v),D=p(),x=p(D),C=p(),A=p(),E=p(),S=p(E),_=p(),O={comment:m,lineComment:p(m),blockComment:p(m),docComment:p(m),name:g,variableName:p(g),typeName:y,tagName:p(y),propertyName:b,attributeName:p(b),className:p(g),labelName:p(g),namespace:p(g),macroName:p(g),literal:v,string:w,docString:p(w),character:p(w),attributeValue:p(w),number:k,integer:p(k),float:p(k),bool:p(v),regexp:p(v),escape:p(v),color:p(v),url:p(v),keyword:C,self:p(C),null:p(C),atom:p(C),unit:p(C),modifier:p(C),operatorKeyword:p(C),controlKeyword:p(C),definitionKeyword:p(C),moduleKeyword:p(C),operator:A,derefOperator:p(A),arithmeticOperator:p(A),logicOperator:p(A),bitwiseOperator:p(A),compareOperator:p(A),updateOperator:p(A),definitionOperator:p(A),typeOperator:p(A),controlOperator:p(A),punctuation:E,separator:p(E),bracket:S,angleBracket:p(S),squareBracket:p(S),paren:p(S),brace:p(S),content:D,heading:x,heading1:p(x),heading2:p(x),heading3:p(x),heading4:p(x),heading5:p(x),heading6:p(x),contentSeparator:p(D),list:p(D),quote:p(D),emphasis:p(D),strong:p(D),link:p(D),monospace:p(D),strikethrough:p(D),inserted:p(),deleted:p(),changed:p(),invalid:p(),meta:_,documentMeta:p(_),annotation:p(_),processingInstruction:p(_),definition:s.defineModifier("definition"),constant:s.defineModifier("constant"),function:s.defineModifier("function"),standard:s.defineModifier("standard"),local:s.defineModifier("local"),special:s.defineModifier("special")};for(let e in O){let t=O[e];t instanceof s&&(t.name=e)}c([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}])},21372:function(e,t,n){"use strict";let r,i,s,o,l;n.d(t,{ov:()=>eh,fB:()=>cK});var a,u,h,c,f,d,p,m,g,y,b,v,w,k,D,x,C,A,E={};n.r(E),n.d(E,{decode:()=>n5,encode:()=>n4,format:()=>n9,parse:()=>ru});var S={};n.r(S),n.d(S,{Any:()=>rf,Cc:()=>rd,Cf:()=>rp,P:()=>rh,S:()=>rc,Z:()=>rm});var _={};n.r(_),n.d(_,{arrayReplaceAt:()=>rT,assign:()=>rF,escapeHtml:()=>rU,escapeRE:()=>rH,fromCodePoint:()=>rI,has:()=>rO,isMdAsciiPunct:()=>rJ,isPunctChar:()=>rK,isSpace:()=>rW,isString:()=>rS,isValidEntityCode:()=>rP,isWhiteSpace:()=>rG,lib:()=>rY,normalizeReference:()=>rQ,unescapeAll:()=>rL,unescapeMd:()=>r$});var O={};n.r(O),n.d(O,{parseLinkDestination:()=>rX,parseLinkLabel:()=>rZ,parseLinkTitle:()=>r0});var F={};n.r(F),n.d(F,{boolean:()=>oE,booleanish:()=>oS,commaOrSpaceSeparated:()=>oP,commaSeparated:()=>oT,number:()=>oO,overloadedBoolean:()=>o_,spaceSeparated:()=>oF});var T={};n.r(T),n.d(T,{BOM:()=>hL,DOCUMENT:()=>hR,FLOW_END:()=>hj,SCALAR:()=>hq,createScalarToken:()=>hS,isCollection:()=>hz,isScalar:()=>hU,prettyToken:()=>hV,resolveAsScalar:()=>hE,setScalarValue:()=>h_,stringify:()=>hT,tokenType:()=>hH,visit:()=>h$});var P={};n.r(P),n.d(P,{Alias:()=>aH,CST:()=>T,Composer:()=>hA,Document:()=>he,Lexer:()=>hZ,LineCounter:()=>hX,Pair:()=>uf,Parser:()=>h6,Scalar:()=>aG,Schema:()=>u7,YAMLError:()=>hn,YAMLMap:()=>ug,YAMLParseError:()=>hr,YAMLSeq:()=>ub,YAMLWarning:()=>hi,isAlias:()=>ay,isCollection:()=>ax,isDocument:()=>ab,isMap:()=>av,isNode:()=>aC,isPair:()=>aw,isScalar:()=>ak,isSeq:()=>aD,parse:()=>ce,parseAllDocuments:()=>h9,parseDocument:()=>h7,stringify:()=>ct,visit:()=>aO,visitAsync:()=>aT});var I=n(54250),N=n(85237),B=n(79640);B.setLevel("silent");let M={STRING:"String",NUMBER:"Number",TRUE:"True",FALSE:"False",NULL:"Null",OBJECT:"Object",ARRAY:"Array",PROPERTY:"Property",PROPERTY_NAME:"PropertyName",PROPERTY_COLON:"PropertyColon",ITEM:"Item",JSON_TEXT:"JsonText",INVALID:"⚠"},$={Pair:M.PROPERTY,Key:M.PROPERTY_NAME,BlockSequence:M.ARRAY,BlockMapping:M.OBJECT,FlowSequence:M.ARRAY,FlowMapping:M.OBJECT,QuotedLiteral:M.STRING,Literal:M.STRING,Stream:M.JSON_TEXT,Document:M.OBJECT},L={File:M.JSON_TEXT},R=[M.STRING,M.NUMBER,M.TRUE,M.FALSE,M.NULL],j=[M.OBJECT,M.ARRAY,M.ITEM],q={JSON5:"json5",JSON:"json4",YAML:"yaml"},z=(e,t)=>{var n,r;switch(t){case q.YAML:return null!=(n=$[e])?n:e;case q.JSON5:return null!=(r=L[e])?r:e;default:return e}};function U(e,t,n){let r=[];for(let i=t;null==i?void 0:i.parent;i=i.parent)switch(z(i.parent.name,n)){case M.PROPERTY:{let t=en(i.parent,M.PROPERTY_NAME,n);if(t){let n=J(e,t).replace(/[/~]/g,e=>"~"===e?"~0":"~1");r.unshift(n)}break}case M.ARRAY:if(Z(i,n)){let e=es(i.parent,i,n);r.unshift(`${e}`)}}return 0===r.length?"":"/"+r.join("/")}let V=(e,t,n=-1,r)=>U(e.doc,(0,N.qz)(e).resolve(t,n),r),H=(e,t)=>{let n=(0,N.qz)(e),r=new Map;return n.iterate({enter:n=>{var i,s,o,l,a,u,h,c;if([M.PROPERTY_NAME,M.OBJECT].includes(z(n.name,t))){let f=U(e.doc,n.node,t),{from:d,to:p}=n.node;if(!(null==(s=null==(i=n.node)?void 0:i.nextSibling)?void 0:s.node))return r.set(f,{keyFrom:d,keyTo:p}),!0;let m=t===q.JSON?null==(l=null==(o=n.node)?void 0:o.nextSibling)?void 0:l.node:null==(c=null==(h=null==(u=null==(a=n.node)?void 0:a.nextSibling)?void 0:u.node)?void 0:h.nextSibling)?void 0:c.node;if(!m)return r.set(f,{keyFrom:d,keyTo:p}),!0;let{from:g,to:y}=m;return r.set(f,{keyFrom:d,keyTo:p,valueFrom:g,valueTo:y}),!0}}}),r},W=(e,t,n=-1)=>(0,N.qz)(e).resolveInner(t,n),G=e=>e.replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1"),K=e=>e.replace(/^"(.*)"$/,"'$1'"),J=(e,t,n=!0,r=!0)=>{let i=t?e.sliceString(t.from,t.to):"";return n?r?G(i):i.replace(/(^["'])|(["']$)/g,""):i},Q=(e,t)=>{var n,r,i,s;return z(e.name,t)===M.INVALID&&(z(null!=(r=null==(n=e.prevSibling)?void 0:n.name)?r:"",t)===M.PROPERTY_NAME||z(null!=(s=null==(i=e.prevSibling)?void 0:i.name)?s:"",t)===M.PROPERTY_COLON)},Y=(e,t)=>R.includes(z(e.name,t))||Q(e,t),Z=(e,t)=>[...R,...j].includes(z(e.name,t))||Q(e,t),X=(e,t)=>{var n,r,i,s,o,l;return z(e.name,t)===M.PROPERTY_NAME||z(e.name,t)===M.INVALID&&(z(null!=(r=null==(n=e.prevSibling)?void 0:n.name)?r:"",t)===M.PROPERTY||"{"===z(null!=(s=null==(i=e.prevSibling)?void 0:i.name)?s:"",t))||t===q.YAML&&z(null!=(l=null==(o=e.parent)?void 0:o.name)?l:"",t)===M.OBJECT},ee=e=>{let t=[],n=e.firstChild;for(;n;)n&&t.push(n),n=null==n?void 0:n.nextSibling;return t},et=(e,t,n)=>ee(e).filter(e=>z(e.name,n)===t),en=(e,t,n)=>{var r;return null!=(r=ee(e).find(e=>z(e.name,n)===t))?r:null},er=(e,t)=>ee(e).find(e=>Y(e,t)),ei=(e,t)=>ee(e).filter(e=>R.includes(z(e.name,t))||j.includes(z(e.name,t))),es=(e,t,n)=>ei(e,n).findIndex(e=>e.from===t.from&&e.to===t.to),eo=(e,t,n,r=1/0)=>{let i=e;for(;i&&r>0;){if(z(i.name,n)===t)return i;i=i.parent,r--}return null};var el=n(35740);let ea=el.Py.define(),eu=el.QQ.define({create(){},update(e,t){for(let e of t.effects)if(e.is(ea))return e.value;return e}}),eh=(e,t)=>{e.dispatch({effects:ea.of(t)})},ec=e=>e.field(eu),ef=e=>[eu.init(()=>e)],ed={AdditionalItemsError:"Array at `{{pointer}}` may not have an additional item `{{key}}`",AdditionalPropertiesError:"Additional property `{{property}}` on `{{pointer}}` does not match schema `{{schema}}`",AllOfError:"Value `{{value}}` at `{{pointer}}` does not match schema of `{{allOf}}`",AnyOfError:"Value `{{value}}` at `{{pointer}}` does not match any schema of `{{anyOf}}`",ConstError:"Expected value at `{{pointer}}` to be `{{expected}}`, but value given is `{{value}}`",containsAnyError:"The array at `{{pointer}}` must contain at least one item",ContainsArrayError:"The property at `{{pointer}}` must not be an array",ContainsError:"The array at `{{pointer}}` must contain an element that matches `{{schema}}`",EnumError:"Expected given value `{{value}}` in `{{pointer}}` to be one of `{{values}}`",ForbiddenPropertyError:"Property name `{{property}}` at `{{pointer}}` is not allowed",FormatDateError:"Value `{{value}}` at `{{pointer}}` is not a valid date",FormatDateTimeError:"Value `{{value}}` at `{{pointer}}` is not a valid date-time",FormatEmailError:"Value `{{value}}` at `{{pointer}}` is not a valid email",FormatHostnameError:"Value `{{value}}` at `{{pointer}}` is not a valid hostname",FormatIPV4Error:"Value `{{value}}` at `{{pointer}}` is not a valid IPv4 address",FormatIPV4LeadingZeroError:"IPv4 addresses starting with zero are invalid, since they are interpreted as octals",FormatIPV6Error:"Value `{{value}}` at `{{pointer}}` is not a valid IPv6 address",FormatIPV6LeadingZeroError:"IPv6 addresses starting with zero are invalid, since they are interpreted as octals",FormatJsonPointerError:"Value `{{value}}` at `{{pointer}}` is not a valid json-pointer",FormatRegExError:"Value `{{value}}` at `{{pointer}}` is not a valid regular expression",FormatTimeError:"Value `{{value}}` at `{{pointer}}` is not a valid time",FormatURIError:"Value `{{value}}` at `{{pointer}}` is not a valid uri",FormatURIReferenceError:"Value `{{value}}` at `{{pointer}}` is not a valid uri-reference",FormatURITemplateError:"Value `{{value}}` at `{{pointer}}` is not a valid uri-template",FormatURLError:"Value `{{value}}` at `{{pointer}}` is not a valid url",InvalidDataError:"No value may be specified in `{{pointer}}`",InvalidPropertyNameError:"Invalid property name `{{property}}` at `{{pointer}}`",MaximumError:"Value in `{{pointer}}` is `{{length}}`, but should be `{{maximum}}` at maximum",MaxItemsError:"Too many items in `{{pointer}}`, should be `{{maximum}}` at most, but got `{{length}}`",MaxLengthError:"Value `{{pointer}}` should have a maximum length of `{{maxLength}}`, but got `{{length}}`.",MaxPropertiesError:"Too many properties in `{{pointer}}`, should be `{{maximum}}` at most, but got `{{length}}`",MinimumError:"Value in `{{pointer}}` is `{{length}}`, but should be `{{minimum}}` at minimum",MinItemsError:"Too few items in `{{pointer}}`, should be at least `{{minItems}}`, but got `{{length}}`",MinItemsOneError:"At least one item is required in `{{pointer}}`",MinLengthError:"Value `{{pointer}}` should have a minimum length of `{{minLength}}`, but got `{{length}}`.",MinLengthOneError:"A value is required in `{{pointer}}`",MinPropertiesError:"Too few properties in `{{pointer}}`, should be at least `{{minimum}}`, but got `{{length}}`",MissingDependencyError:"The required propery '{{missingProperty}}' in `{{pointer}}` is missing",MissingOneOfPropertyError:"Value at `{{pointer}}` property: `{{property}}`",MultipleOfError:"Expected `{{value}}` in `{{pointer}}` to be multiple of `{{multipleOf}}`",MultipleOneOfError:"Value `{{value}}` should not match multiple schemas in oneOf `{{matches}}`",NoAdditionalPropertiesError:"Additional property `{{property}}` in `{{pointer}}` is not allowed",NotError:"Value `{{value}}` at pointer should not match schema `{{not}}`",OneOfError:"Value `{{value}}` in `{{pointer}}` does not match any given oneof schema",OneOfPropertyError:"Failed finding a matching oneOfProperty schema in `{{pointer}}` where `{{property}}` matches `{{value}}`",PatternError:"Value in `{{pointer}}` should match `{{description}}`, but received `{{received}}`",PatternPropertiesError:"Property `{{key}}` does not match any patterns in `{{pointer}}`. Valid patterns are: {{patterns}}",RequiredPropertyError:"The required property `{{key}}` is missing at `{{pointer}}`",SchemaWarning:"Failed retrieving a schema from '{{pointer}}' to key '{{key}}'",TypeError:"Expected `{{value}}` ({{received}}) in `{{pointer}}` to be of type `{{expected}}`",UndefinedValueError:"Value must not be undefined in `{{pointer}}`",UniqueItemsError:"Items in array must be unique. Value `{{value}}` in `{{pointer}}` is a duplicate of {{duplicatePointer}}.",UnknownPropertyError:"Could not find a valid schema for property `{{pointer}}` within object",ValueNotEmptyError:"A value for `{{property}}` is required at `{{pointer}}`"},ep=Object.prototype.toString;function em(e){let t=ep.call(e).match(/\s([^\]]+)\]/).pop().toLowerCase();return"file"===t?"object":t}function eg(e,t){return{type:"error",name:e,code:e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),message:function(e,t,n=e){var r;return function(e,t={}){return e.replace(/\{\{\w+\}\}/g,e=>{let n=t[e.replace(/[{}]/g,"")],r=em(n);return"object"===r||"array"===r?JSON.stringify(n):n})}(null!=(r=ed[e])?r:n,t)}(e,t),data:t}}function ey(e){return eg.bind(null,e)}function eb(e,t=[]){for(let n=0;n<e.length;n+=1){let r=e[n];Array.isArray(r)?eb(r,t):t.push(r)}return t}let ev={DECLARATOR_ONEOF:"oneOfProperty",GET_TEMPLATE_RECURSION_LIMIT:1,propertyBlacklist:["_id"],templateDefaultOptions:{addOptionalProps:!1,removeInvalidData:!1,extendDefaults:!0}};function ew(e,t,n){let r={...t};return Object.defineProperty(r,"getOneOfOrigin",{enumerable:!1,value:()=>({index:n,schema:e})}),r}function ek(e){return(null==e?void 0:e.type)==="error"}function eD(e){return ek(e)||e instanceof Promise}let{DECLARATOR_ONEOF:ex}=ev;function eC(e,t,n=e.rootSchema,r="#"){if(null!=t&&n[ex]){let i=[],s=n[ex],o=t[n[ex]];if(void 0===o)return e.errors.missingOneOfPropertyError({property:s,pointer:r,schema:n,value:t});for(let l=0;l<n.oneOf.length;l+=1){let a=e.resolveRef(n.oneOf[l]),u=e.step(s,a,t,r);if(ek(u))return u;let h=eb(e.validate(o,u,r));if(!((h=h.filter(eD)).length>0))return ew(n,a,l);i.push(...h)}return e.errors.oneOfPropertyError({property:s,value:o,pointer:r,schema:n,errors:i})}let i=[],s=[];for(let o=0;o<n.oneOf.length;o+=1){let l=e.resolveRef(n.oneOf[o]),a=eb(e.validate(t,l,r));(a=a.filter(eD)).length>0?s.push(...a):i.push({index:o,schema:l})}return 1===i.length?ew(n,i[0].schema,i[0].index):i.length>1?e.errors.multipleOneOfError({value:t,pointer:r,schema:n,matches:i}):e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf,errors:s})}function eA(e,t,n=e.rootSchema,r="#"){if(null!=t&&n[ex]){let i=[],s=n[ex],o=t[n[ex]];if(void 0===o)return e.errors.missingOneOfPropertyError({property:s,pointer:r,schema:n,value:t});for(let l=0;l<n.oneOf.length;l+=1){let a=e.resolveRef(n.oneOf[l]),u=e.step(s,a,t,r);if(ek(u))return u;let h=eb(e.validate(o,u,r));if(!((h=h.filter(eD)).length>0))return ew(n,a,l);i.push(...h)}return e.errors.oneOfPropertyError({property:s,value:o,pointer:r,schema:n,errors:i})}let i=[];for(let s=0;s<n.oneOf.length;s+=1){let o=e.resolveRef(n.oneOf[s]);e.isValid(t,o,r)&&i.push({schema:o,index:s})}if(1===i.length)return ew(n,i[0].schema,i[0].index);if("object"===em(t)){let i,s=-1,o=0;for(let r=0;r<n.oneOf.length;r+=1){let l=e.resolveRef(n.oneOf[r]),a=function(e,t,n,r){if(null==n||null==t.properties)return -1;let i=0,s=Object.keys(t.properties);for(let r=0;r<s.length;r+=1){let o=s[r];null!=n[o]&&e.isValid(n[o],t.properties[o],void 0)&&(i+=1)}return i}(e,l,t);o<a&&(o=a,i=n.oneOf[r],s=r)}return void 0===i?e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf}):ew(n,i,s)}return i.length>1?e.errors.multipleOneOfError({matches:i,pointer:r,schema:n,value:t}):e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf})}var eE=n(39714),eS=n.n(eE);let e_=(e,t)=>t,eO=(e,t)=>eS()(e,t,{arrayMerge:e_}),eF=(e,t)=>{let n=e.concat(t);return n.filter((e,t)=>n.indexOf(e)===t)},eT=(e,t)=>eS()(e,t,{arrayMerge:eF});function eP(e,t){if(em(e)!==em(t))return e;let n=eT(e,t);return e.getOneOfOrigin?Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:e.getOneOfOrigin}):t.getOneOfOrigin&&Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:t.getOneOfOrigin}),n}function eI(e,...t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),e.getOneOfOrigin&&Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:e.getOneOfOrigin}),n}var eN=Function.prototype.toString,eB=Object.create,eM=Object.prototype.toString,e$=function(){function e(){this._keys=[],this._values=[]}return e.prototype.has=function(e){return!!~this._keys.indexOf(e)},e.prototype.get=function(e){return this._values[this._keys.indexOf(e)]},e.prototype.set=function(e,t){this._keys.push(e),this._values.push(t)},e}(),eL="undefined"!=typeof WeakMap?function(){return new WeakMap}:function(){return new e$};function eR(e){if(!e)return eB(null);var t=e.constructor;if(t===Object)return e===Object.prototype?{}:eB(e);if(t&&~eN.call(t).indexOf("[native code]"))try{return new t}catch(e){}return eB(e)}var ej="g"===/test/g.flags?function(e){return e.flags}:function(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t};function eq(e){var t=eM.call(e);return t.substring(8,t.length-1)}var ez="undefined"!=typeof Symbol?function(e){return e[Symbol.toStringTag]||eq(e)}:eq,eU=Object.defineProperty,eV=Object.getOwnPropertyDescriptor,eH=Object.getOwnPropertyNames,eW=Object.getOwnPropertySymbols,eG=Object.prototype,eK=eG.hasOwnProperty,eJ=eG.propertyIsEnumerable,eQ="function"==typeof eW,eY=eQ?function(e){return eH(e).concat(eW(e))}:eH;function eZ(e,t,n){for(var r=eY(e),i=0,s=r.length,o=void 0,l=void 0;i<s;++i)if("callee"!==(o=r[i])&&"caller"!==o){if(!(l=eV(e,o))){t[o]=n.copier(e[o],n);continue}l.get||l.set||(l.value=n.copier(l.value,n));try{eU(t,o,l)}catch(e){t[o]=l.value}}return t}function eX(e,t){return e.slice(0)}function e0(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e,r){n.set(r,t.copier(e,t))}),n}function e1(e,t){return new t.Constructor(e.valueOf())}function e2(e,t){return e}function e3(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e){n.add(t.copier(e,t))}),n}var e5=Array.isArray,e8=Object.assign,e6=Object.getPrototypeOf||function(e){return e.__proto__},e4={array:function(e,t){var n=new t.Constructor;t.cache.set(e,n);for(var r=0,i=e.length;r<i;++r)n[r]=t.copier(e[r],t);return n},arrayBuffer:eX,blob:function(e,t){return e.slice(0,e.size,e.type)},dataView:function(e,t){return new t.Constructor(eX(e.buffer))},date:function(e,t){return new t.Constructor(e.getTime())},error:e2,map:e0,object:eQ?function(e,t){var n=eR(t.prototype);for(var r in t.cache.set(e,n),e)eK.call(e,r)&&(n[r]=t.copier(e[r],t));for(var i=eW(e),s=0,o=i.length,l=void 0;s<o;++s)l=i[s],eJ.call(e,l)&&(n[l]=t.copier(e[l],t));return n}:function(e,t){var n=eR(t.prototype);for(var r in t.cache.set(e,n),e)eK.call(e,r)&&(n[r]=t.copier(e[r],t));return n},regExp:function(e,t){var n=new t.Constructor(e.source,ej(e));return n.lastIndex=e.lastIndex,n},set:e3},e9=e8({},e4,{array:function(e,t){var n=new t.Constructor;return t.cache.set(e,n),eZ(e,n,t)},map:function(e,t){return eZ(e,e0(e,t),t)},object:function(e,t){var n=eR(t.prototype);return t.cache.set(e,n),eZ(e,n,t)},set:function(e,t){return eZ(e,e3(e,t),t)}});function e7(e){var t,n={Arguments:(t=e8({},e4,e)).object,Array:t.array,ArrayBuffer:t.arrayBuffer,Blob:t.blob,Boolean:e1,DataView:t.dataView,Date:t.date,Error:t.error,Float32Array:t.arrayBuffer,Float64Array:t.arrayBuffer,Int8Array:t.arrayBuffer,Int16Array:t.arrayBuffer,Int32Array:t.arrayBuffer,Map:t.map,Number:e1,Object:t.object,Promise:e2,RegExp:t.regExp,Set:t.set,String:e1,WeakMap:e2,WeakSet:e2,Uint8Array:t.arrayBuffer,Uint8ClampedArray:t.arrayBuffer,Uint16Array:t.arrayBuffer,Uint32Array:t.arrayBuffer,Uint64Array:t.arrayBuffer},r=n.Array,i=n.Object;function s(e,t){if(t.prototype=t.Constructor=void 0,!e||"object"!=typeof e)return e;if(t.cache.has(e))return t.cache.get(e);if(t.prototype=e6(e),t.Constructor=t.prototype&&t.prototype.constructor,!t.Constructor||t.Constructor===Object)return i(e,t);if(e5(e))return r(e,t);var s=n[ez(e)];return s?s(e,t):"function"==typeof e.then?e:i(e,t)}return function(e){return s(e,{Constructor:void 0,cache:eL(),copier:s,prototype:void 0})}}e7(e8({},e9,{}));var te=e7({});function tt(e,t,n){if(null!=t.if){if(!1===t.if)return t.else;if(t.if&&(t.then||t.else)){let r=e.validate(n,e.resolveRef(t.if));if(0===r.length&&t.then)return e.resolveRef(t.then);if(0!==r.length&&t.else)return e.resolveRef(t.else)}}}function tn(e,t,n){var r;let i={...null!=(r=e.resolveRef(t))?r:{}},s=tt(e,i,n);return s||eI(i,"if","then","else")}function tr(e,t,n=e.rootSchema){let r=te(n);for(let i=0;i<n.allOf.length;i+=1)r=eP(r,tn(e,n.allOf[i],t));return delete r.allOf,r}function ti(e,t){let{allOf:n}=t;if(!Array.isArray(n)||0===n.length)return;let r={};return n.forEach(t=>{r=eP(r,e.resolveRef(t))}),r}function ts(e){return"object"===em(e)}function to(e,t,n){let{dependencies:r}=t;if(!ts(r)||!ts(n))return;let i=!1,s={required:[]};if(Object.keys(r).forEach(o=>{var l,a;if(null==n[o]&&!((null==(l=t.required)?void 0:l.includes(o))||(null==(a=s.required)?void 0:a.includes(o))))return;let u=r[o];if(Array.isArray(u)){i=!0,s.required.push(...u);return}if(ts(u)){i=!0,s=eP(s,e.resolveRef(u));return}}),i){var o;return s.required=(o=s.required).filter((e,t)=>o.indexOf(e)===t),s}}function tl(e,t,n){let r;if(Array.isArray(t.anyOf)&&0!==t.anyOf.length)return t.anyOf.forEach(t=>{t=e.resolveRef(t),e.isValid(n,t)&&(r=r?eP(r,t):t)}),r}function ta(e,t,n=e.rootSchema,r="#"){let{anyOf:i}=n;if(!Array.isArray(i)||0===i.length)return n;let s=tl(e,n,t);return null==s?e.errors.anyOfError({pointer:r,schema:n,value:t,anyOf:JSON.stringify(i)}):eI(eP(n,s),"anyOf")}let tu=["allOf","anyOf","oneOf","dependencies","if","then","else"],th=["allOf","anyOf","oneOf","dependencies","if"],tc=["allOf","anyOf","oneOf","dependencies","if","then","else"];function tf(e,t,n,r){let i=function e(t,n,r,i){let s,o;if((n=t.resolveRef(n)).oneOf){let e=eA(t,r,n,i);ek(e)?o=e:e&&(s=eP(null!=s?s:{},e))}if(Array.isArray(n.allOf)){let o=n.allOf.map(n=>{if(function(e){let t=Object.keys(e);return -1!==th.findIndex(e=>t.includes(e))}(n)){let s=e(t,n,r,i);return s?eI(s=eP(n,s),...tu):void 0}return n});o.length>0&&(s=eP(null!=s?s:{},ti(t,{allOf:o})))}let l=tl(t,n,r);l&&(s=eP(null!=s?s:{},l));let a=to(t,n,r);a&&(s=eP(null!=s?s:{},a));let u=tt(t,n,r);if(u&&(s=eP(null!=s?s:{},u)),null==s)return o;let h=e(t,s,r,i);return h&&(s=eP(s,h)),eI(s,...tu)}(e,t,n,r);return i?eI(i=eP(t,i),...tc):t}class td{constructor(e,t){this.remotes={},this.errors={},this.typeKeywords={},this.validateKeyword={},this.validateType={},this.validateFormat={},this.config=e,this.typeKeywords=te(e.typeKeywords),this.validateKeyword=Object.assign({},e.validateKeyword),this.validateType=Object.assign({},e.validateType),this.validateFormat=Object.assign({},e.validateFormat),this.errors=Object.assign({},e.errors),this.setSchema(t)}get rootSchema(){return this.__rootSchema}set rootSchema(e){null!=e&&(this.__rootSchema=this.config.compileSchema(this,e))}addRemoteSchema(e,t){this.config.addRemoteSchema(this,e,t)}compileSchema(e){var t;return this.config.compileSchema(this,e,null!=(t=this.rootSchema)?t:e)}createSchemaOf(e){return this.config.createSchemaOf(e)}each(e,t,n,r){return this.config.each(this,e,t,n,r)}eachSchema(e,t=this.rootSchema){return this.config.eachSchema(t,e)}getChildSchemaSelection(e,t){return this.config.getChildSchemaSelection(this,e,t)}getSchema(e){return this.config.getSchema(this,e)}getTemplate(e,t,n=this.config.templateDefaultOptions){return this.config.getTemplate(this,e,t,n)}isValid(e,t,n){return this.config.isValid(this,e,t,n)}resolveAnyOf(e,t,n){return this.config.resolveAnyOf(this,e,t,n)}resolveAllOf(e,t){return this.config.resolveAllOf(this,e,t)}resolveRef(e){return this.config.resolveRef(e,this.rootSchema)}resolveOneOf(e,t,n){return this.config.resolveOneOf(this,e,t,n)}setSchema(e){this.rootSchema=e}step(e,t,n,r){return this.config.step(this,e,t,n,r)}validate(e,t,n){return this.config.validate(this,e,t,n)}}function tp(e,t,n){n.id=n.id||t,e.remotes[t]=e.compileSchema(n)}var tm=n(67142),tg=n.n(tm),ty=n(44091);let tb="[^?/{}*,()#]+",tv=`
1
+ /*! For license information please see 76727.258b2fee.js.LICENSE.txt */
2
+ (self.webpackChunk_bull_board_ui=self.webpackChunk_bull_board_ui||[]).push([["76727"],{67142:function(e){var t;"undefined"!=typeof self&&self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){return"#"===e||""===e||Array.isArray(e)&&0===e.length||!1}e.r(t),e.d(t,{default:()=>x,get:()=>h,isRoot:()=>n,join:()=>k,remove:()=>g,removeUndefinedItems:()=>m,set:()=>d,split:()=>u,splitLast:()=>D});let r=/~1/g,i=/~0/g,s=/\/+/g,o=/(^[#/]*|\/+$)/g;function l(e){return e.replace(r,"/").replace(i,"~")}function a(e){return l(decodeURIComponent(e))}function u(e){if(null==e||"string"!=typeof e||n(e))return Array.isArray(e)?e:[];let t=e.indexOf("#")>=0?a:l,r=(e=(e=e.replace(s,"/")).replace(o,"")).split("/");for(let e=0,n=r.length;e<n;e+=1)r[e]=t(r[e]);return r}function h(e,t,r){if(null==t||null==e)return r;if(n(t))return e;let i=function e(t,n){let r=n.shift();if(void 0!==t)return void 0!==r?e(t[r],n):t}(e,u(t));return void 0===i?r:i}let c=/^\[.*\]$/,f=/^\[(.+)\]$/;function d(e,t,n){if(null==t)return e;let r=u(t);if(0===r.length)return e;null==e&&(e=c.test(r[0])?[]:{});let i,s,o=e;for(;r.length>1;){var l;i=r.shift(),s=c.test(r[0]),"__proto__"===(l=i)||"constructor"==l&&r.length>0&&"prototype"==r[0]||(o=function(e,t,n){if(null!=e[t])return e[t];let r=n?[]:{};return p(e,t,r),r}(o,i,s))}return p(o,i=r.pop(),n),e}function p(e,t,n){let r=t.match(f);"[]"===t&&Array.isArray(e)?e.push(n):r?e[r.pop()]=n:e[t]=n}function m(e){let t=0,n=0;for(;t+n<e.length;)void 0===e[t+n]&&(n+=1),e[t]=e[t+n],t+=1;return e.length=e.length-n,e}function g(e,t,n){let r=u(t),i=r.pop(),s=h(e,r);return s&&delete s[i],Array.isArray(s)&&!0!==n&&m(s),e}let y=/\/+/g,b=/~/g,v=/\//g;function w(e,t){if(0===e.length)return t?"#":"";for(let n=0,r=e.length;n<r;n+=1)e[n]=e[n].replace(b,"~0").replace(v,"~1"),t&&(e[n]=encodeURIComponent(e[n]));return((t?"#/":"/")+e.join("/")).replace(y,"/")}function k(e,...t){let n=[];if(Array.isArray(e))return w(e,!0===arguments[1]);let r=arguments[arguments.length-1],i="boolean"==typeof r?r:e&&"#"===e[0];for(let e=0,t=arguments.length;e<t;e+=1)n.push.apply(n,u(arguments[e]));let s=[];for(let e=0,t=n.length;e<t;e+=1)if(".."===n[e]){if(0===s.length)return i?"#":"";s.pop()}else s.push(n[e]);return w(s,i)}function D(e){let t=u(e);if(0===t.length)return"string"==typeof e&&"#"===e[0]?["#",t[0]]:["",void 0];if(1===t.length)return"#"===e[0]?["#",t[0]]:["",t[0]];let n=t.pop();return[k(t,"#"===e[0]),n]}let x={get:h,set:d,remove:g,join:k,split:u,splitLast:D,isRoot:n,removeUndefinedItems:m};return t})()},21856:function(e,t){"use strict";function n(e){if(void 0!==e){if(null===e)return null;if(""===e)return"";e=e.replace(/\\+$/,e=>e.length%2==0?e:e.slice(0,-1));try{return JSON.parse(e)}catch(s){let[t,i]=":"===e.trimLeft()[0]?r(e,s):r(e,s,f);if(n.lastParseReminding=i,n.onExtraToken&&i.length>0){let r=i.trimRight();n.lastParseReminding=r,r.length>0&&n.onExtraToken(e,t,r)}return t}}}function r(e,t,n){let r=i[e[0]]||n;if(!r)throw console.error(`no parser registered for ${JSON.stringify(e[0])}:`,{s:e}),t;return r(e,t)}t.parse=void 0,t.parse=n,(n=t.parse||(t.parse={})).onExtraToken=(e,t,n)=>{console.error("parsed json with extra tokens:",{text:e,data:t,reminding:n})};let i={};function s(e){return e.trimLeft()}function o(e,t){return r(e=s(e),t)}for(let e of(i[" "]=o,i["\r"]=o,i["\n"]=o,i[" "]=o,i["["]=function(e,t){e=e.substr(1);let n=[];for(e=s(e);e.length>0;){if("]"===e[0]){e=e.substr(1);break}let i=r(e,t,(e,t)=>f(e,t,[",","]"]));n.push(i[0]),","===(e=s(e=i[1]))[0]&&(e=s(e=e.substring(1)))}return[n,e]},"0123456789.-".slice()))i[e]=l;function l(e){for(let t=0;t<e.length;t++){if(i[e[t]]===l)continue;let n=e.substring(0,t);return e=e.substring(t),[a(n),e]}return[a(e),""]}function a(e){if("-"===e)return -0;let t=+e;return Number.isNaN(t)?e:t}function u(e){for(let t=1;t<e.length;t++){let n=e[t];if("\\"===n){t++;continue}if('"'===n){let n=h(e.substring(0,t+1));return e=e.substring(t+1),[JSON.parse(n),e]}}return[JSON.parse(h(e)+'"'),""]}function h(e){return e.replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r")}function c(e){for(let t=1;t<e.length;t++){let n=e[t];if("\\"===n){t++;continue}if("'"===n){let n=h(e.substring(0,t+1));return e=e.substring(t+1),[JSON.parse('"'+n.slice(1,-1)+'"'),e]}}return[JSON.parse('"'+h(e.slice(1))+'"'),""]}function f(e,t,n=[" "]){let r=Math.min(...n.map(t=>{let n=e.indexOf(t);return -1===n?e.length:n}));return[e.substring(0,r).trim(),e.substring(r)]}function d(e,t,n,r){for(let r=t.length;r>=1;r--)if(e.startsWith(t.slice(0,r)))return[n,e.slice(r)];{let n=JSON.stringify(e.slice(0,t.length));throw console.error(`unknown token starting with ${n}:`,{s:e}),r}}i['"']=u,i["'"]=c,i["{"]=function(e,t){e=e.substr(1);let n={};for(e=s(e);e.length>0;){var i,o;if("}"===e[0]){e=e.substr(1);break}let l=(o=[":","}"],'"'===(i=e)[0]?u(i):"'"===i[0]?c(i):f(i,t,o)),a=l[0];if(":"!==(e=s(e=l[1]))[0]||0===(e=s(e=e.substr(1))).length){n[a]=void 0;break}let h=r(e,t);n[a]=h[0],","===(e=s(e=h[1]))[0]&&(e=s(e=e.substr(1)))}return[n,e]},i.t=function(e,t){return d(e,"true",!0,t)},i.f=function(e,t){return d(e,"false",!1,t)},i.n=function(e,t){return d(e,"null",null,t)}},39714:function(e){"use strict";var t=function(e){var t,r,i;return!!(t=e)&&"object"==typeof t&&(r=e,"[object RegExp]"!==(i=Object.prototype.toString.call(r))&&"[object Date]"!==i&&r.$$typeof!==n)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l(Array.isArray(e)?[]:{},e,t):e}function i(e,t,n){return e.concat(t).map(function(e){return r(e,n)})}function s(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function l(e,n,a){(a=a||{}).arrayMerge=a.arrayMerge||i,a.isMergeableObject=a.isMergeableObject||t,a.cloneUnlessOtherwiseSpecified=r;var u,h,c=Array.isArray(n);return c!==Array.isArray(e)?r(n,a):c?a.arrayMerge(e,n,a):(h={},(u=a).isMergeableObject(e)&&s(e).forEach(function(t){h[t]=r(e[t],u)}),s(n).forEach(function(t){o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))||(o(e,t)&&u.isMergeableObject(n[t])?h[t]=(function(e,t){if(!t.customMerge)return l;var n=t.customMerge(e);return"function"==typeof n?n:l})(t,u)(e[t],n[t],u):h[t]=r(n[t],u))}),h)}l.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,n){return l(e,n,t)},{})},e.exports=l},44091:function(e,t,n){"use strict";var r;let i=n(73961);!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new i.Parser(e.RULES,{debug:!1});let t=/^(!|&)/,n=/(\?|\+|\*)$/,r=/^%/;function s(e){let s=[];return e.grammarRules.forEach(o=>{if(!/^%/.test(o.name)){let l=o.recover?" /* { recoverUntil="+o.recover+" } */":"";s.push(o.name+" ::= "+function e(s,o){let l=i.findRuleByName(s,o);return l?l.bnf.map(s=>s.map(s=>(function(s,o){if("string"!=typeof s)return s.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]");if(t.test(s))return"";if(r.test(s)){var l,a;let t,r=n.exec(s),u=r?r[0]+" ":"";return(l=s,a=o,(t=i.findRuleByName(l,a))&&1==t.bnf.length&&1==t.bnf[0].length&&(t.bnf[0][0]instanceof RegExp||'"'==t.bnf[0][0][0]||"'"==t.bnf[0][0][0]))?e(s,o)+u:"("+e(s,o)+")"+u}return s})(s,o)).join(" ")).join(" | "):"RULE_NOT_FOUND {"+s+"}"}(o.name,e)+l)}}),s.join("\n")}e.emit=s;let o=0;function l(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function a(t,n=e.defaultParser){let r=n.getAST(t);if(!r)throw Error("Could not parse "+t);if(r.errors&&r.errors.length)throw r.errors[0];let i=[];return r.children.filter(e=>"Production"==e.type).map(e=>{let t=e.children.filter(e=>"NCName"==e.type)[0].text;!function e(t,n,r){let i=n.children.filter(e=>"SequenceOrDifference"==e.type).map(n=>{let i,s;return i=null,s=[],n.children.forEach((a,u)=>{if("Minus"==a.type)throw console.log("reberia restar "+a+" a "+i),Error("Difference not supported yet");let h=n.children[u+1];switch(h=h&&"PrimaryDecoration"==h.type&&h.text||"",a.type){case"SubItem":let c="%"+(r+o++);e(t,a,c),s.push(""+c+h);break;case"NCName":case"StringLiteral":s.push(""+a.text+h);break;case"CharCode":case"CharClass":if(h){let e={name:"%"+(r+o++),bnf:[[l(a.text)]]};t.push(e),s.push(""+e.name+h)}else s.push(l(a.text));break;case"PrimaryDecoration":break;default:throw Error(" HOW SHOULD I PARSE THIS? "+a.type+" -> "+JSON.stringify(a.text))}i=a}),s}),s={name:r,bnf:i},a=null;i.forEach(e=>{a=a||e.recover,delete e.recover}),0==r.indexOf("%")&&(s.fragment=!0),a&&(s.recover=a),t.push(s)}(i,e,t)}),i}e.getRules=a,e.Transform=function(t,n=e.defaultParser){return a(t.join(""),n)};class u extends i.Parser{constructor(t,n){super(a(t,n&&!0===n.debugRulesParser?new i.Parser(e.RULES,{debug:!0}):e.defaultParser),n)}emitSource(){return s(this)}}e.Parser=u}(r||(r={})),t.default=r},73961:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=t.findRuleByName=t.parseRuleName=t.escapeRegExp=t.readToken=void 0;let r=/^[A-Z0-9_]+$/,i=/(\?|\+|\*)$/,s=/^(@|&|!)/,o=n(80707);function l(e,t){let n=t.exec(e);return n&&0==n.index?0==n[0].length&&t.source.length>0?null:{type:null,text:n[0],rest:e.substr(n[0].length),start:0,end:n[0].length-1,fullText:n[0],errors:[],children:[],parent:null}:null}function a(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function u(e){let t=i.exec(e),n=s.exec(e),r=t&&t[0]||"",o=n&&n[0]||"",l={raw:e,name:e.replace(i,"").replace(s,""),isOptional:"?"==r||"*"==r,allowRepetition:"+"==r||"*"==r,atLeastOne:"+"==r,lookupPositive:"&"==o,lookupNegative:"!"==o,pinned:"@"==o,lookup:!1,isLiteral:!1};return l.isLiteral="'"==l.name[0]||'"'==l.name[0],l.lookup=l.lookupNegative||l.lookupPositive,l}function h(e,t){let n=u(e);return t.cachedRules[n.name]||null}function c(e,t){if(e.children){let n=e.children.filter(e=>e.type&&t.test(e.type));for(let t=0;t<n.length;t++){let r=e.children.indexOf(n[t]);-1!=r&&e.children.splice(r,1)}e.children.forEach(e=>c(e,t))}}t.readToken=l,t.escapeRegExp=a,t.parseRuleName=u,t.findRuleByName=h;let f=["EOF"];class d{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let n=[],r=[];if(e.forEach(e=>{let t=u(e.name);if(t.name in this.cachedRules)return void n.push("Duplicated rule "+t.name);if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach(t=>{if("string"==typeof t[0]&&u(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==n.indexOf(t)&&n.push(t)}t.forEach(e=>{if("string"==typeof e){let t=u(e);t.isLiteral||-1!=r.indexOf(t.name)||-1!=f.indexOf(t.name)||r.push(t.name)}})});else{let t="Missing rule content, rule: "+e.name;-1==n.indexOf(t)&&n.push(t)}"WS"==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==r.indexOf("WS")&&r.push("WS"),e.recover&&-1==r.indexOf(e.recover)&&r.push(e.recover)}),r.forEach(e=>{e in this.cachedRules||n.push("Missing rule "+e)}),n.length)throw Error(n.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter(e=>!e.fragment&&0!=e.name.indexOf("%"))[0].name);let n=this.parse(e,t);if(n){!function e(t,n){n.errors&&n.errors.length&&n.errors.forEach(e=>t.push(e)),n.children&&n.children.forEach(n=>e(t,n))}(n.errors,n),function e(t,n){t.start+=n,t.end+=n,t.children&&t.children.forEach(n=>e(n,t.start))}(n,0),c(n,/^%/),this.options&&this.options.keepUpperRules||c(n,r);let e=n.rest;e&&new o.TokenError("Unexpected end of input: \n"+e,n),function e(t){t.rest="",t.children&&t.children.forEach(t=>e(t))}(n),n.rest=e}return n}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(e,t,n=0){let i,s=null,c=u(t),f=this.debug&&!r.test(c.name);f&&console.log(Array(n).join("│ ")+"Trying to get "+t+" from "+JSON.stringify(e.split("\n")[0]));let d=c.name,p=h(c.name,this);if("EOF"==c.name){if(e.length)return null;else if(0==e.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!p&&c.isLiteral){let t=c.name.trim();if(t.startsWith('"')?t=JSON.parse(t):t.startsWith("'")&&(t=t.replace(/^'(.+)'$/,"$1").replace(/\\'/g,"'")),""===t)return{type:"%%EMPTY%%",text:"",rest:e,start:0,end:0,fullText:"",errors:[],children:[],parent:null};i=new RegExp(a(t)),d=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(i){let t=l(e,i);if(t)return t.type=d,t}else{let t=p.bnf;t instanceof Array&&t.forEach(t=>{if(s)return;let r=null,i={type:c.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:e};p.fragment&&(i.fragment=!0);let a=e,h=0,d=t.length>0,m=!1;for(let e=0;e<t.length;e++)if("string"==typeof t[e]){let l,c=u(t[e]);d=d&&c.isOptional;let g=!1;do{if(l=null,p.implicitWs&&!(l=this.parse(a,c.name,n+1))){let e;do if(e=this.parse(a,"WS",n+1))i.text=i.text+e.text,i.end=i.text.length,e.parent=i,i.children.push(e),a=a.substr(e.text.length),h+=e.text.length;else break;while(e&&e.text.length)}if(l=l||this.parse(a,c.name,n+1),c.lookupNegative){if(l)return;break}if(c.lookupPositive&&!l)return;if(!l&&(c.isOptional||c.atLeastOne&&g))break;if(l&&p.pinned==e+1&&(r=l,f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" PINNED")),l||(l=this.parseRecovery(p,a,n+1)),!l)if(!r)return;else s=i,l={type:"SyntaxError",text:a,children:[],end:a.length,errors:[],fullText:"",parent:null,start:0,rest:""},a.length?new o.TokenError(`Unexpected end of input. Expecting ${c.name} Got: ${a}`,l):new o.TokenError(`Unexpected end of input. Missing ${c.name}`,l),f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" "+JSON.stringify(l.text));if(g=!0,m=!0,"%%EMPTY%%"==l.type)break;l.start+=h,l.end+=h,!c.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach(e=>{e.start+=h,e.end+=h,e.parent=i,i.children.push(e)}):(l.parent=i,i.children.push(l))),c.lookup&&(l.lookup=!0),f&&console.log(Array(n+1).join("│ ")+"└─ "+l.type+" "+JSON.stringify(l.text)),c.lookup||l.lookup||(i.text=i.text+l.text,i.end=i.text.length,a=a.substr(l.text.length),h+=l.text.length),i.rest=a}while(l&&c.allowRepetition&&a.length&&!l.lookup)}else{let r=l(a,t[e]);if(!r)return;f&&console.log(Array(n+1).join("│ ")+"└> "+JSON.stringify(r.text)+t[e].source),m=!0,r.start+=h,r.end+=h,i.text=i.text+r.text,i.end=i.text.length,a=a.substr(r.text.length),h+=r.text.length,i.rest=a}m&&(s=i,f&&console.log(Array(n).join("│ ")+"├<─┴< PUSHING "+s.type+" "+JSON.stringify(s.text)))}),s&&p.simplifyWhenOneChildren&&1==s.children.length&&(s=s.children[0])}return!s&&f&&console.log(t+" NOT RESOLVED FROM "+e),s}parseRecovery(e,t,n){if(e.recover&&t.length){let r,i=this.debug;i&&console.log(Array(n+1).join("│ ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let s={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(r=this.parse(t,e.recover,n+1)){new o.TokenError('Unexpected input: "'+s.text+`" Expecting: ${e.name}`,s);break}s.text=s.text+t[0],s.end=s.text.length,t=t.substr(1)}while(!r&&t.length>0);if(s.text.length>0&&r)return i&&console.log(Array(n+1).join("│ ")+"Recovered text: "+JSON.stringify(s.text)),s}return null}}t.Parser=d,t.default=d},80707:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0,t.TokenError=class extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,t&&t.errors)t.errors.push(this);else throw this}inspect(){return"SyntaxError: "+this.message}}},69378:function(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;0!=i--;){var r,i,s,o=s[i];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n}},96111:function(e){e.exports=function(){"use strict";function e(e,t){return e(t={exports:{}},t.exports),t.exports}var t,n,r,i,s,o,l,a,u,h,c,f,d,p,m=e(function(e){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)}),g=e(function(e){var t=e.exports={version:"2.6.5"};"number"==typeof __e&&(__e=t)});g.version;var y=function(e){return"object"==typeof e?null!==e:"function"==typeof e},b=function(e){if(!y(e))throw TypeError(e+" is not an object!");return e},v=function(e){try{return!!e()}catch(e){return!0}},w=!v(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),k=m.document,D=y(k)&&y(k.createElement),x=!w&&!v(function(){return 7!=Object.defineProperty(D?k.createElement("div"):{},"a",{get:function(){return 7}}).a}),C=function(e,t){var n,r;if(!y(e))return e;if(t&&"function"==typeof(n=e.toString)&&!y(r=n.call(e))||"function"==typeof(n=e.valueOf)&&!y(r=n.call(e))||!t&&"function"==typeof(n=e.toString)&&!y(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")},A=Object.defineProperty,E={f:w?Object.defineProperty:function(e,t,n){if(b(e),t=C(t,!0),b(n),x)try{return A(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},S=w?function(e,t,n){return E.f(e,t,{enumerable:!1,configurable:!0,writable:!0,value:n})}:function(e,t,n){return e[t]=n,e},_={}.hasOwnProperty,O=function(e,t){return _.call(e,t)},F=0,T=Math.random(),P=e(function(e){var t="__core-js_shared__",n=m[t]||(m[t]={});(e.exports=function(e,t){return n[e]||(n[e]=void 0!==t?t:{})})("versions",[]).push({version:g.version,mode:"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})})("native-function-to-string",Function.toString),I=e(function(e){var t="Symbol(".concat("src",")_",(++F+T).toString(36)),n="toString",r=(""+P).split(n);g.inspectSource=function(e){return P.call(e)},(e.exports=function(e,n,i,s){var o="function"==typeof i;o&&(O(i,"name")||S(i,"name",n)),e[n]!==i&&(o&&(O(i,t)||S(i,t,e[n]?""+e[n]:r.join(String(n)))),e===m?e[n]=i:s?e[n]?e[n]=i:S(e,n,i):(delete e[n],S(e,n,i)))})(Function.prototype,n,function(){return"function"==typeof this&&this[t]||P.call(this)})}),N=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e},B=function(e,t,n){if(N(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}},M="prototype",$=function(e,t,n){var r,i,s,o,l=e&$.F,a=e&$.G,u=e&$.S,h=e&$.P,c=e&$.B,f=a?m:u?m[t]||(m[t]={}):(m[t]||{})[M],d=a?g:g[t]||(g[t]={}),p=d[M]||(d[M]={});for(r in a&&(n=t),n)s=((i=!l&&f&&void 0!==f[r])?f:n)[r],o=c&&i?B(s,m):h&&"function"==typeof s?B(Function.call,s):s,f&&I(f,r,s,e&$.U),d[r]!=s&&S(d,r,o),h&&p[r]!=s&&(p[r]=s)};m.core=g,$.F=1,$.G=2,$.S=4,$.P=8,$.B=16,$.W=32,$.U=64,$.R=128;var L=Math.ceil,R=Math.floor,j=function(e){return isNaN(e*=1)?0:(e>0?R:L)(e)},q=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e},z=function(e,t){var n,r,i=String(q(e)),s=j(t),o=i.length;return s<0||s>=o?void 0:(n=i.charCodeAt(s))<55296||n>56319||s+1===o||(r=i.charCodeAt(s+1))<56320||r>57343?n:(n-55296<<10)+(r-56320)+65536};$($.P,"String",{codePointAt:function(e){return z(this,e)}}),g.String.codePointAt;var U=Math.max,V=Math.min,H=String.fromCharCode,W=String.fromCodePoint;$($.S+$.F*(!!W&&1!=W.length),"String",{fromCodePoint:function(e){for(var t,n,r=arguments,i=[],s=arguments.length,o=0;s>o;){if(((t=j(t=n=+r[o++]))<0?U(t+1114111,0):V(t,1114111))!==n)throw RangeError(n+" is not a valid code point");i.push(n<65536?H(n):H(((n-=65536)>>10)+55296,n%1024+56320))}return i.join("")}}),g.String.fromCodePoint;var G={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},K={isSpaceSeparator:function(e){return"string"==typeof e&&G.Space_Separator.test(e)},isIdStartChar:function(e){return"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||"$"===e||"_"===e||G.ID_Start.test(e))},isIdContinueChar:function(e){return"string"==typeof e&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||"$"===e||"_"===e||"‌"===e||"‍"===e||G.ID_Continue.test(e))},isDigit:function(e){return"string"==typeof e&&/[0-9]/.test(e)},isHexDigit:function(e){return"string"==typeof e&&/[0-9A-Fa-f]/.test(e)}};function J(){if(t[i])return String.fromCodePoint(t.codePointAt(i))}function Q(){var e=J();return"\n"===e?(s++,o=0):e?o+=e.length:o++,e&&(i+=e.length),e}var Y={default:function(){switch(p){case" ":case"\v":case"\f":case" ":case"\xa0":case"\uFEFF":case"\n":case"\r":case"\u2028":case"\u2029":Q();return;case"/":Q(),h="comment";return;case void 0:return Q(),Z("eof")}return K.isSpaceSeparator(p)?void Q():Y[n]()},comment:function(){switch(p){case"*":Q(),h="multiLineComment";return;case"/":Q(),h="singleLineComment";return}throw ei(Q())},multiLineComment:function(){switch(p){case"*":Q(),h="multiLineCommentAsterisk";return;case void 0:throw ei(Q())}Q()},multiLineCommentAsterisk:function(){switch(p){case"*":Q();return;case"/":Q(),h="default";return;case void 0:throw ei(Q())}Q(),h="multiLineComment"},singleLineComment:function(){switch(p){case"\n":case"\r":case"\u2028":case"\u2029":Q(),h="default";return;case void 0:return Q(),Z("eof")}Q()},value:function(){switch(p){case"{":case"[":return Z("punctuator",Q());case"n":return Q(),X("ull"),Z("null",null);case"t":return Q(),X("rue"),Z("boolean",!0);case"f":return Q(),X("alse"),Z("boolean",!1);case"-":case"+":"-"===Q()&&(d=-1),h="sign";return;case".":c=Q(),h="decimalPointLeading";return;case"0":c=Q(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=Q(),h="decimalInteger";return;case"I":return Q(),X("nfinity"),Z("numeric",1/0);case"N":return Q(),X("aN"),Z("numeric",NaN);case'"':case"'":f='"'===Q(),c="",h="string";return}throw ei(Q())},identifierNameStartEscape:function(){if("u"!==p)throw ei(Q());Q();var e=ee();switch(e){case"$":case"_":break;default:if(!K.isIdStartChar(e))throw eo()}c+=e,h="identifierName"},identifierName:function(){switch(p){case"$":case"_":case"‌":case"‍":c+=Q();return;case"\\":Q(),h="identifierNameEscape";return}if(K.isIdContinueChar(p)){c+=Q();return}return Z("identifier",c)},identifierNameEscape:function(){if("u"!==p)throw ei(Q());Q();var e=ee();switch(e){case"$":case"_":case"‌":case"‍":break;default:if(!K.isIdContinueChar(e))throw eo()}c+=e,h="identifierName"},sign:function(){switch(p){case".":c=Q(),h="decimalPointLeading";return;case"0":c=Q(),h="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=Q(),h="decimalInteger";return;case"I":return Q(),X("nfinity"),Z("numeric",1/0*d);case"N":return Q(),X("aN"),Z("numeric",NaN)}throw ei(Q())},zero:function(){switch(p){case".":c+=Q(),h="decimalPoint";return;case"e":case"E":c+=Q(),h="decimalExponent";return;case"x":case"X":c+=Q(),h="hexadecimal";return}return Z("numeric",0*d)},decimalInteger:function(){switch(p){case".":c+=Q(),h="decimalPoint";return;case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},decimalPointLeading:function(){if(K.isDigit(p)){c+=Q(),h="decimalFraction";return}throw ei(Q())},decimalPoint:function(){switch(p){case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q(),h="decimalFraction";return}return Z("numeric",d*Number(c))},decimalFraction:function(){switch(p){case"e":case"E":c+=Q(),h="decimalExponent";return}if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},decimalExponent:function(){switch(p){case"+":case"-":c+=Q(),h="decimalExponentSign";return}if(K.isDigit(p)){c+=Q(),h="decimalExponentInteger";return}throw ei(Q())},decimalExponentSign:function(){if(K.isDigit(p)){c+=Q(),h="decimalExponentInteger";return}throw ei(Q())},decimalExponentInteger:function(){if(K.isDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},hexadecimal:function(){if(K.isHexDigit(p)){c+=Q(),h="hexadecimalInteger";return}throw ei(Q())},hexadecimalInteger:function(){if(K.isHexDigit(p)){c+=Q();return}return Z("numeric",d*Number(c))},string:function(){switch(p){case"\\":Q(),c+=function(){switch(J()){case"b":return Q(),"\b";case"f":return Q(),"\f";case"n":return Q(),"\n";case"r":return Q(),"\r";case"t":return Q()," ";case"v":return Q(),"\v";case"0":if(Q(),K.isDigit(J()))throw ei(Q());return"\0";case"x":return Q(),function(){var e="",t=J();if(!K.isHexDigit(t)||(e+=Q(),t=J(),!K.isHexDigit(t)))throw ei(Q());return String.fromCodePoint(parseInt(e+=Q(),16))}();case"u":return Q(),ee();case"\n":case"\u2028":case"\u2029":return Q(),"";case"\r":return Q(),"\n"===J()&&Q(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case void 0:throw ei(Q())}return Q()}();return;case'"':if(f)return Q(),Z("string",c);c+=Q();return;case"'":if(!f)return Q(),Z("string",c);c+=Q();return;case"\n":case"\r":case void 0:throw ei(Q());case"\u2028":case"\u2029":console.warn("JSON5: '"+el(p)+"' in strings is not valid ECMAScript; consider escaping")}c+=Q()},start:function(){switch(p){case"{":case"[":return Z("punctuator",Q())}h="value"},beforePropertyName:function(){switch(p){case"$":case"_":c=Q(),h="identifierName";return;case"\\":Q(),h="identifierNameStartEscape";return;case"}":return Z("punctuator",Q());case'"':case"'":f='"'===Q(),h="string";return}if(K.isIdStartChar(p)){c+=Q(),h="identifierName";return}throw ei(Q())},afterPropertyName:function(){if(":"===p)return Z("punctuator",Q());throw ei(Q())},beforePropertyValue:function(){h="value"},afterPropertyValue:function(){switch(p){case",":case"}":return Z("punctuator",Q())}throw ei(Q())},beforeArrayValue:function(){if("]"===p)return Z("punctuator",Q());h="value"},afterArrayValue:function(){switch(p){case",":case"]":return Z("punctuator",Q())}throw ei(Q())},end:function(){throw ei(Q())}};function Z(e,t){return{type:e,value:t,line:s,column:o}}function X(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(J()!==n)throw ei(Q());Q()}}function ee(){for(var e="",t=4;t-- >0;){var n=J();if(!K.isHexDigit(n))throw ei(Q());e+=Q()}return String.fromCodePoint(parseInt(e,16))}var et={start:function(){if("eof"===l.type)throw es();en()},beforePropertyName:function(){switch(l.type){case"identifier":case"string":a=l.value,n="afterPropertyName";return;case"punctuator":er();return;case"eof":throw es()}},afterPropertyName:function(){if("eof"===l.type)throw es();n="beforePropertyValue"},beforePropertyValue:function(){if("eof"===l.type)throw es();en()},beforeArrayValue:function(){if("eof"===l.type)throw es();if("punctuator"===l.type&&"]"===l.value)return void er();en()},afterPropertyValue:function(){if("eof"===l.type)throw es();switch(l.value){case",":n="beforePropertyName";return;case"}":er()}},afterArrayValue:function(){if("eof"===l.type)throw es();switch(l.value){case",":n="beforeArrayValue";return;case"]":er()}},end:function(){}};function en(){var e;switch(l.type){case"punctuator":switch(l.value){case"{":e={};break;case"[":e=[]}break;case"null":case"boolean":case"numeric":case"string":e=l.value}if(void 0===u)u=e;else{var t=r[r.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,a,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(null!==e&&"object"==typeof e)r.push(e),n=Array.isArray(e)?"beforeArrayValue":"beforePropertyName";else{var i=r[r.length-1];n=null==i?"end":Array.isArray(i)?"afterArrayValue":"afterPropertyValue"}}function er(){r.pop();var e=r[r.length-1];n=null==e?"end":Array.isArray(e)?"afterArrayValue":"afterPropertyValue"}function ei(e){return void 0===e?ea("JSON5: invalid end of input at "+s+":"+o):ea("JSON5: invalid character '"+el(e)+"' at "+s+":"+o)}function es(){return ea("JSON5: invalid end of input at "+s+":"+o)}function eo(){return o-=5,ea("JSON5: invalid identifier character at "+s+":"+o)}function el(e){var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){var n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function ea(e){var t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=o,t}return{parse:function(e,m){t=String(e),n="start",r=[],i=0,s=1,o=0,l=void 0,a=void 0,u=void 0;do l=function(){for(h="default",c="",f=!1,d=1;;){p=J();var e=Y[h]();if(e)return e}}(),et[n]();while("eof"!==l.type);return"function"==typeof m?function e(t,n,r){var i=t[n];if(null!=i&&"object"==typeof i)if(Array.isArray(i))for(var s=0;s<i.length;s++){var o=String(s),l=e(i,o,r);void 0===l?delete i[o]:Object.defineProperty(i,o,{value:l,writable:!0,enumerable:!0,configurable:!0})}else for(var a in i){var u=e(i,a,r);void 0===u?delete i[a]:Object.defineProperty(i,a,{value:u,writable:!0,enumerable:!0,configurable:!0})}return r.call(t,n,i)}({"":u},"",m):u},stringify:function(e,t,n){var r,i,s,o=[],l="",a="";if(null==t||"object"!=typeof t||Array.isArray(t)||(n=t.space,s=t.quote,t=t.replacer),"function"==typeof t)i=t;else if(Array.isArray(t)){r=[];for(var u=0,h=t;u<h.length;u+=1){var c=h[u],f=void 0;"string"==typeof c?f=c:("number"==typeof c||c instanceof String||c instanceof Number)&&(f=String(c)),void 0!==f&&0>r.indexOf(f)&&r.push(f)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),"number"==typeof n?n>0&&(n=Math.min(10,Math.floor(n)),a=" ".substr(0,n)):"string"==typeof n&&(a=n.substr(0,10)),function e(t,n){var s=n[t];switch(null!=s&&("function"==typeof s.toJSON5?s=s.toJSON5(t):"function"==typeof s.toJSON&&(s=s.toJSON(t))),i&&(s=i.call(n,t,s)),s instanceof Number?s=Number(s):s instanceof String?s=String(s):s instanceof Boolean&&(s=s.valueOf()),s){case null:return"null";case!0:return"true";case!1:return"false"}return"string"==typeof s?d(s,!1):"number"==typeof s?String(s):"object"==typeof s?Array.isArray(s)?function(t){if(o.indexOf(t)>=0)throw TypeError("Converting circular structure to JSON5");o.push(t);var n,r=l;l+=a;for(var i=[],s=0;s<t.length;s++){var u=e(String(s),t);i.push(void 0!==u?u:"null")}if(0===i.length)n="[]";else if(""===a)n="["+i.join(",")+"]";else{var h=",\n"+l,c=i.join(h);n="[\n"+l+c+",\n"+r+"]"}return o.pop(),l=r,n}(s):function(t){if(o.indexOf(t)>=0)throw TypeError("Converting circular structure to JSON5");o.push(t);var n,i,s=l;l+=a;for(var u=r||Object.keys(t),h=[],c=0;c<u.length;c+=1){var f=u[c],p=e(f,t);if(void 0!==p){var m=function(e){if(0===e.length)return d(e,!0);var t=String.fromCodePoint(e.codePointAt(0));if(!K.isIdStartChar(t))return d(e,!0);for(var n=t.length;n<e.length;n++)if(!K.isIdContinueChar(String.fromCodePoint(e.codePointAt(n))))return d(e,!0);return e}(f)+":";""!==a&&(m+=" "),m+=p,h.push(m)}}if(0===h.length)n="{}";else if(""===a)n="{"+(i=h.join(","))+"}";else{var g=",\n"+l;i=h.join(g),n="{\n"+l+i+",\n"+s+"}"}return o.pop(),l=s,n}(s):void 0}("",{"":e});function d(e){for(var t={"'":.1,'"':.2},n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},r="",i=0;i<e.length;i++){var o=e[i];switch(o){case"'":case'"':t[o]++,r+=o;continue;case"\0":if(K.isDigit(e[i+1])){r+="\\x00";continue}}if(n[o]){r+=n[o];continue}if(o<" "){var l=o.charCodeAt(0).toString(16);r+="\\x"+("00"+l).substring(l.length);continue}r+=o}var a=s||Object.keys(t).reduce(function(e,n){return t[e]<t[n]?e:n});return r=r.replace(RegExp(a,"g"),n[a]),a+r+a}}}}()},79640:function(e){!function(t,n){"use strict";"function"==typeof define&&define.amd?define(n):e.exports?e.exports=n():t.log=n()}(this,function(){"use strict";var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},s=null;function o(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function l(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(){for(var n=this.getLevel(),i=0;i<r.length;i++){var s=r[i];this[s]=i<n?e:this.methodFactory(s,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return"No console available for logging"}function u(e){return function(){typeof console!==t&&(a.call(this),this[e].apply(this,arguments))}}function h(r,i,s){var a;return"debug"===(a=r)&&(a="log"),typeof console!==t&&("trace"===a&&n?l:void 0!==console[a]?o(console,a):void 0!==console.log?o(console,"log"):e)||u.apply(this,arguments)}function c(e,n){var o,l,u,c=this,f="loglevel";function d(){var e;if(typeof window!==t&&f){try{e=window.localStorage[f]}catch(e){}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch(e){}return void 0===c.levels[e]&&(e=void 0),e}}function p(e){var t=e;if("string"==typeof t&&void 0!==c.levels[t.toUpperCase()]&&(t=c.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=c.levels.SILENT)return t;throw TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?f+=":"+e:"symbol"==typeof e&&(f=void 0),c.name=e,c.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},c.methodFactory=n||h,c.getLevel=function(){return null!=u?u:null!=l?l:o},c.setLevel=function(e,n){return u=p(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&f){try{window.localStorage[f]=n;return}catch(e){}try{window.document.cookie=encodeURIComponent(f)+"="+n+";"}catch(e){}}}(u),a.call(c)},c.setDefaultLevel=function(e){l=p(e),d()||c.setLevel(e,!1)},c.resetLevel=function(){if(u=null,typeof window!==t&&f){try{window.localStorage.removeItem(f)}catch(e){}try{window.document.cookie=encodeURIComponent(f)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}a.call(c)},c.enableAll=function(e){c.setLevel(c.levels.TRACE,e)},c.disableAll=function(e){c.setLevel(c.levels.SILENT,e)},c.rebuild=function(){if(s!==c&&(o=p(s.getLevel())),a.call(c),s===c)for(var e in i)i[e].rebuild()},o=p(s?s.getLevel():"WARN");var m=d();null!=m&&(u=p(m)),a.call(c)}(s=new c).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw TypeError("You must supply a name when creating a logger.");var t=i[e];return t||(t=i[e]=new c(e,s.methodFactory)),t};var f=typeof window!==t?window.log:void 0;return s.noConflict=function(){return typeof window!==t&&window.log===s&&(window.log=f),s},s.getLoggers=function(){return i},s.default=s,s})},43614:function(e){var t;t=function(){function e(t,n,r){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=r,this}function t(e,t,n,r){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function i(){this.reset("")}function s(e,t,s){if(e instanceof r)var o=e,s=t;else var o=r.fromCompiled(e,t);for(var l in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new i},s||{})this.options[l]=s[l];this.lexer=this.options.lexer,this.lexerState=void 0;var a=new n(o,0);this.table=[a],a.wants[o.start]=[],a.predict(o.start),a.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t)if(e.literal)return JSON.stringify(e.literal);else if(e instanceof RegExp)return e.toString();else if(e.type)return"%"+e.type;else if(e.test)return"<"+String(e.test)+">";else throw Error("Unknown symbol type: "+e)}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do e.push(t.right.data),t=t.left;while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,r=this.completed,i=0;i<t.length;i++){var o=t[i];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var l=o.wantedBy,a=l.length;a--;){var u=l[a];this.complete(u,o)}if(o.reference===this.index){var h=o.rule.name;(this.completed[h]=this.completed[h]||[]).push(o)}}}else{var h=o.rule.symbols[o.dot];if("string"!=typeof h){this.scannable.push(o);continue}if(n[h]){if(n[h].push(o),r.hasOwnProperty(h))for(var c=r[h],a=0;a<c.length;a++){var f=c[a];this.complete(o,f)}}else n[h]=[o],this.predict(h)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],r=0;r<n.length;r++){var i=n[r],s=this.wants[e],o=new t(i,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},r.fromCompiled=function(t,n){var i=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules);var t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)}),s=new r(t,n);return s.lexer=i,s},i.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},i.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},i.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},i.prototype.formatError=function(e,t){var n=this.buffer;if("string"!=typeof n)return t+" at index "+(this.index-1);var r=n.split("\n").slice(Math.max(0,this.line-5),this.line),i=n.indexOf("\n",this.index);-1===i&&(i=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=r.map(function(e,t){return l(this.line-r.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+l("",o+s)+"^\n";function l(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,r=this.lexer;for(r.reset(e,this.lexerState);;){try{if(!(t=r.next()))break}catch(e){var s=new n(this.grammar,this.current+1);this.table.push(s);var o=Error(this.reportLexerError(e));throw o.offset=this.current,o.token=e.token,o}var l=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1,s=new n(this.grammar,a);this.table.push(s);for(var u=void 0!==t.text?t.text:t.value,h=r.constructor===i?t.value:t,c=l.scannable,f=c.length;f--;){var d=c[f],p=d.rule.symbols[d.dot];if(p.test?p.test(h):p.type?p.type===t.type:p.literal===u){var m=d.nextState({data:h,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length){var o=Error(this.reportError(t));throw o.offset=this.current,o.token=t,o}this.options.keepHistory&&(l.lexerState=r.save()),this.current++}return l&&(this.lexerState=r.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,r=e.token;return r?(t="input "+JSON.stringify(r.text[0])+" (lexer error)",n=this.lexer.formatError(r,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var r=this.table.length-2,i=this.table[r],s=i.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});return 0===s.length?(n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(i.states,n)):(n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n"),s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this).forEach(function(e){var t=e[0],r=t.rule.symbols[t.dot],i=this.getSymbolDisplay(r);n.push("A "+i+" based on:"),this.displayStateStack(e,n)},this)),n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,r=0,i=0;i<e.length;i++){var s=e[i],o=s.rule.toString(s.dot);o===n?r++:(r>0&&t.push(" ^ "+r+" more lines identical to this"),r=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){var t=e,n=typeof t;if("string"===n)return t;if("object"===n)if(t.literal)return JSON.stringify(t.literal);else if(t instanceof RegExp)return"character matching "+t;else if(t.type)return t.type+" token";else if(t.test)return"token matching "+String(t.test);else throw Error("Unknown symbol type: "+t)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],r=[e].concat(t),i=this.buildFirstStateStack(n,r);return null===i?null:[e].concat(i)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:r,Rule:e}},e.exports?e.exports=t():this.nearley=t()},62935:function(e,t){"use strict";function n(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});let r=e=>[].concat(...e.map(e=>Array.isArray(e)?r(e):e));function i(e){return e?Array.isArray(e)?r(e).join(""):e:""}t.default={Lexer:void 0,ParserRules:[{name:"Reverse_path",symbols:["Path"]},{name:"Reverse_path$string$1",symbols:[{literal:"<"},{literal:">"}],postprocess:e=>e.join("")},{name:"Reverse_path",symbols:["Reverse_path$string$1"]},{name:"Forward_path$subexpression$1$subexpression$1",symbols:[{literal:"<"},/[pP]/,/[oO]/,/[sS]/,/[tT]/,/[mM]/,/[aA]/,/[sS]/,/[tT]/,/[eE]/,/[rR]/,{literal:"@"}],postprocess:function(e){return e.join("")}},{name:"Forward_path$subexpression$1",symbols:["Forward_path$subexpression$1$subexpression$1","Domain",{literal:">"}]},{name:"Forward_path",symbols:["Forward_path$subexpression$1"]},{name:"Forward_path$subexpression$2",symbols:[{literal:"<"},/[pP]/,/[oO]/,/[sS]/,/[tT]/,/[mM]/,/[aA]/,/[sS]/,/[tT]/,/[eE]/,/[rR]/,{literal:">"}],postprocess:function(e){return e.join("")}},{name:"Forward_path",symbols:["Forward_path$subexpression$2"]},{name:"Forward_path",symbols:["Path"]},{name:"Path$ebnf$1$subexpression$1",symbols:["A_d_l",{literal:":"}]},{name:"Path$ebnf$1",symbols:["Path$ebnf$1$subexpression$1"],postprocess:n},{name:"Path$ebnf$1",symbols:[],postprocess:()=>null},{name:"Path",symbols:[{literal:"<"},"Path$ebnf$1","Mailbox",{literal:">"}]},{name:"A_d_l$ebnf$1",symbols:[]},{name:"A_d_l$ebnf$1$subexpression$1",symbols:[{literal:","},"At_domain"]},{name:"A_d_l$ebnf$1",symbols:["A_d_l$ebnf$1","A_d_l$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"A_d_l",symbols:["At_domain","A_d_l$ebnf$1"]},{name:"At_domain",symbols:[{literal:"@"},"Domain"]},{name:"Domain$ebnf$1",symbols:[]},{name:"Domain$ebnf$1$subexpression$1",symbols:[{literal:"."},"sub_domain"]},{name:"Domain$ebnf$1",symbols:["Domain$ebnf$1","Domain$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"Domain",symbols:["sub_domain","Domain$ebnf$1"]},{name:"sub_domain",symbols:["U_label"]},{name:"Let_dig",symbols:["ALPHA_DIGIT"],postprocess:n},{name:"Ldh_str$ebnf$1",symbols:[]},{name:"Ldh_str$ebnf$1",symbols:["Ldh_str$ebnf$1","ALPHA_DIG_DASH"],postprocess:e=>e[0].concat([e[1]])},{name:"Ldh_str",symbols:["Ldh_str$ebnf$1","Let_dig"]},{name:"U_Let_dig",symbols:["ALPHA_DIGIT_U"],postprocess:n},{name:"U_Ldh_str$ebnf$1",symbols:[]},{name:"U_Ldh_str$ebnf$1",symbols:["U_Ldh_str$ebnf$1","ALPHA_DIG_DASH_U"],postprocess:e=>e[0].concat([e[1]])},{name:"U_Ldh_str",symbols:["U_Ldh_str$ebnf$1","U_Let_dig"]},{name:"U_label$ebnf$1$subexpression$1",symbols:["U_Ldh_str"]},{name:"U_label$ebnf$1",symbols:["U_label$ebnf$1$subexpression$1"],postprocess:n},{name:"U_label$ebnf$1",symbols:[],postprocess:()=>null},{name:"U_label",symbols:["U_Let_dig","U_label$ebnf$1"]},{name:"address_literal$subexpression$1",symbols:["IPv4_address_literal"]},{name:"address_literal$subexpression$1",symbols:["IPv6_address_literal"]},{name:"address_literal$subexpression$1",symbols:["General_address_literal"]},{name:"address_literal",symbols:[{literal:"["},"address_literal$subexpression$1",{literal:"]"}]},{name:"non_local_part",symbols:["Domain"],postprocess:function(e){return{DomainName:i(e[0])}}},{name:"non_local_part",symbols:["address_literal"],postprocess:function(e){return{AddressLiteral:i(e[0])}}},{name:"Mailbox",symbols:["Local_part",{literal:"@"},"non_local_part"],postprocess:function(e){return{localPart:i(e[0]),domainPart:i(e[2])}}},{name:"Local_part",symbols:["Dot_string"],postprocess:function(e){return{DotString:i(e[0])}}},{name:"Local_part",symbols:["Quoted_string"],postprocess:function(e){return{QuotedString:i(e[0])}}},{name:"Dot_string$ebnf$1",symbols:[]},{name:"Dot_string$ebnf$1$subexpression$1",symbols:[{literal:"."},"Atom"]},{name:"Dot_string$ebnf$1",symbols:["Dot_string$ebnf$1","Dot_string$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"Dot_string",symbols:["Atom","Dot_string$ebnf$1"]},{name:"Atom$ebnf$1",symbols:[/[0-9A-Za-z!#$%&'*+\-/=?^_`{|}~\u0080-\uFFFF/]/]},{name:"Atom$ebnf$1",symbols:["Atom$ebnf$1",/[0-9A-Za-z!#$%&'*+\-/=?^_`{|}~\u0080-\uFFFF/]/],postprocess:e=>e[0].concat([e[1]])},{name:"Atom",symbols:["Atom$ebnf$1"]},{name:"Quoted_string$ebnf$1",symbols:[]},{name:"Quoted_string$ebnf$1",symbols:["Quoted_string$ebnf$1","QcontentSMTP"],postprocess:e=>e[0].concat([e[1]])},{name:"Quoted_string",symbols:["DQUOTE","Quoted_string$ebnf$1","DQUOTE"]},{name:"QcontentSMTP",symbols:["qtextSMTP"]},{name:"QcontentSMTP",symbols:["quoted_pairSMTP"]},{name:"quoted_pairSMTP",symbols:[{literal:"\\"},/[\x20-\x7e]/]},{name:"qtextSMTP",symbols:[/[\x20-\x21\x23-\x5b\x5d-\x7e\u0080-\uFFFF]/],postprocess:n},{name:"IPv4_address_literal$macrocall$2",symbols:[{literal:"."},"Snum"]},{name:"IPv4_address_literal$macrocall$1",symbols:["IPv4_address_literal$macrocall$2","IPv4_address_literal$macrocall$2","IPv4_address_literal$macrocall$2"]},{name:"IPv4_address_literal",symbols:["Snum","IPv4_address_literal$macrocall$1"]},{name:"IPv6_address_literal$subexpression$1",symbols:[/[iI]/,/[pP]/,/[vV]/,{literal:"6"},{literal:":"}],postprocess:function(e){return e.join("")}},{name:"IPv6_address_literal",symbols:["IPv6_address_literal$subexpression$1","IPv6_addr"]},{name:"General_address_literal$ebnf$1",symbols:["dcontent"]},{name:"General_address_literal$ebnf$1",symbols:["General_address_literal$ebnf$1","dcontent"],postprocess:e=>e[0].concat([e[1]])},{name:"General_address_literal",symbols:["Standardized_tag",{literal:":"},"General_address_literal$ebnf$1"]},{name:"Standardized_tag",symbols:["Ldh_str"]},{name:"dcontent",symbols:[/[\x21-\x5a\x5e-\x7e]/],postprocess:n},{name:"Snum",symbols:["DIGIT"]},{name:"Snum$subexpression$1",symbols:[/[1-9]/,"DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$1"]},{name:"Snum$subexpression$2",symbols:[{literal:"1"},"DIGIT","DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$2"]},{name:"Snum$subexpression$3",symbols:[{literal:"2"},/[0-4]/,"DIGIT"]},{name:"Snum",symbols:["Snum$subexpression$3"]},{name:"Snum$subexpression$4",symbols:[{literal:"2"},{literal:"5"},/[0-5]/]},{name:"Snum",symbols:["Snum$subexpression$4"]},{name:"IPv6_addr",symbols:["IPv6_full"]},{name:"IPv6_addr",symbols:["IPv6_comp"]},{name:"IPv6_addr",symbols:["IPv6v4_full"]},{name:"IPv6_addr",symbols:["IPv6v4_comp"]},{name:"IPv6_hex",symbols:["HEXDIG"]},{name:"IPv6_hex$subexpression$1",symbols:["HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$1"]},{name:"IPv6_hex$subexpression$2",symbols:["HEXDIG","HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$2"]},{name:"IPv6_hex$subexpression$3",symbols:["HEXDIG","HEXDIG","HEXDIG","HEXDIG"]},{name:"IPv6_hex",symbols:["IPv6_hex$subexpression$3"]},{name:"IPv6_full$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_full$macrocall$1",symbols:["IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2","IPv6_full$macrocall$2"]},{name:"IPv6_full",symbols:["IPv6_hex","IPv6_full$macrocall$1"]},{name:"IPv6_comp$ebnf$1$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_comp$ebnf$1$subexpression$1$macrocall$1",symbols:["IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2","IPv6_comp$ebnf$1$subexpression$1$macrocall$2"]},{name:"IPv6_comp$ebnf$1$subexpression$1",symbols:["IPv6_hex","IPv6_comp$ebnf$1$subexpression$1$macrocall$1"]},{name:"IPv6_comp$ebnf$1",symbols:["IPv6_comp$ebnf$1$subexpression$1"],postprocess:n},{name:"IPv6_comp$ebnf$1",symbols:[],postprocess:()=>null},{name:"IPv6_comp$string$1",symbols:[{literal:":"},{literal:":"}],postprocess:e=>e.join("")},{name:"IPv6_comp$ebnf$2$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6_comp$ebnf$2$subexpression$1$macrocall$1",symbols:["IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2","IPv6_comp$ebnf$2$subexpression$1$macrocall$2"]},{name:"IPv6_comp$ebnf$2$subexpression$1",symbols:["IPv6_hex","IPv6_comp$ebnf$2$subexpression$1$macrocall$1"]},{name:"IPv6_comp$ebnf$2",symbols:["IPv6_comp$ebnf$2$subexpression$1"],postprocess:n},{name:"IPv6_comp$ebnf$2",symbols:[],postprocess:()=>null},{name:"IPv6_comp",symbols:["IPv6_comp$ebnf$1","IPv6_comp$string$1","IPv6_comp$ebnf$2"]},{name:"IPv6v4_full$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_full$macrocall$1",symbols:["IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2","IPv6v4_full$macrocall$2"]},{name:"IPv6v4_full",symbols:["IPv6_hex","IPv6v4_full$macrocall$1",{literal:":"},"IPv4_address_literal"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1$macrocall$1",symbols:["IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$2"]},{name:"IPv6v4_comp$ebnf$1$subexpression$1",symbols:["IPv6_hex","IPv6v4_comp$ebnf$1$subexpression$1$macrocall$1"]},{name:"IPv6v4_comp$ebnf$1",symbols:["IPv6v4_comp$ebnf$1$subexpression$1"],postprocess:n},{name:"IPv6v4_comp$ebnf$1",symbols:[],postprocess:()=>null},{name:"IPv6v4_comp$string$1",symbols:[{literal:":"},{literal:":"}],postprocess:e=>e.join("")},{name:"IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2",symbols:[{literal:":"},"IPv6_hex"]},{name:"IPv6v4_comp$ebnf$2$subexpression$1$macrocall$1",symbols:["IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$2"]},{name:"IPv6v4_comp$ebnf$2$subexpression$1",symbols:["IPv6_hex","IPv6v4_comp$ebnf$2$subexpression$1$macrocall$1",{literal:":"}]},{name:"IPv6v4_comp$ebnf$2",symbols:["IPv6v4_comp$ebnf$2$subexpression$1"],postprocess:n},{name:"IPv6v4_comp$ebnf$2",symbols:[],postprocess:()=>null},{name:"IPv6v4_comp",symbols:["IPv6v4_comp$ebnf$1","IPv6v4_comp$string$1","IPv6v4_comp$ebnf$2","IPv4_address_literal"]},{name:"DIGIT",symbols:[/[0-9]/],postprocess:n},{name:"ALPHA_DIGIT_U",symbols:[/[0-9A-Za-z\u0080-\uFFFF]/],postprocess:n},{name:"ALPHA_DIGIT",symbols:[/[0-9A-Za-z]/],postprocess:n},{name:"ALPHA_DIG_DASH",symbols:[/[-0-9A-Za-z]/],postprocess:n},{name:"ALPHA_DIG_DASH_U",symbols:[/[-0-9A-Za-z\u0080-\uFFFF]/],postprocess:n},{name:"HEXDIG",symbols:[/[0-9A-Fa-f]/],postprocess:n},{name:"DQUOTE",symbols:[{literal:'"'}],postprocess:n}],ParserStart:"Reverse_path"}},21391:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.canonicalize=t.canonicalize_quoted_string=t.normalize=t.normalize_dot_string=t.parse=void 0;let i=n(43614),s=r(n(62935));s.default.ParserStart="Mailbox";let o=i.Grammar.fromCompiled(s.default);function l(e){let t=new i.Parser(o);if(t.feed(e),1!==t.results.length)throw Error("address parsing failed: ambiguous grammar");return t.results[0]}function a(e){return(function(){let t=e.indexOf("+");return -1===t?e:e.substr(0,t)})().replace(/\./g,"").toLowerCase()}function u(e){let t=e.substr(1).substr(0,e.length-2).replace(/(?:\\(.))/g,"$1").replace(/(?:(["\\]))/g,"\\$1");return`"${t}"`}t.parse=l,t.normalize_dot_string=a,t.normalize=function(e){var t,n;let r=l(e),i=null!=(t=r.domainPart.AddressLiteral)?t:r.domainPart.DomainName.toLowerCase(),s=null!=(n=r.localPart.QuotedString)?n:a(r.localPart.DotString);return`${s}@${i}`},t.canonicalize_quoted_string=u,t.canonicalize=function(e){var t;let n=l(e),r=null!=(t=n.domainPart.AddressLiteral)?t:n.domainPart.DomainName.toLowerCase(),i=n.localPart.QuotedString?u(n.localPart.QuotedString):n.localPart.DotString;return`${i}@${r}`}},1170:function(e,t,n){!function(e){"use strict";e.exports.is_uri=n,e.exports.is_http_uri=r,e.exports.is_https_uri=i,e.exports.is_web_uri=s,e.exports.isUri=n,e.exports.isHttpUri=r,e.exports.isHttpsUri=i,e.exports.isWebUri=s;var t=function(e){return e.match(/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/)};function n(e){if(!(!e||/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(e)||/%[^0-9a-f]/i.test(e)||/%[0-9a-f](:?[^0-9a-f]|$)/i.test(e))){var n=[],r="",i="",s="",o="",l="",a="";if(r=(n=t(e))[1],i=n[2],s=n[3],o=n[4],l=n[5],r&&r.length&&s.length>=0){if(i&&i.length){if(!(0===s.length||/^\//.test(s)))return}else if(/^\/\//.test(s))return;if(/^[a-z][a-z0-9\+\-\.]*$/.test(r.toLowerCase()))return a+=r+":",i&&i.length&&(a+="//"+i),a+=s,o&&o.length&&(a+="?"+o),l&&l.length&&(a+="#"+l),a}}}function r(e,r){if(n(e)){var i=[],s="",o="",l="",a="",u="",h="",c="";if(s=(i=t(e))[1],o=i[2],l=i[3],u=i[4],h=i[5],s){if(r){if("https"!=s.toLowerCase())return}else if("http"!=s.toLowerCase())return;if(o)return/:(\d+)$/.test(o)&&(a=o.match(/:(\d+)$/)[0],o=o.replace(/:\d+$/,"")),c+=s+":",c+="//"+o,a&&(c+=a),c+=l,u&&u.length&&(c+="?"+u),h&&h.length&&(c+="#"+h),c}}}function i(e){return r(e,!0)}function s(e){return r(e)||i(e)}}(e=n.nmd(e))},54250:function(e,t,n){"use strict";n.d(t,{B1:()=>ex,GA:()=>ey,Gn:()=>es,vQ:()=>ec,ys:()=>eD});var r=n(35740),i=n(76621),s=n(85237);class o{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=(0,s.qz)(this.state).resolveInner(this.pos,-1);for(;t&&0>e.indexOf(t.name);)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),i=r.search(h(e,!1));return i<0?null:{from:n+i,to:this.pos,text:r.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function l(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}class a{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}}function u(e){return e.selection.main.from}function h(e,t){var n;let{source:r}=e,i=t&&"^"!=r[0],s="$"!=r[r.length-1];return i||s?RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,null!=(n=e.flags)?n:e.ignoreCase?"i":""):e}let c=r.q6.define(),f=new WeakMap;function d(e){if(!Array.isArray(e))return e;let t=f.get(e);return t||f.set(e,t=function(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,r]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let e=1;e<r.length;e++)n[r[e]]=!0}let r=l(t)+l(n)+"*$";return[RegExp("^"+r),new RegExp(r)]}(t);return e=>{let i=e.matchBefore(r);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}(e)),t}let p=r.Py.define(),m=r.Py.define();class g{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=(0,r.gm)(e,t),i=(0,r.nZ)(n);this.chars.push(n);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push((0,r.gm)(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:i,precise:s,byWord:o}=this;if(1==t.length){let i=(0,r.gm)(e,0),s=(0,r.nZ)(i),o=s==e.length?0:-100;if(i==t[0]);else{if(i!=n[0])return null;o+=-200}return this.ret(o,[0,s])}let l=e.indexOf(this.pattern);if(0==l)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=t.length,u=0;if(l<0){for(let s=0,o=Math.min(e.length,200);s<o&&u<a;){let o=(0,r.gm)(e,s);(o==t[u]||o==n[u])&&(i[u++]=s),s+=(0,r.nZ)(o)}if(u<a)return null}let h=0,c=0,f=!1,d=0,p=-1,m=-1,g=/[a-z]/.test(e),y=!0;for(let i=0,u=Math.min(e.length,200),b=0;i<u&&c<a;){let u=(0,r.gm)(e,i);l<0&&(h<a&&u==t[h]&&(s[h++]=i),d<a&&(u==t[d]||u==n[d]?(0==d&&(p=i),m=i+1,d++):d=0));let v,w=u<255?u>=48&&u<=57||u>=97&&u<=122?2:+(u>=65&&u<=90):(v=(0,r.bg)(u))!=v.toLowerCase()?1:2*(v!=v.toUpperCase());(!i||1==w&&g||0==b&&0!=w)&&(t[c]==u||n[c]==u&&(f=!0)?o[c++]=i:o.length&&(y=!1)),b=w,i+=(0,r.nZ)(u)}return c==a&&0==o[0]&&y?this.result(-100+(f?-200:0),o,e):d==a&&0==p?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):d==a?this.ret(-900-e.length,[p,m]):c==a?this.result(-100+(f?-200:0)+-700+(y?0:-1100),o,e):2==t.length?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,n){let i=[],s=0;for(let e of t){let t=e+(this.astral?(0,r.nZ)((0,r.gm)(n,e)):1);s&&i[s-1]==e?i[s-1]=t:(i[s++]=e,i[s++]=t)}return this.ret(e-n.length,i)}}class y{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return null==n?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}}let b=r.r$.define({combine:e=>(0,r.BO)(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:w,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>v(e(n),t(n)),optionClass:(e,t)=>n=>v(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function v(e,t){return e?t?e+" "+t:e:t}function w(e,t,n,r,s,o){let l=e.textDirection==i.Nm.RTL,a=l,u=!1,h="top",c,f,d=t.left-s.left,p=s.right-t.right,m=r.right-r.left,g=r.bottom-r.top;if(a&&d<Math.min(m,p)?a=!1:!a&&p<Math.min(m,d)&&(a=!0),m<=(a?d:p))c=Math.max(s.top,Math.min(n.top,s.bottom-g))-t.top,f=Math.min(400,a?d:p);else{u=!0,f=Math.min(400,(l?t.right:s.right-t.left)-30);let e=s.bottom-t.bottom;e>=g||e>t.top?c=n.bottom-t.top:(h="bottom",c=t.bottom-n.top)}let y=(t.bottom-t.top)/o.offsetHeight,b=(t.right-t.left)/o.offsetWidth;return{style:`${h}: ${c/y}px; max-width: ${f/b}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":a?"left":"right")}}function k(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let r=Math.floor((e-t)/n);return{from:e-(r+1)*n,to:e-r*n}}class D{constructor(e,t,n){let r;this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,l=e.state.facet(b);this.optionContent=(r=l.addToOptions.slice(),l.icons&&r.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),r.push({render(e,t,n,r){let i=document.createElement("span");i.className="cm-completionLabel";let s=e.displayLabel||e.label,o=0;for(let e=0;e<r.length;){let t=r[e++],n=r[e++];t>o&&i.appendChild(document.createTextNode(s.slice(o,t)));let l=i.appendChild(document.createElement("span"));l.appendChild(document.createTextNode(s.slice(t,n))),l.className="cm-completionMatchedText",o=n}return o<s.length&&i.appendChild(document.createTextNode(s.slice(o))),i},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),r.sort((e,t)=>e.position-t.position).map(e=>e.render)),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=k(s.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",n=>{let{options:r}=e.state.field(t).open;for(let t=n.target,i;t&&t!=this.dom;t=t.parentNode)if("LI"==t.nodeName&&(i=/-(\d+)$/.exec(t.id))&&+i[1]<r.length){this.applyCompletion(e,r[+i[1]]),n.preventDefault();return}}),this.dom.addEventListener("focusout",t=>{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(b).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:m.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=r){let{options:i,selected:s,disabled:o}=n.open;r.open&&r.open.options==i||(this.range=k(i.length,s,e.state.facet(b).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),o!=(null==(t=r.open)?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=k(t.options.length,t.selected,this.view.state.facet(b).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:r}=n;if(!r)return;let s="string"==typeof r?document.createTextNode(r):r(n);if(!s)return;"then"in s?s.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>(0,i.OO)(this.view.state,e,"completion info")):this.addInfoPane(s,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;n.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){var t,n;let r,i,s,o=null;for(let t=this.list.firstChild,n=this.range.from;t;t=t.nextSibling,n++)"LI"==t.nodeName&&t.id?n==e?t.hasAttribute("aria-selected")||(t.setAttribute("aria-selected","true"),o=t):t.hasAttribute("aria-selected")&&t.removeAttribute("aria-selected"):n--;return o&&(t=this.list,n=o,r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),s=r.height/t.offsetHeight,i.top<r.top?t.scrollTop-=(r.top-i.top)/s:i.bottom>r.bottom&&(t.scrollTop+=(i.bottom-r.bottom)/s)),o}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return r.top>Math.min(i.bottom,t.bottom)-10||r.bottom<Math.max(i.top,t.top)+10?null:this.view.state.facet(b).positionInfo(this.view,t,r,n,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,n){let r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",e=>{e.target==r&&e.preventDefault()});let i=null;for(let s=n.from;s<n.to;s++){let{completion:o,match:l}=e[s],{section:a}=o;if(a){let e="string"==typeof a?a:a.name;e!=i&&(s>n.from||0==n.from)&&(i=e,"string"!=typeof a&&a.header?r.appendChild(a.header(a)):r.appendChild(document.createElement("completion-section")).textContent=e)}let u=r.appendChild(document.createElement("li"));u.id=t+"-"+s,u.setAttribute("role","option");let h=this.optionClass(o);for(let e of(h&&(u.className=h),this.optionContent)){let t=e(o,this.view.state,this.view,l);t&&u.appendChild(t)}}return n.from&&r.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function x(e){return 100*(e.boost||0)+10*!!e.apply+5*!!e.info+ +!!e.type}class C{constructor(e,t,n,r,i,s){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=i,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new C(this.options,_(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,r,i,s){if(r&&!s&&e.some(e=>e.isPending))return r.setDisabled();let o=function(e,t){let n=[],r=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){r||(r=[]);let e="string"==typeof t?t:t.name;r.some(t=>t.name==e)||r.push("string"==typeof t?{name:e}:t)}},s=t.facet(b);for(let r of e)if(r.hasResult()){let e=r.result.getMatch;if(!1===r.result.filter)for(let t of r.result.options)i(new a(t,r.source,e?e(t):[],1e9-n.length));else{let n=t.sliceDoc(r.from,r.to),o,l=s.filterStrict?new y(n):new g(n);for(let t of r.result.options)if(o=l.match(t.label)){let n=t.displayLabel?e?e(t,o.matched):[]:o.matched;i(new a(t,r.source,n,o.score+(t.boost||0)))}}}if(r){let e=Object.create(null),t=0;for(let n of r.sort((e,t)=>{var n,r;return(null!=(n=e.rank)?n:1e9)-(null!=(r=t.rank)?r:1e9)||(e.name<t.name?-1:1)}))t-=1e5,e[n.name]=t;for(let t of n){let{section:n}=t.completion;n&&(t.score+=e["string"==typeof n?n:n.name])}}let o=[],l=null,u=s.compareCompletions;for(let e of n.sort((e,t)=>t.score-e.score||u(e.completion,t.completion))){let t=e.completion;l&&l.label==t.label&&l.detail==t.detail&&(null==l.type||null==t.type||l.type==t.type)&&l.apply==t.apply&&l.boost==t.boost?x(e.completion)>x(l)&&(o[o.length-1]=e):o.push(e),l=e.completion}return o}(e,t);if(!o.length)return r&&e.some(e=>e.isPending)?r.setDisabled():null;let l=t.facet(b).selectOnOpen?0:-1;if(r&&r.selected!=l&&-1!=r.selected){let e=r.options[r.selected].completion;for(let t=0;t<o.length;t++)if(o[t].completion==e){l=t;break}}return new C(o,_(n,l),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:$,above:i.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new C(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new C(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class A{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new A(O,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(b),r=(n.override||t.languageDataAt("autocomplete",u(t)).map(d)).map(t=>(this.active.find(e=>e.source==t)||new T(t,+!!this.active.some(e=>0!=e.state))).update(e,n));r.length==this.active.length&&r.every((e,t)=>e==this.active[t])&&(r=this.active);let i=this.open,s=e.effects.some(e=>e.is(I));for(let o of(i&&e.docChanged&&(i=i.map(e.changes)),e.selection||r.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let n=0,r=0;;){for(;n<e.length&&!e[n].hasResult();)n++;for(;r<t.length&&!t[r].hasResult();)r++;let i=n==e.length,s=r==t.length;if(i||s)return i==s;if(e[n++].result!=t[r++].result)return!1}}(r,this.active)||s?i=C.build(r,t,this.id,i,n,s):i&&i.disabled&&!r.some(e=>e.isPending)&&(i=null),!i&&r.every(e=>!e.isPending)&&r.some(e=>e.hasResult())&&(r=r.map(e=>e.hasResult()?new T(e.source,0):e)),e.effects))o.is(N)&&(i=i&&i.setSelected(o.value,this.id));return r==this.active&&i==this.open?this:new A(r,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?E:S}}let E={"aria-autocomplete":"list"},S={};function _(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}let O=[];function F(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(c);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:16*!!e.docChanged}class T{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let n=F(e,t),r=this;for(let t of((8&n||16&n&&this.touches(e))&&(r=new T(r.source,0)),4&n&&0==r.state&&(r=new T(this.source,1)),r=r.updateFor(e,n),e.effects))if(t.is(p))r=new T(r.source,1,t.value);else if(t.is(m))r=new T(r.source,0);else if(t.is(I))for(let e of t.value)e.source==r.source&&(r=e);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(u(e.state))}}class P extends T{constructor(e,t,n,r,i,s){super(e,3,t),this.limit=n,this.result=r,this.from=i,this.to=s}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),l=u(e.state);if(l>s||!r||2&t&&(u(e.startState)==this.from||l<this.limit))return new T(this.source,4&t?1:0);let a=e.changes.mapPos(this.limit);return!function(e,t,n,r){if(!e)return!1;let i=t.sliceDoc(n,r);return"function"==typeof e?e(i,n,r,t):h(e,!0).test(i)}(r.validFor,e.state,i,s)?r.update&&(r=r.update(r,i,s,new o(e.state,l,!1)))?new P(this.source,this.explicit,a,r,r.from,null!=(n=r.to)?n:u(e.state)):new T(this.source,1,this.explicit):new P(this.source,this.explicit,a,r,i,s)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new P(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new T(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}let I=r.Py.define({map:(e,t)=>e.map(e=>e.map(t))}),N=r.Py.define(),B=r.QQ.define({create:()=>A.start(),update:(e,t)=>e.update(t),provide:e=>[i.hJ.from(e,e=>e.tooltip),i.tk.contentAttributes.from(e,e=>e.attrs)]});function M(e,t){let n=t.completion.apply||t.completion.label,i=e.state.field(B).active.find(e=>e.source==t.source);return i instanceof P&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,i){let{main:s}=e.selection,o=n-s.from,l=i-s.from;return Object.assign(Object.assign({},e.changeByRange(a=>{if(a!=s&&n!=i&&e.sliceDoc(a.from+o,a.from+l)!=e.sliceDoc(n,i))return{range:a};let u=e.toText(t);return{changes:{from:a.from+o,to:i==s.from?a.to:a.from+l,insert:u},range:r.jT.cursor(a.from+o+u.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,i.from,i.to)),{annotations:c.of(t.completion)})):n(e,t.completion,i.from,i.to),!0)}let $=e=>new D(e,B,M);function L(e,t="option"){return n=>{let r=n.state.field(B,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(b).interactionDelay)return!1;let s=1,o;"page"==t&&(o=(0,i.gB)(n,r.open.tooltip))&&(s=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:l}=r.open.options,a=r.open.selected>-1?r.open.selected+s*(e?1:-1):e?0:l-1;return a<0?a="page"==t?0:l-1:a>=l&&(a="page"==t?l-1:0),n.dispatch({effects:N.of(a)}),!0}}let R=e=>!!e.state.field(B,!1)&&(e.dispatch({effects:p.of(!0)}),!0);class j{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}let q=i.lg.fromClass(class{constructor(e){for(let t of(this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,e.state.field(B).active))t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(B),n=e.state.facet(b);if(!e.selectionSet&&!e.docChanged&&e.startState.field(B)==t)return;let r=e.transactions.some(e=>{let t=F(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.context.abortOnDocChange&&e.docChanged||n.updates.length+e.transactions.length>50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){(0,i.OO)(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(p)))&&(this.pendingStart=!0);let s=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),s):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(B);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(b).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=u(t),r=new o(t,n,e.explicit,this.view),s=new j(e,r);this.running.push(s),Promise.resolve(e.source(r)).then(e=>{s.context.aborted||(s.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:m.of(null)}),(0,i.OO)(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(b).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(b),r=this.view.state.field(B);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(void 0===s.done)continue;if(this.running.splice(i--,1),s.done){let r=u(s.updates.length?s.updates[0].startState:this.view.state),i=Math.min(r,s.done.from+ +!s.active.explicit),o=new P(s.active.source,s.active.explicit,i,s.done,s.done.from,null!=(e=s.done.to)?e:r);for(let e of s.updates)o=o.update(e,n);if(o.hasResult()){t.push(o);continue}}let o=r.active.find(e=>e.source==s.active.source);if(o&&o.isPending)if(null==s.done){let e=new T(s.active.source,0);for(let t of s.updates)e=e.update(t,n);e.isPending||t.push(e)}else this.startQuery(o)}(t.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:I.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(B,!1);if(t&&t.tooltip&&this.view.state.facet(b).closeOnBlur){let n=t.open&&(0,i.gB)(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:m.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:p.of(!1)}),20),this.composing=0}}}),z="object"==typeof navigator&&/Win/.test(navigator.platform),U=r.Wl.highest(i.tk.domEventHandlers({keydown(e,t){let n=t.state.field(B,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(z&&e.altKey)||e.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(e=>e.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(e.key)>-1&&M(t,r),!1}})),V=i.tk.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xb7\xb7\xb7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class H{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}}class W{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,r.gc.TrackDel),n=e.mapPos(this.to,1,r.gc.TrackDel);return null==t||null==n?null:new W(this.field,t,n)}}class G{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],i=e.doc.lineAt(t),o=/^\s*/.exec(i.text)[0];for(let i of this.lines){if(n.length){let n=o,l=/^\t*/.exec(i)[0].length;for(let t=0;t<l;t++)n+=e.facet(s.c);r.push(t+n.length-l),i=n+i.slice(l)}n.push(i),t+=i.length+1}return{text:n,ranges:this.fieldPositions.map(e=>new W(e.field,r[e.line]+e.from,r[e.line]+e.to))}}static parse(e){let t=[],n=[],r=[],i;for(let s of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(s);){let e=i[1]?+i[1]:null,o=i[2]||i[3]||"",l=-1,a=o.replace(/\\[{}]/g,e=>e[1]);for(let n=0;n<t.length;n++)(null!=e?t[n].seq==e:a&&t[n].name==a)&&(l=n);if(l<0){let n=0;for(;n<t.length&&(null==e||null!=t[n].seq&&t[n].seq<e);)n++;for(let i of(t.splice(n,0,{seq:e,name:a}),l=n,r))i.field>=l&&i.field++}r.push(new H(l,n.length,i.index,i.index+a.length)),s=s.slice(0,i.index)+o+s.slice(i.index+i[0].length)}s=s.replace(/\\([{}])/g,(e,t,i)=>{for(let e of r)e.line==n.length&&e.from>i&&(e.from--,e.to--);return t}),n.push(s)}return new G(n,r)}}let K=i.p.widget({widget:new class extends i.l9{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),J=i.p.mark({class:"cm-snippetField"});class Q{constructor(e,t){this.ranges=e,this.active=t,this.deco=i.p.set(e.map(e=>(e.from==e.to?K:J).range(e.from,e.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new Q(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}let Y=r.Py.define({map:(e,t)=>e&&e.map(t)}),Z=r.Py.define(),X=r.QQ.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(Y))return n.value;if(n.is(Z)&&e)return new Q(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>i.tk.decorations.from(e,e=>e?e.deco:i.p.none)});function ee(e,t){return r.jT.create(e.filter(e=>e.field==t).map(e=>r.jT.range(e.from,e.to)))}function et(e){return({state:t,dispatch:n})=>{let r=t.field(X,!1);if(!r||e<0&&0==r.active)return!1;let i=r.active+e,s=e>0&&!r.ranges.some(t=>t.field==i+e);return n(t.update({selection:ee(r.ranges,i),effects:Y.of(s?null:new Q(r.ranges,i)),scrollIntoView:!0})),!0}}let en=[{key:"Tab",run:et(1),shift:et(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(X,!1)&&(t(e.update({effects:Y.of(null)})),!0)}],er=r.r$.define({combine:e=>e.length?e[0]:en}),ei=r.Wl.highest(i.$f.compute([er],e=>e.facet(er)));function es(e,t){let n;return Object.assign(Object.assign({},t),{apply:(n=G.parse(e),(e,t,i,s)=>{let{text:o,ranges:l}=n.instantiate(e.state,i),{main:a}=e.state.selection,u={changes:{from:i,to:s==a.from?a.to:s,insert:r.xv.of(o)},scrollIntoView:!0,annotations:t?[c.of(t),r.YW.userEvent.of("input.complete")]:void 0};if(l.length&&(u.selection=ee(l,0)),l.some(e=>e.field>0)){let t=new Q(l,0),n=u.effects=[Y.of(t)];void 0===e.state.field(X,!1)&&n.push(r.Py.appendConfig.of([X,ei,eo,V]))}e.dispatch(e.state.update(u))})})}let eo=i.tk.domEventHandlers({mousedown(e,t){let n=t.state.field(X,!1),r;if(!n||null==(r=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let i=n.ranges.find(e=>e.from<=r&&e.to>=r);return!!i&&i.field!=n.active&&(t.dispatch({selection:ee(n.ranges,i.field),effects:Y.of(n.ranges.some(e=>e.field>i.field)?new Q(n.ranges,i.field):null),scrollIntoView:!0}),!0)}}),el={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ea=r.Py.define({map(e,t){let n=t.mapPos(e,-1,r.gc.TrackAfter);return null==n?void 0:n}}),eu=new class extends r.uU{};eu.startSide=1,eu.endSide=-1;let eh=r.QQ.define({create:()=>r.Xs.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(ea)&&(e=e.update({add:[eu.range(n.value,n.value+1)]}));return e}});function ec(){return[eg,eh]}let ef="()[]{}<>\xab\xbb\xbb\xab[]{}";function ed(e){for(let t=0;t<ef.length;t+=2)if(ef.charCodeAt(t)==e)return ef.charAt(t+1);return(0,r.bg)(e<128?e:e+1)}function ep(e,t){return e.languageDataAt("closeBrackets",t)[0]||el}let em="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),eg=i.tk.inputHandler.of((e,t,n,i)=>{if((em?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(i.length>2||2==i.length&&1==(0,r.nZ)((0,r.gm)(i,0))||t!=o.from||n!=o.to)return!1;let l=function(e,t){let n=ep(e,e.selection.main.head),i=n.brackets||el.brackets;for(let o of i){let l=ed((0,r.gm)(o,0));if(t==o)return l==o?function(e,t,n,i){let o=i.stringPrefixes||el.stringPrefixes,l=null,a=e.changeByRange(i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:ea.of(i.to+t.length),range:r.jT.range(i.anchor+t.length,i.head+t.length)};let a=i.head,u=ev(e.doc,a),h;if(u==t){if(ew(e,a))return{changes:{insert:t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};else if(eb(e,a)){let i=n&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+i.length,insert:i},range:r.jT.cursor(a+i.length)}}}else if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&(h=ek(e,a-2*t.length,o))>-1&&ew(e,h))return{changes:{insert:t+t+t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};else if(e.charCategorizer(a)(u)!=r.D0.Word&&ek(e,a,o)>-1&&!function(e,t,n,r){let i=(0,s.qz)(e).resolveInner(t,-1),o=r.reduce((e,t)=>Math.max(e,t.length),0);for(let s=0;s<5;s++){let s=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+o)),l=s.indexOf(n);if(!l||l>-1&&r.indexOf(s.slice(0,l))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+l;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let a=i.to==t&&i.parent;if(!a)break;i=a}return!1}(e,a,t,o))return{changes:{insert:t+t,from:a},effects:ea.of(a+t.length),range:r.jT.cursor(a+t.length)};return{range:l=i}});return l?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}(e,o,i.indexOf(o+o+o)>-1,n):function(e,t,n,i){let s=null,o=e.changeByRange(o=>{if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:n,from:o.to}],effects:ea.of(o.to+t.length),range:r.jT.range(o.anchor+t.length,o.head+t.length)};let l=ev(e.doc,o.head);return!l||/\s/.test(l)||i.indexOf(l)>-1?{changes:{insert:t+n,from:o.head},effects:ea.of(o.head+t.length),range:r.jT.cursor(o.head+t.length)}:{range:s=o}});return s?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}(e,o,l,n.before||el.before);if(t==l&&eb(e,e.selection.main.from))return function(e,t,n){let i=null,s=e.changeByRange(t=>t.empty&&ev(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:r.jT.cursor(t.head+n.length)}:i={range:t});return i?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}(e,0,l)}return null}(e.state,i);return!!l&&(e.dispatch(l),!0)}),ey=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=ep(e,e.selection.main.head).brackets||el.brackets,i=null,s=e.changeByRange(t=>{if(t.empty){var s,o;let i,l=(s=e.doc,o=t.head,i=s.sliceString(o-2,o),(0,r.nZ)((0,r.gm)(i,0))==i.length?i:i.slice(1));for(let i of n)if(i==l&&ev(e.doc,t.head)==ed((0,r.gm)(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:r.jT.cursor(t.head-i.length)}}return{range:i=t}});return i||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function eb(e,t){let n=!1;return e.field(eh).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function ev(e,t){let n=e.sliceString(t,t+2);return n.slice(0,(0,r.nZ)((0,r.gm)(n,0)))}function ew(e,t){let n=(0,s.qz)(e).resolveInner(t+1);return n.parent&&n.from==t}function ek(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=r.D0.Word)return t;for(let s of n){let n=t-s.length;if(e.sliceDoc(n,t)==s&&i(e.sliceDoc(n-1,n))!=r.D0.Word)return n}return -1}function eD(e={}){return[U,B,b.of(e),q,eC,V]}let ex=[{key:"Ctrl-Space",run:R},{mac:"Alt-`",run:R},{key:"Escape",run:e=>{let t=e.state.field(B,!1);return!!t&&!!t.active.some(e=>0!=e.state)&&(e.dispatch({effects:m.of(null)}),!0)}},{key:"ArrowDown",run:L(!0)},{key:"ArrowUp",run:L(!1)},{key:"PageDown",run:L(!0,"page")},{key:"PageUp",run:L(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(B,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(b).interactionDelay)&&M(e,t.open.options[t.open.selected])}}],eC=r.Wl.highest(i.$f.computeN([b],e=>e.facet(b).defaultKeymap?[ex]:[]))},66203:function(e,t,n){"use strict";n.d(t,{f$:()=>P,m8:()=>b,wQ:()=>eS});var r=n(35740),i=n(76621),s=n(85237),o=n(7888);function l(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return!!i&&(r(n.update(i)),!0)}}let a=l(function(e,t,n=t.selection.ranges){let r=[],i=-1;for(let{from:e,to:s}of n){let n=r.length,o=1e9,l=c(t,e).line;if(l){for(let n=e;n<=s;){let a=t.doc.lineAt(n);if(a.from>i&&(e==s||s>a.from)){i=a.from;let e=/^\s*/.exec(a.text)[0].length,t=e==a.length,n=a.text.slice(e,e+l.length)==l?e:-1;e<a.text.length&&e<o&&(o=e),r.push({line:a,comment:n,token:l,indent:e,empty:t,single:!1})}n=a.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}}if(2!=e&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:s,single:o}of r)(o||!s)&&e.push({from:t.from+i,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,s=r+i.length;" "==t.text[s-t.from]&&s++,e.push({from:r,to:s})}return{changes:e}}return null},0),u=l(f,0),h=l((e,t)=>f(e,t,function(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let s=t.length-1;s>=0&&t[s].to>r.from?t[s].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}(t)),0);function c(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}function f(e,t,n=t.selection.ranges){let r=n.map(e=>c(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>(function(e,{open:t,close:n},r,i){let s,o,l=e.sliceDoc(r-50,r),a=e.sliceDoc(i,i+50),u=/\s*$/.exec(l)[0].length,h=/^\s*/.exec(a)[0].length,c=l.length-u;if(l.slice(c-t.length,c)==t&&a.slice(h,h+n.length)==n)return{open:{pos:r-u,margin:u&&1},close:{pos:i+h,margin:h&&1}};i-r<=100?s=o=e.sliceDoc(r,i):(s=e.sliceDoc(r,r+50),o=e.sliceDoc(i-50,i));let f=/^\s*/.exec(s)[0].length,d=/\s*$/.exec(o)[0].length,p=o.length-d-n.length;return s.slice(f,f+t.length)==t&&o.slice(p,p+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(s.charAt(f+t.length))},close:{pos:i-d-n.length,margin:+!!/\s/.test(o.charAt(p-1))}}:null})(t,r[n],e.from,e.to));if(2!=e&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+" "},{from:e.to,insert:" "+r[t].close}]))};if(1!=e&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:s,close:o}=n;e.push({from:s.pos-i.open.length,to:s.pos+s.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}let d=r.q6.define(),p=r.q6.define(),m=r.r$.define(),g=r.r$.define({combine:e=>(0,r.BO)(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}),y=r.QQ.define({create:()=>T.empty,update(e,t){let n=t.state.facet(g),i=t.annotation(d);if(i){let r=C.fromTransaction(t,i.selection),s=i.side,o=0==s?e.undone:e.done;return o=r?A(o,o.length,n.minDepth,r):_(o,t.startState.selection),new T(0==s?i.rest:o,0==s?o:i.rest)}let s=t.annotation(p);if(("full"==s||"before"==s)&&(e=e.isolate()),!1===t.annotation(r.YW.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let o=C.fromTransaction(t),l=t.annotation(r.YW.time),a=t.annotation(r.YW.userEvent);return o?e=e.addChanges(o,l,a,n,t):t.selection&&(e=e.addSelection(t.startState.selection,l,a,n.newGroupDelay)),("full"==s||"after"==s)&&(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new T(e.done.map(C.fromJSON),e.undone.map(C.fromJSON))});function b(e={}){return[y,g.of(e),i.tk.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?w:"historyRedo"==e.inputType?k:null;return!!n&&(e.preventDefault(),n(t))}})]}function v(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(y,!1);if(!i)return!1;let s=i.pop(e,n,t);return!!s&&(r(s),!0)}}let w=v(0,!1),k=v(1,!1),D=v(0,!0),x=v(1,!0);class C{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new C(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null==(e=this.changes)?void 0:e.toJSON(),mapped:null==(t=this.mapped)?void 0:t.toJSON(),startSelection:null==(n=this.startSelection)?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new C(e.changes&&r.as.fromJSON(e.changes),[],e.mapped&&r.n0.fromJSON(e.mapped),e.startSelection&&r.jT.fromJSON(e.startSelection),e.selectionsAfter.map(r.jT.fromJSON))}static fromTransaction(e,t){let n=S;for(let t of e.startState.facet(m)){let r=t(e);r.length&&(n=n.concat(r))}return!n.length&&e.changes.empty?null:new C(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,S)}static selection(e){return new C(void 0,S,void 0,void 0,e)}}function A(e,t,n,r){let i=e.slice(t+1>n+20?t-n-1:0,t);return i.push(r),i}function E(e,t){return e.length?t.length?e.concat(t):e:t}let S=[];function _(e,t){if(!e.length)return[C.selection([t])];{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-200));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),A(e,e.length-1,1e9,n.setSelAfter(r)))}}function O(e,t){if(!e.length)return e;let n=e.length,i=S;for(;n;){let s=function(e,t,n){let i=E(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):S,n);if(!e.changes)return C.selection(i);let s=e.changes.map(t),o=t.mapDesc(e.changes,!0),l=e.mapped?e.mapped.composeDesc(o):o;return new C(s,r.Py.mapEffects(e.effects,t),l,e.startSelection.map(o),i)}(e[n-1],t,i);if(s.changes&&!s.changes.empty||s.effects.length){let t=e.slice(0,n);return t[n-1]=s,t}t=s.mapped,n--,i=s.selectionsAfter}return i.length?[C.selection(i)]:S}let F=/^(input\.type|delete)($|\.)/;class T{constructor(e,t,n=0,r){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new T(this.done,this.undone):this}addChanges(e,t,n,i,s){var o,l;let a,u,h=this.done,c=h[h.length-1];return new T(h=c&&c.changes&&!c.changes.empty&&e.changes&&(!n||F.test(n))&&(!c.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,(o=c.changes,l=e.changes,a=[],u=!1,o.iterChangedRanges((e,t)=>a.push(e,t)),l.iterChangedRanges((e,t,n,r)=>{for(let e=0;e<a.length;){let t=a[e++],i=a[e++];r>=t&&n<=i&&(u=!0)}}),u))||"input.type.compose"==n)?A(h,h.length-1,i.minDepth,new C(e.changes.compose(c.changes),E(r.Py.mapEffects(e.effects,c.changes),c.effects),c.mapped,c.startSelection,S)):A(h,h.length,i.minDepth,e),S,t,n)}addSelection(e,t,n,r){var i;let s=this.done.length?this.done[this.done.length-1].selectionsAfter:S;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&(i=s[s.length-1],i.ranges.length==e.ranges.length&&0===i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length)?this:new T(_(this.done,e),this.undone,t,n)}addMapping(e){return new T(O(this.done,e),O(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=0==e?this.done:this.undone;if(0==r.length)return null;let i=r[r.length-1],s=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length){let n,o;return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:d.of({side:e,rest:(n=r[r.length-1],(o=r.slice())[r.length-1]=n.setSelAfter(n.selectionsAfter.slice(0,n.selectionsAfter.length-1)),o),selection:s}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0})}{if(!i.changes)return null;let n=1==r.length?S:r.slice(0,r.length-1);return i.mapped&&(n=O(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:d.of({side:e,rest:n,selection:s}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}}}T.empty=new T(S,S);let P=[{key:"Mod-z",run:w,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:k,preventDefault:!0},{linux:"Ctrl-Shift-z",run:k,preventDefault:!0},{key:"Mod-u",run:D,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:x,preventDefault:!0}];function I(e,t){return r.jT.create(e.ranges.map(t),e.mainIndex)}function N(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function B({state:e,dispatch:t},n){let r=I(e.selection,n);return!r.eq(e.selection,!0)&&(t(N(e,r)),!0)}function M(e,t){return r.jT.cursor(t?e.to:e.from)}function $(e,t){return B(e,n=>n.empty?e.moveByChar(n,t):M(n,t))}function L(e){return e.textDirectionAt(e.state.selection.main.head)==i.Nm.LTR}let R=e=>$(e,!L(e)),j=e=>$(e,L(e));function q(e,t){return B(e,n=>n.empty?e.moveByGroup(n,t):M(n,t))}function z(e,t,n){let i,l,a=(0,s.qz)(e).resolveInner(t.head),u=n?o.md.closedBy:o.md.openedBy;for(let r=t.head;;){let t=n?a.childAfter(r):a.childBefore(r);if(!t)break;!function(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}(e,t,u)?r=n?t.to:t.from:a=t}return l=a.type.prop(u)&&(i=n?(0,s.Um)(e,a.from,1):(0,s.Um)(e,a.to,-1))&&i.matched?n?i.end.to:i.end.from:n?a.to:a.from,r.jT.cursor(l,n?-1:1)}function U(e,t){return B(e,n=>{if(!n.empty)return M(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}"undefined"!=typeof Intl&&Intl.Segmenter;let V=e=>U(e,!1),H=e=>U(e,!0);function W(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let t of e.state.facet(i.tk.scrollMargins)){let i=t(e);(null==i?void 0:i.top)&&(n=Math.max(null==i?void 0:i.top,n)),(null==i?void 0:i.bottom)&&(r=Math.max(null==i?void 0:i.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function G(e,t){let n,r=W(e),{state:s}=e,o=I(s.selection,n=>n.empty?e.moveVertically(n,t,r.height):M(n,t));if(o.eq(s.selection))return!1;if(r.selfScroll){let t=e.coordsAtPos(s.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),a=l.top+r.marginTop,u=l.bottom-r.marginBottom;t&&t.top>a&&t.bottom<u&&(n=i.tk.scrollIntoView(o.main.head,{y:"start",yMargin:t.top-a}))}return e.dispatch(N(s,o),{effects:n}),!0}let K=e=>G(e,!1),J=e=>G(e,!0);function Q(e,t,n){let i=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?i.to:i.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(s=r.jT.cursor(i.from+n))}return s}function Y(e,t){let n=I(e.state.selection,e=>{let n=t(e);return r.jT.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(N(e.state,n)),!0)}function Z(e,t){return Y(e,n=>e.moveByChar(n,t))}let X=e=>Z(e,!L(e)),ee=e=>Z(e,L(e));function et(e,t){return Y(e,n=>e.moveByGroup(n,t))}function en(e,t){return Y(e,n=>e.moveVertically(n,t))}let er=e=>en(e,!1),ei=e=>en(e,!0);function es(e,t){return Y(e,n=>e.moveVertically(n,t,W(e).height))}let eo=e=>es(e,!1),el=e=>es(e,!0),ea=({state:e,dispatch:t})=>(t(N(e,{anchor:0})),!0),eu=({state:e,dispatch:t})=>(t(N(e,{anchor:e.doc.length})),!0),eh=({state:e,dispatch:t})=>(t(N(e,{anchor:e.selection.main.anchor,head:0})),!0),ec=({state:e,dispatch:t})=>(t(N(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function ef(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:s}=e,o=s.changeByRange(i=>{let{from:s,to:o}=i;if(s==o){let r=t(i);r<s?(n="delete.backward",r=ed(e,r,!1)):r>s&&(n="delete.forward",r=ed(e,r,!0)),s=Math.min(s,r),o=Math.max(o,r)}else s=ed(e,s,!1),o=ed(e,o,!0);return s==o?{range:i}:{changes:{from:s,to:o},range:r.jT.cursor(s,s<i.head?-1:1)}});return!o.changes.empty&&(e.dispatch(s.update(o,{scrollIntoView:!0,userEvent:n,effects:"delete.selection"==n?i.tk.announce.of(s.phrase("Selection deleted")):void 0})),!0)}function ed(e,t,n){if(e instanceof i.tk)for(let r of e.state.facet(i.tk.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}let ep=(e,t,n)=>ef(e,i=>{let o=i.from,{state:l}=e,a=l.doc.lineAt(o),u,h;if(n&&!t&&o>a.from&&o<a.from+200&&!/[^ \t]/.test(u=a.text.slice(0,o-a.from))){if(" "==u[u.length-1])return o-1;let e=(0,r.IS)(u,l.tabSize)%(0,s.y1)(l)||(0,s.y1)(l);for(let t=0;t<e&&" "==u[u.length-1-t];t++)o--;h=o}else(h=(0,r.cp)(a.text,o-a.from,t,t)+a.from)==o&&a.number!=(t?l.doc.lines:1)?h+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(a.text.slice(h-a.from,o-a.from))&&(h=(0,r.cp)(a.text,h-a.from,!1,!1)+a.from);return h}),em=e=>ep(e,!1,!0),eg=e=>ep(e,!0,!1),ey=(e,t)=>ef(e,n=>{let i=n.head,{state:s}=e,o=s.doc.lineAt(i),l=s.charCategorizer(i);for(let e=null;;){if(i==(t?o.to:o.from)){i==n.head&&o.number!=(t?s.doc.lines:1)&&(i+=t?1:-1);break}let a=(0,r.cp)(o.text,i-o.from,t)+o.from,u=o.text.slice(Math.min(i,a)-o.from,Math.max(i,a)-o.from),h=l(u);if(null!=e&&h!=e)break;(" "!=u||i!=n.head)&&(e=h),i=a}return i}),eb=e=>ey(e,!1);function ev(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),s=e.doc.lineAt(r.to);if(r.empty||r.to!=s.from||(s=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=s.to,e.ranges.push(r)}else t.push({from:i.from,to:s.to,ranges:[r]});n=s.number+1}return t}function ew(e,t,n){if(e.readOnly)return!1;let i=[],s=[];for(let t of ev(e)){if(n?t.to==e.doc.length:0==t.from)continue;let o=e.doc.lineAt(n?t.to+1:t.from-1),l=o.length+1;if(n)for(let n of(i.push({from:t.to,to:o.to},{from:t.from,insert:o.text+e.lineBreak}),t.ranges))s.push(r.jT.range(Math.min(e.doc.length,n.anchor+l),Math.min(e.doc.length,n.head+l)));else for(let n of(i.push({from:o.from,to:t.from},{from:t.to,insert:e.lineBreak+o.text}),t.ranges))s.push(r.jT.range(n.anchor-l,n.head-l))}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:r.jT.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0)}function ek(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of ev(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}let eD=eC(!1),ex=eC(!0);function eC(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(n=>{let{from:i,to:l}=n,a=t.doc.lineAt(i),u=!e&&i==l&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=(0,s.qz)(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),l;return r&&i&&r.to<=t&&i.from>=t&&(l=r.type.prop(o.md.closedBy))&&l.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}(t,i);e&&(i=l=(l<=a.to?a:t.doc.lineAt(l)).to);let h=new s.Gn(t,{simulateBreak:i,simulateDoubleBreak:!!u}),c=(0,s.K0)(h,i);for(null==c&&(c=(0,r.IS)(/^\s*/.exec(t.doc.lineAt(i).text)[0],t.tabSize));l<a.to&&/\s/.test(a.text[l-a.from]);)l++;u?{from:i,to:l}=u:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let f=["",(0,s.SS)(t,c)];return u&&f.push((0,s.SS)(t,h.lineIndent(a.from,-1))),{changes:{from:i,to:l,insert:r.xv.of(f)},range:r.jT.cursor(i+1+f[1].length)}});return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function eA(e,t){let n=-1;return e.changeByRange(i=>{let s=[];for(let r=i.from;r<=i.to;){let o=e.doc.lineAt(r);o.number>n&&(i.empty||i.to>o.from)&&(t(o,s,i),n=o.number),r=o.to+1}let o=e.changes(s);return{changes:s,range:r.jT.range(o.mapPos(i.anchor,1),o.mapPos(i.head,1))}})}let eE=[{key:"Ctrl-b",run:R,shift:X,preventDefault:!0},{key:"Ctrl-f",run:j,shift:ee},{key:"Ctrl-p",run:V,shift:er},{key:"Ctrl-n",run:H,shift:ei},{key:"Ctrl-a",run:e=>B(e,t=>r.jT.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>Y(e,t=>r.jT.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>B(e,t=>r.jT.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>Y(e,t=>r.jT.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:eg},{key:"Ctrl-h",run:em},{key:"Ctrl-k",run:e=>ef(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)})},{key:"Ctrl-Alt-h",run:eb},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:r.xv.of(["",""])},range:r.jT.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,i=e.doc.lineAt(n),s=n==i.from?n-1:(0,r.cp)(i.text,n-i.from,!1)+i.from,o=n==i.to?n+1:(0,r.cp)(i.text,n-i.from,!0)+i.from;return{changes:{from:s,to:o,insert:e.doc.slice(n,o).append(e.doc.slice(s,n))},range:r.jT.cursor(o)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:J}],eS=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>B(e,t=>z(e.state,t,!L(e))),shift:e=>Y(e,t=>z(e.state,t,!L(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>B(e,t=>z(e.state,t,L(e))),shift:e=>Y(e,t=>z(e.state,t,L(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>ew(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>ek(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>ew(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>ek(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=r.jT.create([n.main]):n.main.empty||(i=r.jT.create([r.jT.cursor(n.main.head)])),!!i&&(t(N(e,i)),!0)}},{key:"Mod-Enter",run:ex},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=ev(e).map(({from:t,to:n})=>r.jT.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:r.jT.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=I(e.selection,t=>{let n=(0,s.qz)(e),i=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=i.node.from&&e.node.to<=i.node.to&&(i=e)}for(let e=i;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return r.jT.range(n.to,n.from)}return t});return!n.eq(e.selection)&&(t(N(e,n)),!0)},preventDefault:!0},{key:"Mod-[",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eA(e,(t,n)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let o=(0,r.IS)(i,e.tabSize),l=0,a=(0,s.SS)(e,Math.max(0,o-(0,s.y1)(e)));for(;l<i.length&&l<a.length&&i.charCodeAt(l)==a.charCodeAt(l);)l++;n.push({from:t.from+l,to:t.from+i.length,insert:a.slice(l)})}),{userEvent:"delete.dedent"})),!0)},{key:"Mod-]",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(eA(e,(t,n)=>{n.push({from:t.from,insert:e.facet(s.c)})}),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new s.Gn(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=eA(e,(t,i,o)=>{let l=(0,s.K0)(r,t.from);if(null==l)return;/\S/.test(t.text)||(l=0);let a=/^\s*/.exec(t.text)[0],u=(0,s.SS)(e,l);(a!=u||o.from<t.from+a.length)&&(n[t.from]=l,i.push({from:t.from,to:t.from+a.length,insert:u}))});return i.changes.empty||t(e.update(i,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ev(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=I(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>{let n,i;return n=!1,i=I(e.selection,t=>{let i=(0,s.Um)(e,t.head,-1)||(0,s.Um)(e,t.head,1)||t.head>0&&(0,s.Um)(e,t.head-1,1)||t.head<e.doc.length&&(0,s.Um)(e,t.head+1,-1);if(!i||!i.end)return t;n=!0;let o=i.start.from==t.head?i.end.to:i.end.from;return r.jT.cursor(o)}),!!n&&(t(N(e,i)),!0)}},{key:"Mod-/",run:e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=c(e.state,n.from);return r.line?a(e):!!r.block&&h(e)}},{key:"Alt-A",run:u},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:R,shift:X,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>q(e,!L(e)),shift:e=>et(e,!L(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>B(e,t=>Q(e,t,!L(e))),shift:e=>Y(e,t=>Q(e,t,!L(e))),preventDefault:!0},{key:"ArrowRight",run:j,shift:ee,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>q(e,L(e)),shift:e=>et(e,L(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>B(e,t=>Q(e,t,L(e))),shift:e=>Y(e,t=>Q(e,t,L(e))),preventDefault:!0},{key:"ArrowUp",run:V,shift:er,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ea,shift:eh},{mac:"Ctrl-ArrowUp",run:K,shift:eo},{key:"ArrowDown",run:H,shift:ei,preventDefault:!0},{mac:"Cmd-ArrowDown",run:eu,shift:ec},{mac:"Ctrl-ArrowDown",run:J,shift:el},{key:"PageUp",run:K,shift:eo},{key:"PageDown",run:J,shift:el},{key:"Home",run:e=>B(e,t=>Q(e,t,!1)),shift:e=>Y(e,t=>Q(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:ea,shift:eh},{key:"End",run:e=>B(e,t=>Q(e,t,!0)),shift:e=>Y(e,t=>Q(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:eu,shift:ec},{key:"Enter",run:eD,shift:eD},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:em,shift:em},{key:"Delete",run:eg},{key:"Mod-Backspace",mac:"Alt-Backspace",run:eb},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ey(e,!0)},{mac:"Mod-Backspace",run:e=>ef(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)})},{mac:"Mod-Delete",run:e=>ef(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)})}].concat(eE.map(e=>({mac:e.key,run:e.run,shift:e.shift}))))},85237:function(e,t,n){"use strict";n.d(t,{Dv:()=>R,Gn:()=>F,K0:()=>O,Qf:()=>eo,SS:()=>_,Um:()=>ex,c:()=>E,e7:()=>J,mi:()=>ei,n$:()=>ev,nF:()=>eh,nY:()=>M,qp:()=>d,qz:()=>p,ri:()=>C,tC:()=>B,uj:()=>T,x0:()=>L,y1:()=>S});var r,i=n(7888),s=n(35740),o=n(76621),l=n(42367),a=n(81965);let u=new i.md,h=new i.md;class c{constructor(e,t,n=[],r=""){this.data=e,this.name=r,s.yy.prototype.hasOwnProperty("tree")||Object.defineProperty(s.yy.prototype,"tree",{get(){return p(this)}}),this.parser=t,this.extension=[x.of(this),s.yy.languageData.of((e,t,n)=>{let r=f(e,t,n),i=r.type.prop(u);if(!i)return[];let s=e.facet(i),o=r.type.prop(h);if(o){let i=r.resolve(t-r.from,n);for(let t of o)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(s)}}return s})].concat(n)}isActiveAt(e,t,n=-1){return f(e,t,n).type.prop(u)==this.data}findRegions(e){let t=e.facet(x);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(e,t)=>{if(e.prop(u)==this.data)return void n.push({from:t,to:t+e.length});let s=e.prop(i.md.mounted);if(s){if(s.tree.prop(u)==this.data){if(s.overlay)for(let e of s.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}else if(s.overlay){let e=n.length;if(r(s.tree,s.overlay[0].from+t),n.length>e)return}}for(let n=0;n<e.children.length;n++){let s=e.children[n];s instanceof i.mp&&r(s,e.positions[n]+t)}};return r(p(e),0),n}get allowsNesting(){return!0}}function f(e,t,n){let r=e.facet(x),s=p(e).topNode;if(!r||r.allowsNesting)for(let e=s;e;e=e.enter(t,n,i.vj.ExcludeBuffers))e.type.isTop&&(s=e);return s}c.setState=s.Py.define();class d extends c{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){var t;let n=(t=e.languageData,s.r$.define({combine:t?e=>e.concat(t):void 0}));return new d(n,e.parser.configure({props:[u.add(e=>e.isTop?n:void 0)]}),e.name)}configure(e,t){return new d(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function p(e){let t=e.field(c.state,!1);return t?t.tree:i.mp.empty}class m{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let g=null;class y{constructor(e,t,n=[],r,i,s,o,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=i,this.viewport=s,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new y(e,t,[],i.mp.empty,0,n,[],null)}startParse(){return this.parser.startParse(new m(this.state.doc),this.fragments)}work(e,t){return(null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=i.mp.empty&&this.isDone(null!=t?t:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r){if(this.fragments=this.withoutTempSkipped(i.i9.addTree(r,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(n=this.parse.stoppedAt)?n:this.state.doc.length,this.tree=r,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(i.i9.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=g;g=this;try{return e()}finally{g=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=b(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,r,i)=>t.push({fromA:e,toA:n,fromB:r,toB:i})),n=i.i9.applyChanges(n,t),r=i.mp.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length)for(let t of(l=[],this.skipped)){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);n<r&&l.push({from:n,to:r})}}return new y(this.parser,t,n,r,s,o,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:n,to:r}=this.skipped[t];n<e.to&&r>e.from&&(this.fragments=b(this.fragments,n,r),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends i._b{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let t=g;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=o,new i.mp(i.Jq.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return g}}function b(e,t,n){return i.i9.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class v{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new v(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=y.create(e.facet(x).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new v(n)}}c.state=s.QQ.define({create:v.init,update(e,t){for(let e of t.effects)if(e.is(c.setState))return e.value;return t.startState.facet(x)!=t.state.facet(x)?v.init(t.state):e.apply(t)}});let w=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(w=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});let k="undefined"!=typeof navigator&&(null==(r=navigator.scheduling)?void 0:r.isInputPending)?()=>navigator.scheduling.isInputPending():null,D=o.lg.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(c.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(c.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=w(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,i=n.field(c.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!k?Math.max(25,e.timeRemaining()-5):1e9),o=i.context.treeLen<r&&n.doc.length>r+1e3,l=i.context.work(()=>k&&k()||Date.now()>s,r+1e5*!o);this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:c.setState.of(new v(i.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>(0,o.OO)(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),x=s.r$.define({combine:e=>e.length?e[0]:null,enables:e=>[c.state,D,o.tk.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class C{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}let A=s.r$.define(),E=s.r$.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function S(e){let t=e.facet(E);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function _(e,t){let n="",r=e.tabSize,i=e.facet(E)[0];if(" "==i){for(;t>=r;)n+=" ",t-=r;i=" "}for(let e=0;e<t;e++)n+=i;return n}function O(e,t){for(let n of(e instanceof s.yy&&(e=new F(e)),e.state.facet(A))){let r=n(e,t);if(void 0!==r)return r}let n=p(e.state);return n.length>=t?function(e,t,n){let r=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let e=[];for(let t=i;t&&!(t.from<r.node.from||t.to>r.node.to||t.from==r.node.from&&t.type==r.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)r={node:e[t],next:r}}return P(r,e,n)}(e,n,t):null}class F{constructor(e,t={}){this.state=e,this.options=t,this.unit=S(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;if(null!=r&&r>=n.from&&r<=n.to)if(i&&r==e)return{text:"",from:e};else if(t<0?r<e:r<=e)return{text:n.text.slice(r-n.from),from:r};else return{text:n.text.slice(0,r-n.from),from:n.from};return n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.countColumn(n,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(i+=s-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return(0,s.IS)(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(r);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}let T=new i.md;function P(e,t,n){for(let r=e;r;r=r.next){let e=function(e){let t=e.type.prop(T);if(t)return t;let n=e.firstChild,r;if(n&&(r=n.type.prop(i.md.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>(function(e,t,n,r,i){let s=e.textAfter,o=s.match(/^\s*/)[0].length,l=r&&s.slice(o,o+r.length)==r||i==e.pos+o,a=t?function(e){let t=e.node,n=t.childAfter(t.from),r=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),o=null==i||i<=s.from?s.to:Math.min(s.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==r)return null;if(!i.type.isSkipped){if(i.from>=o)return null;let e=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}(e):null;return a?l?e.column(a.from):e.column(a.to):e.baseIndent+(l?0:+e.unit)})(e,!0,1,void 0,n&&!(e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak)?t.from:void 0)}return null==e.parent?I:null}(r.node);if(e)return e(N.create(t,n,r))}return 0}function I(){return 0}class N extends F{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new N(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(function(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return P(this.context.next,this.base,this.pos)}}function B({except:e,units:t=1}={}){return n=>{let r=e&&e.test(n.textAfter);return n.baseIndent+(r?0:t*n.unit)}}function M(){return s.yy.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:r}=e.newSelection.main,i=n.lineAt(r);if(r>i.from+200)return e;let s=n.sliceString(i.from,r);if(!t.some(e=>e.test(s)))return e;let{state:o}=e,l=-1,a=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==l)continue;l=t.from;let n=O(o,t.from);if(null==n)continue;let r=/^\s*/.exec(t.text)[0],i=_(o,n);r!=i&&a.push({from:t.from,to:t.from+r.length,insert:i})}return a.length?[e,{changes:a,sequential:!0}]:e})}let $=s.r$.define(),L=new i.md;function R(e){let t=e.firstChild,n=e.lastChild;return t&&t.to<n.from?{from:t.to,to:n.type.isError?e.to:n.from}:null}function j(e,t,n){for(let r of e.facet($)){let i=r(e,t,n);if(i)return i}return function(e,t,n){let r=p(e);if(r.length<n)return null;let i=r.resolveStack(n,1),s=null;for(let o=i;o;o=o.next){let i=o.node;if(i.to<=n||i.from>n)continue;if(s&&i.from<t)break;let l=i.type.prop(L);if(l&&(i.to<r.length-50||r.length==e.doc.length||!function(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}(i))){let r=l(i,e);r&&r.from<=n&&r.from>=t&&r.to>n&&(s=r)}}return s}(e,t,n)}function q(e,t){let n=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return n>=r?void 0:{from:n,to:r}}let z=s.Py.define({map:q}),U=s.Py.define({map:q});function V(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}let H=s.QQ.define({create:()=>o.p.none,update(e,t){for(let n of(e=e.map(t.changes),t.effects))if(n.is(z)&&!function(e,t,n){let r=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(r=!0)}),r}(e,n.value.from,n.value.to)){let{preparePlaceholder:r}=t.state.facet(Y),i=r?o.p.replace({widget:new et(r(t.state,n.value))}):ee;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(U)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));if(t.selection){let n=!1,{head:r}=t.selection.main;e.between(r,r,(e,t)=>{e<r&&t>r&&(n=!0)}),n&&(e=e.update({filterFrom:r,filterTo:r,filter:(e,t)=>t<=r||e>=r}))}return e},provide:e=>o.tk.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n<e.length;){let r=e[n++],i=e[n++];if("number"!=typeof r||"number"!=typeof i)throw RangeError("Invalid JSON for fold state");t.push(ee.range(r,i))}return o.p.set(t,!0)}});function W(e,t,n){var r;let i=null;return null==(r=e.field(H,!1))||r.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function G(e,t){return e.field(H,!1)?t:t.concat(s.Py.appendConfig.of(Z()))}function K(e,t,n=!0){let r=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return o.tk.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${e.state.phrase("to")} ${i}.`)}let J=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of V(e)){let n=j(e.state,t.from,t.to);if(n)return e.dispatch({effects:G(e.state,[z.of(n),K(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(H,!1))return!1;let t=[];for(let n of V(e)){let r=W(e.state,n.from,n.to);r&&t.push(U.of(r),K(e,r,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let r=0;r<t.doc.length;){let i=e.lineBlockAt(r),s=j(t,i.from,i.to);s&&n.push(z.of(s)),r=(s?e.lineBlockAt(s.to):i).to+1}return n.length&&e.dispatch({effects:G(e.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(H,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(U.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],Q={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Y=s.r$.define({combine:e=>(0,s.BO)(e,Q)});function Z(e){let t=[H,es];return e&&t.push(Y.of(e)),t}function X(e,t){let{state:n}=e,r=n.facet(Y),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),r=W(e.state,n.from,n.to);r&&e.dispatch({effects:U.of(r)}),t.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(e,i,t);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}let ee=o.p.replace({widget:new class extends o.l9{toDOM(e){return X(e,null)}}});class et extends o.l9{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return X(e,this.value)}}let en={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class er extends o.SJ{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function ei(e={}){let t={...en,...e},n=new er(t,!0),r=new er(t,!1),i=o.lg.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(x)!=e.state.facet(x)||e.startState.field(H,!1)!=e.state.field(H,!1)||p(e.startState)!=p(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new s.f_;for(let i of e.viewportLineBlocks){let s=W(e.state,i.from,i.to)?r:j(e.state,i.from,i.to)?n:null;s&&t.add(i.from,i.from,s)}return t.finish()}}),{domEventHandlers:l}=t;return[i,(0,o.v5)({class:"cm-foldGutter",markers(e){var t;return(null==(t=e.plugin(i))?void 0:t.markers)||s.Xs.empty},initialSpacer:()=>new er(t,!1),domEventHandlers:{...l,click:(e,t,n)=>{if(l.click&&l.click(e,t,n))return!0;let r=W(e.state,t.from,t.to);if(r)return e.dispatch({effects:U.of(r)}),!0;let i=j(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:z.of(i)}),!0)}}}),Z()]}let es=o.tk.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class eo{constructor(e,t){let n;function r(e){let t=a.V.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;let i="string"==typeof t.all?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof c?e=>e.prop(u)==s.data:s?e=>e==s:void 0,this.style=(0,l.QR)(e.map(e=>({tag:e.tag,class:e.class||r(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new a.V(n):null,this.themeType=t.themeType}static define(e,t){return new eo(e,t||{})}}let el=s.r$.define(),ea=s.r$.define({combine:e=>e.length?[e[0]]:null});function eu(e){let t=e.facet(el);return t.length?t:e.facet(ea)}function eh(e,t){let n=[ec],r;return e instanceof eo&&(e.module&&n.push(o.tk.styleModule.of(e.module)),r=e.themeType),(null==t?void 0:t.fallback)?n.push(ea.of(e)):r?n.push(el.computeN([o.tk.darkTheme],t=>t.facet(o.tk.darkTheme)==("dark"==r)?[e]:[])):n.push(el.of(e)),n}let ec=s.Wl.high(o.lg.fromClass(class{constructor(e){this.markCache=Object.create(null),this.tree=p(e.state),this.decorations=this.buildDeco(e,eu(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=p(e.state),n=eu(e.state),r=n!=eu(e.startState),{viewport:i}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length<i.to&&!r&&t.type==this.tree.type&&s>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return o.p.none;let n=new s.f_;for(let{from:r,to:i}of e.visibleRanges)(0,l.bW)(this.tree,t,(e,t,r)=>{n.add(e,t,this.markCache[r]||(this.markCache[r]=o.p.mark({class:r})))},r,i);return n.finish()}},{decorations:e=>e.decorations}));l.pJ.meta,l.pJ.link,l.pJ.heading,l.pJ.emphasis,l.pJ.strong,l.pJ.strikethrough,l.pJ.keyword,l.pJ.atom,l.pJ.bool,l.pJ.url,l.pJ.contentSeparator,l.pJ.labelName,l.pJ.literal,l.pJ.inserted,l.pJ.string,l.pJ.deleted,l.pJ.regexp,l.pJ.escape,l.pJ.string,l.pJ.variableName,l.pJ.variableName,l.pJ.typeName,l.pJ.namespace,l.pJ.className,l.pJ.variableName,l.pJ.macroName,l.pJ.propertyName,l.pJ.comment,l.pJ.invalid;let ef=o.tk.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ed="()[]{}",ep=s.r$.define({combine:e=>(0,s.BO)(e,{afterCursor:!0,brackets:ed,maxScanDistance:1e4,renderMatch:ey})}),em=o.p.mark({class:"cm-matchingBracket"}),eg=o.p.mark({class:"cm-nonmatchingBracket"});function ey(e){let t=[],n=e.matched?em:eg;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}let eb=[s.QQ.define({create:()=>o.p.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],r=t.state.facet(ep);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=ex(t.state,e.head,-1,r)||e.head>0&&ex(t.state,e.head-1,1,r)||r.afterCursor&&(ex(t.state,e.head,1,r)||e.head<t.state.doc.length&&ex(t.state,e.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,t.state)))}return o.p.set(n,!0)},provide:e=>o.tk.decorations.from(e)}),ef];function ev(e={}){return[ep.of(e),eb]}let ew=new i.md;function ek(e,t,n){let r=e.prop(t<0?i.md.openedBy:i.md.closedBy);if(r)return r;if(1==e.name.length){let r=n.indexOf(e.name);if(r>-1&&r%2==+(t<0))return[n[r+t]]}return null}function eD(e){let t=e.type.prop(ew);return t?t(e.node):e}function ex(e,t,n,r={}){let i=r.maxScanDistance||1e4,s=r.brackets||ed,o=p(e),l=o.resolveInner(t,n);for(let e=l;e;e=e.parent){let r=ek(e.type,n,s);if(r&&e.from<e.to){let i=eD(e);if(i&&(n>0?t>=i.from&&t<i.to:t>i.from&&t<=i.to))return function(e,t,n,r,i,s,o){let l=r.parent,a={from:i.from,to:i.to},u=0,h=null==l?void 0:l.cursor();if(h&&(n<0?h.childBefore(r.from):h.childAfter(r.to)))do if(n<0?h.to<=r.from:h.from>=r.to){if(0==u&&s.indexOf(h.type.name)>-1&&h.from<h.to){let e=eD(h);return{start:a,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}else if(ek(h.type,n,o))u++;else if(ek(h.type,-n,o)){if(0==u){let e=eD(h);return{start:a,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}u--}}while(n<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}(0,0,n,e,i,r,s)}}return function(e,t,n,r,i,s,o){let l=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),a=o.indexOf(l);if(a<0||a%2==0!=n>0)return null;let u={from:n<0?t-1:t,to:n>0?t+1:t},h=e.doc.iterRange(t,n>0?e.doc.length:0),c=0;for(let e=0;!h.next().done&&e<=s;){let s=h.value;n<0&&(e+=s.length);let l=t+e*n;for(let e=n>0?0:s.length-1,t=n>0?s.length:-1;e!=t;e+=n){let t=o.indexOf(s[e]);if(!(t<0)&&r.resolveInner(l+e,1).type==i)if(t%2==0==n>0)c++;else{if(1==c)return{start:u,end:{from:l+e,to:l+e+1},matched:t>>1==a>>1};c--}}n>0&&(e+=s.length)}return h.done?{start:u,matched:!1}:null}(e,t,n,o,l.type,i,s)}let eC=Object.create(null),eA=[i.Jq.none],eE=[],eS=Object.create(null),e_=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])e_[e]=function(e,t){let n=[];for(let r of t.split(" ")){let t=[];for(let n of r.split(".")){let r=e[n]||l.pJ[n];r?"function"==typeof r?t.length?t=t.map(r):eO(n,`Modifier ${n} used at start of tag`):t.length?eO(n,`Tag ${n} used as modifier`):t=Array.isArray(r)?r:[r]:eO(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let r=t.replace(/ /g,"_"),s=r+" "+n.map(e=>e.id),o=eS[s];if(o)return o.id;let a=eS[s]=i.Jq.define({id:eA.length,name:r,props:[(0,l.Gv)({[r]:n})]});return eA.push(a),a.id}(eC,t);function eO(e,t){eE.indexOf(e)>-1||(eE.push(e),console.warn(t))}o.Nm.RTL,o.Nm.LTR},77730:function(e,t,n){"use strict";n.d(t,{Q2:()=>j,ir:()=>D,Fv:()=>v,KS:()=>m});var r=n(76621),i=n(35740);function s(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];"string"==typeof i?e.setAttribute(r,i):null!=i&&(e[r]=i)}t++}for(;t<arguments.length;t++)!function e(t,n){if("string"==typeof n)t.appendChild(document.createTextNode(n));else if(null==n);else if(null!=n.nodeType)t.appendChild(n);else if(Array.isArray(n))for(var r=0;r<n.length;r++)e(t,n[r]);else throw RangeError("Unsupported child node: "+n)}(e,arguments[t]);return e}class o{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class l{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let s=n.facet(k).markerFilter;s&&(e=s(e,n));let o=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),u=new i.f_,h=[],c=0;for(let e=0;;){let t,i,s=e==o.length?null:o[e];if(!s&&!h.length)break;for(h.length?(t=c,i=h.reduce((e,t)=>Math.min(e,t.to),s&&s.from>t?s.from:1e8)):(t=s.from,i=s.to,h.push(s),e++);e<o.length;){let n=o[e];if(n.from==t&&(n.to>n.from||n.to==t))h.push(n),e++,i=Math.min(n.to,i);else{i=Math.min(n.from,i);break}}let l=T(h);if(h.some(e=>e.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from))u.add(t,t,r.p.widget({widget:new A(l),diagnostics:h.slice()}));else{let e=h.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");u.add(t,i,r.p.mark({class:"cm-lintRange cm-lintRange-"+l+e,diagnostics:h.slice(),inclusiveEnd:h.some(e=>e.to>i)}))}c=i;for(let e=0;e<h.length;e++)h[e].to<=c&&h.splice(e--,1)}let f=u.finish();return new l(f,t,a(f))}}function a(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&0>i.diagnostics.indexOf(t)))if(r){if(0>i.diagnostics.indexOf(r.diagnostic))return!1;r=new o(r.from,n,r.diagnostic)}else r=new o(e,n,t||i.diagnostics[0])}),r}function u(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(k).hideOn(e,n,r);if(null!=i)return i;let s=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(c))||e.changes.touchesRange(s.from,Math.max(s.to,r)))}function h(e,t){return e.field(p,!1)?t:t.concat(i.Py.appendConfig.of(L))}let c=i.Py.define(),f=i.Py.define(),d=i.Py.define(),p=i.QQ.define({create:()=>new l(r.p.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=a(n,e.selected.diagnostic,i)||a(n,null,i)}!n.size&&i&&t.state.facet(k).autoPanel&&(i=null),e=new l(n,i,r)}for(let n of t.effects)if(n.is(c)){let r=t.state.facet(k).autoPanel?n.value.length?S.open:null:e.panel;e=l.init(n.value,r,t.state)}else n.is(f)?e=new l(e.diagnostics,n.value?S.open:null,e.selected):n.is(d)&&(e=new l(e.diagnostics,e.panel,n.value));return e},provide:e=>[r.mH.from(e,e=>e.panel),r.tk.decorations.from(e,e=>e.diagnostics)]});function m(e){let t=e.field(p,!1);return t?t.diagnostics.size:0}let g=r.p.mark({class:"cm-lintRange cm-lintRange-active"});function y(e,t){return s("ul",{class:"cm-tooltip-lint"},t.map(t=>C(e,t,!1)))}let b=e=>{let t=e.state.field(p,!1);return!!t&&!!t.panel&&(e.dispatch({effects:f.of(!1)}),!0)},v=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(p,!1);t&&t.panel||e.dispatch({effects:h(e.state,[f.of(!0)])});let n=(0,r.Sd)(e,S.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(p,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return(!!r.value||!!(r=t.diagnostics.iter(0)).value&&(r.from!=n.from||r.to!=n.to))&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],w=r.lg.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(k);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(k);t.length&&function(e,t,n){let r=[],i=-1;for(let s of e)s.then(n=>{r.push(n),clearTimeout(i),r.length==e.length?t(r):i=setTimeout(()=>t(r),200)},n)}(t.map(e=>Promise.resolve(e(this.view))),t=>{var n,r;this.view.state.doc==e.doc&&this.view.dispatch((n=this.view.state,r=t.reduce((e,t)=>e.concat(t)),{effects:h(n,[c.of(r)])}))},e=>{(0,r.OO)(this.view.state,e)})}}update(e){let t=e.state.facet(k);(e.docChanged||t!=e.startState.facet(k)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),k=i.r$.define({combine:e=>Object.assign({sources:e.map(e=>e.source).filter(e=>null!=e)},(0,i.BO)(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))});function D(e,t={}){return[k.of({source:e,config:t}),w,L]}function x(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue e}}t.push("")}return t}function C(e,t,n){var r;let i=n?x(t.actions):[];return s("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},s("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null==(r=t.actions)?void 0:r.map((n,r)=>{let o=!1,l=r=>{if(r.preventDefault(),o)return;o=!0;let i=a(e.state.field(p).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:u}=n,h=i[r]?u.indexOf(i[r]):-1,c=h<0?u:[u.slice(0,h),s("u",u.slice(h,h+1)),u.slice(h+1)];return s("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${u}${h<0?"":` (access key "${i[r]})"`}.`},c)}),t.source&&s("div",{class:"cm-diagnosticSource"},t.source))}class A extends r.l9{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return s("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class E{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=C(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class S{constructor(e){this.view=e,this.items=[],this.list=s("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)b(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65)||!(t.keyCode<=90)||!(this.selectedIndex>=0))return;let{diagnostic:n}=this.items[this.selectedIndex],r=x(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=a(this.view.state.field(p).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}t.preventDefault()},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=s("div",{class:"cm-panel-lint"},this.list,s("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>b(this.view)},"\xd7")),this.update()}get selectedIndex(){let e=this.view.state.field(p).selected;if(!e)return -1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return -1}update(){let{diagnostics:e,selected:t}=this.view.state.field(p),n=0,r=!1,i=null,s=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:l})=>{for(let e of l.diagnostics){if(s.has(e))continue;s.add(e);let o=-1,l;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(l=new E(this.view,e),this.items.splice(n,0,l),r=!0):(l=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&l.diagnostic==t.diagnostic?l.dom.hasAttribute("aria-selected")||(l.dom.setAttribute("aria-selected","true"),i=l):l.dom.hasAttribute("aria-selected")&&l.dom.removeAttribute("aria-selected"),n++}});n<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();0==this.items.length&&(this.items.push(new E(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=a(this.view.state.field(p).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:d.of(t)})}static open(e){return new S(e)}}function _(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function O(e){return _(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}let F=r.tk.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:O("#d11")},".cm-lintRange-warning":{backgroundImage:O("orange")},".cm-lintRange-info":{backgroundImage:O("#999")},".cm-lintRange-hint":{backgroundImage:O("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function T(e){let t="hint",n=1;for(let i of e){var r;let e="error"==(r=i.severity)?4:"warning"==r?3:"info"==r?2:1;e>n&&(n=e,t=i.severity)}return t}class P extends r.SJ{constructor(e){super(),this.diagnostics=e,this.severity=T(e)}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,r=e.state.facet(R).tooltipFilter;return r&&(n=r(n,e.state)),n.length&&(t.onmouseover=()=>(function(e,t,n){function r(){let r,i=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(i.from)&&e.dispatch({effects:B.of({pos:i.from,above:!1,clip:!1,create:()=>({dom:y(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,r=n=>{let i=t.getBoundingClientRect();if(!(n.clientX>i.left-10)||!(n.clientX<i.right+10)||!(n.clientY>i.top-10)||!(n.clientY<i.bottom+10)){for(let e=n.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",r),e.state.field(M)&&e.dispatch({effects:B.of(null)})}},window.addEventListener("mousemove",r)}let{hoverTime:i}=e.state.facet(R),s=setTimeout(r,i);t.onmouseout=()=>{clearTimeout(s),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(s),s=setTimeout(r,i)}})(e,t,n)),t}}let I=(0,r.v5)({class:"cm-gutter-lint",markers:e=>e.state.field(N),widgetMarker:(e,t,n)=>{let r=[];return e.state.field(N).between(n.from,n.to,(e,t,i)=>{e>n.from&&e<n.to&&r.push(...i.diagnostics)}),r.length?new P(r):null}}),N=i.QQ.define({create:()=>i.Xs.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(R).markerFilter;for(let r of t.effects)if(r.is(c)){let s=r.value;n&&(s=n(s||[],t.state)),e=function(e,t){let n=Object.create(null);for(let r of t){let t=e.lineAt(r.from);(n[t.from]||(n[t.from]=[])).push(r)}let r=[];for(let e in n)r.push(new P(n[e]).range(+e));return i.Xs.of(r,!0)}(t.state.doc,s.slice(0))}return e}}),B=i.Py.define(),M=i.QQ.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=u(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(B)?t.value:e,e)),provide:e=>r.hJ.from(e)}),$=r.tk.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:_('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:_('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:_('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),L=[p,r.tk.decorations.compute([p],e=>{let{selected:t,panel:n}=e.field(p);return t&&n&&t.from!=t.to?r.p.set([g.range(t.from,t.to)]):r.p.none}),(0,r.bF)(function(e,t,n){let{diagnostics:r}=e.state.field(p),i,s=-1,o=-1;r.between(t-(n<0),t+ +(n>0),(e,r,{spec:l})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=l.diagnostics,s=e,o=r,!1});let l=e.state.facet(k).tooltipFilter;return(i&&l&&(i=l(i,e.state)),i)?{pos:s,end:o,above:e.state.doc.lineAt(s).to<o,create:()=>({dom:y(e,i)})}:null},{hideOn:u}),F],R=i.r$.define({combine:e=>(0,i.BO)(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function j(e={}){return[R.of(e),N,I,$,M]}},35740:function(e,t,n){"use strict";let r;n.d(t,{Py:()=>ep,q6:()=>ec,n0:()=>F,Xs:()=>e_,xv:()=>d,YW:()=>em,as:()=>T,IS:()=>ej,gm:()=>x,jT:()=>R,gc:()=>O,bg:()=>C,uU:()=>eC,f_:()=>eO,yy:()=>eD,BO:()=>ex,QQ:()=>K,r$:()=>z,D0:()=>ew,nZ:()=>A,cp:()=>D,Gz:()=>eq,Wl:()=>Y});let i=[],s=[],o="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<o.length;e++)(e%2?s:i).push(t+=o[e]);function l(e){return e>=127462&&e<=127487}function a(e,t,n){if(t==e.length)return t;t&&h(e.charCodeAt(t))&&c(e.charCodeAt(t-1))&&t--;let r=u(e,t);for(t+=f(r);t<e.length;){let o=u(e,t);if(8205==r||8205==o||n&&function(e){if(e<768)return!1;for(let t=0,n=i.length;;){let r=t+n>>1;if(e<i[r])n=r;else{if(!(e>=s[r]))return!0;t=r+1}if(t==n)return!1}}(o))t+=f(o),r=o;else if(l(o)){let n=0,r=t-2;for(;r>=0&&l(u(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function u(e,t){let n=e.charCodeAt(t);if(!c(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return h(r)?(n-55296<<10)+(r-56320)+65536:n}function h(e){return e>=56320&&e<57344}function c(e){return e>=55296&&e<56320}function f(e){return e<65536?1:2}class d{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=k(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),m.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=k(this,e,t);let n=[];return this.decompose(e,t,n,0),m.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new y(this),i=new y(e);for(let e=t,s=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(s+=r.value.length,r.done||s>=n)return!0}}iter(e=1){return new y(this,e)}iterRange(e,t=this.length){return new b(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new v(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new p(e):m.from(p.split(e,[])):d.empty}}class p extends d{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let s=this.text[i],o=r+s.length;if((t?n:o)>=e)return new w(r,o,n,s);r=o+1,n++}}decompose(e,t,n,r){var i;let s=e<=0&&t>=this.length?this:new p((i=this.text,g(i,[""],e,t)),Math.min(t,this.length)-Math.max(0,e));if(1&r){let e=n.pop(),t=g(s.text,e.text.slice(),0,s.length);if(t.length<=32)n.push(new p(t,e.length+s.length));else{let e=t.length>>1;n.push(new p(t.slice(0,e)),new p(t.slice(e)))}}else n.push(s)}replace(e,t,n){var r,i;if(!(n instanceof p))return super.replace(e,t,n);[e,t]=k(this,e,t);let s=g(this.text,g(n.text,(r=this.text,i=0,g(r,[""],0,e))),t),o=this.length+n.length-(t-e);return s.length<=32?new p(s,o):m.from(p.split(s,[]),o)}sliceString(e,t=this.length,n="\n"){[e,t]=k(this,e,t);let r="";for(let i=0,s=0;i<=t&&s<this.text.length;s++){let o=this.text[s],l=i+o.length;i>e&&s&&(r+=n),e<l&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let i of e)n.push(i),r+=i.length+1,32==n.length&&(t.push(new p(n,r)),n=[],r=-1);return r>-1&&t.push(new p(n,r)),t}}class m extends d{constructor(e,t){for(let n of(super(),this.children=e,this.length=t,this.lines=0,e))this.lines+=n.lines}lineInner(e,t,n,r){for(let i=0;;i++){let s=this.children[i],o=r+s.length,l=n+s.lines-1;if((t?l:o)>=e)return s.lineInner(e,t,n,r);r=o+1,n=l+1}}decompose(e,t,n,r){for(let i=0,s=0;s<=t&&i<this.children.length;i++){let o=this.children[i],l=s+o.length;if(e<=l&&t>=s){let i=r&(s<=e|2*(l>=t));s>=e&&l<=t&&!i?n.push(o):o.decompose(e-s,t-s,n,i)}s=l+1}}replace(e,t,n){if([e,t]=k(this,e,t),n.lines<this.lines)for(let r=0,i=0;r<this.children.length;r++){let s=this.children[r],o=i+s.length;if(e>=i&&t<=o){let l=s.replace(e-i,t-i,n),a=this.lines-s.lines+l.lines;if(l.lines<a>>4&&l.lines>a>>6){let i=this.children.slice();return i[r]=l,new m(i,this.length-(t-e)+n.length)}return super.replace(i,o,l)}i=o+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=k(this,e,t);let r="";for(let i=0,s=0;i<this.children.length&&s<=t;i++){let o=this.children[i],l=s+o.length;s>e&&i&&(r+=n),e<l&&t>s&&(r+=o.sliceString(e-s,t-s,n)),s=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof m))return 0;let n=0,[r,i,s,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,i+=t){if(r==s||i==o)return n;let l=this.children[r],a=e.children[i];if(l!=a)return n+l.scanIdentical(a,t);n+=l.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new p(n,t)}let r=Math.max(32,n>>5),i=r<<1,s=r>>1,o=[],l=0,a=-1,u=[];function h(){0!=l&&(o.push(1==u.length?u[0]:m.from(u,a)),a=-1,l=u.length=0)}for(let t of e)!function e(t){let n;if(t.lines>i&&t instanceof m)for(let n of t.children)e(n);else t.lines>s&&(l>s||!l)?(h(),o.push(t)):t instanceof p&&l&&(n=u[u.length-1])instanceof p&&t.lines+n.lines<=32?(l+=t.lines,a+=t.length+1,u[u.length-1]=new p(n.text.concat(t.text),n.length+1+t.length)):(l+t.lines>r&&h(),l+=t.lines,a+=t.length+1,u.push(t))}(t);return h(),1==o.length?o[0]:new m(o,t)}}function g(e,t,n=0,r=1e9){for(let i=0,s=0,o=!0;s<e.length&&i<=r;s++){let l=e[s],a=i+l.length;a>=n&&(a>r&&(l=l.slice(0,r-i)),i<n&&(l=l.slice(n-i)),o?(t[t.length-1]+=l,o=!1):t.push(l)),i=a+1}return t}d.empty=new p([""],0);class y{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof p?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],s=i>>1,o=r instanceof p?r.text.length:r.children.length;if(s==(t>0?o:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof p){let i=r.text[s+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[s+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof p?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class b{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new y(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class v{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(d.prototype[Symbol.iterator]=function(){return this.iter()},y.prototype[Symbol.iterator]=b.prototype[Symbol.iterator]=v.prototype[Symbol.iterator]=function(){return this});class w{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}}function k(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function D(e,t,n=!0,r=!0){return function(e,t,n=!0,r=!0){return(n?a:function(e,t,n){for(;t>0;){let r=a(e,t-2,n);if(r<t)return r;t--}return 0})(e,t,r)}(e,t,n,r)}function x(e,t){let n=e.charCodeAt(t);if(!(n>=55296&&n<56320)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return r>=56320&&r<57344?(n-55296<<10)+(r-56320)+65536:n}function C(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(((e-=65536)>>10)+55296,(1023&e)+56320)}function A(e){return e<65536?1:2}let E=/\r\n?|\n/;var S,_,O=((S=O||(O={}))[S.Simple=0]="Simple",S[S.TrackDel=1]="TrackDel",S[S.TrackBefore=2]="TrackBefore",S[S.TrackAfter=3]="TrackAfter",S);class F{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?(e(n,r,i),r+=i):r+=s,n+=i}}iterChangedRanges(e,t=!1){N(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new F(e)}composeDesc(e){return this.empty?e:e.empty?this:M(this,e)}mapDesc(e,t=!1){return e.empty?this:B(this,e,t)}mapPos(e,t=-1,n=O.Simple){let r=0,i=0;for(let s=0;s<this.sections.length;){let o=this.sections[s++],l=this.sections[s++],a=r+o;if(l<0){if(a>e)return i+(e-r);i+=o}else{if(n!=O.Simple&&a>=e&&(n==O.TrackDel&&r<e&&a>e||n==O.TrackBefore&&r<e||n==O.TrackAfter&&a>e))return null;if(a>e||a==e&&t<0&&!o)return e==r||t<0?i:i+l;i+=l}r=a}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],s=this.sections[n++],o=r+i;if(s>=0&&r<=t&&o>=e)return!(r<e)||!(o>t)||"cover";r=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw RangeError("Invalid JSON representation of ChangeDesc");return new F(e)}static create(e){return new F(e)}}class T extends F{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError("Applying change set to a document with the wrong length");return N(this,(t,n,r,i,s)=>e=e.replace(r,r+(n-t),s),!1),e}mapDesc(e,t=!1){return B(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,i=0;r<t.length;r+=2){let s=t[r],o=t[r+1];if(o>=0){t[r]=o,t[r+1]=s;let l=r>>1;for(;n.length<l;)n.push(d.empty);n.push(s?e.slice(i,i+s):d.empty)}i+=s}return new T(t,n)}compose(e){return this.empty?e:e.empty?this:M(this,e,!0)}map(e,t=!1){return e.empty?this:B(this,e,t,!0)}iterChanges(e,t=!1){N(this,e,t)}get desc(){return F.create(this.sections)}filter(e){let t=[],n=[],r=[],i=new $(this);t:for(let s=0,o=0;;){let l=s==e.length?1e9:e[s++];for(;o<l||o==l&&0==i.len;){if(i.done)break t;let e=Math.min(i.len,l-o);P(r,e,-1);let s=-1==i.ins?-1:0==i.off?i.ins:0;P(t,e,s),s>0&&I(n,t,i.text),i.forward(e),o+=e}let a=e[s++];for(;o<a;){if(i.done)break t;let e=Math.min(i.len,a-o);P(t,e,-1),P(r,e,-1==i.ins?-1:0==i.off?i.ins:0),i.forward(e),o+=e}}return{changes:new T(t,n),filtered:F.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):0==r?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],i=[],s=0,o=null;function l(e=!1){if(!e&&!r.length)return;s<t&&P(r,t-s,-1);let n=new T(r,i);o=o?o.compose(n.map(o)):n,r=[],i=[],s=0}return!function e(a){if(Array.isArray(a))for(let t of a)e(t);else if(a instanceof T){if(a.length!=t)throw RangeError(`Mismatched change set length (got ${a.length}, expected ${t})`);l(),o=o?o.compose(a.map(o)):a}else{let{from:e,to:o=e,insert:u}=a;if(e>o||e<0||o>t)throw RangeError(`Invalid change range ${e} to ${o} (in doc of length ${t})`);let h=u?"string"==typeof u?d.of(u.split(n||E)):u:d.empty,c=h.length;if(e==o&&0==c)return;e<s&&l(),e>s&&P(r,e-s,-1),P(r,o-e,c),I(i,r,h),s=o}}(e),l(!o),o}static empty(e){return new T(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if("number"==typeof i)t.push(i,-1);else if(!Array.isArray(i)||"number"!=typeof i[0]||i.some((e,t)=>t&&"string"!=typeof e))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==i.length)t.push(i[0],0);else{for(;n.length<r;)n.push(d.empty);n[r]=d.of(i.slice(1)),t.push(i[0],n[r].length)}}return new T(t,n)}static createSet(e,t){return new T(e,t)}}function P(e,t,n,r=!1){if(0==t&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&0==t&&0==e[i]?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function I(e,t,n){if(0==n.length)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(d.empty);e.push(n)}}function N(e,t,n){let r=e.inserted;for(let i=0,s=0,o=0;o<e.sections.length;){let l=e.sections[o++],a=e.sections[o++];if(a<0)i+=l,s+=l;else{let u=i,h=s,c=d.empty;for(;u+=l,h+=a,a&&r&&(c=c.append(r[o-2>>1])),!n&&o!=e.sections.length&&!(e.sections[o+1]<0);)l=e.sections[o++],a=e.sections[o++];t(i,u,s,h,c),i=u,s=h}}}function B(e,t,n,r=!1){let i=[],s=r?[]:null,o=new $(e),l=new $(t);for(let e=-1;;)if(o.done&&l.len||l.done&&o.len)throw Error("Mismatched change set lengths");else if(-1==o.ins&&-1==l.ins){let e=Math.min(o.len,l.len);P(i,e,-1),o.forward(e),l.forward(e)}else if(l.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(l.len<o.len||l.len==o.len&&!n))){let t=l.len;for(P(i,l.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(P(i,0,o.ins),s&&I(s,i,o.text),e=o.i),o.forward(n),t-=n}l.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(-1==l.ins){let e=Math.min(n,l.len);t+=e,n-=e,l.forward(e)}else if(0==l.ins&&l.len<n)n-=l.len,l.next();else break;P(i,t,e<o.i?o.ins:0),s&&e<o.i&&I(s,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&l.done)return s?T.createSet(i,s):F.create(i);else throw Error("Mismatched change set lengths")}function M(e,t,n=!1){let r=[],i=n?[]:null,s=new $(e),o=new $(t);for(let e=!1;;)if(s.done&&o.done)return i?T.createSet(r,i):F.create(r);else if(0==s.ins)P(r,s.len,0,e),s.next();else if(0!=o.len||o.done)if(s.done||o.done)throw Error("Mismatched change set lengths");else{let t=Math.min(s.len2,o.len),n=r.length;if(-1==s.ins){let n=-1==o.ins?-1:o.off?0:o.ins;P(r,t,n,e),i&&n&&I(i,r,o.text)}else -1==o.ins?(P(r,s.off?0:s.len,t,e),i&&I(i,r,s.textBit(t))):(P(r,s.off?0:s.len,o.off?0:o.ins,e),i&&!o.off&&I(i,r,o.text));e=(s.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),s.forward2(t),o.forward(t)}else P(r,0,o.ins,e),i&&I(i,r,o.text),o.next()}class ${constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?d.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?d.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class L{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 0xffffff==e?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new L(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return R.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return R.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw RangeError("Invalid JSON representation for SelectionRange");return R.range(e.anchor,e.head)}static create(e,t,n){return new L(e,t,n)}}class R{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:R.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new R([this.main],0)}addRange(e,t=!0){return R.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,R.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new R(e.ranges.map(e=>L.fromJSON(e)),e.main)}static single(e,t=e){return new R([R.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let i=e[r];if(i.empty?i.from<=n:i.from<n)return R.normalized(e.slice(),t);n=i.to}return new R(e,t)}static cursor(e,t=0,n,r){return L.create(e,e,(0==t?0:t<0?8:16)|(null==n?7:Math.min(6,n))|(null!=r?r:0xffffff)<<6)}static range(e,t,n,r){let i=(null!=n?n:0xffffff)<<6|(null==r?7:Math.min(6,r));return t<e?L.create(t,e,48|i):L.create(e,t,8*(t>e)|i)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;n<e.length;n++){let r=e[n],i=e[n-1];if(r.empty?r.from<=i.to:r.from<i.to){let s=i.from,o=Math.max(r.to,i.to);n<=t&&t--,e.splice(--n,2,r.anchor>r.head?R.range(o,s):R.range(s,o))}}return new R(e,t)}}function j(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError("Selection points outside of document")}let q=0;class z{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=q++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(e={}){return new z(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(!e.combine?U:(e,t)=>e===t),!!e.static,e.enables)}of(e){return new V([],this,0,e)}compute(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new V(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error("Can't compute a static facet");return new V(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function U(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class V{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=q++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,i=this.id,s=e[i]>>1,o=2==this.type,l=!1,a=!1,u=[];for(let n of this.dependencies)"doc"==n?l=!0:"selection"==n?a=!0:((null!=(t=e[n.id])?t:1)&1)==0&&u.push(e[n.id]);return{create:e=>(e.values[s]=n(e),1),update(e,t){if(l&&t.docChanged||a&&(t.docChanged||t.selection)||W(e,u)){let t=n(e);if(o?!H(t,e.values[s],r):!r(t,e.values[s]))return e.values[s]=t,1}return 0},reconfigure:(e,t)=>{let l,a=t.config.address[i];if(null!=a){let i=er(t,a);if(this.dependencies.every(n=>n instanceof z?t.facet(n)===e.facet(n):!(n instanceof K)||t.field(n,!1)==e.field(n,!1))||(o?H(l=n(e),i,r):r(l=n(e),i)))return e.values[s]=i,0}else l=n(e);return e.values[s]=l,1}}}}function H(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function W(e,t){let n=!1;for(let r of t)1&en(e,r)&&(n=!0);return n}let G=z.define({static:!0});class K{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(e){let t=new K(q++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(G).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(G),i=n.facet(G),s;return(s=r.find(e=>e.field==this))&&s!=i.find(e=>e.field==this)?(e.values[t]=s.create(e),1):null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,G.of({field:this,create:e})]}get extension(){return this}}let J={lowest:4,low:3,default:2,high:1,highest:0};function Q(e){return t=>new Z(t,e)}let Y={highest:Q(J.highest),high:Q(J.high),default:Q(J.default),low:Q(J.low),lowest:Q(J.lowest)};class Z{constructor(e,t){this.inner=e,this.prec=t}}class X{of(e){return new ee(this,e)}reconfigure(e){return X.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class ee{constructor(e,t){this.compartment=e,this.inner=t}}class et{constructor(e,t,n,r,i,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,n){var r,i,s;let o,l,a=[],u=Object.create(null),h=new Map;for(let n of(r=e,i=t,s=h,o=[[],[],[],[],[]],l=new Map,!function e(t,n){let r=l.get(t);if(null!=r){if(r<=n)return;let e=o[r].indexOf(t);e>-1&&o[r].splice(e,1),t instanceof ee&&s.delete(t.compartment)}if(l.set(t,n),Array.isArray(t))for(let r of t)e(r,n);else if(t instanceof ee){if(s.has(t.compartment))throw RangeError("Duplicate use of compartment in extensions");let r=i.get(t.compartment)||t.inner;s.set(t.compartment,r),e(r,n)}else if(t instanceof Z)e(t.inner,t.prec);else if(t instanceof K)o[n].push(t),t.provides&&e(t.provides,n);else if(t instanceof V)o[n].push(t),t.facet.extensions&&e(t.facet.extensions,J.default);else{let r=t.extension;if(!r)throw Error(`Unrecognized extension value in extension set (${t}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(r,n)}}(r,J.default),o.reduce((e,t)=>e.concat(t))))n instanceof K?a.push(n):(u[n.facet.id]||(u[n.facet.id]=[])).push(n);let c=Object.create(null),f=[],d=[];for(let e of a)c[e.id]=d.length<<1,d.push(t=>e.slot(t));let p=null==n?void 0:n.config.facets;for(let e in u){let t=u[e],r=t[0].facet,i=p&&p[e]||[];if(t.every(e=>0==e.type))if(c[r.id]=f.length<<1|1,U(i,t))f.push(n.facet(r));else{let e=r.combine(t.map(e=>e.value));f.push(n&&r.compare(e,n.facet(r))?n.facet(r):e)}else{for(let e of t)0==e.type?(c[e.id]=f.length<<1|1,f.push(e.value)):(c[e.id]=d.length<<1,d.push(t=>e.dynamicSlot(t)));c[r.id]=d.length<<1,d.push(e=>(function(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),s=r.filter(e=>!(1&e)),o=e[t.id]>>1;function l(e){let n=[];for(let t=0;t<r.length;t++){let s=er(e,r[t]);if(2==i[t])for(let e of s)n.push(e);else n.push(s)}return t.combine(n)}return{create(e){for(let t of r)en(e,t);return e.values[o]=l(e),1},update(e,n){if(!W(e,s))return 0;let r=l(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let s=W(e,r),a=i.config.facets[t.id],u=i.facet(t);if(a&&!s&&U(n,a))return e.values[o]=u,0;let h=l(e);return t.compare(h,u)?(e.values[o]=u,0):(e.values[o]=h,1)}}})(e,r,t))}}return new et(e,h,d.map(e=>e(c)),c,f,u)}}function en(e,t){if(1&t)return 2;let n=t>>1,r=e.status[n];if(4==r)throw Error("Cyclic dependency between fields and/or facets");if(2&r)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function er(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}let ei=z.define(),es=z.define({combine:e=>e.some(e=>e),static:!0}),eo=z.define({combine:e=>e.length?e[0]:void 0,static:!0}),el=z.define(),ea=z.define(),eu=z.define(),eh=z.define({combine:e=>!!e.length&&e[0]});class ec{constructor(e,t){this.type=e,this.value=t}static define(){return new ef}}class ef{of(e){return new ec(this,e)}}class ed{constructor(e){this.map=e}of(e){return new ep(this,e)}}class ep{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ep(this.type,t)}is(e){return this.type==e}static define(e={}){return new ed(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}}ep.reconfigure=ep.define(),ep.appendConfig=ep.define();class em{constructor(e,t,n,r,i,s){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,n&&j(n,t.newLength),i.some(e=>e.type==em.time)||(this.annotations=i.concat(em.time.of(Date.now())))}static create(e,t,n,r,i,s){return new em(e,t,n,r,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(em.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function eg(e,t,n){var r;let i,s,o;return n?(i=t.changes,s=T.empty(t.changes.length),o=e.changes.compose(t.changes)):(i=t.changes.map(e.changes),s=e.changes.mapDesc(t.changes,!0),o=e.changes.compose(i)),{changes:o,selection:t.selection?t.selection.map(s):null==(r=e.selection)?void 0:r.map(i),effects:ep.mapEffects(e.effects,i).concat(ep.mapEffects(t.effects,s)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function ey(e,t,n){let r=t.selection,i=ev(t.annotations);return t.userEvent&&(i=i.concat(em.userEvent.of(t.userEvent))),{changes:t.changes instanceof T?t.changes:T.of(t.changes||[],n,e.facet(eo)),selection:r&&(r instanceof R?r:R.single(r.anchor,r.head)),effects:ev(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}em.time=ec.define(),em.userEvent=ec.define(),em.addToHistory=ec.define(),em.remote=ec.define();let eb=[];function ev(e){return null==e?eb:Array.isArray(e)?e:[e]}var ew=((_=ew||(ew={}))[_.Word=0]="Word",_[_.Space=1]="Space",_[_.Other=2]="Other",_);let ek=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{r=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class eD{constructor(e,t,n,r,i,s){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)en(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(null==n){if(t)throw RangeError("Field is not present in this state");return}return en(this,n),er(this,n)}update(...e){return function e(t,n,r){let i=ey(t,n.length?n[0]:{},t.doc.length);n.length&&!1===n[0].filter&&(r=!1);for(let e=1;e<n.length;e++){!1===n[e].filter&&(r=!1);let s=!!n[e].sequential;i=eg(i,ey(t,n[e],s?i.changes.newLength:t.doc.length),s)}let s=em.create(t,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return function(e){let t=e.startState,n=t.facet(eu),r=e;for(let i=n.length-1;i>=0;i--){let s=n[i](e);s&&Object.keys(s).length&&(r=eg(r,ey(t,s,e.changes.newLength),!0))}return r==e?e:em.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}(r?function(t){let n=t.startState,r=!0;for(let e of n.facet(el)){let n=e(t);if(!1===n){r=!1;break}Array.isArray(n)&&(r=!0===r?n:function(e,t){let n=[];for(let r=0,i=0;;){let s,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))s=e[r++],o=e[r++];else{if(!(i<t.length))return n;s=t[i++],o=t[i++]}!n.length||n[n.length-1]<s?n.push(s,o):n[n.length-1]<o&&(n[n.length-1]=o)}}(r,n))}if(!0!==r){let e,i;if(!1===r)i=t.changes.invertedDesc,e=T.empty(n.doc.length);else{let n=t.changes.filter(r);e=n.changes,i=n.filtered.mapDesc(n.changes).invertedDesc}t=em.create(n,e,t.selection&&t.selection.map(i),ep.mapEffects(t.effects,i),t.annotations,t.scrollIntoView)}let i=n.facet(ea);for(let r=i.length-1;r>=0;r--){let s=i[r](t);t=s instanceof em?s:Array.isArray(s)&&1==s.length&&s[0]instanceof em?s[0]:e(n,ev(s),!1)}return t}(s):s)}(this,e,!0)}applyTransaction(e){let t,n=this.config,{base:r,compartments:i}=n;for(let t of e.effects)t.is(X.reconfigure)?(n&&(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),n=null),i.set(t.value.compartment,t.value.extension)):t.is(ep.reconfigure)?(n=null,r=t.value):t.is(ep.appendConfig)&&(n=null,r=ev(r).concat(t.value));t=n?e.startState.values.slice():new eD(n=et.resolve(r,i,this),this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values;let s=e.startState.facet(es)?e.newSelection:e.newSelection.asSingle();new eD(n,e.newDoc,s,t,(t,n)=>n.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:R.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],s=ev(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),l=this.changes(o.changes),a=l.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(a);let u=r.mapDesc(l,!0);i.push(o.range.map(u)),r=r.compose(a),s=ep.mapEffects(s,a).concat(ep.mapEffects(ev(o.effects),u))}return{changes:r,selection:R.create(i,t.mainIndex),effects:s}}changes(e=[]){return e instanceof T?e:T.of(e,this.doc.length,this.facet(eD.lineSeparator))}toText(e){return d.of(e.split(this.facet(eD.lineSeparator)||E))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(en(this,t),er(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof K&&null!=this.config.address[r.id]&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||"string"!=typeof e.doc)throw RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let t in n)if(Object.prototype.hasOwnProperty.call(e,t)){let i=n[t],s=e[t];r.push(i.init(e=>i.spec.fromJSON(s,e)))}}return eD.create({doc:e.doc,selection:R.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=et.resolve(e.extensions||[],new Map),n=e.doc instanceof d?e.doc:d.of((e.doc||"").split(t.staticFacet(eD.lineSeparator)||E)),r=e.selection?e.selection instanceof R?e.selection:R.single(e.selection.anchor,e.selection.head):R.single(0);return j(r,n.length),t.staticFacet(es)||(r=r.asSingle()),new eD(t,n,r,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(eD.tabSize)}get lineBreak(){return this.facet(eD.lineSeparator)||"\n"}get readOnly(){return this.facet(eh)}phrase(e,...t){for(let t of this.facet(eD.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let r=+(n||1);return!r||r>t.length?e:t[r-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let i of this.facet(ei))for(let s of i(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){var t;return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return ew.Space;if(function(e){if(r)return r.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>"\x80"&&(n.toUpperCase()!=n.toLowerCase()||ek.test(n)))return!0}return!1}(e))return ew.Word;for(let n=0;n<t.length;n++)if(e.indexOf(t[n])>-1)return ew.Word;return ew.Other}}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),i=this.charCategorizer(e),s=e-n,o=e-n;for(;s>0;){let e=D(t,s,!1);if(i(t.slice(e,s))!=ew.Word)break;s=e}for(;o<r;){let e=D(t,o);if(i(t.slice(o,e))!=ew.Word)break;o=e}return s==o?null:R.range(s+n,o+n)}}function ex(e,t,n={}){let r={};for(let t of e)for(let e of Object.keys(t)){let i=t[e],s=r[e];if(void 0===s)r[e]=i;else if(s===i||void 0===i);else if(Object.hasOwnProperty.call(n,e))r[e]=n[e](s,i);else throw Error("Config merge conflict for field "+e)}for(let e in t)void 0===r[e]&&(r[e]=t[e]);return r}eD.allowMultipleSelections=es,eD.tabSize=z.define({combine:e=>e.length?e[0]:4}),eD.lineSeparator=eo,eD.readOnly=eh,eD.phrases=z.define({compare(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length==r.length&&n.every(n=>e[n]==t[n])}}),eD.languageData=ei,eD.changeFilter=el,eD.transactionFilter=ea,eD.transactionExtender=eu,X.reconfigure=ep.define();class eC{eq(e){return this==e}range(e,t=e){return eA.create(e,t,this)}}eC.prototype.startSide=eC.prototype.endSide=0,eC.prototype.point=!1,eC.prototype.mapMode=O.TrackDel;class eA{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new eA(e,t,n)}}function eE(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class eS{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let i=n?this.to:this.from;for(let s=r,o=i.length;;){if(s==o)return s;let r=s+o>>1,l=i[r]-e||(n?this.value[r].endSide:this.value[r].startSide)-t;if(r==s)return l>=0?s:o;l>=0?o=r:s=r+1}}between(e,t,n,r){for(let i=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,i);i<s;i++)if(!1===r(this.from[i]+e,this.to[i]+e,this.value[i]))return!1}map(e,t){let n=[],r=[],i=[],s=-1,o=-1;for(let l=0;l<this.value.length;l++){let a=this.value[l],u=this.from[l]+e,h=this.to[l]+e,c,f;if(u==h){let e=t.mapPos(u,a.startSide,a.mapMode);if(null==e||(c=f=e,a.startSide!=a.endSide&&(f=t.mapPos(u,a.endSide))<c))continue}else if((c=t.mapPos(u,a.startSide))>(f=t.mapPos(h,a.endSide))||c==f&&a.startSide>0&&a.endSide<=0)continue;0>(f-c||a.endSide-a.startSide)||(s<0&&(s=c),a.point&&(o=Math.max(o,f-c)),n.push(a),r.push(c-s),i.push(f-s))}return{mapped:n.length?new eS(r,i,n,o):null,pos:s}}}class e_{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new e_(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:i=this.length}=e,s=e.filter;if(0==t.length&&!s)return this;if(n&&(t=t.slice().sort(eE)),this.isEmpty)return t.length?e_.of(t):this;let o=new eT(this,null,-1).goto(0),l=0,a=[],u=new eO;for(;o.value||l<t.length;)if(l<t.length&&(o.from-t[l].from||o.startSide-t[l].value.startSide)>=0){let e=t[l++];u.addInner(e.from,e.to,e.value)||a.push(e)}else 1==o.rangeIndex&&o.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(o.chunkIndex)<t[l].from)&&(!s||r>this.chunkEnd(o.chunkIndex)||i<this.chunkPos[o.chunkIndex])&&u.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!s||r>o.to||i<o.from||s(o.from,o.to,o.value))&&!u.addInner(o.from,o.to,o.value)&&a.push(eA.create(o.from,o.to,o.value)),o.next());return u.finishInner(this.nextLayer.isEmpty&&!a.length?e_.empty:this.nextLayer.update({add:a,filter:s,filterFrom:r,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i],l=e.touchesRange(s,s+o.length);if(!1===l)r=Math.max(r,o.maxPoint),t.push(o),n.push(e.mapPos(s));else if(!0===l){let{mapped:i,pos:l}=o.map(s,e);i&&(r=Math.max(r,i.maxPoint),t.push(i),n.push(l))}}let i=this.nextLayer.map(e);return 0==t.length?i:new e_(n,t,i||e_.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let i=this.chunkPos[r],s=this.chunk[r];if(t>=i&&e<=i+s.length&&!1===s.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return eP.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return eP.from(e).goto(t)}static compare(e,t,n,r,i=-1){let s=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),l=eF(s,o,n),a=new eN(s,l,i),u=new eN(o,l,i);n.iterGaps((e,t,n)=>eB(a,e,u,t,n,r)),n.empty&&0==n.length&&eB(a,0,u,0,0,r)}static eq(e,t,n=0,r){null==r&&(r=0x3b9ac9ff);let i=e.filter(e=>!e.isEmpty&&0>t.indexOf(e)),s=t.filter(t=>!t.isEmpty&&0>e.indexOf(t));if(i.length!=s.length)return!1;if(!i.length)return!0;let o=eF(i,s),l=new eN(i,o,0).goto(n),a=new eN(s,o,0).goto(n);for(;;){if(l.to!=a.to||!eM(l.active,a.active)||l.point&&(!a.point||!l.point.eq(a.point)))return!1;if(l.to>r)return!0;l.next(),a.next()}}static spans(e,t,n,r,i=-1){let s=new eN(e,null,i).goto(t),o=t,l=s.openStart;for(;;){let e=Math.min(s.to,n);if(s.point){let n=s.activeForPoint(s.to),i=s.pointFrom<t?n.length+1:s.point.startSide<0?n.length:Math.min(n.length,l);r.point(o,e,s.point,n,i,s.pointRank),l=Math.min(s.openEnd(e),n.length)}else e>o&&(r.span(o,e,s.active,l),l=s.openEnd(e));if(s.to>n)return l+(s.point&&s.to>n?1:0);o=s.to,s.next()}}static of(e,t=!1){let n=new eO;for(let r of e instanceof eA?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let r=e[n];if(eE(t,r)>0)return e.slice().sort(eE);t=r}return e}(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return e_.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=e_.empty;r=r.nextLayer)t=new e_(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}e_.empty=new e_([],[],null,-1),e_.empty.nextLayer=e_.empty;class eO{finishChunk(e){this.chunks.push(new eS(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new eO)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&0>(e-this.lastFrom||n.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(r<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if(0>(e-this.lastTo||t.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(e_.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=e_.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function eF(e,t,n){let r=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&r.set(t.chunk[e],t.chunkPos[e]);let i=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let s=r.get(e.chunk[t]);null==s||(n?n.mapPos(s):s)!=e.chunkPos[t]||(null==n?void 0:n.touchesRange(s,s+e.chunk[t].length))||i.add(e.chunk[t])}return i}class eT{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){0>(this.to-e||this.endSide-t)&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class eP{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let i=0;i<e.length;i++)for(let s=e[i];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&r.push(new eT(s,t,n,i));return 1==r.length?r[0]:new eP(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)eI(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)eI(this.heap,e);0>(this.to-e||this.value.endSide-t)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),eI(this.heap,0)}}}function eI(e,t){for(let n=e[t];;){let r=(t<<1)+1;if(r>=e.length)break;let i=e[r];if(r+1<e.length&&i.compare(e[r+1])>=0&&(i=e[r+1],r++),0>n.compare(i))break;e[r]=n,e[t]=i,t=r}}class eN{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=eP.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t);)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){e$(this.active,e),e$(this.activeTo,e),e$(this.activeRank,e),this.minActive=eR(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:i}=this.cursor;for(;t<this.activeRank.length&&(i-this.activeRank[t]||r-this.activeTo[t])>0;)t++;eL(this.active,t,n),eL(this.activeTo,t,r),eL(this.activeRank,t,i),e&&eL(e,t,this.cursor.from),this.minActive=eR(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&0>(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&e$(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let e=this.cursor.value;if(e.point)if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(n),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let t=n.length-1;t>=0&&n[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function eB(e,t,n,r,i,s){e.goto(t),n.goto(r);let o=r+i,l=r,a=r-t;for(;;){let t=e.to+a-n.to,r=t||e.endSide-n.endSide,i=r<0?e.to+a:n.to,u=Math.min(i,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&eM(e.activeForPoint(e.to),n.activeForPoint(n.to))||s.comparePoint(l,u,e.point,n.point):u>l&&!eM(e.active,n.active)&&s.compareRange(l,u,e.active,n.active),i>o)break;(t||e.openEnd!=n.openEnd)&&s.boundChange&&s.boundChange(i),l=i,r<=0&&e.next(),r>=0&&n.next()}}function eM(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!e[n].eq(t[n]))return!1;return!0}function e$(e,t){for(let n=t,r=e.length-1;n<r;n++)e[n]=e[n+1];e.pop()}function eL(e,t,n){for(let n=e.length-1;n>=t;n--)e[n+1]=e[n];e[t]=n}function eR(e,t){let n=-1,r=1e9;for(let i=0;i<t.length;i++)0>(t[i]-r||e[i].endSide-e[n].endSide)&&(n=i,r=t[i]);return n}function ej(e,t,n=e.length){let r=0;for(let i=0;i<n&&i<e.length;)9==e.charCodeAt(i)?(r+=t-r%t,i++):(r++,i=D(e,i));return r}function eq(e,t,n,r){for(let r=0,i=0;;){if(i>=t)return r;if(r==e.length)break;i+=9==e.charCodeAt(r)?n-i%n:1,r=D(e,r)}return!0===r?-1:e.length}},76621:function(e,t,n){"use strict";let r;n.d(t,{l9:()=>eh,SJ:()=>ru,Uw:()=>nV,lg:()=>e3,tk:()=>nA,v5:()=>rp,$f:()=>nI,Sd:()=>ri,gB:()=>rt,bF:()=>re,Eu:()=>rO,HQ:()=>rI,OO:()=>eX,hJ:()=>n8,p:()=>ef,mH:()=>ra,Nm:()=>eC});for(var i,s,o,l=n(35740),a=n(81965),u={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:"'"},h={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},c="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),f="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),d=0;d<10;d++)u[48+d]=u[96+d]=String(d);for(var d=1;d<=24;d++)u[d+111]="F"+d;for(var d=65;d<=90;d++)u[d]=String.fromCharCode(d+32),h[d]=String.fromCharCode(d);for(var p in u)h.hasOwnProperty(p)||(h[p]=u[p]);function m(e){let t;return(11==e.nodeType?e.getSelection?e:e.ownerDocument:e).getSelection()}function g(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function y(e,t){if(!t.anchorNode)return!1;try{return g(e,t.anchorNode)}catch(e){return!1}}function b(e){return 3==e.nodeType?O(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function v(e,t,n,r){return!!n&&(D(e,t,n,r,-1)||D(e,t,n,r,1))}function w(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function k(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function D(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:x(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=w(e)+(i<0?0:1),e=n}else{if(1!=e.nodeType||1==(e=e.childNodes[t+(i<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=i<0?x(e):0}}}function x(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function C(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function A(e,t){let n=t.width/e.offsetWidth,r=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||1>Math.abs(t.width-e.offsetWidth))&&(n=1),(r>.995&&r<1.005||!isFinite(r)||1>Math.abs(t.height-e.offsetHeight))&&(r=1),{scaleX:n,scaleY:r}}class E{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?x(t):0),n,Math.min(e.focusOffset,n?x(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}}let S=null;function _(e){if(e.setActive)return e.setActive();if(S)return e.focus(S);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==S?{get preventScroll(){return S={preventScroll:!0},!0}}:void 0),!S){S=!1;for(let e=0;e<t.length;){let n=t[e++],r=t[e++],i=t[e++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=i&&(n.scrollLeft=i)}}}function O(e,t,n=t){let i=r||(r=document.createRange());return i.setEnd(e,n),i.setStart(e,t),i}function F(e,t,n,r){let i={key:t,code:t,keyCode:n,which:n,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,e.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,e.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function T(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function P(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function I(e,t){for(let n=e,r=t;;)if(3==n.nodeType&&r>0)return{node:n,offset:r};else if(1==n.nodeType&&r>0){if("false"==n.contentEditable)return null;r=x(n=n.childNodes[r-1])}else{if(!n.parentNode||k(n))return null;r=w(n),n=n.parentNode}}function N(e,t){for(let n=e,r=t;;)if(3==n.nodeType&&r<n.nodeValue.length)return{node:n,offset:r};else if(1==n.nodeType&&r<n.childNodes.length){if("false"==n.contentEditable)return null;n=n.childNodes[r],r=0}else{if(!n.parentNode||k(n))return null;r=w(n)+1,n=n.parentNode}}class B{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new B(e.parentNode,w(e),t)}static after(e,t){return new B(e.parentNode,w(e)+1,t)}}let M=[];class ${constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let n=this.dom,r=null,i;for(let s of this.children){if(7&s.flags){if(!s.dom&&(i=r?r.nextSibling:n.firstChild)){let e=$.get(i);(!e||!e.parent&&e.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(e,t),s.flags&=-8}if(i=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=s.dom&&(t.written=!0),s.dom.parentNode==n)for(;i&&i!=s.dom;)i=L(i);else n.insertBefore(s.dom,i);r=s.dom}for((i=r?r.nextSibling:n.firstChild)&&t&&t.node==n&&(t.written=!0);i;)i=L(i)}else if(1&this.flags)for(let n of this.children)7&n.flags&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=0==x(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==r&&t.firstChild!=t.lastChild&&(r=e==t.firstChild?-1:1),e=t}n=r<0?e:e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!$.get(n);)n=n.nextSibling;if(!n)return this.length;for(let e=0,t=0;;e++){let r=this.children[e];if(r.dom==n)return t;t+=r.length+r.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,i=-1,s=-1,o=-1;for(let l=0,a=n,u=n;l<this.children.length;l++){let n=this.children[l],h=a+n.length;if(a<e&&h>t)return n.domBoundsAround(e,t,a);if(h>=e&&-1==r&&(r=l,i=a),a>t&&n.dom.parentNode==this.dom){s=l,o=u;break}u=h,a=h+n.breakAfter}return{from:i,to:o<0?n+this.length:o,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=M){this.markDirty();for(let r=e;r<t;r++){let e=this.children[r];e.parent==this&&0>n.indexOf(e)&&e.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let e=0;e<n.length;e++)n[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new R(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,i,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}}function L(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}$.prototype.breakAfter=0;class R{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function j(e,t,n,r,i,s,o,l,a){let{children:u}=e,h=u.length?u[t]:null,c=s.length?s[s.length-1]:null,f=c?c.breakAfter:o;if(!(t==r&&h&&!o&&!f&&s.length<2&&h.merge(n,i,s.length?c:null,0==n,l,a))){if(r<u.length){let e=u[r];e&&(i<e.length||e.breakAfter&&(null==c?void 0:c.breakAfter))?(t==r&&(e=e.split(i),i=0),!f&&c&&e.merge(0,i,c,!0,0,a)?s[s.length-1]=e:((i||e.children.length&&!e.children[0].length)&&e.merge(0,i,null,!1,0,a),s.push(e))):(null==e?void 0:e.breakAfter)&&(c?c.breakAfter=1:o=1),r++}for(h&&(h.breakAfter=o,n>0&&(!o&&s.length&&h.merge(n,h.length,s[0],!1,l,0)?h.breakAfter=s.shift().breakAfter:(n<h.length||h.children.length&&0==h.children[h.children.length-1].length)&&h.merge(n,h.length,null,!1,l,0),t++));t<r&&s.length;)if(u[r-1].become(s[s.length-1]))r--,s.pop(),a=s.length?0:l;else if(u[t].become(s[0]))t++,s.shift(),l=s.length?0:a;else break;!s.length&&t&&r<u.length&&!u[t-1].breakAfter&&u[r].merge(0,0,u[t-1],!1,l,a)&&t--,(t<r||s.length)&&e.replaceChildren(t,r,s)}}function q(e,t,n,r,i,s){let o=e.childCursor(),{i:l,off:a}=o.findPos(n,1),{i:u,off:h}=o.findPos(t,-1),c=t-n;for(let e of r)c+=e.length;e.length+=c,j(e,u,h,l,a,r,0,i,s)}let z="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},U="undefined"!=typeof document?document:{documentElement:{style:{}}},V=/Edge\/(\d+)/.exec(z.userAgent),H=/MSIE \d/.test(z.userAgent),W=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(z.userAgent),G=!!(H||W||V),K=!G&&/gecko\/(\d+)/i.test(z.userAgent),J=!G&&/Chrome\/(\d+)/.exec(z.userAgent),Q="webkitFontSmoothing"in U.documentElement.style,Y=!G&&/Apple Computer/.test(z.vendor),Z=Y&&(/Mobile\/\w+/.test(z.userAgent)||z.maxTouchPoints>2);var X={mac:Z||/Mac/.test(z.platform),windows:/Win/.test(z.platform),linux:/Linux|X11/.test(z.platform),ie:G,ie_version:H?U.documentMode||6:W?+W[1]:V?+V[1]:0,gecko:K,gecko_version:K?+(/Firefox\/(\d+)/.exec(z.userAgent)||[0,0])[1]:0,chrome:!!J,chrome_version:J?+J[1]:0,ios:Z,android:/Android\b/.test(z.userAgent),webkit:Q,safari:Y,webkit_version:Q?+(/\bAppleWebKit\/(\d+)/.exec(z.userAgent)||[0,0])[1]:0,tabSize:null!=U.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class ee extends ${constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags)&&(!n||n instanceof ee&&!(this.length-(t-e)+n.length>256)&&!(8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new ee(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new B(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let r=e.nodeValue.length;t>r&&(t=r);let i=t,s=t,o=0;0==t&&n<0||t==r&&n>=0?!(X.chrome||X.gecko)&&(t?(i--,o=1):s<r&&(s++,o=-1)):n<0?i--:s<r&&s++;let l=O(e,i,s).getClientRects();if(!l.length)return null;let a=l[(o?o<0:n>=0)?0:l.length-1];return X.safari&&!o&&0==a.width&&(a=Array.prototype.find.call(l,e=>e.width)||a),o?C(a,o<0):a||null}(this.dom,e,t)}}class et extends ${constructor(e,t=[],n=0){for(let r of(super(),this.mark=e,this.children=t,this.length=n,t))r.setParent(this)}setAttrs(e){if(T(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,i,s){return(!n||!!(n instanceof et&&n.mark.eq(this.mark))&&(!e||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(q(this,e,t,n?n.children.slice():[],i-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,i=0;for(let s of this.children){let o=n+s.length;o>e&&t.push(n<e?s.split(e-n):s),r<0&&n>=e&&(r=i),n=o,i++}let s=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new et(this.mark,t,s)}domAtPos(e){return ei(this,e)}coordsAt(e,t){return es(this,e,t)}}class en extends ${static create(e,t,n){return new en(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=en.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,i,s){return(!n||n instanceof en&&!!this.widget.compare(n.widget)&&(!(e>0)||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof en&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return l.xv.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):l.xv.empty}domAtPos(e){return(this.length?0==e:this.side>0)?B.before(this.dom):B.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),i=null;if(!r.length)return null;let s=this.side?this.side<0:e>0;for(let t=s?r.length-1:0;i=r[t],e>0?0!=t:t!=r.length-1&&!(i.top<i.bottom);t+=s?-1:1);return C(i,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class er extends ${constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof er&&e.side==this.side}split(){return new er(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?B.before(this.dom):B.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return l.xv.empty}get isHidden(){return!0}}function ei(e,t){let n=e.dom,{children:r}=e,i=0;for(let e=0;i<r.length;i++){let s=r[i],o=e+s.length;if(!(o==e&&0>=s.getSide())){if(t>e&&t<o&&s.dom.parentNode==n)return s.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=i;e>0;e--){let t=r[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e<r.length;e++){let t=r[e];if(t.dom.parentNode==n)return t.domAtPos(0)}return new B(n,0)}function es(e,t,n){let r=null,i=-1,s=null,o=-1;!function e(t,l){for(let a=0,u=0;a<t.children.length&&u<=l;a++){let h=t.children[a],c=u+h.length;c>=l&&(h.children.length?e(h,l-u):(!s||s.isHidden&&(n>0||function(e,t){let n=e.coordsAt(0,1),r=t.coordsAt(0,1);return n&&r&&r.top<n.bottom}(s,h)))&&(c>l||u==c&&h.getSide()>0)?(s=h,o=l-u):(u<l||u==c&&0>h.getSide()&&!h.isHidden)&&(r=h,i=l-u)),u=c}}(e,t);let l=(n<0?r:s)||r||s;return l?l.coordsAt(Math.max(0,l==r?i:o),n):function(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=b(t);return n[n.length-1]||null}(e)}function eo(e,t){for(let n in e)"class"==n&&t.class?t.class+=" "+e.class:"style"==n&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}ee.prototype.children=en.prototype.children=er.prototype.children=M;let el=Object.create(null);function ea(e,t,n){if(e==t)return!0;e||(e=el),t||(t=el);let r=Object.keys(e),i=Object.keys(t);if(r.length-(n&&r.indexOf(n)>-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let s of r)if(s!=n&&(-1==i.indexOf(s)||e[s]!==t[s]))return!1;return!0}function eu(e,t,n){let r=!1;if(t)for(let i in t)n&&i in n||(r=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(r=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return r}class eh{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ec=((i=ec||(ec={}))[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i);class ef extends l.uU{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new ed(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new em(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:i,end:s}=eg(e,t);n=(i?t?-3e8:-1:5e8)-1,r=(s?t?2e8:1:-6e8)+1}return new em(e,n,r,t,e.widget||null,!0)}static line(e){return new ep(e)}static set(e,t=!1){return l.Xs.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}ef.none=l.Xs.empty;class ed extends ef{constructor(e){let{start:t,end:n}=eg(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof ed&&this.tagName==e.tagName&&(this.class||(null==(t=this.attrs)?void 0:t.class))==(e.class||(null==(n=e.attrs)?void 0:n.class))&&ea(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw RangeError("Mark decorations may not be empty");return super.range(e,t)}}ed.prototype.point=!1;class ep extends ef{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ep&&this.spec.class==e.spec.class&&ea(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}ep.prototype.mapMode=l.gc.TrackBefore,ep.prototype.point=!0;class em extends ef{constructor(e,t,n,r,i,s){super(t,n,i,e),this.block=r,this.isReplace=s,this.mapMode=r?t<=0?l.gc.TrackBefore:l.gc.TrackAfter:l.gc.TrackDel}get type(){return this.startSide!=this.endSide?ec.WidgetRange:this.startSide<=0?ec.WidgetBefore:ec.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){var t,n;return e instanceof em&&(t=this.widget,t==(n=e.widget)||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function eg(e,t=!1){let{inclusiveStart:n,inclusiveEnd:r}=e;return null==n&&(n=e.inclusive),null==r&&(r=e.inclusive),{start:null!=n?n:t,end:null!=r?r:t}}function ey(e,t,n,r=0){let i=n.length-1;i>=0&&n[i]+r>=e?n[i]=Math.max(n[i],t):n.push(e,t)}em.prototype.point=!0;class eb extends ${constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,i,s){if(n){if(!(n instanceof eb))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),q(this,e,t,n?n.children.slice():[],i,s),!0}split(e){let t=new eb;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let e=n;e<this.children.length;e++)t.append(this.children[e],0);for(;n>0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ea(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){!function e(t,n,r){let i,{children:s}=t;r>0&&n instanceof et&&s.length&&(i=s[s.length-1])instanceof et&&i.mark.eq(n.mark)?e(i,n.children[0],r-1):(s.push(n),n.setParent(t)),t.length+=n.length}(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=eo(t,this.attrs||{})),n&&(this.attrs=eo({class:n},this.attrs||{}))}domAtPos(e){return ei(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(T(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(eu(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&$.get(r)instanceof et;)r=r.lastChild;if(!r||!this.length||"BR"!=r.nodeName&&(null==(n=$.get(r))?void 0:n.isEditable)==!1&&(!X.ios||!this.children.some(e=>e instanceof ee))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof ee)||/[^ -~]/.test(n.text))return null;let r=b(n.dom);if(1!=r.length)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=es(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(2>Math.abs(t-e.lineHeight)&&e.textHeight<t){let r=(t-e.textHeight)/2;return{top:n.top+r,bottom:n.bottom-r,left:n.left,right:n.left}}}return n}become(e){return e instanceof eb&&0==this.children.length&&0==e.children.length&&ea(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let i=e.children[n],s=r+i.length;if(s>=t){if(i instanceof eb)return i;if(s>t)break}r=s+i.breakAfter}return null}}class ev extends ${constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,i,s){return(!n||n instanceof ev&&!!this.widget.compare(n.widget)&&(!(e>0)||!(i<=0))&&(!(t<this.length)||!(s<=0)))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?B.before(this.dom):B.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new ev(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return M}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):l.xv.empty}domBoundsAround(){return null}become(e){return e instanceof ev&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof ew?null:C(this.dom.getBoundingClientRect(),this.length?0==e:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t!=n&&(e<0?t<0:n>0)}}class ew extends eh{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class ek{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof ev&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new eb),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(eD(new er(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof ev||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)throw Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(eD(new ee(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,i,s){if(this.disallowBlockEffectsFor[s]&&n instanceof em){if(n.block)throw RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(n instanceof em)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ev(n.widget||ex.block,o,n));else{let s=en.create(n.widget||ex.inline,o,o?0:n.startSide),l=this.atCursorPos&&!s.isEditable&&i<=r.length&&(e<t||n.startSide>0),a=!s.isEditable&&(e<t||i>r.length||n.startSide<=0),u=this.getLine();2!=this.pendingBuffer||l||s.isEditable||(this.pendingBuffer=0),this.flushBuffer(r),l&&(u.append(eD(new er(1),r),i),i=r.length+Math.max(0,i-r.length)),u.append(eD(s,r),i),this.atCursorPos=a,this.pendingBuffer=a?e<t||i>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,r,i){let s=new ek(e,t,n,i);return s.openEnd=l.Xs.spans(r,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function eD(e,t){for(let n of t)e=new et(n,[e],e.length);return e}class ex extends eh{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}ex.inline=new ex("span"),ex.block=new ex("div");var eC=((s=eC||(eC={}))[s.LTR=0]="LTR",s[s.RTL=1]="RTL",s);let eA=eC.LTR,eE=eC.RTL;function eS(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<e[n]);return t}let e_=eS("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),eO=eS("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),eF=Object.create(null),eT=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),n=e.charCodeAt(1);eF[t]=n,eF[n]=-t}function eP(e){return e<=247?e_[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?eO[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8204?256:64336<=e&&e<=65023?4:1}let eI=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class eN{get dir(){return this.level%2?eE:eA}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let i=-1;for(let s=0;s<e.length;s++){let o=e[s];if(o.from<=t&&o.to>=t){if(o.level==n)return s;(i<0||(0!=r?r<0?o.from<t:o.to>t:e[i].level>o.level))&&(i=s)}}if(i<0)throw RangeError("Index out of range");return i}}let eB=[];function eM(e){return[new eN(0,e,0)]}let e$="",eL=l.r$.define(),eR=l.r$.define(),ej=l.r$.define(),eq=l.r$.define(),ez=l.r$.define(),eU=l.r$.define(),eV=l.r$.define(),eH=l.r$.define(),eW=l.r$.define(),eG=l.r$.define({combine:e=>e.some(e=>e)}),eK=l.r$.define({combine:e=>e.some(e=>e)}),eJ=l.r$.define();class eQ{constructor(e,t="nearest",n="nearest",r=5,i=5,s=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=i,this.isSnapshot=s}map(e){return e.empty?this:new eQ(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new eQ(l.jT.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}let eY=l.Py.define({map:(e,t)=>e.map(t)}),eZ=l.Py.define();function eX(e,t,n){let r=e.facet(eq);r.length?r[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}let e0=l.r$.define({combine:e=>!e.length||e[0]}),e1=0,e2=l.r$.define({combine:e=>e.filter((t,n)=>{for(let r=0;r<n;r++)if(e[r].plugin==t.plugin)return!1;return!0})});class e3{constructor(e,t,n,r,i){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.baseExtensions=i(this),this.extension=this.baseExtensions.concat(e2.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(e2.of({plugin:this,arg:e}))}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:i,decorations:s}=t||{};return new e3(e1++,e,n,r,e=>{let t=[];return s&&t.push(e4.of(t=>{let n=t.plugin(e);return n?s(n):ef.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return e3.define((t,n)=>new e(t,n),t)}}class e5{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(eX(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){eX(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null==(t=this.value)?void 0:t.destroy)try{this.value.destroy()}catch(t){eX(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}let e8=l.r$.define(),e6=l.r$.define(),e4=l.r$.define(),e9=l.r$.define(),e7=l.r$.define(),te=l.r$.define();function tt(e,t){let n=e.state.facet(te);if(!n.length)return n;let r=n.map(t=>t instanceof Function?t(e):t),i=[];return l.Xs.spans(r,t.from,t.to,{point(){},span(e,n,r,s){let o=e-t.from,l=n-t.from,a=i;for(let e=r.length-1;e>=0;e--,s--){let n=r[e].spec.bidiIsolate,i;if(null==n&&(n=function(e,t,n){for(let r=t;r<n;r++){let t=eP(e.charCodeAt(r));if(1==t)break;if(2==t||4==t)return eE}return eA}(t.text,o,l)),s>0&&a.length&&(i=a[a.length-1]).to==o&&i.direction==n)i.to=l,a=i.inner;else{let e={from:o,to:l,direction:n,inner:[]};a.push(e),a=e.inner}}}}),i}let tn=l.r$.define();function tr(e){let t=0,n=0,r=0,i=0;for(let s of e.state.facet(tn)){let o=s(e);o&&(null!=o.left&&(t=Math.max(t,o.left)),null!=o.right&&(n=Math.max(n,o.right)),null!=o.top&&(r=Math.max(r,o.top)),null!=o.bottom&&(i=Math.max(i,o.bottom)))}return{left:t,right:n,top:r,bottom:i}}let ti=l.r$.define();class ts{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new ts(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(0==t.length)return e;let n=[];for(let r=0,i=0,s=0,o=0;;r++){let l=r==e.length?null:e[r],a=s-o,u=l?l.fromB:1e9;for(;i<t.length&&t[i]<u;){let e=t[i],r=t[i+1],s=Math.max(o,e),l=Math.min(u,r);if(s<=l&&new ts(s+a,l+a,s,l).addToSet(n),r>u)break;i+=2}if(!l)return n;new ts(l.fromA,l.toA,l.fromB,l.toB).addToSet(n),s=l.toA,o=l.toB}}}class to{constructor(e,t,n){for(let r of(this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=l.as.empty(this.startState.doc.length),n))this.changes=this.changes.compose(r.changes);let r=[];this.changes.iterChangedRanges((e,t,n,i)=>r.push(new ts(e,t,n,i))),this.changedRanges=r}static create(e,t,n){return new to(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class tl extends ${get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=ef.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new eb],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ts(0,0,0,e.state.doc.length)],0,null)}update(e){var t,n,r,i,s,o;let a,u,h=e.changedRanges;this.minWidth>0&&h.length&&(h.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let c=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(t=this.domChanged)?void 0:t.newSel)?c=this.domChanged.newSel.head:(n=e.changes,r=this.hasComposition,a=!1,r&&n.iterChangedRanges((e,t)=>{e<r.to&&t>r.from&&(a=!0)}),a||e.selectionSet||(c=e.state.selection.main.head)));let f=c>-1?function(e,t,n){let r=ta(e,n);if(!r)return null;let{node:i,from:s,to:o}=r,l=i.nodeValue;if(/[\n\r]/.test(l)||e.state.doc.sliceString(r.from,r.to)!=l)return null;let a=t.invertedDesc,u=new ts(a.mapPos(s),a.mapPos(o),s,o),h=[];for(let t=i.parentNode;;t=t.parentNode){let n=$.get(t);if(n instanceof et)h.push({node:t,deco:n.mark});else{if(n instanceof eb||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:u,text:i,marks:h,line:t};if(t==e.contentDOM)return null;h.push({node:t,deco:new ed({inclusive:!0,attributes:function(e){let t=Object.create(null);for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n];t[r.name]=r.value}return t}(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,c):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:n}=this.hasComposition;h=new ts(t,n,e.changes.mapPos(t,-1),e.changes.mapPos(n,1)).addToSet(h.slice())}this.hasComposition=f?{from:f.range.fromB,to:f.range.toB}:null,(X.ie||X.chrome)&&!f&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let d=(i=this.decorations,s=this.updateDeco(),o=e.changes,u=new tu,l.Xs.compare(i,s,o,u),u.changes);return h=ts.extendWithRanges(h,d),(!!(7&this.flags)||0!=h.length)&&(this.updateInner(h,e.startState.doc.length,f),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=X.chrome||X.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof ev&&e.widget instanceof ew&&i.push(e.dom);r.updateGaps(i)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,i=this.childCursor(t);for(let e=r.length-1;;e--){let t=e>=0?r[e]:null;if(!t)break;let{fromA:s,toA:o,fromB:l,toB:a}=t,u,h,c,f;if(n&&n.range.fromB<a&&n.range.toB>l){let e=ek.build(this.view.state.doc,l,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=ek.build(this.view.state.doc,n.range.toB,a,this.decorations,this.dynamicDecorationMap);h=e.breakAtStart,c=e.openStart,f=t.openEnd;let r=this.compositionView(n);t.breakAtStart?r.breakAfter=1:t.content.length&&r.merge(r.length,r.length,t.content[0],!1,t.openStart,0)&&(r.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&r.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),u=e.content.concat(r).concat(t.content)}else({content:u,breakAtStart:h,openStart:c,openEnd:f}=ek.build(this.view.state.doc,l,a,this.decorations,this.dynamicDecorationMap));let{i:d,off:p}=i.findPos(o,1),{i:m,off:g}=i.findPos(s,-1);j(this,m,g,d,p,u,h,c,f)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){for(let t of(this.editContextFormatting=this.editContextFormatting.map(e.changes),e.transactions))for(let e of t.effects)e.is(eZ)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new ee(e.text.nodeValue);for(let{deco:n}of(t.flags|=8,e.marks))t=new et(n,[t],t.length);let n=new eb;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|!!t.children.some(e=>7&e.flags),this.markedForComposition.add(t);let n=$.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let i=e.marks.length-1;i>=-1;i--)n=r.childPos(n.off,1),r=r.children[n.i],t(i>=0?e.marks[i].node:e.text,r)}updateSelection(e=!1,t=!1){var n;(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let r=this.view.root.activeElement,i=r==this.dom,s=!i&&!(this.view.state.facet(e0)||this.dom.tabIndex>-1)&&y(this.dom,this.view.observer.selectionRange)&&!(r&&this.dom.contains(r));if(!(i||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),u=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(X.gecko&&l.empty&&!this.hasComposition&&1==(n=a).node.nodeType&&n.node.firstChild&&(0==n.offset||"false"==n.node.childNodes[n.offset-1].contentEditable)&&(n.offset==n.node.childNodes.length||"false"==n.node.childNodes[n.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(e,a.node.childNodes[a.offset]||null)),a=u=new B(e,0),o=!0}let h=this.view.observer.selectionRange;!o&&h.focusNode&&(v(a.node,a.offset,h.anchorNode,h.anchorOffset)&&v(u.node,u.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,l))||(this.view.observer.ignore(()=>{X.android&&X.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=m(this.view.root);if(e)if(l.empty){if(X.gecko){var t,n;let e=(t=a.node,n=a.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|2*(n<t.childNodes.length&&"false"==t.childNodes[n].contentEditable));if(e&&3!=e){let t=(1==e?I:N)(a.node,a.offset);t&&(a=new B(t.node,t.offset))}}e.collapse(a.node,a.offset),null!=l.bidiLevel&&void 0!==e.caretBidiLevel&&(e.caretBidiLevel=l.bidiLevel)}else if(e.extend){e.collapse(a.node,a.offset);try{e.extend(u.node,u.offset)}catch(e){}}else{let t=document.createRange();l.anchor>l.head&&([a,u]=[u,a]),t.setEnd(u.node,u.offset),t.setStart(a.node,a.offset),e.removeAllRanges(),e.addRange(t)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(a,u)),this.impreciseAnchor=a.precise?null:new B(h.anchorNode,h.anchorOffset),this.impreciseHead=u.precise?null:new B(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&v(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=m(e.root),{anchorNode:r,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let s=eb.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let l=this.coordsAt(t.head,-1),a=this.coordsAt(t.head,1);if(!l||!a||l.bottom>a.top)return;let u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(r,i)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let e=$.get(t.childNodes[r]);e instanceof eb&&(n=e.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let e=$.get(t.childNodes[r]);e instanceof eb&&(n=e.domAtPos(e.length))}return n?new B(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let e=$.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(n<e.length||e instanceof eb)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let i=this.length,s=this.children.length-1;s>=0;s--){let o=this.children[s],l=i-o.breakAfter,a=l-o.length;if(l<e)break;if(a<=e&&(a<e||o.covers(-1))&&(l>e||o.covers(1))&&(!n||o instanceof eb&&!(n instanceof eb&&t>=0)))n=o,r=a;else if(n&&a==e&&l==e&&o instanceof ev&&2>Math.abs(t))if(o.deco.startSide<0)break;else s&&(n=null);i=a}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof eb))return null;for(;r.children.length;){let{i:e,off:t}=r.childPos(n,1);for(;;e++){if(e==r.children.length)return null;if((r=r.children[e]).length)break}n=t}if(!(r instanceof ee))return null;let i=(0,l.cp)(r.text,n);if(i==n)return null;let s=O(r.dom,n,i).getClientRects();for(let e=0;e<s.length;e++){let t=s[e];if(e==s.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==eC.LTR;for(let e=0,a=0;a<this.children.length;a++){let u=this.children[a],h=e+u.length;if(h>r)break;if(e>=n){let n=u.dom.getBoundingClientRect();if(t.push(n.height),s){let t=u.dom.lastChild,r=t?b(t):[];if(r.length){let t=r[r.length-1],s=l?t.right-n.left:n.right-t.left;s>o&&(o=s,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=h)}}}e=h+u.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?eC.RTL:eC.LTR}measureTextSize(){for(let e of this.children)if(e instanceof eb){let t=e.measureTextSize();if(t)return t}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=b(e.firstChild)[0];t=e.getBoundingClientRect().height,n=i?i.width/27:7,r=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new R(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let i=r==t.viewports.length?null:t.viewports[r],s=i?i.from-1:this.length;if(s>n){let r=(t.lineBlockAt(s).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(ef.replace({widget:new ew(r),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!i)break;n=i.to+1}return ef.set(e)}updateDeco(){let e=1,t=this.view.state.facet(e4).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),n=!1,r=this.view.state.facet(e9).map((e,t)=>{let r="function"==typeof e;return r&&(n=!0),r?e(this.view):e});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(l.Xs.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=t.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let t of this.view.state.facet(eJ))try{if(t(this.view,e.range,e))return!0}catch(e){eX(this.view.state,e,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let i=tr(this.view),s={left:n.left-i.left,top:n.top-i.top,right:n.right+i.right,bottom:n.bottom+i.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;!function(e,t,n,r,i,s,o,l){let a=e.ownerDocument,u=a.defaultView||window;for(let h=e,c=!1;h&&!c;)if(1==h.nodeType){let e,f=h==a.body,d=1,p=1;if(f)e=function(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:d,scaleY:p}=A(h,t)),e={left:t.left,right:t.left+h.clientWidth*d,top:t.top,bottom:t.top+h.clientHeight*p}}let m=0,g=0;if("nearest"==i)t.top<e.top?(g=t.top-(e.top+o),n>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+o)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+o,n<0&&t.top-g<e.top&&(g=t.top-(e.top+o)));else{let r=t.bottom-t.top,s=e.bottom-e.top;g=("center"==i&&r<=s?t.top+r/2-s/2:"start"==i||"center"==i&&n<0?t.top-o:t.bottom-s+o)-e.top}if("nearest"==r?t.left<e.left?(m=t.left-(e.left+s),n>0&&t.right>e.right+m&&(m=t.right-e.right+s)):t.right>e.right&&(m=t.right-e.right+s,n<0&&t.left<e.left+m&&(m=t.left-(e.left+s))):m=("center"==r?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==r==l?t.left-s:t.right-(e.right-e.left)+s)-e.left,m||g)if(f)u.scrollBy(m,g);else{let e=0,n=0;if(g){let e=h.scrollTop;h.scrollTop+=g/p,n=(h.scrollTop-e)*p}if(m){let t=h.scrollLeft;h.scrollLeft+=m/d,e=(h.scrollLeft-t)*d}t={left:t.left-e,top:t.top-n,right:t.right-e,bottom:t.bottom-n},e&&1>Math.abs(e-m)&&(r="nearest"),n&&1>Math.abs(n-g)&&(i="nearest")}if(f)break;(t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else if(11==h.nodeType)h=h.host;else break}(this.view.scrollDOM,s,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==eC.LTR)}}function ta(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let r=I(n.focusNode,n.focusOffset),i=N(n.focusNode,n.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let t=$.get(i.node);if(!t||t instanceof ee&&t.text!=i.node.nodeValue)s=i;else if(e.docView.lastCompositionAfterCursor){let e=$.get(r.node);!e||e instanceof ee&&e.text!=r.node.nodeValue||(s=i)}}if(e.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=t-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}let tu=class{constructor(){this.changes=[]}compareRange(e,t){ey(e,t,this.changes)}comparePoint(e,t){ey(e,t,this.changes)}boundChange(e){ey(e,e,this.changes)}};function th(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function tc(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function tf(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function td(e,t,n){let r=e.nodeValue.length,i=-1,s=1e9,o=0;for(let l=0;l<r;l++){let r=O(e,l,l+1).getClientRects();for(let a=0;a<r.length;a++){let u=r[a];if(u.top==u.bottom)continue;o||(o=t-u.left);let h=(u.top>n?u.top-n:n-u.bottom)-1;if(u.left-1<=t&&u.right+1>=t&&h<s){let n=t>=(u.left+u.right)/2,r=n;if((X.chrome||X.gecko)&&O(e,l).getBoundingClientRect().left==u.right&&(r=!n),h<=0)return{node:e,offset:l+ +!!r};i=l+ +!!r,s=h}}}return{node:e,offset:i>-1?i:o>0?e.nodeValue.length:0}}function tp(e,t,n,r=-1){var i,s;let o=e.contentDOM.getBoundingClientRect(),l=o.top+e.viewState.paddingTop,a,{docHeight:u}=e.viewState,{x:h,y:c}=t,f=c-l;if(f<0)return 0;if(f>u)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;(a=e.elementAtHeight(f)).type!=ec.Text;)for(;!((f=r>0?a.bottom+t:a.top-t)>=0)||!(f<=u);){if(i)return n?null:0;i=!0,r=-r}c=l+f;let d=a.from;if(d<e.viewport.from)return 0==e.viewport.from?0:n?null:tm(e,o,a,h,c);if(d>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:tm(e,o,a,h,c);let p=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:p,g=m.elementFromPoint(h,c);g&&!e.contentDOM.contains(g)&&(g=null),!g&&(h=Math.max(o.left+1,Math.min(o.right-1,h)),(g=m.elementFromPoint(h,c))&&!e.contentDOM.contains(g)&&(g=null));let y,v=-1;if(g&&(null==(i=e.docView.nearest(g))?void 0:i.isEditable)!=!1){if(p.caretPositionFromPoint){let e=p.caretPositionFromPoint(h,c);e&&({offsetNode:y,offset:v}=e)}else if(p.caretRangeFromPoint){let t=p.caretRangeFromPoint(h,c);t&&({startContainer:y,startOffset:v}=t,(!e.contentDOM.contains(y)||X.safari&&function(e,t,n){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return O(e,r-1,r).getBoundingClientRect().left>n}(y,v,h)||X.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return n-(1==e.nodeType?e.getBoundingClientRect():O(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(y,v,h))&&(y=void 0))}y&&(v=Math.min(x(y),v))}if(!y||!e.docView.dom.contains(y)){let t=eb.find(e.docView,d);if(!t)return f>a.top+a.height/2?a.to:a.from;({node:y,offset:v}=function e(t,n,r){let i,s,o,l,a,u,h,c,f=!1;for(let m=t.firstChild;m;m=m.nextSibling){let t=b(m);for(let g=0;g<t.length;g++){var d,p;let y=t[g];u&&th(u,y)&&(y=tc(tf(y,u.bottom),u.top));let b=(d=y).left>n?d.left-n:Math.max(0,n-d.right),v=(p=y).top>r?p.top-r:Math.max(0,r-p.bottom);if(0==b&&0==v)return 3==m.nodeType?td(m,n,r):e(m,n,r);if(!a||c>v||c==v&&h>b){a=m,u=y,h=b,c=v;let e=v?r<y.top?-1:1:b?n<y.left?-1:1:0;f=!e||(e>0?g<t.length-1:g>0)}0==b?r>y.bottom&&(!o||o.bottom<y.bottom)?(i=m,o=y):r<y.top&&(!l||l.top>y.top)&&(s=m,l=y):o&&th(o,y)?o=tf(o,y.bottom):l&&th(l,y)&&(l=tc(l,y.top))}}if(o&&o.bottom>=r?(a=i,u=o):l&&l.top<=r&&(a=s,u=l),!a)return{node:t,offset:0};let m=Math.max(u.left,Math.min(u.right,n));if(3==a.nodeType)return td(a,m,r);if(f&&"false"!=a.contentEditable)return e(a,m,r);let g=Array.prototype.indexOf.call(t.childNodes,a)+ +(n>=(u.left+u.right)/2);return{node:t,offset:g}}(t.dom,h,c))}let w=e.docView.nearest(y);if(!w)return null;if(!w.isWidget||(null==(s=w.dom)?void 0:s.nodeType)!=1)return w.localPosFromDOM(y,v)+w.posAtStart;{let e=w.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?w.posAtStart:w.posAtEnd}}function tm(e,t,n,r,i){let s=Math.round((r-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;s+=Math.floor((i-n.top-(e.defaultLineHeight-t)*.5)/t)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(n.from,n.to);return n.from+(0,l.Gz)(o,s,e.state.tabSize)}function tg(e,t,n){let r=e.lineBlockAt(t);if(Array.isArray(r.type)){let e;for(let i of r.type){if(i.from>t)break;if(!(i.to<t)){if(i.from<t&&i.to>t)return i;(!e||i.type==ec.Text&&(e.type!=i.type||(n<0?i.from<t:i.to>t)))&&(e=i)}}return e||r}return r}function ty(e,t,n,r){let i=e.state.doc.lineAt(t.head),s=e.bidiSpans(i),o=e.textDirectionAt(i.from);for(let a=t,u=null;;){let t=function(e,t,n,r,i){var s;let o=r.head-e.from,a=eN.find(t,o,null!=(s=r.bidiLevel)?s:-1,r.assoc),u=t[a],h=u.side(i,n);if(o==h){let e=a+=i?1:-1;if(e<0||e>=t.length)return null;o=(u=t[a=e]).side(!i,n),h=u.side(i,n)}let c=(0,l.cp)(e.text,o,u.forward(i,n));(c<u.from||c>u.to)&&(c=h),e$=e.text.slice(Math.min(o,c),Math.max(o,c));let f=a==(i?t.length-1:0)?null:t[a+(i?1:-1)];return f&&c==h&&f.level+ +!i<u.level?l.jT.cursor(f.side(!i,n)+e.from,f.forward(i,n)?1:-1,f.level):l.jT.cursor(c+e.from,u.forward(i,n)?-1:1,u.level)}(i,s,o,a,n),h=e$;if(!t){if(i.number==(n?e.state.doc.lines:1))return a;h="\n",i=e.state.doc.line(i.number+(n?1:-1)),s=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(u){if(!u(h))return a}else{if(!r)return t;u=r(h)}a=t}}function tb(e,t,n){for(;;){let r=0;for(let i of e)i.between(t-1,t+1,(e,i,s)=>{if(t>e&&t<i){let s=r||n||(t-e<i-t?-1:1);t=s<0?e:i,r=s}});if(!r)return t}}function tv(e,t,n){let r=tb(e.state.facet(e7).map(t=>t(e)),n.from,t.head>n.from?-1:1);return r==n.from?n:l.jT.cursor(r,r<n.from?1:-1)}class tw{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(l.yy.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+="￿"}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let e=this.text.length;this.readNode(r);let i=r.nextSibling;if(i==t)break;let s=$.get(r),o=$.get(i);(s&&o?s.breakAfter:(s?s.breakAfter:k(r))||k(i)&&("BR"!=r.nodeName||r.cmIgnore)&&this.text.length>e)&&this.lineBreak(),r=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,o;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,n),s=this.lineSeparator.length):(o=r.exec(t))&&(i=o.index,s=o[0].length),this.append(t.slice(n,i<0?t.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);n=i+s}}readNode(e){if(e.cmIgnore)return;let t=$.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(!function(e,t,n){for(;;){if(!t||n<x(t))return!1;if(t==e)return!0;n=w(t)+1,t=t.parentNode}}(e,n.node,n.offset)?0:t))}}class tk{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class tD{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||s?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new tk(n,r)),(i!=n||s!=r)&&t.push(new tk(i,s))),t}(e),n=new tw(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,r=2==e.length?e[1].pos:n;return n>-1&&r>-1?l.jT.single(n+t,r+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!g(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),r=s&&s.node==t.anchorNode&&s.offset==t.anchorOffset||!g(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),o=e.viewport;if((X.ios||X.chrome)&&e.state.selection.main.empty&&n!=r&&(o.from>0||o.to<e.state.doc.length)){let t=Math.min(n,r),i=Math.max(n,r),s=o.from-t,l=o.to-i;(0==s||1==s||0==t)&&(0==l||-1==l||i==e.state.doc.length)&&(n=0,r=e.state.doc.length)}this.newSel=l.jT.single(r,n)}}}function tx(e,t){let n,{newSel:r}=t,i=e.state.selection.main,s=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:r,to:o}=t.bounds,a=i.from,u=null;(8===s||X.android&&t.text.length<o-r)&&(a=i.to,u="end");let h=function(e,t,n,r){let i=Math.min(e.length,t.length),s=0;for(;s<i&&e.charCodeAt(s)==t.charCodeAt(s);)s++;if(s==i&&e.length==t.length)return null;let o=e.length,l=t.length;for(;o>0&&l>0&&e.charCodeAt(o-1)==t.charCodeAt(l-1);)o--,l--;if("end"==r){let e=Math.max(0,s-Math.min(o,l));n-=o+e-s}if(o<s&&e.length<t.length){let e=n<=s&&n>=o?s-n:0;s-=e,l=s+(l-o),o=s}else if(l<s){let e=n<=s&&n>=l?s-n:0;s-=e,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}(e.state.doc.sliceString(r,o,"￿"),t.text,a-r,u);h&&(X.chrome&&13==s&&h.toB==h.from+2&&"￿￿"==t.text.slice(h.from,h.toB)&&h.toB--,n={from:r+h.from,to:r+h.toA,insert:l.xv.of(t.text.slice(h.from,h.toB).split("￿"))})}else r&&(!e.hasFocus&&e.state.facet(e0)||r.main.eq(i))&&(r=null);if(!n&&!r)return!1;if(!n&&t.typeOver&&!i.empty&&r&&r.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(X.mac||X.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(r&&2==n.insert.length&&(r=l.jT.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:l.xv.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:X.chrome&&n&&n.from==n.to&&n.from==i.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(r&&(r=l.jT.single(r.main.anchor-1,r.main.head-1)),n={from:i.from,to:i.to,insert:l.xv.of([" "])}),n)return tC(e,n,r,s);if(!r||r.main.eq(i))return!1;{let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:r,scrollIntoView:t,userEvent:n}),!0}}function tC(e,t,n,r=-1){let i;if(X.ios&&e.inputState.flushIOSKey(t))return!0;let s=e.state.selection.main;if(X.android&&(t.to==s.to&&(t.from==s.from||t.from==s.from-1&&" "==e.state.sliceDoc(t.from,s.from))&&1==t.insert.length&&2==t.insert.lines&&F(e.contentDOM,"Enter",13)||(t.from==s.from-1&&t.to==s.to&&0==t.insert.length||8==r&&t.insert.length<t.to-t.from&&t.to>s.head)&&F(e.contentDOM,"Backspace",8)||t.from==s.from&&t.to==s.to+1&&0==t.insert.length&&F(e.contentDOM,"Delete",46)))return!0;let o=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a=()=>i||(i=function(e,t,n){let r,i=e.state,s=i.selection.main;if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=s.from<t.from?i.sliceDoc(s.from,t.from):"",o=s.to>t.to?i.sliceDoc(t.to,s.to):"";r=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+o))}else{let o=i.changes(t),a=n&&n.main.to<=o.newLength?n.main:void 0;if(i.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=s.to&&t.to>=s.to-10){let u=e.state.sliceDoc(t.from,t.to),h,c=n&&ta(e,n.main.head);if(c){let e=t.insert.length-(t.to-t.from);h={from:c.from,to:c.to-e}}else h=e.state.doc.lineAt(s.head);let f=s.to-t.to,d=s.to-s.from;r=i.changeByRange(n=>{if(n.from==s.from&&n.to==s.to)return{changes:o,range:a||n.map(o)};let r=n.to-f,c=r-u.length;if(n.to-n.from!=d||e.state.sliceDoc(c,r)!=u||n.to>=h.from&&n.from<=h.to)return{range:n};let p=i.changes({from:c,to:r,insert:t.insert}),m=n.to-s.to;return{changes:p,range:a?l.jT.range(Math.max(0,a.anchor+m),Math.max(0,a.head+m)):n.map(p)}})}else r={changes:o,selection:a&&i.selection.replaceRange(a)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:o,scrollIntoView:!0})}(e,t,n));return e.state.facet(eU).some(n=>n(e,t.from,t.to,o,a))||e.dispatch(a()),!0}class tA{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){var t;this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,X.safari&&e.contentDOM.addEventListener("input",()=>null),X.gecko&&(t=e.contentDOM.ownerDocument,tQ.has(t)||(tQ.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{})))}handleEvent(e){!(!function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,r;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(r=$.get(n))&&r.ignoreEvent(t))return!1;return!0}(this.view,e)||this.ignoreDuringComposition(e))&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=function(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,r=e&&e.plugin.domEventHandlers,i=e&&e.plugin.domEventObservers;if(r)for(let e in r){let i=r[e];i&&n(e).handlers.push(tE(t.value,i))}if(i)for(let e in i){let r=i[e];r&&n(e).observers.push(tE(t.value,r))}}for(let e in tP)n(e).handlers.push(tP[e]);for(let e in tI)n(e).observers.push(tI[e]);return t}(e),n=this.handlers,r=this.view.contentDOM;for(let e in t)if("scroll"!=e){let i=!t[e].handlers.length,s=n[e];s&&!s.handlers.length!=i&&(r.removeEventListener(e,this.handleEvent),s=null),s||r.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)"scroll"==e||t[e]||r.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){let t;return this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),!!(9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))||((this.tabFocusMode>0&&27!=e.keyCode&&0>tO.indexOf(e.keyCode)&&(this.tabFocusMode=-1),X.android&&X.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))?(this.view.observer.delayAndroidKey(e.key,e.keyCode),!0):X.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=tS.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||t_.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(229!=e.keyCode&&this.view.observer.forceFlush(),!1))}flushIOSKey(e){let t=this.pendingIOSKey;return!(!t||"Enter"==t.key&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString()))&&(this.pendingIOSKey=void 0,F(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(X.safari&&!X.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function tE(e,t){return(n,r)=>{try{return t.call(e,r,n)}catch(e){eX(n.state,e)}}}let tS=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],t_="dthko",tO=[16,17,18,20,91,92,224,225];function tF(e){return .7*Math.max(0,e)+8}class tT{constructor(e,t,n,r){var i,s;let o;this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t=e.ownerDocument,n,r;for(let i=e.parentNode;i;)if(i==t.body||n&&r)break;else if(1==i.nodeType)!r&&i.scrollHeight>i.clientHeight&&(r=i),!n&&i.scrollWidth>i.clientWidth&&(n=i),i=i.assignedSlot||i.parentNode;else if(11==i.nodeType)i=i.host;else break;return{x:n,y:r}}(e.contentDOM),this.atoms=e.state.facet(e7).map(t=>t(e));let a=e.contentDOM.ownerDocument;a.addEventListener("mousemove",this.move=this.move.bind(this)),a.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(l.yy.allowMultipleSelections)&&(i=e,s=t,(o=i.state.facet(eL)).length?o[0](s):X.mac?s.metaKey:s.ctrlKey),this.dragging=!!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let r=m(e.root);if(!r||0==r.rangeCount)return!0;let i=r.getRangeAt(0).getClientRects();for(let e=0;e<i.length;e++){let n=i[e];if(n.left<=t.clientX&&n.right>=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)&&1==tV(t)&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(t=this.startEvent,Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))))return;this.select(this.lastEvent=e);let n=0,r=0,i=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=tr(this.view);e.clientX-a.left<=i+6?n=-tF(i-e.clientX):e.clientX+a.right>=o-6&&(n=tF(e.clientX-o)),e.clientY-a.top<=s+6?r=-tF(s-e.clientY):e.clientY+a.bottom>=l-6&&(r=tF(e.clientY-l)),this.setScrollSpeed(n,r)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],i=null;if(r.empty){let e=tb(this.atoms,r.from,0);e!=r.from&&(i=l.jT.cursor(e,-1))}else{let e=tb(this.atoms,r.from,-1),t=tb(this.atoms,r.to,1);(e!=r.from||t!=r.to)&&(i=l.jT.range(r.from==r.anchor?e:t,r.from==r.head?e:t))}i&&(t||(t=e.ranges.slice()),t[n]=i)}return t?l.jT.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,!1===this.dragging))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(e=>e.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}let tP=Object.create(null),tI=Object.create(null),tN=X.ie&&X.ie_version<15||X.ios&&X.webkit_version<604;function tB(e,t,n){for(let r of e.facet(t))n=r(n,e);return n}function tM(e,t){t=tB(e.state,eH,t);let{state:n}=e,r,i=1,s=n.toText(t),o=s.lines==n.selection.ranges.length;if(null!=tW&&n.selection.ranges.every(e=>e.empty)&&tW==s.toString()){let e=-1;r=n.changeByRange(r=>{let a=n.doc.lineAt(r.from);if(a.from==e)return{range:r};e=a.from;let u=n.toText((o?s.line(i++).text:t)+n.lineBreak);return{changes:{from:a.from,insert:u},range:l.jT.cursor(r.from+u.length)}})}else r=o?n.changeByRange(e=>{let t=s.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:l.jT.cursor(e.from+t.length)}}):n.replaceSelection(s);e.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}function t$(e,t,n,r){if(1==r)return l.jT.cursor(t,n);{if(2==r)return function(e,t,n=1){let r=e.charCategorizer(t),i=e.doc.lineAt(t),s=t-i.from;if(0==i.length)return l.jT.cursor(t);0==s?n=1:s==i.length&&(n=-1);let o=s,a=s;n<0?o=(0,l.cp)(i.text,s,!1):a=(0,l.cp)(i.text,s);let u=r(i.text.slice(o,a));for(;o>0;){let e=(0,l.cp)(i.text,o,!1);if(r(i.text.slice(e,o))!=u)break;o=e}for(;a<i.length;){let e=(0,l.cp)(i.text,a);if(r(i.text.slice(a,e))!=u)break;a=e}return l.jT.range(o+i.from,a+i.from)}(e.state,t,n);let i=eb.find(e.docView,t),s=e.state.doc.lineAt(i?i.posAtEnd:t),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<e.state.doc.length&&a==s.to&&a++,l.jT.range(o,a)}}tI.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},tP.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),tI.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},tI.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},tP.mousedown=(e,t)=>{var n,r;let i,s,o;if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let n of e.state.facet(ej))if(a=n(e,t))break;if(a||0!=t.button||(i=tR(n=e,r=t),s=tV(r),o=n.state.selection,a={update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),o=o.map(e.changes))},get(e,t,r){let a=tR(n,e),u,h=t$(n,a.pos,a.bias,s);if(i.pos!=a.pos&&!t){let e=t$(n,i.pos,i.bias,s),t=Math.min(e.from,h.from),r=Math.max(e.to,h.to);h=t<h.from?l.jT.range(t,r):l.jT.range(r,t)}return t?o.replaceRange(o.main.extend(h.from,h.to)):r&&1==s&&o.ranges.length>1&&(u=function(e,t){for(let n=0;n<e.ranges.length;n++){let{from:r,to:i}=e.ranges[n];if(r<=t&&i>=t)return l.jT.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n))}return null}(o,a.pos))?u:r?o.addRange(h):l.jT.create([h])}}),a){let n=!e.hasFocus;e.inputState.startMouseSelection(new tT(e,t,a,n)),n&&e.observer.ignore(()=>{_(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let r=e.inputState.mouseSelection;if(r)return r.start(t),!1===r.dragging}return!1};let tL=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function tR(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:function(e,t,n,r){let i=eb.find(e.docView,t);if(!i)return 1;let s=t-i.posAtStart;if(0==s)return 1;if(s==i.length)return -1;let o=i.coordsAt(s,-1);if(o&&tL(n,r,o))return -1;let l=i.coordsAt(s,1);return l&&tL(n,r,l)?1:o&&o.bottom>=r?-1:1}(e,n,t.clientX,t.clientY)}}let tj=X.ie&&X.ie_version<=11,tq=null,tz=0,tU=0;function tV(e){if(!tj)return e.detail;let t=tq,n=tU;return tq=e,tU=Date.now(),tz=!t||n>Date.now()-400&&2>Math.abs(t.clientX-e.clientX)&&2>Math.abs(t.clientY-e.clientY)?(tz+1)%3:1}function tH(e,t,n,r){let i;if(!(n=tB(e.state,eH,n)))return;let s=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:o}=e.inputState,l=r&&o&&((i=e.state.facet(eR)).length?i[0](t):X.mac?!t.altKey:!t.ctrlKey)?{from:o.from,to:o.to}:null,a={from:s,insert:n},u=e.state.changes(l?[l,a]:a);e.focus(),e.dispatch({changes:u,selection:{anchor:u.mapPos(s,-1),head:u.mapPos(s,1)},userEvent:l?"move.drop":"input.drop"}),e.inputState.draggedContent=null}tP.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.nearest(t.target);if(r&&r.isWidget){let e=r.posAtStart,t=e+r.length;(e>=n.to||t<=n.from)&&(n=l.jT.range(e,t))}}let{inputState:r}=e;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",tB(e.state,eW,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},tP.dragend=e=>(e.inputState.draggedContent=null,!1),tP.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let r=Array(n.length),i=0,s=()=>{++i==n.length&&tH(e,t,r.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<n.length;e++){let t=new FileReader;t.onerror=s,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),s()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return tH(e,t,n,!0),!0}return!1},tP.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=tN?null:t.clipboardData;return n?(tM(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(!function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),tM(e,n.value)},50)}(e),!1)};let tW=null;tP.copy=tP.cut=(e,t)=>{let{text:n,ranges:r,linewise:i}=function(e){let t=[],n=[],r=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let i=-1;for(let{from:r}of e.selection.ranges){let s=e.doc.lineAt(r);s.number>i&&(t.push(s.text),n.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),i=s.number}r=!0}return{text:tB(e,eW,t.join(e.lineBreak)),ranges:n,linewise:r}}(e.state);if(!n&&!i)return!1;tW=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=tN?null:t.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(!function(e,t){let n=e.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout(()=>{r.remove(),e.focus()},50)}(e,n),!1)};let tG=l.q6.define();function tK(e,t){let n=[];for(let r of e.facet(eV)){let i=r(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:tG.of(!0)}):null}function tJ(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=tK(e.state,t);n?e.dispatch(n):e.update([])}},10)}tI.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),tJ(e)},tI.blur=e=>{e.observer.clearSelectionRange(),tJ(e)},tI.compositionstart=tI.compositionupdate=e=>{!e.observer.editContext&&(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},tI.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,X.chrome&&X.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},tI.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},tP.beforeinput=(e,t)=>{var n,r;let i;if("insertReplacementText"==t.inputType&&e.observer.editContext){let r=null==(n=t.dataTransfer)?void 0:n.getData("text/plain"),i=t.getTargetRanges();if(r&&i.length){let t=i[0],n=e.posAtDOM(t.startContainer,t.startOffset),s=e.posAtDOM(t.endContainer,t.endOffset);return tC(e,{from:n,to:s,insert:e.state.toText(r)},null),!0}}if(X.chrome&&X.android&&(i=tS.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null==(r=window.visualViewport)?void 0:r.height)||0;setTimeout(()=>{var n;((null==(n=window.visualViewport)?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return X.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),X.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>tI.compositionend(e,t),20),!1};let tQ=new Set,tY=["pre-wrap","normal","pre-line","break-spaces"],tZ=!1;class tX{constructor(e){this.lineWrapping=e,this.doc=l.xv.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return tY.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(10*r)]||(t=!0,this.heightSamples[Math.floor(10*r)]=!0)}return t}refresh(e,t,n,r,i,s){let o=tY.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=i,l){this.heightSamples={};for(let e=0;e<s.length;e++){let t=s[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return l}}class t0{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class t1{constructor(e,t,n,r,i){this.from=e,this.length=t,this.top=n,this.height=r,this._content=i}get type(){return"number"==typeof this._content?ec.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof em?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t1(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var t2=((o=t2||(t2={}))[o.ByPos=0]="ByPos",o[o.ByHeight=1]="ByHeight",o[o.ByPosNoHeight=2]="ByPosNoHeight",o);class t3{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=2*!!e|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>.001&&(tZ=!0),this.height=e)}replace(e,t,n){return t3.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let i=this,s=n.doc;for(let o=r.length-1;o>=0;o--){let{fromA:l,toA:a,fromB:u,toB:h}=r[o],c=i.lineAt(l,t2.ByPosNoHeight,n.setDoc(t),0,0),f=c.to>=a?c:i.lineAt(a,t2.ByPosNoHeight,n,0,0);for(h+=f.to-a,a=f.to;o>0&&c.from<=r[o-1].toA;)l=r[o-1].fromA,u=r[o-1].fromB,o--,l<c.from&&(c=i.lineAt(l,t2.ByPosNoHeight,n,0,0));u+=c.from-l,l=c.from;let d=ne.build(n.setDoc(s),e,u,h);i=t5(i,i.replace(l,a,d))}return i.updateHeight(n,0)}static empty(){return new t6(0,0)}static of(e){if(1==e.length)return e[0];let t=0,n=e.length,r=0,i=0;for(;;)if(t==n)if(r>2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,r-=i.size}else if(i>2*r){let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}else break;else if(r<i){let n=e[t++];n&&(r+=n.size)}else{let t=e[--n];t&&(i+=t.size)}let s=0;return null==e[t-1]?(s=1,t--):null==e[t]&&(s=1,n++),new t9(t3.of(e.slice(0,t)),s,t3.of(e.slice(n)))}}function t5(e,t){return e==t?e:(e.constructor!=t.constructor&&(tZ=!0),t)}t3.prototype.size=1;class t8 extends t3{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new t1(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,i){return this.blockAt(0,n,r,i)}forEachLine(e,t,n,r,i,s){e<=i+this.length&&t>=i&&s(this.blockAt(0,n,r,i))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class t6 extends t8{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new t1(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return 1==n.length&&(r instanceof t6||r instanceof t4&&4&r.flags)&&10>Math.abs(this.length-r.length)?(r instanceof t4?r=new t6(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):t3.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class t4 extends t3{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,i=r-n+1,s,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);s=t/i,this.length>i+1&&(o=(this.height-t)/(this.length-i-1))}else s=this.height/i;return{firstLine:n,lastLine:r,perLine:s,perChar:o}}blockAt(e,t,n,r){let{firstLine:i,lastLine:s,perLine:o,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let i=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),s=t.doc.lineAt(i),a=o+s.length*l,u=Math.max(n,e-a/2);return new t1(s.from,s.length,u,a,0)}{let r=Math.max(0,Math.min(s-i,Math.floor((e-n)/o))),{from:l,length:a}=t.doc.line(i+r);return new t1(l,a,n+o*r,o,0)}}lineAt(e,t,n,r,i){if(t==t2.ByHeight)return this.blockAt(e,n,r,i);if(t==t2.ByPosNoHeight){let{from:t,to:r}=n.doc.lineAt(e);return new t1(t,r-t,0,0,0)}let{firstLine:s,perLine:o,perChar:l}=this.heightMetrics(n,i),a=n.doc.lineAt(e),u=o+a.length*l,h=a.number-s,c=r+o*h+l*(a.from-i-h);return new t1(a.from,a.length,Math.max(r,Math.min(c,r+this.height-u)),u,0)}forEachLine(e,t,n,r,i,s){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(n,i);for(let u=e,h=r;u<=t;){let t=n.doc.lineAt(u);if(u==e){let n=t.number-o;h+=l*n+a*(e-i-n)}let r=l+a*t.length;s(new t1(t.from,t.length,h,r,0)),h+=r,u=t.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let e=n[n.length-1];e instanceof t4?n[n.length-1]=new t4(e.length+r):n.push(null,new t4(r-1))}if(e>0){let t=n[0];t instanceof t4?n[0]=new t4(e+t.length):n.unshift(new t4(e-1),null)}return t3.of(n)}decomposeLeft(e,t){t.push(new t4(e-1),null)}decomposeRight(e,t){t.push(null,new t4(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let i=t+this.length;if(r&&r.from<=t+this.length&&r.more){let n=[],s=Math.max(t,r.from),o=-1;for(r.from>t&&n.push(new t4(r.from-t-1).updateHeight(e,t));s<=i&&r.more;){let t=e.doc.lineAt(s).length;n.length&&n.push(null);let i=r.heights[r.index++];-1==o?o=i:Math.abs(i-o)>=.001&&(o=-2);let l=new t6(t,i);l.outdated=!1,n.push(l),s+=t+1}s<=i&&n.push(null,new t4(i-s).updateHeight(e,s));let l=t3.of(n);return(o<0||Math.abs(l.height-this.height)>=.001||Math.abs(o-this.heightMetrics(e,t).perLine)>=.001)&&(tZ=!0),t5(this,l)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class t9 extends t3{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,r){let i=n+this.left.height;return e<i?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,i,r+this.left.length+this.break)}lineAt(e,t,n,r,i){let s=r+this.left.height,o=i+this.left.length+this.break,l=t==t2.ByHeight?e<s:e<o,a=l?this.left.lineAt(e,t,n,r,i):this.right.lineAt(e,t,n,s,o);if(this.break||(l?a.to<o:a.from>o))return a;let u=t==t2.ByPosNoHeight?t2.ByPosNoHeight:t2.ByPos;return l?a.join(this.right.lineAt(o,u,n,s,o)):this.left.lineAt(o,u,n,r,i).join(a)}forEachLine(e,t,n,r,i,s){let o=r+this.left.height,l=i+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,n,r,i,s),t>=l&&this.right.forEachLine(e,t,n,o,l,s);else{let a=this.lineAt(l,t2.ByPos,n,r,i);e<a.from&&this.left.forEachLine(e,a.from-1,n,r,i,s),a.to>=e&&a.from<=t&&s(a),t>a.to&&this.right.forEachLine(a.to+1,t,n,o,l,s)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let e of n)i.push(e);if(e>0&&t7(i,s-1),t<this.length){let e=i.length;this.decomposeRight(t,i),t7(i,e)}return t3.of(i)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&e>=++n&&t.push(null),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?t3.of(this.break?[e,null,t]:[e,t]):(this.left=t5(this.left,e),this.right=t5(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:i,right:s}=this,o=t+i.length+this.break,l=null;return(r&&r.from<=t+i.length&&r.more?l=i=i.updateHeight(e,t,n,r):i.updateHeight(e,t,n),r&&r.from<=o+s.length&&r.more?l=s=s.updateHeight(e,o,n,r):s.updateHeight(e,o,n),l)?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function t7(e,t){let n,r;null==e[t]&&(n=e[t-1])instanceof t4&&(r=e[t+1])instanceof t4&&e.splice(t-1,3,new t4(n.length+1+r.length))}class ne{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof t6?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new t6(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,i=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=t-e;n.block?this.addBlock(new t8(s,r,n)):(s||i||r>=5)&&this.addLineDeco(r,i,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new t6(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new t4(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof t6)return e;let t=new t6(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof t6||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new t6(0,-1));let n=e;for(let e of this.nodes)e instanceof t6&&e.updateHeight(this.oracle,n),n+=e?e.length:1;return this.nodes}static build(e,t,n,r){let i=new ne(n,e);return l.Xs.spans(t,n,r,i,0),i.finish(n)}}class nt{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&ey(e,t,this.changes,5)}}class nn{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.from!=i.from||r.to!=i.to||r.size!=i.size)return!1}return!0}draw(e,t){return ef.replace({widget:new nr(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class nr extends eh{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class ni{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=na,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=eC.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(e6).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new tX(t),this.stateDeco=e.facet(e4).filter(e=>"function"!=typeof e),this.heightMap=t3.empty().applyChanges(this.stateDeco,l.xv.empty,this.heightOracle.setDoc(e.doc),[new ts(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ef.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>r>=e&&r<=t)){let{from:t,to:n}=this.lineBlockAt(r);e.push(new ns(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?na:new nu(this.heightOracle,this.heightMap,this.viewports),2*!e.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(nh(e,this.scaler))})}update(e,t=null){var n,r;let i;this.state=e.state;let s=this.stateDeco;this.stateDeco=this.state.facet(e4).filter(e=>"function"!=typeof e);let o=e.changedRanges,a=ts.extendWithRanges(o,(n=this.stateDeco,r=e?e.changes:l.as.empty(this.state.doc.length),i=new nt,l.Xs.compare(s,n,r,i,0),i.changes)),u=this.heightMap.height,h=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);tZ=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),a),(this.heightMap.height!=u||tZ)&&(e.flags|=2),h?(this.scrollAnchorPos=e.changes.mapPos(h.from,-1),this.scrollAnchorHeight=h.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=u);let c=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<c.from||t.range.head>c.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,t));let f=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,e.flags|=this.updateForViewport(),(f||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(eK)&&(this.mustEnforceCursorAssoc=!0)}measure(e){var t;let n,r,i=e.contentDOM,s=window.getComputedStyle(i),o=this.heightOracle,a=s.whiteSpace;this.defaultTextDirection="rtl"==s.direction?eC.RTL:eC.LTR;let u=this.heightOracle.mustRefreshForWrapping(a),h=i.getBoundingClientRect(),c=u||this.mustMeasureContent||this.contentDOMHeight!=h.height;this.contentDOMHeight=h.height,this.mustMeasureContent=!1;let f=0,d=0;if(h.width&&h.height){let{scaleX:e,scaleY:t}=A(i,h);(e>.005&&Math.abs(this.scaleX-e)>.005||t>.005&&Math.abs(this.scaleY-t)>.005)&&(this.scaleX=e,this.scaleY=t,f|=16,u=c=!0)}let p=(parseInt(s.paddingTop)||0)*this.scaleY,m=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=p||this.paddingBottom!=m)&&(this.paddingTop=p,this.paddingBottom=m,f|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(c=!0),this.editorWidth=e.scrollDOM.clientWidth,f|=16);let g=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=g&&(this.scrollAnchorHeight=-1,this.scrollTop=g),this.scrolledToBottom=P(e.scrollDOM);let y=(this.printing?function(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}:function(e,t){let n=e.getBoundingClientRect(),r=e.ownerDocument,i=r.defaultView||window,s=Math.max(0,n.left),o=Math.min(i.innerWidth,n.right),l=Math.max(0,n.top),a=Math.min(i.innerHeight,n.bottom);for(let t=e.parentNode;t&&t!=r.body;)if(1==t.nodeType){let n=t,r=window.getComputedStyle(n);if((n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=r.overflow){let r=n.getBoundingClientRect();s=Math.max(s,r.left),o=Math.min(o,r.right),l=Math.max(l,r.top),a=Math.min(t==e.parentNode?i.innerHeight:a,r.bottom)}t="absolute"==r.position||"fixed"==r.position?n.offsetParent:n.parentNode}else if(11==t.nodeType)t=t.host;else break;return{left:s-n.left,right:Math.max(s,o)-n.left,top:l-(n.top+t),bottom:Math.max(l,a)-(n.top+t)}})(i,this.paddingTop),b=y.top-this.pixelViewport.top,v=y.bottom-this.pixelViewport.bottom;this.pixelViewport=y;let w=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(w!=this.inView&&(this.inView=w,w&&(c=!0)),!this.inView&&!this.scrollTarget&&(n=(t=e.dom).getBoundingClientRect(),r=t.ownerDocument.defaultView||window,!(n.left<r.innerWidth)||!(n.right>0)||!(n.top<r.innerHeight)||!(n.bottom>0)))return 0;let k=h.width;if((this.contentDOMWidth!=k||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=h.width,this.editorHeight=e.scrollDOM.clientHeight,f|=16),c){let t=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(t)&&(u=!0),u||o.lineWrapping&&Math.abs(k-this.contentDOMWidth)>o.charWidth){let{lineHeight:n,charWidth:r,textHeight:i}=e.docView.measureTextSize();(u=n>0&&o.refresh(a,n,r,i,k/r,t))&&(e.docView.minWidth=0,f|=16)}for(let n of(b>0&&v>0?d=Math.max(b,v):b<0&&v<0&&(d=Math.min(b,v)),tZ=!1,this.viewports)){let r=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(u?t3.empty().applyChanges(this.stateDeco,l.xv.empty,this.heightOracle,[new ts(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,u,new t0(n.from,r))}tZ&&(f|=2)}let D=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return D&&(2&f&&(f|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),f|=this.updateForViewport()),(2&f||D)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(u?[]:this.lineGaps,e)),f|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),f}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,l=new ns(r.lineAt(s-1e3*n,t2.ByHeight,i,0,0).from,r.lineAt(o+(1-n)*1e3,t2.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(e<l.from||e>l.to){let n=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=r.lineAt(e,t2.ByPos,i,0,0),o;o="center"==t.y?(s.top+s.bottom)/2-n/2:"start"==t.y||"nearest"==t.y&&e<l.from?s.top:s.bottom-n,l=new ns(r.lineAt(o-500,t2.ByHeight,i,0,0).from,r.lineAt(o+n+500,t2.ByHeight,i,0,0).to)}}return l}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new ns(this.heightMap.lineAt(n,t2.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,t2.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,t2.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(t,t2.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:o}=this;return(0==e||r<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=o+Math.max(10,Math.min(n,250)))&&r>s-2e3&&i<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new nn(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,i=r>>1,s=r<<1;if(this.defaultTextDirection!=eC.LTR&&!n)return[];let o=[],a=(r,s,u,h)=>{if(s-r<i)return;let c=this.state.selection.main,f=[c.from];for(let e of(c.empty||f.push(c.to),f))if(e>r&&e<s){a(r,e-10,u,h),a(e+10,s,u,h);return}let d=function(e,t){for(let n of e)if(t(n))return n}(e,e=>e.from>=u.from&&e.to<=u.to&&Math.abs(e.from-r)<i&&Math.abs(e.to-s)<i&&!f.some(t=>e.from<t&&e.to>t));if(!d){if(s<u.to&&t&&n&&t.visibleRanges.some(e=>e.from<=s&&e.to>=s)){let e=t.moveToLineBoundary(l.jT.cursor(s),!1,!0).head;e>r&&(s=e)}let e=this.gapSize(u,r,s,h),i=n||e<2e6?e:2e6;d=new nn(r,s,e,i)}o.push(d)},u=t=>{var i,o,u;let h,c,f,d,p;if(t.length<s||t.type!=ec.Text)return;let m=(i=t.from,o=t.to,u=this.stateDeco,f=[],d=i,p=0,l.Xs.spans(u,i,o,{span(){},point(e,t){e>d&&(f.push({from:d,to:e}),p+=e-d),d=t}},20),d<o&&(f.push({from:d,to:o}),p+=o-d),{total:p,ranges:f});if(m.total<s)return;let g=this.scrollTarget?this.scrollTarget.range.head:null;if(n){let e,n,i=r/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=g){let r=nl(m,g),s=((this.visibleBottom-this.visibleTop)/2+i)/t.height;e=r-s,n=r+s}else e=(this.visibleTop-t.top-i)/t.height,n=(this.visibleBottom-t.top+i)/t.height;h=no(m,e),c=no(m,n)}else{let n,i,s=m.total*this.heightOracle.charWidth,o=r*this.heightOracle.charWidth,l=0;if(s>2e6)for(let n of e)n.from>=t.from&&n.from<t.to&&n.size!=n.displaySize&&n.from*this.heightOracle.charWidth+l<this.pixelViewport.left&&(l=n.size-n.displaySize);let a=this.pixelViewport.left+l,u=this.pixelViewport.right+l;if(null!=g){let e=nl(m,g),t=((u-a)/2+o)/s;n=e-t,i=e+t}else n=(a-o)/s,i=(u+o)/s;h=no(m,n),c=no(m,i)}h>t.from&&a(t.from,h,t,m),c<t.to&&a(c,t.to,t,m)};for(let e of this.viewportLines)Array.isArray(e.type)?e.type.forEach(u):u(e);return o}gapSize(e,t,n,r){let i=nl(r,n)-nl(r,t);return this.heightOracle.lineWrapping?e.height*i:r.total*this.heightOracle.charWidth*i}updateLineGaps(e){nn.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ef.set(e.map(e=>e.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];l.Xs.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let t=0;t<n.length&&!(8&r);t++){let i=this.visibleRanges[t],s=n[t];(i.from!=s.from||i.to!=s.to)&&(r|=4,e&&e.mapPos(i.from,-1)==s.from&&e.mapPos(i.to,1)==s.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||nh(this.heightMap.lineAt(e,t2.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||nh(this.heightMap.lineAt(this.scaler.fromDOM(e),t2.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return nh(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class ns{constructor(e,t){this.from=e,this.to=t}}function no({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let r=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],s=i-n;if(r<=s)return n+r;r-=s}}function nl(e,t){let n=0;for(let{from:r,to:i}of e.ranges){if(t<=i){n+=t-r;break}n+=i-r}return n/e.total}let na={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class nu{constructor(e,t,n){let r=0,i=0,s=0;for(let o of(this.viewports=n.map(({from:n,to:i})=>{let s=t.lineAt(n,t2.ByPos,e,0,0).top,o=t.lineAt(i,t2.ByPos,e,0,0).bottom;return r+=o-s,{from:n,to:i,top:s,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r),this.viewports))o.domTop=s+(o.top-i)*this.scale,s=o.domBottom=o.domTop+(o.bottom-o.top),i=o.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.top)return r+(e-n)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);n=i.bottom,r=i.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.domTop)return n+(e-r)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);n=i.bottom,r=i.domBottom}}eq(e){return e instanceof nu&&this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to)}}function nh(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),r=t.toDOM(e.bottom);return new t1(e.from,e.length,n,r-n,Array.isArray(e._content)?e._content.map(e=>nh(e,t)):e._content)}let nc=l.r$.define({combine:e=>e.join(" ")}),nf=l.r$.define({combine:e=>e.indexOf(!0)>-1}),nd=a.V.newName(),np=a.V.newName(),nm=a.V.newName(),ng={"&light":"."+np,"&dark":"."+nm};function ny(e,t,n){return new a.V(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw RangeError(`Unsupported selector: ${t}`);return n[t]}):e+" "+t})}let nb=ny("."+nd,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},ng),nv={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},nw=X.ie&&X.ie_version<=11;class nk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new E,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(X.ie&&X.ie_version<=11||X.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&!1!==e.constructor.EDIT_CONTEXT&&!(X.chrome&&X.chrome_version<126)&&(this.editContext=new nC(e),e.state.facet(e0)&&(e.contentDOM.editContext=this.editContext.editContext)),nw&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null==(e=this.view.docView)?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){for(let t of(this.gapIntersection.disconnect(),e))this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(e0)?n.root.activeElement!=this.dom:!y(this.dom,r))return;let i=r.anchorNode&&n.docView.nearest(r.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(X.ie&&X.ie_version<=11||X.android&&X.chrome)&&!n.state.selection.main.empty&&r.focusNode&&v(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=m(e.root);if(!t)return!1;let n=X.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return nx(e,n)}let n=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",r,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",r,!0),n?nx(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=y(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&function(e,t){let n=t.focusNode,r=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=r)return!1;for(r=Math.min(r,x(n));;)if(r){if(1!=n.nodeType)return!1;let e=n.childNodes[r-1];"false"==e.contentEditable?r--:r=x(n=e)}else{if(n==e)return!0;r=w(n),n=n.parentNode}}(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(1==n.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(11==n.nodeType)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,nv),nw&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),nw&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;this.delayedAndroidKey||(this.flushingAndroidKey=this.view.win.requestAnimationFrame(()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&F(this.dom,e.key,e.keyCode))})),this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null==(n=this.delayedAndroidKey)?void 0:n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(r=!0),-1==t?{from:t,to:n}=e:(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&y(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new tD(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=tx(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=nD(t,e.previousSibling||e.target.previousSibling,-1),r=nD(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(e0)!=e.state.facet(e0)&&(e.view.contentDOM.editContext=e.state.facet(e0)?this.editContext.editContext:null))}destroy(){var e,t,n;for(let r of(this.stop(),null==(e=this.intersection)||e.disconnect(),null==(t=this.gapIntersection)||t.disconnect(),null==(n=this.resizeScroll)||n.disconnect(),this.scrollTargets))r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function nD(e,t,n){for(;t;){let r=$.get(t);if(r&&r.parent==e)return r;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function nx(e,t){let n=t.startContainer,r=t.startOffset,i=t.endContainer,s=t.endOffset,o=e.docView.domAtPos(e.state.selection.main.anchor);return v(o.node,o.offset,i,s)&&([n,r,i,s]=[i,s,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}}class nC{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});for(let n in this.handlers.textupdate=t=>{let n=e.state.selection.main,{anchor:r,head:i}=n,s=this.toEditorPos(t.updateRangeStart),o=this.toEditorPos(t.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:t.updateRangeStart,editorBase:s,drifted:!1});let a={from:s,to:o,insert:l.xv.of(t.text.split("\n"))};if(a.from==this.from&&r<this.from?a.from=r:a.to==this.to&&r>this.to&&(a.to=r),a.from==a.to&&!a.insert.length){let r=l.jT.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd));r.main.eq(n)||e.dispatch({selection:r,userEvent:"select"});return}if((X.mac||X.android)&&a.from==i-1&&/^\. ?$/.test(t.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(a={from:s,to:o,insert:l.xv.of([t.text.replace("."," ")])}),this.pendingContextChange=a,!e.state.readOnly){let n=this.to-this.from+(a.to-a.from+a.insert.length);tC(e,a,l.jT.single(this.toEditorPos(t.selectionStart,n),this.toEditorPos(t.selectionEnd,n)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let r=[],i=null;for(let t=this.toEditorPos(n.rangeStart),s=this.toEditorPos(n.rangeEnd);t<s;t++){let n=e.coordsForChar(t);i=n&&new DOMRect(n.left,n.top,n.right-n.left,n.bottom-n.top)||i||new DOMRect,r.push(i)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=t=>{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,r=e.underlineThickness;if("None"!=t&&"None"!=r){let i=this.toEditorPos(e.rangeStart),s=this.toEditorPos(e.rangeEnd);if(i<s){let e=`text-decoration: underline ${"Dashed"==t?"dashed ":"Squiggle"==t?"wavy ":""}${"Thin"==r?1:2}px`;n.push(ef.mark({attributes:{style:e}}).range(i,s))}}}e.dispatch({effects:eZ.of(ef.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}},this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=m(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((i,s,o,l,a)=>{if(n)return;let u=a.length-(s-i);if(r&&s>=r.to)if(r.from==i&&r.to==s&&r.insert.eq(a)){r=this.pendingContextChange=null,t+=u,this.to+=u;return}else r=null,this.revertPending(e.state);if(i+=t,(s+=t)<=this.from)this.from+=u,this.to+=u;else if(i<this.to){if(i<this.from||s>this.to||this.to-this.from+a.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(s),a.toString()),this.to+=u}t+=u}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class nA{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;for(let t of(this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach(e=>n(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new ni(e.state||l.yy.create(e)),e.scrollTo&&e.scrollTo.is(eY)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(e2).map(e=>new e5(e)),this.plugins))t.update(this);this.observer=new nk(this),this.inputState=new tA(this),this.inputState.ensureHandlers(this.plugins),this.docView=new tl(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(t=document.fonts)?void 0:t.ready)&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=1==e.length&&e[0]instanceof l.YW?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,i=this.state;for(let t of e){if(t.startState!=i)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=t.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,o=0,a=null;e.some(e=>e.annotation(tG))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,(a=tK(i,s))||(o=1));let u=this.observer.delayedAndroidKey,h=null;if(u?(this.observer.clearDelayedAndroidKey(),((h=this.observer.readChange())&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(h=null)):this.observer.clear(),i.facet(l.yy.phrases)!=this.state.facet(l.yy.phrases))return this.setState(i);r=to.create(this,i,e),r.flags|=o;let c=this.viewState.scrollTarget;try{for(let t of(this.updateState=2,e)){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new eQ(e.empty?e:l.jT.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(eY)&&(c=e.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=n_.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(ti)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(nc)!=r.state.facet(nc)&&(this.viewState.mustMeasureContent=!0),(t||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let e of this.state.facet(ez))try{e(r)}catch(e){eX(this.state,e,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!tx(this,h)&&u.force&&F(this.contentDOM,u.key,u.keyCode)})}setState(e){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);for(let t of(this.viewState=new ni(e),this.plugins=e.facet(e2).map(e=>new e5(e)),this.pluginMap.clear(),this.plugins))t.update(this);this.docView.destroy(),this.docView=new tl(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(e2),n=e.state.facet(e2);if(t!=n){let r=[];for(let i of n){let n=t.indexOf(i);if(n<0)r.push(new e5(i));else{let t=this.plugins[n];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(e){eX(this.state,e,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(s<0)if(P(n))i=-1,s=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(r);i=e.from,s=e.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];4&o||([this.measureRequests,l]=[l,this.measureRequests]);let a=l.map(e=>{try{return e.read(this)}catch(e){return eX(this.state,e),nS}}),u=to.create(this,this.state,[]),h=!1;u.flags|=o,t?t.flags|=o:t=u,this.updateState=2,!u.empty&&(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),(h=this.docView.update(u))&&this.docViewUpdate());for(let e=0;e<l.length;e++)if(a[e]!=nS)try{let t=l[e];t.write&&t.write(a[e],this)}catch(e){eX(this.state,e)}if(h&&this.docView.updateSelection(!0),!u.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let e=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(e>1||e<-1){n.scrollTop=(r+=e)/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(ez))e(t)}get themeClasses(){return nd+" "+(this.state.facet(nf)?nm:np)+" "+this.state.facet(nc)}updateAttrs(){let e=nO(this,e8,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(e0)?"true":"false",class:"cm-content",style:`${X.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),nO(this,e6,t);let n=this.observer.ignore(()=>{let n=eu(this.contentDOM,this.contentAttrs,t),r=eu(this.dom,this.editorAttrs,e);return n||r});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)e.is(nA.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(ti);let e=this.state.facet(nA.cspNonce);a.V.mount(this.root,this.styleModules.concat(nb).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e)&&!(this.measureRequests.indexOf(e)>-1)){if(null!=e.key){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return tv(this,e,ty(this,e,t,n))}moveByGroup(e,t){return tv(this,e,ty(this,e,t,t=>{var n;let r,i;return n=e.head,i=(r=this.state.charCategorizer(n))(t),e=>{let t=r(e);return i==l.D0.Space&&(i=t),i==t}}))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return l.jT.cursor(i.side(t,r)+e.from,i.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,r){let i=tg(e,t.head,t.assoc||-1),s=r&&i.type==ec.Text&&(e.lineWrapping||i.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(s){let t=e.dom.getBoundingClientRect(),r=e.textDirectionAt(i.from),o=e.posAtCoords({x:n==(r==eC.LTR)?t.right-1:t.left+1,y:(s.top+s.bottom)/2});if(null!=o)return l.jT.cursor(o,n?-1:1)}return l.jT.cursor(n?i.to:i.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return tv(this,e,function(e,t,n,r){let i=t.head,s=n?1:-1;if(i==(n?e.state.doc.length:0))return l.jT.cursor(i,t.assoc);let o=t.goalColumn,a,u=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(i,t.assoc||-1),c=e.documentTop;if(h)null==o&&(o=h.left-u.left),a=s<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(i);null==o&&(o=Math.min(u.right-u.left,e.defaultCharacterWidth*(i-t.from))),a=(s<0?t.top:t.bottom)+c}let f=u.left+o,d=null!=r?r:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=a+(d+t)*s,r=tp(e,{x:f,y:n},!1,s);if(n<u.top||n>u.bottom||(s<0?r<i:r>i)){let t=e.docView.coordsForChar(r),i=!t||n<t.top?-1:1;return l.jT.cursor(r,i,void 0,o)}}}(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),tp(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),i=this.bidiSpans(r);return C(n,i[eN.find(i,e-r.from,-1,t)].dir==eC.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(eG)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>nE)return eM(e.length);let t=this.textDirectionAt(e.from),n;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||function e(t,n){if(t.length!=n.length)return!1;for(let r=0;r<t.length;r++){let i=t[r],s=n[r];if(i.from!=s.from||i.to!=s.to||i.direction!=s.direction||!e(i.inner,s.inner))return!1}return!0}(r.isolates,n=tt(this,e))))return r.order;n||(n=tt(this,e));let r=function(e,t,n){if(!e)return[new eN(0,0,+(t==eE))];if(t==eA&&!n.length&&!eI.test(e))return eM(e.length);if(n.length)for(;e.length>eB.length;)eB[eB.length]=256;let r=[],i=+(t!=eA);return function e(t,n,r,i,s,o,l){let a=n%2?2:1;!function(e,t,n,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:t,l=s<r.length?r[s].from:n,a=s?256:i;for(let t=o,n=a,r=a;t<l;t++){let i=eP(e.charCodeAt(t));512==i?i=n:8==i&&4==r&&(i=16),eB[t]=4==i?2:i,7&i&&(r=i),n=i}for(let e=o,t=a,r=a;e<l;e++){let i=eB[e];if(128==i)e<l-1&&t==eB[e+1]&&24&t?i=eB[e]=t:eB[e]=256;else if(64==i){let i=e+1;for(;i<l&&64==eB[i];)i++;let s=e&&8==t||i<n&&8==eB[i]?1==r?1:8:256;for(let t=e;t<i;t++)eB[t]=s;e=i-1}else 8==i&&1==r&&(eB[e]=1);t=i,7&i&&(r=i)}}}(t,s,o,i,a),function(e,t,n,r,i){let s=1==i?2:1;for(let o=0,l=0,a=0;o<=r.length;o++){let u=o?r[o-1].to:t,h=o<r.length?r[o].from:n;for(let t=u,n,r,o;t<h;t++)if(r=eF[n=e.charCodeAt(t)])if(r<0){for(let e=l-3;e>=0;e-=3)if(eT[e+1]==-r){let n=eT[e+2],r=2&n?i:4&n?1&n?s:i:0;r&&(eB[t]=eB[eT[e]]=r),l=e;break}}else if(189==eT.length)break;else eT[l++]=t,eT[l++]=n,eT[l++]=a;else if(2==(o=eB[t])||1==o){let e=o==i;a=+!e;for(let t=l-3;t>=0;t-=3){let n=eT[t+2];if(2&n)break;if(e)eT[t+2]|=2;else{if(4&n)break;eT[t+2]|=4}}}}}(t,s,o,i,a),function(e,t,n,r){for(let i=0,s=r;i<=n.length;i++){let o=i?n[i-1].to:e,l=i<n.length?n[i].from:t;for(let a=o;a<l;){let o=eB[a];if(256==o){let o=a+1;for(;;)if(o==l){if(i==n.length)break;o=n[i++].to,l=i<n.length?n[i].from:t}else if(256==eB[o])o++;else break;let u=1==s,h=u==((o<t?eB[o]:r)==1)?u?1:2:r;for(let t=o,r=i,s=r?n[r-1].to:e;t>a;)t==s&&(t=n[--r].from,s=r?n[r-1].to:e),eB[--t]=h;a=o}else s=o,a++}}}(s,o,i,a),function t(n,r,i,s,o,l,a){let u=s%2?2:1;if(s%2==o%2)for(let h=r,c=0;h<i;){let r=!0,f=!1;if(c==l.length||h<l[c].from){let e=eB[h];e!=u&&(r=!1,f=16==e)}let d=r||1!=u?null:[],p=r?s:s+1,m=h;n:for(;;)if(c<l.length&&m==l[c].from){if(f)break;let t=l[c];if(!r)for(let e=t.to,n=c+1;;){if(e==i)break n;if(n<l.length&&l[n].from==e)e=l[n++].to;else if(eB[e]==u)break n;else break}c++,d?d.push(t):(t.from>h&&a.push(new eN(h,t.from,p)),e(n,t.direction==eA!=!(p%2)?s+1:s,o,t.inner,t.from,t.to,a),h=t.to),m=t.to}else if(m==i||(r?eB[m]!=u:eB[m]==u))break;else m++;d?t(n,h,m,s+1,o,d,a):h<m&&a.push(new eN(h,m,p)),h=m}else for(let h=i,c=l.length;h>r;){let i=!0,f=!1;if(!c||h>l[c-1].to){let e=eB[h-1];e!=u&&(i=!1,f=16==e)}let d=i||1!=u?null:[],p=i?s:s+1,m=h;n:for(;;)if(c&&m==l[c-1].to){if(f)break;let t=l[--c];if(!i)for(let e=t.from,n=c;;){if(e==r)break n;if(n&&l[n-1].to==e)e=l[--n].from;else if(eB[e-1]==u)break n;else break}d?d.push(t):(t.to<h&&a.push(new eN(t.to,h,p)),e(n,t.direction==eA!=!(p%2)?s+1:s,o,t.inner,t.from,t.to,a),h=t.from),m=t.from}else if(m==r||(i?eB[m-1]!=u:eB[m-1]==u))break;else m--;d?t(n,m,h,s+1,o,d,a):m<h&&a.push(new eN(m,h,p)),h=m}}(t,s,o,n,r,i,l)}(e,i,i,n,0,e.length,r),r}(e.text,t,n);return this.bidiCache.push(new n_(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||X.safari&&(null==(e=this.inputState)?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{_(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return eY.of(new eQ("number"==typeof e?l.jT.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return eY.of(new eQ(l.jT.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return e3.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return e3.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=a.V.newName(),r=[nc.of(n),ti.of(ny(`.${n}`,e))];return t&&t.dark&&r.push(nf.of(!0)),r}static baseTheme(e){return l.Wl.lowest(ti.of(ny("."+nd,e,ng)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&$.get(n)||$.get(e);return(null==(t=null==r?void 0:r.rootView)?void 0:t.view)||null}}nA.styleModule=ti,nA.inputHandler=eU,nA.clipboardInputFilter=eH,nA.clipboardOutputFilter=eW,nA.scrollHandler=eJ,nA.focusChangeEffect=eV,nA.perLineTextDirection=eG,nA.exceptionSink=eq,nA.updateListener=ez,nA.editable=e0,nA.mouseSelectionStyle=ej,nA.dragMovesSelection=eR,nA.clickAddsSelectionRange=eL,nA.decorations=e4,nA.outerDecorations=e9,nA.atomicRanges=e7,nA.bidiIsolatedRanges=te,nA.scrollMargins=tn,nA.darkTheme=nf,nA.cspNonce=l.r$.define({combine:e=>e.length?e[0]:""}),nA.contentAttributes=e6,nA.editorAttributes=e8,nA.lineWrapping=nA.contentAttributes.of({class:"cm-lineWrapping"}),nA.announce=l.Py.define();let nE=4096,nS={};class n_{constructor(e,t,n,r,i,s){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=i,this.order=s}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:eC.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir!=r||t.touchesRange(s.from,s.to)||n.push(new n_(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return n}}function nO(e,t,n){for(let r=e.state.facet(t),i=r.length-1;i>=0;i--){let t=r[i],s="function"==typeof t?t(e):t;s&&eo(s,n)}return n}let nF=X.mac?"mac":X.windows?"win":X.linux?"linux":"key";function nT(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}let nP=l.Wl.default(nA.domEventHandlers({keydown:(e,t)=>{let n,r;return function(e,t,n,r){var i;nM=t;let s=("Esc"==(i=!(c&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||f&&t.shiftKey&&t.key&&1==t.key.length||"Unidentified"==t.key)&&t.key||(t.shiftKey?h:u)[t.keyCode]||t.key||"Unidentified")&&(i="Escape"),"Del"==i&&(i="Delete"),"Left"==i&&(i="ArrowLeft"),"Up"==i&&(i="ArrowUp"),"Right"==i&&(i="ArrowRight"),"Down"==i&&(i="ArrowDown"),i),o=(0,l.gm)(s,0),a=(0,l.nZ)(o)==s.length&&" "!=s,d="",p=!1,m=!1,g=!1;nB&&nB.view==n&&nB.scope==r&&(d=nB.prefix+" ",0>tO.indexOf(t.keyCode)&&(m=!0,nB=null));let y=new Set,b=e=>{if(e){for(let t of e.run)if(!y.has(t)&&(y.add(t),t(n)))return e.stopPropagation&&(g=!0),!0;e.preventDefault&&(e.stopPropagation&&(g=!0),m=!0)}return!1},v=e[r],w,k;return v&&(b(v[d+nT(s,t,!a)])?p=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(X.windows&&t.ctrlKey&&t.altKey)&&(w=u[t.keyCode])&&w!=s?b(v[d+nT(w,t,!0)])?p=!0:t.shiftKey&&(k=h[t.keyCode])!=s&&k!=w&&b(v[d+nT(k,t,!1)])&&(p=!0):a&&t.shiftKey&&b(v[d+nT(s,t,!0)])&&(p=!0),!p&&b(v._any)&&(p=!0)),m&&(p=!0),p&&g&&t.stopPropagation(),nM=null,p}((n=t.state.facet(nI),(r=nN.get(n))||nN.set(n,r=function(e,t=nF){let n=Object.create(null),r=Object.create(null),i=(e,t)=>{let n=r[e];if(null==n)r[e]=t;else if(n!=t)throw Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},s=(e,r,s,o,l)=>{var a,u;let h=n[e]||(n[e]=Object.create(null)),c=r.split(/ (?!$)/).map(e=>(function(e,t){let n,r,i,s,o=e.split(/-(?!$)/),l=o[o.length-1];"Space"==l&&(l=" ");for(let e=0;e<o.length-1;++e){let l=o[e];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))r=!0;else if(/^s(hift)?$/i.test(l))i=!0;else if(/^mod$/i.test(l))"mac"==t?s=!0:r=!0;else throw Error("Unrecognized modifier name: "+l)}return n&&(l="Alt-"+l),r&&(l="Ctrl-"+l),s&&(l="Meta-"+l),i&&(l="Shift-"+l),l})(e,t));for(let t=1;t<c.length;t++){let n=c.slice(0,t).join(" ");i(n,!0),h[n]||(h[n]={preventDefault:!0,stopPropagation:!1,run:[t=>{let r=nB={view:t,prefix:n,scope:e};return setTimeout(()=>{nB==r&&(nB=null)},4e3),!0}]})}let f=c.join(" ");i(f,!1);let d=h[f]||(h[f]={preventDefault:!1,stopPropagation:!1,run:(null==(u=null==(a=h._any)?void 0:a.run)?void 0:u.slice())||[]});s&&d.run.push(s),o&&(d.preventDefault=!0),l&&(d.stopPropagation=!0)};for(let r of e){let e=r.scope?r.scope.split(" "):["editor"];if(r.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=r;for(let t in e)e[t].run.push(e=>i(e,nM))}let i=r[t]||r.key;if(i)for(let t of e)s(t,i,r.run,r.preventDefault,r.stopPropagation),r.shift&&s(t,"Shift-"+i,r.shift,r.preventDefault,r.stopPropagation)}return n}(n.reduce((e,t)=>e.concat(t),[]))),r),e,t,"editor")}})),nI=l.r$.define({enables:nP}),nN=new WeakMap,nB=null,nM=null;class n${constructor(e,t,n,r,i){this.className=e,this.left=t,this.top=n,this.width=r,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(!n.empty)return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let r=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),s=e.textDirection==eC.LTR,o=e.contentDOM,l=o.getBoundingClientRect(),a=nL(e),u=o.querySelector(".cm-line"),h=u&&window.getComputedStyle(u),c=l.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=l.right-(h?parseInt(h.paddingRight):0),d=tg(e,r,1),p=tg(e,i,-1),m=d.type==ec.Text?d:null,g=p.type==ec.Text?p:null;if(m&&(e.lineWrapping||d.widgetLineBreaks)&&(m=nR(e,r,1,m)),g&&(e.lineWrapping||p.widgetLineBreaks)&&(g=nR(e,i,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return b(v(n.from,n.to,m));{let t=m?v(n.from,null,m):w(d,!1),r=g?v(null,n.to,g):w(p,!0),i=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<r.top?i.push(y(c,t.bottom,f,r.top)):t.bottom<r.top&&e.elementAtHeight((t.bottom+r.top)/2).type==ec.Text&&(t.bottom=r.top=(t.bottom+r.top)/2),b(t).concat(i).concat(b(r))}function y(e,n,r,i){return new n$(t,e-a.left,n-a.top,r-e,i-n)}function b({top:e,bottom:t,horizontal:n}){let r=[];for(let i=0;i<n.length;i+=2)r.push(y(n[i],e,n[i+1],t));return r}function v(t,n,r){let i=1e9,o=-1e9,l=[];function a(t,n,a,u,h){let d=e.coordsAtPos(t,t==r.to?-2:2),p=e.coordsAtPos(a,a==r.from?2:-2);d&&p&&(i=Math.min(d.top,p.top,i),o=Math.max(d.bottom,p.bottom,o),h==eC.LTR?l.push(s&&n?c:d.left,s&&u?f:p.right):l.push(!s&&u?c:p.left,!s&&n?f:d.right))}let u=null!=t?t:r.from,h=null!=n?n:r.to;for(let r of e.visibleRanges)if(r.to>u&&r.from<h)for(let i=Math.max(r.from,u),s=Math.min(r.to,h);;){let r=e.state.doc.lineAt(i);for(let o of e.bidiSpans(r)){let e=o.from+r.from,l=o.to+r.from;if(e>=s)break;l>i&&a(Math.max(e,i),null==t&&e<=u,Math.min(l,s),null==n&&l>=h,o.dir)}if((i=r.to+1)>=s)break}return 0==l.length&&a(u,null==t,h,null==n,e.textDirection),{top:i,bottom:o,horizontal:l}}function w(e,t){let n=l.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n);{let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let i=nL(e);return[new n$(t,r.left-i.left,r.top-i.top,null,r.bottom-r.top)]}}}function nL(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==eC.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function nR(e,t,n,r){let i=e.coordsAtPos(t,2*n);if(!i)return r;let s=e.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,l=e.posAtCoords({x:s.left+1,y:o}),a=e.posAtCoords({x:s.right-1,y:o});return null==l||null==a?r:{from:Math.max(r.from,Math.min(l,a)),to:Math.min(r.to,Math.max(l,a))}}class nj{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(nq)!=e.state.facet(nq)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(nq);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>{var n;return n=this.drawn[t],!(e.constructor==n.constructor&&e.eq(n))})){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}let nq=l.r$.define();function nz(e){return[e3.define(t=>new nj(t,e)),nq.of(e)]}let nU=l.r$.define({combine:e=>(0,l.BO)(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function nV(e={}){return[nU.of(e),nW,nK,nJ,eK.of(!0)]}function nH(e){return e.startState.facet(nU)!=e.state.facet(nU)}let nW=nz({above:!0,markers(e){let{state:t}=e,n=t.facet(nU),r=[];for(let i of t.selection.ranges){let s=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=i.empty?i:l.jT.cursor(i.head,i.head>i.anchor?-1:1);for(let i of n$.forRange(e,t,n))r.push(i)}}return r},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=nH(e);return n&&nG(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){nG(t.state,e)},class:"cm-cursorLayer"});function nG(e,t){t.style.animationDuration=e.facet(nU).cursorBlinkRate+"ms"}let nK=nz({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:n$.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||nH(e),class:"cm-selectionLayer"}),nJ=l.Wl.highest(nA.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));/x/.unicode;let nQ="-10000px";class nY{constructor(e,t,n,r){this.facet=t,this.createTooltipView=n,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let r=e.state.facet(this.facet),i=r.filter(e=>e);if(r===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let s=[],o=t?[]:null;for(let n=0;n<i.length;n++){let r=i[n],l=-1;if(r){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==r.create&&(l=e)}if(l<0)s[n]=this.createTooltipView(r,n?s[n-1]:null),o&&(o[n]=!!r.above);else{let r=s[n]=this.tooltipViews[l];o&&(o[n]=t[l]),r.update&&r.update(e)}}}for(let e of this.tooltipViews)0>s.indexOf(e)&&(this.removeTooltipView(e),null==(n=e.destroy)||n.call(e));return t&&(o.forEach((e,n)=>t[n]=e),t.length=o.length),this.input=r,this.tooltips=i,this.tooltipViews=s,!0}}function nZ(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}let nX=l.r$.define({combine:e=>{var t,n,r;return{position:X.ios?"absolute":(null==(t=e.find(e=>e.position))?void 0:t.position)||"fixed",parent:(null==(n=e.find(e=>e.parent))?void 0:n.parent)||null,tooltipSpace:(null==(r=e.find(e=>e.tooltipSpace))?void 0:r.tooltipSpace)||nZ}}}),n0=new WeakMap,n1=e3.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(nX);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new nY(e,n8,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver)for(let e of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(e.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,r=e.state.facet(nX);if(r.position!=this.position&&!this.madeAbsolute){for(let e of(this.position=r.position,this.manager.tooltipViews))e.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){for(let e of(this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),r=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=nQ,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;for(let t of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))t.dom.remove(),null==(e=t.destroy)||e.call(t);this.parent&&this.container.remove(),null==(t=this.resizeObserver)||t.disconnect(),null==(n=this.intersectionObserver)||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(X.gecko)n=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==nQ&&"0px"==e.style.left){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(n||"absolute"==this.position)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=tr(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(nX).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute)for(let e of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))e.dom.style.position="absolute";let{visible:n,space:r,scaleX:i,scaleY:s}=e,o=[];for(let l=0;l<this.manager.tooltips.length;l++){let a=this.manager.tooltips[l],u=this.manager.tooltipViews[l],{dom:h}=u,c=e.pos[l],f=e.size[l];if(!c||!1!==a.clip&&(c.bottom<=Math.max(n.top,r.top)||c.top>=Math.min(n.bottom,r.bottom)||c.right<Math.max(n.left,r.left)-.1||c.left>Math.min(n.right,r.right)+.1)){h.style.top=nQ;continue}let d=a.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=7*!!d,m=f.right-f.left,g=null!=(t=n0.get(u))?t:f.bottom-f.top,y=u.offset||n5,b=this.view.textDirection==eC.LTR,v=f.width>r.right-r.left?b?r.left:r.right-f.width:b?Math.max(r.left,Math.min(c.left-14*!!d+y.x,r.right-m)):Math.min(Math.max(r.left,c.left-m+14*!!d-y.x),r.right-m),w=this.above[l];!a.strictSide&&(w?c.top-g-p-y.y<r.top:c.bottom+g+p+y.y>r.bottom)&&w==r.bottom-c.bottom>c.top-r.top&&(w=this.above[l]=!w);let k=(w?c.top-r.top:r.bottom-c.bottom)-p;if(k<g&&!1!==u.resize){if(k<this.view.defaultLineHeight){h.style.top=nQ;continue}n0.set(u,g),h.style.height=(g=k)/s+"px"}else h.style.height&&(h.style.height="");let D=w?c.top-g-p-y.y:c.bottom+p+y.y,x=v+m;if(!0!==u.overlap)for(let e of o)e.left<x&&e.right>v&&e.top<D+g&&e.bottom>D&&(D=w?e.top-g-2-p:e.bottom+p+2);if("absolute"==this.position?(h.style.top=(D-e.parent.top)/s+"px",n2(h,(v-e.parent.left)/i)):(h.style.top=D/s+"px",n2(h,v/i)),d){let e=c.left+(b?y.x:-y.x)-(v+14-7);d.style.left=e/i+"px"}!0!==u.overlap&&o.push({left:v,top:D,right:x,bottom:D+g}),h.classList.toggle("cm-tooltip-above",w),h.classList.toggle("cm-tooltip-below",!w),u.positioned&&u.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView)&&(this.inView=this.view.inView,!this.inView))for(let e of this.manager.tooltipViews)e.dom.style.top=nQ}},{eventObservers:{scroll(){this.maybeMeasure()}}});function n2(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}let n3=nA.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),n5={x:0,y:0},n8=l.r$.define({enables:[n1,n3]}),n6=l.r$.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class n4{static create(e){return new n4(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new nY(e,n6,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null==(e=t.destroy)||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(void 0!==r){if(void 0===t)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}let n9=n8.compute([n6],e=>{let t=e.facet(n6);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!=(t=e.end)?t:e.pos})),create:n4.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class n7{constructor(e,t,n,r,i){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,n=e.docView.nearest(t.target);if(!n)return;let r,i=1;if(n instanceof en)r=n.posAtStart;else{if(null==(r=e.posAtCoords(t)))return;let n=e.coordsAtPos(r);if(!n||t.y<n.top||t.y>n.bottom||t.x<n.left-e.defaultCharacterWidth||t.x>n.right+e.defaultCharacterWidth)return;let s=e.bidiSpans(e.state.doc.lineAt(r)).find(e=>e.from<=r&&e.to>=r),o=s&&s.dir==eC.RTL?-1:1;i=t.x<n.left?-o:o}let s=this.source(e,r,i);if(null==s?void 0:s.then){let t=this.pending={pos:r};s.then(n=>{this.pending==t&&(this.pending=null,n&&!(Array.isArray(n)&&!n.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>eX(e.state,t,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(n1),t=e?e.manager.tooltips.findIndex(e=>e.create==n4.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:i}=this;if(r.length&&i&&!function(e,t){let{left:n,right:r,top:i,bottom:s}=e.getBoundingClientRect(),o;if(o=e.querySelector(".cm-tooltip-arrow")){let e=o.getBoundingClientRect();i=Math.min(e.top,i),s=Math.max(e.bottom,s)}return t.clientX>=n-4&&t.clientX<=r+4&&t.clientY>=i-4&&t.clientY<=s+4}(i.dom,e)||this.pending){let{pos:i}=r[0]||this.pending,s=null!=(n=null==(t=r[0])?void 0:t.end)?n:i;(i==s?this.view.posAtCoords(this.lastMove)!=i:!function(e,t,n,r,i,s){let o=e.scrollDOM.getBoundingClientRect(),l=e.documentTop+e.documentPadding.top+e.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,l)<i)return!1;let a=e.posAtCoords({x:r,y:i},!1);return a>=t&&a<=n}(this.view,i,s,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function re(e,t={}){let n=l.Py.define(),r=l.QQ.define({create:()=>[],update(e,r){if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e))),r.docChanged)){let t=[];for(let n of e){let e=r.changes.mapPos(n.pos,-1,l.gc.TrackDel);if(null!=e){let i=Object.assign(Object.create(null),n);i.pos=e,null!=i.end&&(i.end=r.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of r.effects)t.is(n)&&(e=t.value),t.is(rn)&&(e=[]);return e},provide:e=>n6.from(e)});return{active:r,extension:[r,e3.define(i=>new n7(i,e,r,n,t.hoverTime||300)),n9]}}function rt(e,t){let n=e.plugin(n1);if(!n)return null;let r=n.manager.tooltips.indexOf(t);return r<0?null:n.manager.tooltipViews[r]}let rn=l.Py.define(),rr=l.r$.define({combine(e){let t,n;for(let r of e)t=t||r.topContainer,n=n||r.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ri(e,t){let n=e.plugin(rs),r=n?n.specs.indexOf(t):-1;return r>-1?n.panels[r]:null}let rs=e3.fromClass(class{constructor(e){this.input=e.state.facet(ra),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(rr);for(let n of(this.top=new ro(e,!0,t.topContainer),this.bottom=new ro(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top)),this.panels))n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(rr);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ro(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ro(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(ra);if(n!=this.input){let t=n.filter(e=>e),r=[],i=[],s=[],o=[];for(let n of t){let t=this.specs.indexOf(n),l;t<0?(l=n(e.view),o.push(l)):(l=this.panels[t]).update&&l.update(e),r.push(l),(l.top?i:s).push(l)}for(let e of(this.specs=t,this.panels=r,this.top.sync(i),this.bottom.sync(s),o))e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>nA.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ro{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&0>e.indexOf(t)&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=rl(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=rl(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function rl(e){let t=e.nextSibling;return e.remove(),t}let ra=l.r$.define({enables:rs});class ru extends l.uU{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ru.prototype.elementClass="",ru.prototype.toDOM=void 0,ru.prototype.mapMode=l.gc.TrackBefore,ru.prototype.startSide=ru.prototype.endSide=-1,ru.prototype.point=!0;let rh=l.r$.define(),rc=l.r$.define(),rf={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>l.Xs.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},rd=l.r$.define();function rp(e){return[rg(),rd.of({...rf,...e})]}let rm=l.r$.define({combine:e=>e.some(e=>e)});function rg(e){let t=[ry];return e&&!1===e.fixed&&t.push(rm.of(!0)),t}let ry=e3.fromClass(class{constructor(e){for(let t of(this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(rd).map(t=>new rk(e,t)),this.gutters))this.dom.appendChild(t.dom);this.fixed=!e.state.facet(rm),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,r=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(rm)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let n=l.Xs.iter(this.view.state.facet(rh),this.view.viewport.from),r=[],i=this.gutters.map(e=>new rw(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(e.type)){let t=!0;for(let s of e.type)if(s.type==ec.Text&&t){for(let e of(rv(n,r,s.from),i))e.line(this.view,s,r);t=!1}else if(s.widget)for(let e of i)e.widget(this.view,s)}else if(e.type==ec.Text)for(let t of(rv(n,r,e.from),i))t.line(this.view,e,r);else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(rd),n=e.state.facet(rd),r=e.docChanged||e.heightChanged||e.viewportChanged||!l.Xs.eq(e.startState.facet(rh),e.state.facet(rh),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(r=!0);else{r=!0;let i=[];for(let r of n){let n=t.indexOf(r);n<0?i.push(new rk(this.view,r)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),0>i.indexOf(e)&&e.destroy();for(let e of i)this.dom.appendChild(e.dom);this.gutters=i}return r}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>nA.scrollMargins.of(t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==eC.LTR?{left:n.dom.offsetWidth*t.scaleX}:{right:n.dom.offsetWidth*t.scaleX}:null})});function rb(e){return Array.isArray(e)?e:[e]}function rv(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class rw{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=l.Xs.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,i=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let t=new rD(e,s,i,n);r.elements.push(t),r.dom.appendChild(t.dom)}else r.elements[this.i].update(e,s,i,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];rv(this.cursor,r,t.from),n.length&&(r=r.concat(n));let i=this.gutter.config.lineMarker(e,t,r);i&&r.unshift(i);let s=this.gutter;(0!=r.length||s.config.renderEmptyElements)&&this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let n of e.state.facet(rc)){let i=n(e,t.widget,t);i&&(r||(r=[])).push(i)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class rk{constructor(e,t){for(let n in this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),t.domEventHandlers)this.dom.addEventListener(n,r=>{let i=r.target,s;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();s=(e.top+e.bottom)/2}else s=r.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[n](e,o,r)&&r.preventDefault()});this.markers=rb(t.markers(e)),t.initialSpacer&&(this.spacer=new rD(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=rb(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!l.Xs.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class rD{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),!function(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}(this.markers,r)&&this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let i=0,s=0;;){let o=s,l=i<t.length?t[i++]:null,a=!1;if(l){let e=l.elementClass;e&&(n+=" "+e);for(let e=s;e<this.markers.length;e++)if(this.markers[e].compare(l)){o=e,a=!0;break}}else o=this.markers.length;for(;s<o;){let e=this.markers[s++];if(e.toDOM){e.destroy(r);let t=r.nextSibling;r.remove(),r=t}}if(!l)break;l.toDOM&&(a?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),a&&s++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}}let rx=l.r$.define(),rC=l.r$.define(),rA=l.r$.define({combine:e=>(0,l.BO)(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let r=n[e],i=t[e];n[e]=r?(e,t,n)=>r(e,t,n)||i(e,t,n):i}return n}})});class rE extends ru{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function rS(e,t){return e.state.facet(rA).formatNumber(t,e.state)}let r_=rd.compute([rA],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(rx),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new rE(rS(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let r of e.state.facet(rC)){let i=r(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(rA)!=e.state.facet(rA),initialSpacer:e=>new rE(rS(e,rF(e.state.doc.lines))),updateSpacer(e,t){let n=rS(t.view,rF(t.view.state.doc.lines));return n==e.number?e:new rE(n)},domEventHandlers:e.facet(rA).domEventHandlers}));function rO(e={}){return[rA.of(e),rg(),r_]}function rF(e){let t=9;for(;t<e;)t=10*t+9;return t}let rT=new class extends ru{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},rP=rh.compute(["selection"],e=>{let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.head).from;i>n&&(n=i,t.push(rT.range(i)))}return l.Xs.of(t)});function rI(){return rP}},7888:function(e,t,n){"use strict";var r,i;n.d(t,{Jq:()=>c,L3:()=>s,Lj:()=>f,_b:()=>N,i9:()=>I,md:()=>a,mp:()=>m,vj:()=>r});let s=1024,o=0;class l{constructor(e,t){this.from=e,this.to=t}}class a{constructor(e={}){this.id=o++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=c.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}a.closedBy=new a({deserialize:e=>e.split(" ")}),a.openedBy=new a({deserialize:e=>e.split(" ")}),a.group=new a({deserialize:e=>e.split(" ")}),a.isolate=new a({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw RangeError("Invalid value for isolate: "+e);return e||"auto"}}),a.contextHash=new a({perNode:!0}),a.lookAhead=new a({perNode:!0}),a.mounted=new a({perNode:!0});class u{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[a.mounted.id]}}let h=Object.create(null);class c{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):h,n=!!e.top|2*!!e.skipped|4*!!e.error|8*(null==e.name),r=new c(e.name||"",t,e.id,n);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(a.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return e=>{for(let n=e.prop(a.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}}c.none=new c("",Object.create(null),0,8);class f{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let t of e){let e=t(n);e&&(r||(r=Object.assign({},n.props)),r[e[0].id]=e[1])}t.push(r?new c(n.name,r,n.id,n.flags):n)}return new f(t)}}let d=new WeakMap,p=new WeakMap;(i=r||(r={}))[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays";class m{constructor(e,t,n,r,i){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,i&&i.length)for(let[e,t]of(this.props=Object.create(null),i))this.props["number"==typeof e?e:e.id]=t}toString(){let e=u.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let n=e.toString();n&&(t&&(t+=","),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new _(this.topNode,e)}cursorAt(e,t=0,n=0){let r=new _(d.get(this)||this.topNode);return r.moveTo(e,t),d.set(this,r._tree),r}get topNode(){return new k(this,0,0,null)}resolve(e,t=0){let n=v(d.get(this)||this.topNode,e,t,!1);return d.set(this,n),n}resolveInner(e,t=0){let n=v(p.get(this)||this.topNode,e,t,!0);return p.set(this,n),n}resolveStack(e,t=0){return function(e,t,n){let r=e.resolveInner(t,n),i=null;for(let e=r instanceof k?r:r.context.parent;e;e=e.parent)if(e.index<0){let s=e.parent;(i||(i=[r])).push(s.resolve(t,n)),e=s}else{let s=u.get(e.tree);if(s&&s.overlay&&s.overlay[0].from<=t&&s.overlay[s.overlay.length-1].to>=t){let o=new k(s.tree,s.overlay[0].from+e.from,-1,e);(i||(i=[r])).push(v(o,t,n,!1))}}return i?E(i):r}(this,e,t)}iterate(e){let{enter:t,leave:n,from:i=0,to:s=this.length}=e,o=e.mode||0,l=(o&r.IncludeAnonymous)>0;for(let e=this.cursor(o|r.IncludeAnonymous);;){let r=!1;if(e.from<=s&&e.to>=i&&(!l&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(l||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:P(c.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new m(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new m(c.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:r,maxBufferLength:i=s,reused:o=[],minRepeatType:l=r.types.length}=e,u=Array.isArray(n)?new g(n,n.length):n,h=r.types,c=0,f=0;function d(e,t,n,i,s,o,l,a,u){let h=[],c=[];for(;e.length>i;)h.push(e.pop()),c.push(t.pop()+n-s);e.push(p(r.types[l],h,c,o-s,a-o,u)),t.push(s-n)}function p(e,t,n,r,i,s,o){if(s){let e=[a.contextHash,s];o=o?[e].concat(o):[e]}if(i>25){let e=[a.lookAhead,i];o=o?[e].concat(o):[e]}return new m(e,t,n,r,o)}let b=[],v=[];for(;u.pos>0;)!function e(t,n,s,g,b,v){let{id:w,start:k,end:D,size:x}=u,C=f,A=c;for(;x<0;){if(u.next(),-1==x){let e=o[w];s.push(e),g.push(k-t);return}if(-3==x){c=w;return}if(-4==x){f=w;return}else throw RangeError(`Unrecognized record size: ${x}`)}let E=h[w],S,_,O=k-t;if(D-k<=i&&(_=function(e,t){let n=u.fork(),r=0,s=0,o=0,a=n.end-i,h={size:0,start:0,skip:0};r:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){h.size=r,h.start=s,h.skip=o,o+=4,r+=4,n.next();continue}let u=n.pos-e;if(e<0||u<i||n.start<a)break;let c=4*(n.id>=l),f=n.start;for(n.next();n.pos>u;){if(n.size<0)if(-3==n.size)c+=4;else break r;else n.id>=l&&(c+=4);n.next()}s=f,r+=e,o+=c}return(t<0||r==e)&&(h.size=r,h.start=s,h.skip=o),h.size>4?h:void 0}(u.pos-n,b))){let e=new Uint16Array(_.size-_.skip),n=u.pos-_.size,i=e.length;for(;u.pos>n;)i=function e(t,n,r){let{id:i,start:s,end:o,size:a}=u;if(u.next(),a>=0&&i<l){let l=r;if(a>4){let i=u.pos-(a-4);for(;u.pos>i;)r=e(t,n,r)}n[--r]=l,n[--r]=o-t,n[--r]=s-t,n[--r]=i}else -3==a?c=i:-4==a&&(f=i);return r}(_.start,e,i);S=new y(e,D-_.start,r),O=_.start-t}else{let t=u.pos-x;u.next();let n=[],s=[],o=w>=l?w:-1,h=0,c=D;for(;u.pos>t;)o>=0&&u.id==o&&u.size>=0?(u.end<=c-i&&(d(n,s,k,h,u.end,c,o,C,A),h=n.length,c=u.end),u.next()):v>2500?function(e,t,n,s){let o=[],l=0,a=-1;for(;u.pos>t;){let{id:e,start:t,end:n,size:r}=u;if(r>4)u.next();else if(a>-1&&t<a)break;else a<0&&(a=n-i),o.push(e,t,n),l++,u.next()}if(l){let t=new Uint16Array(4*l),i=o[o.length-2];for(let e=o.length-3,n=0;e>=0;e-=3)t[n++]=o[e],t[n++]=o[e+1]-i,t[n++]=o[e+2]-i,t[n++]=n;n.push(new y(t,o[2]-i,r)),s.push(i-e)}}(k,t,n,s):e(k,t,n,s,o,v+1);if(o>=0&&h>0&&h<n.length&&d(n,s,k,h,k,c,o,C,A),n.reverse(),s.reverse(),o>-1&&h>0){let e=function(e,t){return(n,r,i)=>{let s=0,o=n.length-1,l,u;if(o>=0&&(l=n[o])instanceof m){if(!o&&l.type==e&&l.length==i)return l;(u=l.prop(a.lookAhead))&&(s=r[o]+l.length+u)}return p(e,n,r,i,s,t)}}(E,A);S=P(E,n,s,0,n.length,0,D-k,e,e)}else S=p(E,n,s,D-k,C-D,A)}s.push(S),g.push(O)}(e.start||0,e.bufferStart||0,b,v,-1,0);let w=null!=(t=e.length)?t:b.length?v[0]+b[0].length:0;return new m(h[e.topID],b.reverse(),v.reverse(),w)}(e)}}m.empty=new m(c.none,[],[],0);class g{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new g(this.buffer,this.index)}}class y{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return c.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),n==(e+=4))return i;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,n,r,i){let{buffer:s}=this,o=-1;for(let l=e;l!=t&&(!b(i,r,s[l+1],s[l+2])||(o=l,!(n>0)));l=s[l+3]);return o}slice(e,t,n){let r=this.buffer,i=new Uint16Array(t-e),s=0;for(let o=e,l=0;o<t;){i[l++]=r[o++],i[l++]=r[o++]-n;let t=i[l++]=r[o++]-n;i[l++]=r[o++]-e,s=Math.max(s,t)}return new y(i,s,this.set)}}function b(e,t,n,r){switch(e){case -2:return n<t;case -1:return r>=t&&n<t;case 0:return n<t&&r>t;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function v(e,t,n,i){for(var s;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof k&&e.index<0?null:e.parent;if(!t)return e;e=t}let o=i?0:r.IgnoreOverlays;if(i)for(let r=e,i=r.parent;i;i=(r=i).parent)r instanceof k&&r.index<0&&(null==(s=i.enter(t,n,o))?void 0:s.from)!=r.from&&(e=i);for(;;){let r=e.enter(t,n,o);if(!r)return e;e=r}}class w{cursor(e=0){return new _(this,e)}getChild(e,t=null,n=null){let r=D(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return D(this,e,t,n)}resolve(e,t=0){return v(this,e,t,!1)}resolveInner(e,t=0){return v(this,e,t,!0)}matchContext(e){return x(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(n=t,t=e.prevSibling):t=e}return n}get node(){return this}get next(){return this.parent}}class k extends w{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,i,s=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,h=t>0?l.length:-1;e!=h;e+=t){let h=l[e],c=a[e]+o.from;if(b(i,n,c,c+h.length)){if(h instanceof y){if(s&r.ExcludeBuffers)continue;let l=h.findChild(0,h.buffer.length,t,n-c,i);if(l>-1)return new A(new C(o,h,e,c),null,l)}else if(s&r.IncludeAnonymous||!h.type.isAnonymous||O(h)){let l;if(!(s&r.IgnoreMounts)&&(l=u.get(h))&&!l.overlay)return new k(l.tree,c,e,o);let a=new k(h,c,e,o);return s&r.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?h.children.length-1:0,t,n,i)}}}if(s&r.IncludeAnonymous||!o.type.isAnonymous||(e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length,!(o=o._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let i;if(!(n&r.IgnoreOverlays)&&(i=u.get(this._tree))&&i.overlay){let n=e-this.from;for(let{from:e,to:r}of i.overlay)if((t>0?e<=n:e<n)&&(t<0?r>=n:r>n))return new k(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function D(e,t,n,r){let i=e.cursor(),s=[];if(!i.firstChild())return s;if(null!=n){for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return s}for(;;){if(null!=r&&i.type.is(r))return s;if(i.type.is(t)&&s.push(i.node),!i.nextSibling())return null==r?s:[]}}function x(e,t,n=t.length-1){for(let r=e;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}class C{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}}class A extends w{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new A(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&r.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new A(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new A(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new A(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let s=n.buffer[this.index+1];e.push(n.slice(r,i,s)),t.push(0)}return new m(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function E(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let i=e[r];(i.from>n.from||i.to<n.to)&&(n=i,t=r)}let r=n instanceof k&&n.index<0?null:n.parent,i=e.slice();return r?i[t]=r:i.splice(t,1),new S(i,n)}class S{constructor(e,t){this.heads=e,this.node=t}get next(){return E(this.heads)}}class _{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof k)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return!!e&&(e instanceof k?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return!(i<0)&&(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?!(n&r.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&r.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&r.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=i)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let i=t+e,s=e<0?-1:n._tree.children.length;i!=s;i+=e){let e=n._tree.children[i];if(this.mode&r.IncludeAnonymous||e instanceof y||!e.type.isAnonymous||O(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)r:for(let r=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,n=i+1;break r}r=this.stack[--i]}for(let e=n;e<this.stack.length;e++)t=new A(this.buffer,t,this.stack[e]);return this.bufferNode=new A(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return x(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return x(this._tree,e,r);let s=n[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}}function O(e){return e.children.some(e=>e instanceof y||!e.type.isAnonymous||O(e))}let F=new WeakMap;function T(e,t){if(!e.isAnonymous||t instanceof y||t.type!=e)return 1;let n=F.get(t);if(null==n){for(let r of(n=1,t.children)){if(r.type!=e||!(r instanceof m)){n=1;break}n+=T(e,r)}F.set(t,n)}return n}function P(e,t,n,r,i,s,o,l,a){let u=0;for(let n=r;n<i;n++)u+=T(e,t[n]);let h=Math.ceil(1.5*u/8),c=[],f=[];return!function t(n,r,i,o,l){for(let u=i;u<o;){let i=u,d=r[u],p=T(e,n[u]);for(u++;u<o;u++){let t=T(e,n[u]);if(p+t>=h)break;p+=t}if(u==i+1){if(p>h){let e=n[i];t(e.children,e.positions,0,e.children.length,r[i]+l);continue}c.push(n[i])}else{let t=r[u-1]+n[u-1].length-d;c.push(P(e,n,r,i,u,d,t,null,a))}f.push(d+l-s)}}(t,n,r,i,0),(l||a)(c,f,o)}class I{constructor(e,t,n,r,i=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=!!i|2*!!s}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let r=[new I(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],i=1,s=e.length?e[0]:null;for(let o=0,l=0,a=0;;o++){let u=o<t.length?t[o]:null,h=u?u.fromA:1e9;if(h-l>=n)for(;s&&s.from<h;){let t=s;if(l>=t.from||h<=t.to||a){let e=Math.max(t.from,l)-a,n=Math.min(t.to,h)-a;t=e>=n?null:new I(e,n,t.tree,t.offset+a,o>0,!!u)}if(t&&r.push(t),s.to>h)break;s=i<e.length?e[i++]:null}if(!u)break;l=u.toA,a=u.toA-u.toB}return r}}class N{startParse(e,t,n){return"string"==typeof e&&(e=new B(e)),n=n?n.length?n.map(e=>new l(e.from,e.to)):[new l(0,0)]:[new l(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}}class B{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new a({perNode:!0})},42367:function(e,t,n){"use strict";n.d(t,{Gv:()=>a,QR:()=>c,bW:()=>f,pJ:()=>O});var r=n(7888);let i=0;class s{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=i++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){if(e instanceof s&&(t=e),null==t?void 0:t.base)throw Error("Can not derive from a modified tag");let n=new s("string"==typeof e?e:"?",[],null,[]);if(n.set.push(n),t)for(let e of t.set)n.set.push(e);return n}static defineModifier(e){let t=new l(e);return e=>e.modified.indexOf(t)>-1?e:l.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}}let o=0;class l{constructor(e){this.name=e,this.instances=[],this.id=o++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>{var r,i;return n.base==e&&(r=t,i=n.modified,r.length==i.length&&r.every((e,t)=>e==i[t]))});if(n)return n;let r=[],i=new s(e.name,r,e,t);for(let e of t)e.instances.push(i);let o=function(e){let t=[[]];for(let n=0;n<e.length;n++)for(let r=0,i=t.length;r<i;r++)t.push(t[r].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of o)r.push(l.get(t,e));return i}}function a(e){let t=Object.create(null);for(let n in e){let r=e[n];for(let e of(Array.isArray(r)||(r=[r]),n.split(" ")))if(e){let n=[],i=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!r)throw RangeError("Invalid path: "+e);if(n.push("*"==r[0]?"":'"'==r[0][0]?JSON.parse(r[0]):r[0]),(t+=r[0].length)==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){i=0;break}if("/"!=o)throw RangeError("Invalid path: "+e);s=e.slice(t)}let o=n.length-1,l=n[o];if(!l)throw RangeError("Invalid path: "+e);let a=new h(r,i,o>0?n.slice(0,o):null);t[l]=a.sort(t[l])}}return u.add(t)}let u=new r.md;class h{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function c(e,t){let n=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)n[e.id]=t.class;else n[t.tag.id]=t.class;let{scope:r,all:i=null}=t||{};return{style:e=>{let t=i;for(let r of e)for(let e of r.set){let r=n[e.id];if(r){t=t?t+" "+r:r;break}}return t},scope:r}}function f(e,t,n,r=0,i=e.length){let s=new d(r,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),r,i,"",s.highlighters),s.flush(i)}h.empty=new h([],2,null);class d{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,i,s){let{type:o,from:l,to:a}=e;if(l>=n||a<=t)return;o.isTop&&(s=this.highlighters.filter(e=>!e.scope||e.scope(o)));let c=i,f=function(e){let t=e.type.prop(u);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||h.empty,d=function(e,t){let n=null;for(let r of e){let e=r.style(t);e&&(n=n?n+" "+e:e)}return n}(s,f.tags);if(d&&(c&&(c+=" "),c+=d,1==f.mode&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(t,l),c),f.opaque)return;let p=e.tree&&e.tree.prop(r.md.mounted);if(p&&p.overlay){let r=e.node.enter(p.overlay[0].from+l,1),o=this.highlighters.filter(e=>!e.scope||e.scope(p.tree.type)),u=e.firstChild();for(let h=0,f=l;;h++){let d=h<p.overlay.length?p.overlay[h]:null,m=d?d.from+l:a,g=Math.max(t,f),y=Math.min(n,m);if(g<y&&u)for(;e.from<y&&(this.highlightRange(e,g,y,i,s),this.startSpan(Math.min(y,e.to),c),!(e.to>=m)&&e.nextSibling()););if(!d||m>n)break;(f=d.to+l)>t&&(this.highlightRange(r.cursor(),Math.max(t,d.from+l),Math.min(n,f),"",o),this.startSpan(Math.min(n,f),c))}u&&e.parent()}else if(e.firstChild()){p&&(i="");do{if(e.to<=t)continue;if(e.from>=n)break;this.highlightRange(e,t,n,i,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}}let p=s.define,m=p(),g=p(),y=p(g),b=p(g),v=p(),w=p(v),k=p(v),D=p(),x=p(D),C=p(),A=p(),E=p(),S=p(E),_=p(),O={comment:m,lineComment:p(m),blockComment:p(m),docComment:p(m),name:g,variableName:p(g),typeName:y,tagName:p(y),propertyName:b,attributeName:p(b),className:p(g),labelName:p(g),namespace:p(g),macroName:p(g),literal:v,string:w,docString:p(w),character:p(w),attributeValue:p(w),number:k,integer:p(k),float:p(k),bool:p(v),regexp:p(v),escape:p(v),color:p(v),url:p(v),keyword:C,self:p(C),null:p(C),atom:p(C),unit:p(C),modifier:p(C),operatorKeyword:p(C),controlKeyword:p(C),definitionKeyword:p(C),moduleKeyword:p(C),operator:A,derefOperator:p(A),arithmeticOperator:p(A),logicOperator:p(A),bitwiseOperator:p(A),compareOperator:p(A),updateOperator:p(A),definitionOperator:p(A),typeOperator:p(A),controlOperator:p(A),punctuation:E,separator:p(E),bracket:S,angleBracket:p(S),squareBracket:p(S),paren:p(S),brace:p(S),content:D,heading:x,heading1:p(x),heading2:p(x),heading3:p(x),heading4:p(x),heading5:p(x),heading6:p(x),contentSeparator:p(D),list:p(D),quote:p(D),emphasis:p(D),strong:p(D),link:p(D),monospace:p(D),strikethrough:p(D),inserted:p(),deleted:p(),changed:p(),invalid:p(),meta:_,documentMeta:p(_),annotation:p(_),processingInstruction:p(_),definition:s.defineModifier("definition"),constant:s.defineModifier("constant"),function:s.defineModifier("function"),standard:s.defineModifier("standard"),local:s.defineModifier("local"),special:s.defineModifier("special")};for(let e in O){let t=O[e];t instanceof s&&(t.name=e)}c([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}])},21372:function(e,t,n){"use strict";let r,i,s,o,l;n.d(t,{ov:()=>eh,fB:()=>cK});var a,u,h,c,f,d,p,m,g,y,b,v,w,k,D,x,C,A,E={};n.r(E),n.d(E,{decode:()=>n5,encode:()=>n4,format:()=>n9,parse:()=>ru});var S={};n.r(S),n.d(S,{Any:()=>rf,Cc:()=>rd,Cf:()=>rp,P:()=>rh,S:()=>rc,Z:()=>rm});var _={};n.r(_),n.d(_,{arrayReplaceAt:()=>rT,assign:()=>rF,escapeHtml:()=>rU,escapeRE:()=>rH,fromCodePoint:()=>rI,has:()=>rO,isMdAsciiPunct:()=>rJ,isPunctChar:()=>rK,isSpace:()=>rW,isString:()=>rS,isValidEntityCode:()=>rP,isWhiteSpace:()=>rG,lib:()=>rY,normalizeReference:()=>rQ,unescapeAll:()=>rL,unescapeMd:()=>r$});var O={};n.r(O),n.d(O,{parseLinkDestination:()=>rX,parseLinkLabel:()=>rZ,parseLinkTitle:()=>r0});var F={};n.r(F),n.d(F,{boolean:()=>oE,booleanish:()=>oS,commaOrSpaceSeparated:()=>oP,commaSeparated:()=>oT,number:()=>oO,overloadedBoolean:()=>o_,spaceSeparated:()=>oF});var T={};n.r(T),n.d(T,{BOM:()=>hL,DOCUMENT:()=>hR,FLOW_END:()=>hj,SCALAR:()=>hq,createScalarToken:()=>hS,isCollection:()=>hz,isScalar:()=>hU,prettyToken:()=>hV,resolveAsScalar:()=>hE,setScalarValue:()=>h_,stringify:()=>hT,tokenType:()=>hH,visit:()=>h$});var P={};n.r(P),n.d(P,{Alias:()=>aH,CST:()=>T,Composer:()=>hA,Document:()=>he,Lexer:()=>hZ,LineCounter:()=>hX,Pair:()=>uf,Parser:()=>h6,Scalar:()=>aG,Schema:()=>u7,YAMLError:()=>hn,YAMLMap:()=>ug,YAMLParseError:()=>hr,YAMLSeq:()=>ub,YAMLWarning:()=>hi,isAlias:()=>ay,isCollection:()=>ax,isDocument:()=>ab,isMap:()=>av,isNode:()=>aC,isPair:()=>aw,isScalar:()=>ak,isSeq:()=>aD,parse:()=>ce,parseAllDocuments:()=>h9,parseDocument:()=>h7,stringify:()=>ct,visit:()=>aO,visitAsync:()=>aT});var I=n(54250),N=n(85237),B=n(79640);B.setLevel("silent");let M={STRING:"String",NUMBER:"Number",TRUE:"True",FALSE:"False",NULL:"Null",OBJECT:"Object",ARRAY:"Array",PROPERTY:"Property",PROPERTY_NAME:"PropertyName",PROPERTY_COLON:"PropertyColon",ITEM:"Item",JSON_TEXT:"JsonText",INVALID:"⚠"},$={Pair:M.PROPERTY,Key:M.PROPERTY_NAME,BlockSequence:M.ARRAY,BlockMapping:M.OBJECT,FlowSequence:M.ARRAY,FlowMapping:M.OBJECT,QuotedLiteral:M.STRING,Literal:M.STRING,Stream:M.JSON_TEXT,Document:M.OBJECT},L={File:M.JSON_TEXT},R=[M.STRING,M.NUMBER,M.TRUE,M.FALSE,M.NULL],j=[M.OBJECT,M.ARRAY,M.ITEM],q={JSON5:"json5",JSON:"json4",YAML:"yaml"},z=(e,t)=>{var n,r;switch(t){case q.YAML:return null!=(n=$[e])?n:e;case q.JSON5:return null!=(r=L[e])?r:e;default:return e}};function U(e,t,n){let r=[];for(let i=t;null==i?void 0:i.parent;i=i.parent)switch(z(i.parent.name,n)){case M.PROPERTY:{let t=en(i.parent,M.PROPERTY_NAME,n);if(t){let n=J(e,t).replace(/[/~]/g,e=>"~"===e?"~0":"~1");r.unshift(n)}break}case M.ARRAY:if(Z(i,n)){let e=es(i.parent,i,n);r.unshift(`${e}`)}}return 0===r.length?"":"/"+r.join("/")}let V=(e,t,n=-1,r)=>U(e.doc,(0,N.qz)(e).resolve(t,n),r),H=(e,t)=>{let n=(0,N.qz)(e),r=new Map;return n.iterate({enter:n=>{var i,s,o,l,a,u,h,c;if([M.PROPERTY_NAME,M.OBJECT].includes(z(n.name,t))){let f=U(e.doc,n.node,t),{from:d,to:p}=n.node;if(!(null==(s=null==(i=n.node)?void 0:i.nextSibling)?void 0:s.node))return r.set(f,{keyFrom:d,keyTo:p}),!0;let m=t===q.JSON?null==(l=null==(o=n.node)?void 0:o.nextSibling)?void 0:l.node:null==(c=null==(h=null==(u=null==(a=n.node)?void 0:a.nextSibling)?void 0:u.node)?void 0:h.nextSibling)?void 0:c.node;if(!m)return r.set(f,{keyFrom:d,keyTo:p}),!0;let{from:g,to:y}=m;return r.set(f,{keyFrom:d,keyTo:p,valueFrom:g,valueTo:y}),!0}}}),r},W=(e,t,n=-1)=>(0,N.qz)(e).resolveInner(t,n),G=e=>e.replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1"),K=e=>e.replace(/^"(.*)"$/,"'$1'"),J=(e,t,n=!0,r=!0)=>{let i=t?e.sliceString(t.from,t.to):"";return n?r?G(i):i.replace(/(^["'])|(["']$)/g,""):i},Q=(e,t)=>{var n,r,i,s;return z(e.name,t)===M.INVALID&&(z(null!=(r=null==(n=e.prevSibling)?void 0:n.name)?r:"",t)===M.PROPERTY_NAME||z(null!=(s=null==(i=e.prevSibling)?void 0:i.name)?s:"",t)===M.PROPERTY_COLON)},Y=(e,t)=>R.includes(z(e.name,t))||Q(e,t),Z=(e,t)=>[...R,...j].includes(z(e.name,t))||Q(e,t),X=(e,t)=>{var n,r,i,s,o,l;return z(e.name,t)===M.PROPERTY_NAME||z(e.name,t)===M.INVALID&&(z(null!=(r=null==(n=e.prevSibling)?void 0:n.name)?r:"",t)===M.PROPERTY||"{"===z(null!=(s=null==(i=e.prevSibling)?void 0:i.name)?s:"",t))||t===q.YAML&&z(null!=(l=null==(o=e.parent)?void 0:o.name)?l:"",t)===M.OBJECT},ee=e=>{let t=[],n=e.firstChild;for(;n;)n&&t.push(n),n=null==n?void 0:n.nextSibling;return t},et=(e,t,n)=>ee(e).filter(e=>z(e.name,n)===t),en=(e,t,n)=>{var r;return null!=(r=ee(e).find(e=>z(e.name,n)===t))?r:null},er=(e,t)=>ee(e).find(e=>Y(e,t)),ei=(e,t)=>ee(e).filter(e=>R.includes(z(e.name,t))||j.includes(z(e.name,t))),es=(e,t,n)=>ei(e,n).findIndex(e=>e.from===t.from&&e.to===t.to),eo=(e,t,n,r=1/0)=>{let i=e;for(;i&&r>0;){if(z(i.name,n)===t)return i;i=i.parent,r--}return null};var el=n(35740);let ea=el.Py.define(),eu=el.QQ.define({create(){},update(e,t){for(let e of t.effects)if(e.is(ea))return e.value;return e}}),eh=(e,t)=>{e.dispatch({effects:ea.of(t)})},ec=e=>e.field(eu),ef=e=>[eu.init(()=>e)],ed={AdditionalItemsError:"Array at `{{pointer}}` may not have an additional item `{{key}}`",AdditionalPropertiesError:"Additional property `{{property}}` on `{{pointer}}` does not match schema `{{schema}}`",AllOfError:"Value `{{value}}` at `{{pointer}}` does not match schema of `{{allOf}}`",AnyOfError:"Value `{{value}}` at `{{pointer}}` does not match any schema of `{{anyOf}}`",ConstError:"Expected value at `{{pointer}}` to be `{{expected}}`, but value given is `{{value}}`",containsAnyError:"The array at `{{pointer}}` must contain at least one item",ContainsArrayError:"The property at `{{pointer}}` must not be an array",ContainsError:"The array at `{{pointer}}` must contain an element that matches `{{schema}}`",EnumError:"Expected given value `{{value}}` in `{{pointer}}` to be one of `{{values}}`",ForbiddenPropertyError:"Property name `{{property}}` at `{{pointer}}` is not allowed",FormatDateError:"Value `{{value}}` at `{{pointer}}` is not a valid date",FormatDateTimeError:"Value `{{value}}` at `{{pointer}}` is not a valid date-time",FormatEmailError:"Value `{{value}}` at `{{pointer}}` is not a valid email",FormatHostnameError:"Value `{{value}}` at `{{pointer}}` is not a valid hostname",FormatIPV4Error:"Value `{{value}}` at `{{pointer}}` is not a valid IPv4 address",FormatIPV4LeadingZeroError:"IPv4 addresses starting with zero are invalid, since they are interpreted as octals",FormatIPV6Error:"Value `{{value}}` at `{{pointer}}` is not a valid IPv6 address",FormatIPV6LeadingZeroError:"IPv6 addresses starting with zero are invalid, since they are interpreted as octals",FormatJsonPointerError:"Value `{{value}}` at `{{pointer}}` is not a valid json-pointer",FormatRegExError:"Value `{{value}}` at `{{pointer}}` is not a valid regular expression",FormatTimeError:"Value `{{value}}` at `{{pointer}}` is not a valid time",FormatURIError:"Value `{{value}}` at `{{pointer}}` is not a valid uri",FormatURIReferenceError:"Value `{{value}}` at `{{pointer}}` is not a valid uri-reference",FormatURITemplateError:"Value `{{value}}` at `{{pointer}}` is not a valid uri-template",FormatURLError:"Value `{{value}}` at `{{pointer}}` is not a valid url",InvalidDataError:"No value may be specified in `{{pointer}}`",InvalidPropertyNameError:"Invalid property name `{{property}}` at `{{pointer}}`",MaximumError:"Value in `{{pointer}}` is `{{length}}`, but should be `{{maximum}}` at maximum",MaxItemsError:"Too many items in `{{pointer}}`, should be `{{maximum}}` at most, but got `{{length}}`",MaxLengthError:"Value `{{pointer}}` should have a maximum length of `{{maxLength}}`, but got `{{length}}`.",MaxPropertiesError:"Too many properties in `{{pointer}}`, should be `{{maximum}}` at most, but got `{{length}}`",MinimumError:"Value in `{{pointer}}` is `{{length}}`, but should be `{{minimum}}` at minimum",MinItemsError:"Too few items in `{{pointer}}`, should be at least `{{minItems}}`, but got `{{length}}`",MinItemsOneError:"At least one item is required in `{{pointer}}`",MinLengthError:"Value `{{pointer}}` should have a minimum length of `{{minLength}}`, but got `{{length}}`.",MinLengthOneError:"A value is required in `{{pointer}}`",MinPropertiesError:"Too few properties in `{{pointer}}`, should be at least `{{minimum}}`, but got `{{length}}`",MissingDependencyError:"The required propery '{{missingProperty}}' in `{{pointer}}` is missing",MissingOneOfPropertyError:"Value at `{{pointer}}` property: `{{property}}`",MultipleOfError:"Expected `{{value}}` in `{{pointer}}` to be multiple of `{{multipleOf}}`",MultipleOneOfError:"Value `{{value}}` should not match multiple schemas in oneOf `{{matches}}`",NoAdditionalPropertiesError:"Additional property `{{property}}` in `{{pointer}}` is not allowed",NotError:"Value `{{value}}` at pointer should not match schema `{{not}}`",OneOfError:"Value `{{value}}` in `{{pointer}}` does not match any given oneof schema",OneOfPropertyError:"Failed finding a matching oneOfProperty schema in `{{pointer}}` where `{{property}}` matches `{{value}}`",PatternError:"Value in `{{pointer}}` should match `{{description}}`, but received `{{received}}`",PatternPropertiesError:"Property `{{key}}` does not match any patterns in `{{pointer}}`. Valid patterns are: {{patterns}}",RequiredPropertyError:"The required property `{{key}}` is missing at `{{pointer}}`",SchemaWarning:"Failed retrieving a schema from '{{pointer}}' to key '{{key}}'",TypeError:"Expected `{{value}}` ({{received}}) in `{{pointer}}` to be of type `{{expected}}`",UndefinedValueError:"Value must not be undefined in `{{pointer}}`",UniqueItemsError:"Items in array must be unique. Value `{{value}}` in `{{pointer}}` is a duplicate of {{duplicatePointer}}.",UnknownPropertyError:"Could not find a valid schema for property `{{pointer}}` within object",ValueNotEmptyError:"A value for `{{property}}` is required at `{{pointer}}`"},ep=Object.prototype.toString;function em(e){let t=ep.call(e).match(/\s([^\]]+)\]/).pop().toLowerCase();return"file"===t?"object":t}function eg(e,t){return{type:"error",name:e,code:e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),message:function(e,t,n=e){var r;return function(e,t={}){return e.replace(/\{\{\w+\}\}/g,e=>{let n=t[e.replace(/[{}]/g,"")],r=em(n);return"object"===r||"array"===r?JSON.stringify(n):n})}(null!=(r=ed[e])?r:n,t)}(e,t),data:t}}function ey(e){return eg.bind(null,e)}function eb(e,t=[]){for(let n=0;n<e.length;n+=1){let r=e[n];Array.isArray(r)?eb(r,t):t.push(r)}return t}let ev={DECLARATOR_ONEOF:"oneOfProperty",GET_TEMPLATE_RECURSION_LIMIT:1,propertyBlacklist:["_id"],templateDefaultOptions:{addOptionalProps:!1,removeInvalidData:!1,extendDefaults:!0}};function ew(e,t,n){let r={...t};return Object.defineProperty(r,"getOneOfOrigin",{enumerable:!1,value:()=>({index:n,schema:e})}),r}function ek(e){return(null==e?void 0:e.type)==="error"}function eD(e){return ek(e)||e instanceof Promise}let{DECLARATOR_ONEOF:ex}=ev;function eC(e,t,n=e.rootSchema,r="#"){if(null!=t&&n[ex]){let i=[],s=n[ex],o=t[n[ex]];if(void 0===o)return e.errors.missingOneOfPropertyError({property:s,pointer:r,schema:n,value:t});for(let l=0;l<n.oneOf.length;l+=1){let a=e.resolveRef(n.oneOf[l]),u=e.step(s,a,t,r);if(ek(u))return u;let h=eb(e.validate(o,u,r));if(!((h=h.filter(eD)).length>0))return ew(n,a,l);i.push(...h)}return e.errors.oneOfPropertyError({property:s,value:o,pointer:r,schema:n,errors:i})}let i=[],s=[];for(let o=0;o<n.oneOf.length;o+=1){let l=e.resolveRef(n.oneOf[o]),a=eb(e.validate(t,l,r));(a=a.filter(eD)).length>0?s.push(...a):i.push({index:o,schema:l})}return 1===i.length?ew(n,i[0].schema,i[0].index):i.length>1?e.errors.multipleOneOfError({value:t,pointer:r,schema:n,matches:i}):e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf,errors:s})}function eA(e,t,n=e.rootSchema,r="#"){if(null!=t&&n[ex]){let i=[],s=n[ex],o=t[n[ex]];if(void 0===o)return e.errors.missingOneOfPropertyError({property:s,pointer:r,schema:n,value:t});for(let l=0;l<n.oneOf.length;l+=1){let a=e.resolveRef(n.oneOf[l]),u=e.step(s,a,t,r);if(ek(u))return u;let h=eb(e.validate(o,u,r));if(!((h=h.filter(eD)).length>0))return ew(n,a,l);i.push(...h)}return e.errors.oneOfPropertyError({property:s,value:o,pointer:r,schema:n,errors:i})}let i=[];for(let s=0;s<n.oneOf.length;s+=1){let o=e.resolveRef(n.oneOf[s]);e.isValid(t,o,r)&&i.push({schema:o,index:s})}if(1===i.length)return ew(n,i[0].schema,i[0].index);if("object"===em(t)){let i,s=-1,o=0;for(let r=0;r<n.oneOf.length;r+=1){let l=e.resolveRef(n.oneOf[r]),a=function(e,t,n,r){if(null==n||null==t.properties)return -1;let i=0,s=Object.keys(t.properties);for(let r=0;r<s.length;r+=1){let o=s[r];null!=n[o]&&e.isValid(n[o],t.properties[o],void 0)&&(i+=1)}return i}(e,l,t);o<a&&(o=a,i=n.oneOf[r],s=r)}return void 0===i?e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf}):ew(n,i,s)}return i.length>1?e.errors.multipleOneOfError({matches:i,pointer:r,schema:n,value:t}):e.errors.oneOfError({value:JSON.stringify(t),pointer:r,schema:n,oneOf:n.oneOf})}var eE=n(39714),eS=n.n(eE);let e_=(e,t)=>t,eO=(e,t)=>eS()(e,t,{arrayMerge:e_}),eF=(e,t)=>{let n=e.concat(t);return n.filter((e,t)=>n.indexOf(e)===t)},eT=(e,t)=>eS()(e,t,{arrayMerge:eF});function eP(e,t){if(em(e)!==em(t))return e;let n=eT(e,t);return e.getOneOfOrigin?Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:e.getOneOfOrigin}):t.getOneOfOrigin&&Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:t.getOneOfOrigin}),n}function eI(e,...t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),e.getOneOfOrigin&&Object.defineProperty(n,"getOneOfOrigin",{enumerable:!1,value:e.getOneOfOrigin}),n}var eN=Function.prototype.toString,eB=Object.create,eM=Object.prototype.toString,e$=function(){function e(){this._keys=[],this._values=[]}return e.prototype.has=function(e){return!!~this._keys.indexOf(e)},e.prototype.get=function(e){return this._values[this._keys.indexOf(e)]},e.prototype.set=function(e,t){this._keys.push(e),this._values.push(t)},e}(),eL="undefined"!=typeof WeakMap?function(){return new WeakMap}:function(){return new e$};function eR(e){if(!e)return eB(null);var t=e.constructor;if(t===Object)return e===Object.prototype?{}:eB(e);if(t&&~eN.call(t).indexOf("[native code]"))try{return new t}catch(e){}return eB(e)}var ej="g"===/test/g.flags?function(e){return e.flags}:function(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t};function eq(e){var t=eM.call(e);return t.substring(8,t.length-1)}var ez="undefined"!=typeof Symbol?function(e){return e[Symbol.toStringTag]||eq(e)}:eq,eU=Object.defineProperty,eV=Object.getOwnPropertyDescriptor,eH=Object.getOwnPropertyNames,eW=Object.getOwnPropertySymbols,eG=Object.prototype,eK=eG.hasOwnProperty,eJ=eG.propertyIsEnumerable,eQ="function"==typeof eW,eY=eQ?function(e){return eH(e).concat(eW(e))}:eH;function eZ(e,t,n){for(var r=eY(e),i=0,s=r.length,o=void 0,l=void 0;i<s;++i)if("callee"!==(o=r[i])&&"caller"!==o){if(!(l=eV(e,o))){t[o]=n.copier(e[o],n);continue}l.get||l.set||(l.value=n.copier(l.value,n));try{eU(t,o,l)}catch(e){t[o]=l.value}}return t}function eX(e,t){return e.slice(0)}function e0(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e,r){n.set(r,t.copier(e,t))}),n}function e1(e,t){return new t.Constructor(e.valueOf())}function e2(e,t){return e}function e3(e,t){var n=new t.Constructor;return t.cache.set(e,n),e.forEach(function(e){n.add(t.copier(e,t))}),n}var e5=Array.isArray,e8=Object.assign,e6=Object.getPrototypeOf||function(e){return e.__proto__},e4={array:function(e,t){var n=new t.Constructor;t.cache.set(e,n);for(var r=0,i=e.length;r<i;++r)n[r]=t.copier(e[r],t);return n},arrayBuffer:eX,blob:function(e,t){return e.slice(0,e.size,e.type)},dataView:function(e,t){return new t.Constructor(eX(e.buffer))},date:function(e,t){return new t.Constructor(e.getTime())},error:e2,map:e0,object:eQ?function(e,t){var n=eR(t.prototype);for(var r in t.cache.set(e,n),e)eK.call(e,r)&&(n[r]=t.copier(e[r],t));for(var i=eW(e),s=0,o=i.length,l=void 0;s<o;++s)l=i[s],eJ.call(e,l)&&(n[l]=t.copier(e[l],t));return n}:function(e,t){var n=eR(t.prototype);for(var r in t.cache.set(e,n),e)eK.call(e,r)&&(n[r]=t.copier(e[r],t));return n},regExp:function(e,t){var n=new t.Constructor(e.source,ej(e));return n.lastIndex=e.lastIndex,n},set:e3},e9=e8({},e4,{array:function(e,t){var n=new t.Constructor;return t.cache.set(e,n),eZ(e,n,t)},map:function(e,t){return eZ(e,e0(e,t),t)},object:function(e,t){var n=eR(t.prototype);return t.cache.set(e,n),eZ(e,n,t)},set:function(e,t){return eZ(e,e3(e,t),t)}});function e7(e){var t,n={Arguments:(t=e8({},e4,e)).object,Array:t.array,ArrayBuffer:t.arrayBuffer,Blob:t.blob,Boolean:e1,DataView:t.dataView,Date:t.date,Error:t.error,Float32Array:t.arrayBuffer,Float64Array:t.arrayBuffer,Int8Array:t.arrayBuffer,Int16Array:t.arrayBuffer,Int32Array:t.arrayBuffer,Map:t.map,Number:e1,Object:t.object,Promise:e2,RegExp:t.regExp,Set:t.set,String:e1,WeakMap:e2,WeakSet:e2,Uint8Array:t.arrayBuffer,Uint8ClampedArray:t.arrayBuffer,Uint16Array:t.arrayBuffer,Uint32Array:t.arrayBuffer,Uint64Array:t.arrayBuffer},r=n.Array,i=n.Object;function s(e,t){if(t.prototype=t.Constructor=void 0,!e||"object"!=typeof e)return e;if(t.cache.has(e))return t.cache.get(e);if(t.prototype=e6(e),t.Constructor=t.prototype&&t.prototype.constructor,!t.Constructor||t.Constructor===Object)return i(e,t);if(e5(e))return r(e,t);var s=n[ez(e)];return s?s(e,t):"function"==typeof e.then?e:i(e,t)}return function(e){return s(e,{Constructor:void 0,cache:eL(),copier:s,prototype:void 0})}}e7(e8({},e9,{}));var te=e7({});function tt(e,t,n){if(null!=t.if){if(!1===t.if)return t.else;if(t.if&&(t.then||t.else)){let r=e.validate(n,e.resolveRef(t.if));if(0===r.length&&t.then)return e.resolveRef(t.then);if(0!==r.length&&t.else)return e.resolveRef(t.else)}}}function tn(e,t,n){var r;let i={...null!=(r=e.resolveRef(t))?r:{}},s=tt(e,i,n);return s||eI(i,"if","then","else")}function tr(e,t,n=e.rootSchema){let r=te(n);for(let i=0;i<n.allOf.length;i+=1)r=eP(r,tn(e,n.allOf[i],t));return delete r.allOf,r}function ti(e,t){let{allOf:n}=t;if(!Array.isArray(n)||0===n.length)return;let r={};return n.forEach(t=>{r=eP(r,e.resolveRef(t))}),r}function ts(e){return"object"===em(e)}function to(e,t,n){let{dependencies:r}=t;if(!ts(r)||!ts(n))return;let i=!1,s={required:[]};if(Object.keys(r).forEach(o=>{var l,a;if(null==n[o]&&!((null==(l=t.required)?void 0:l.includes(o))||(null==(a=s.required)?void 0:a.includes(o))))return;let u=r[o];if(Array.isArray(u)){i=!0,s.required.push(...u);return}if(ts(u)){i=!0,s=eP(s,e.resolveRef(u));return}}),i){var o;return s.required=(o=s.required).filter((e,t)=>o.indexOf(e)===t),s}}function tl(e,t,n){let r;if(Array.isArray(t.anyOf)&&0!==t.anyOf.length)return t.anyOf.forEach(t=>{t=e.resolveRef(t),e.isValid(n,t)&&(r=r?eP(r,t):t)}),r}function ta(e,t,n=e.rootSchema,r="#"){let{anyOf:i}=n;if(!Array.isArray(i)||0===i.length)return n;let s=tl(e,n,t);return null==s?e.errors.anyOfError({pointer:r,schema:n,value:t,anyOf:JSON.stringify(i)}):eI(eP(n,s),"anyOf")}let tu=["allOf","anyOf","oneOf","dependencies","if","then","else"],th=["allOf","anyOf","oneOf","dependencies","if"],tc=["allOf","anyOf","oneOf","dependencies","if","then","else"];function tf(e,t,n,r){let i=function e(t,n,r,i){let s,o;if((n=t.resolveRef(n)).oneOf){let e=eA(t,r,n,i);ek(e)?o=e:e&&(s=eP(null!=s?s:{},e))}if(Array.isArray(n.allOf)){let o=n.allOf.map(n=>{if(function(e){let t=Object.keys(e);return -1!==th.findIndex(e=>t.includes(e))}(n)){let s=e(t,n,r,i);return s?eI(s=eP(n,s),...tu):void 0}return n});o.length>0&&(s=eP(null!=s?s:{},ti(t,{allOf:o})))}let l=tl(t,n,r);l&&(s=eP(null!=s?s:{},l));let a=to(t,n,r);a&&(s=eP(null!=s?s:{},a));let u=tt(t,n,r);if(u&&(s=eP(null!=s?s:{},u)),null==s)return o;let h=e(t,s,r,i);return h&&(s=eP(s,h)),eI(s,...tu)}(e,t,n,r);return i?eI(i=eP(t,i),...tc):t}class td{constructor(e,t){this.remotes={},this.errors={},this.typeKeywords={},this.validateKeyword={},this.validateType={},this.validateFormat={},this.config=e,this.typeKeywords=te(e.typeKeywords),this.validateKeyword=Object.assign({},e.validateKeyword),this.validateType=Object.assign({},e.validateType),this.validateFormat=Object.assign({},e.validateFormat),this.errors=Object.assign({},e.errors),this.setSchema(t)}get rootSchema(){return this.__rootSchema}set rootSchema(e){null!=e&&(this.__rootSchema=this.config.compileSchema(this,e))}addRemoteSchema(e,t){this.config.addRemoteSchema(this,e,t)}compileSchema(e){var t;return this.config.compileSchema(this,e,null!=(t=this.rootSchema)?t:e)}createSchemaOf(e){return this.config.createSchemaOf(e)}each(e,t,n,r){return this.config.each(this,e,t,n,r)}eachSchema(e,t=this.rootSchema){return this.config.eachSchema(t,e)}getChildSchemaSelection(e,t){return this.config.getChildSchemaSelection(this,e,t)}getSchema(e){return this.config.getSchema(this,e)}getTemplate(e,t,n=this.config.templateDefaultOptions){return this.config.getTemplate(this,e,t,n)}isValid(e,t,n){return this.config.isValid(this,e,t,n)}resolveAnyOf(e,t,n){return this.config.resolveAnyOf(this,e,t,n)}resolveAllOf(e,t){return this.config.resolveAllOf(this,e,t)}resolveRef(e){return this.config.resolveRef(e,this.rootSchema)}resolveOneOf(e,t,n){return this.config.resolveOneOf(this,e,t,n)}setSchema(e){this.rootSchema=e}step(e,t,n,r){return this.config.step(this,e,t,n,r)}validate(e,t,n){return this.config.validate(this,e,t,n)}}function tp(e,t,n){n.id=n.id||t,e.remotes[t]=e.compileSchema(n)}var tm=n(67142),tg=n.n(tm),ty=n(44091);let tb="[^?/{}*,()#]+",tv=`
3
3
  root ::= ("#" recursion | recursion | (query | pattern) recursion* | "#" SEP? | SEP)
4
4
  recursion ::= (SEP query | pattern)*
5
5