From fc43e71f82f3f7e09574a89d8773e905c783f575 Mon Sep 17 00:00:00 2001 From: bhsd <2545473905@qq.com> Date: Sat, 24 Aug 2024 14:37:27 +0800 Subject: [PATCH] fix(MediaWiki): HTML entity not fragment --- CHANGELOG.md | 6 +++++- dist/main.min.js | 2 +- src/token.ts | 6 +++--- test/parserTests.json | 6 +++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc80409..723d68a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,15 @@ ## 2.17.4 -*2024-08-20* +*2024-08-24* **Added** - [Autocompletion](./README.md#autocompletion) for the `group` attribute of `` and `` in the MediaWiki mode +**Fixed** + +- `#` in an HTML entity should not be regarded as link fragment in the MediaWiki mode + ## 2.17.3 *2024-08-17* diff --git a/dist/main.min.js b/dist/main.min.js index 6cfc848..01d8cd3 100644 --- a/dist/main.min.js +++ b/dist/main.min.js @@ -22,7 +22,7 @@ var z0=Object.create;var vl=Object.defineProperty;var j0=Object.getOwnPropertyDe constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),tt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),tt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],qS=km.concat([tt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),tt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),tt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),bm=new En,wm=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function _r(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}var YS=["FunctionDeclaration"],zS={FunctionDeclaration:_r("function"),ClassDeclaration:_r("class"),ClassExpression:()=>!0,EnumDeclaration:_r("constant"),TypeAliasDeclaration:_r("type"),NamespaceDeclaration:_r("namespace"),VariableDefinition(n,e){n.matchContext(YS)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function xm(n,e){let t=bm.get(e);if(t)return t;let i=[],r=!0;function s(o,l){let a=n.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor($e.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let l=zS[o.name];if(l&&l(o,s)||wm.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of xm(n,o.node))i.push(l);return!1}}),bm.set(e,i),i}var nl=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Sc=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function jS(n){let e=ee(n.state).resolveInner(n.pos,-1);if(Sc.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&nl.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)wm.has(r.name)&&(i=i.concat(xm(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:nl}}function xc(n,e,t){var i;let r=[];for(;;){let s=e.firstChild,o;if((s==null?void 0:s.name)=="VariableName")return r.push(n(s)),{path:r.reverse(),name:t};if((s==null?void 0:s.name)=="MemberExpression"&&((i=o=s.lastChild)===null||i===void 0?void 0:i.name)=="PropertyName")r.push(n(o)),e=s;else return null}}function VS(n){let e=i=>n.state.doc.sliceString(i.from,i.to),t=ee(n.state).resolveInner(n.pos,-1);return t.name=="PropertyName"?xc(e,t.parent,e(t)):(t.name=="."||t.name=="?.")&&t.parent.name=="MemberExpression"?xc(e,t.parent,""):Sc.indexOf(t.name)>-1?null:t.name=="VariableName"||t.to-t.from<20&&nl.test(e(t))?{path:[],name:e(t)}:t.name=="MemberExpression"?xc(e,t,""):n.explicit?{path:[],name:""}:null}function LS(n,e){let t=[],i=new Set;for(let r=0;;r++){for(let o of(Object.getOwnPropertyNames||Object.keys)(n)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(o)||i.has(o))continue;i.add(o);let l;try{l=n[o]}catch(a){continue}t.push({label:o,type:typeof l=="function"?/^[A-Z]/.test(o)?"class":e?"function":"method":e?"variable":"property",boost:-r})}let s=Object.getPrototypeOf(n);if(!s)return t;n=s}}function Sm(n){let e=new Map;return t=>{let i=VS(t);if(!i)return null;let r=n;for(let o of i.path)if(r=r[o],!r)return null;let s=e.get(r);return s||e.set(r,s=LS(r,!i.path.length)),{from:t.pos-i.name.length,options:s,validFor:nl}}}var ri=xi.define({name:"javascript",parser:gm.configure({props:[nn.add({IfStatement:ei({except:/^\s*({|else\b)/}),TryStatement:ei({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:op,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:rp({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":ei({except:/^{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),rn.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Yn,BlockComment(n){return{from:n.from+2,to:n.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Qm={test:n=>/^JSX/.test(n.name),facet:mo({commentTokens:{block:{open:"{/*",close:"*/}"}}})},BS=ri.configure({dialect:"ts"},"typescript"),NS=ri.configure({dialect:"jsx",props:[go.add(n=>n.isTop?[Qm]:void 0)]}),_S=ri.configure({dialect:"jsx ts",props:[go.add(n=>n.isTop?[Qm]:void 0)]},"typescript"),vm=n=>({label:n,type:"keyword"}),Pm="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(vm),IS=Pm.concat(["declare","implements","private","protected","public"].map(vm));function $m(n={}){let e=n.jsx?n.typescript?_S:NS:n.typescript?BS:ri,t=n.typescript?qS.concat(IS):km.concat(Pm);return new ut(e,[ri.data.of({autocomplete:_O(Sc,nc(t))}),ri.data.of({autocomplete:jS}),n.jsx?FS:[]])}function US(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function ym(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}var GS=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),FS=X.inputHandler.of((n,e,t,i,r)=>{if((GS?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!ri.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:o}=s,l=o.changeByRange(a=>{var h;let{head:c}=a,f=ee(o).resolveInner(c-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(c-1,c)!=i||f.name=="JSXAttributeValue"&&f.to>c)){if(i==">"&&f.name=="JSXFragmentTag")return{range:a,changes:{from:c,insert:""}};if(i=="/"&&f.name=="JSXStartCloseTag"){let d=f.parent,O=d.parent;if(O&&d.from==c-2&&((u=ym(o.doc,O.firstChild,c))||((h=O.firstChild)===null||h===void 0?void 0:h.name)=="JSXFragmentTag")){let y=`${u}>`;return{range:R.cursor(c+y.length,-1),changes:{from:c,insert:y}}}}else if(i==">"){let d=US(f);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(u=ym(o.doc,d,c)))return{range:a,changes:{from:c,insert:``}}}}return{range:a}});return l.changes.empty?!1:(n.dispatch([s,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var HS=99,Tm=1,KS=100,JS=101,Zm=2,Cm=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],e1=58,t1=40,Am=95,i1=91,rl=45,n1=46,r1=35,s1=37,o1=38,l1=92,a1=10;function Ir(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function Rm(n){return n>=48&&n<=57}var h1=new Et((n,e)=>{for(let t=!1,i=0,r=0;;r++){let{next:s}=n;if(Ir(s)||s==rl||s==Am||t&&Rm(s))!t&&(s!=rl||r>0)&&(t=!0),i===r&&s==rl&&i++,n.advance();else if(s==l1&&n.peek(1)!=a1)n.advance(),n.next>-1&&n.advance(),t=!0;else{t&&n.acceptToken(s==t1?KS:i==2&&e.canShift(Zm)?Zm:JS);break}}}),c1=new Et(n=>{if(Cm.includes(n.peek(-1))){let{next:e}=n;(Ir(e)||e==Am||e==r1||e==n1||e==i1||e==e1&&Ir(n.peek(1))||e==rl||e==o1)&&n.acceptToken(HS)}}),f1=new Et(n=>{if(!Cm.includes(n.peek(-1))){let{next:e}=n;if(e==s1&&(n.advance(),n.acceptToken(Tm)),Ir(e)){do n.advance();while(Ir(n.next)||Rm(n.next));n.acceptToken(Tm)}}}),u1=wi({"AtKeyword import charset namespace keyframes media supports":k.definitionKeyword,"from to selector":k.keyword,NamespaceName:k.namespace,KeyframeName:k.labelName,KeyframeRangeName:k.operatorKeyword,TagName:k.tagName,ClassName:k.className,PseudoClassName:k.constant(k.className),IdName:k.labelName,"FeatureName PropertyName":k.propertyName,AttributeName:k.attributeName,NumberLiteral:k.number,KeywordQuery:k.keyword,UnaryQueryOp:k.operatorKeyword,"CallTag ValueName":k.atom,VariableName:k.variableName,Callee:k.operatorKeyword,Unit:k.unit,"UniversalSelector NestingSelector":k.definitionOperator,MatchOp:k.compareOperator,"ChildOp SiblingOp, LogicOp":k.logicOperator,BinOp:k.arithmeticOperator,Important:k.modifier,Comment:k.blockComment,ColorLiteral:k.color,"ParenthesizedContent StringLiteral":k.string,":":k.punctuation,"PseudoOp #":k.derefOperator,"; ,":k.separator,"( )":k.paren,"[ ]":k.squareBracket,"{ }":k.brace}),d1={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:138},p1={__proto__:null,"@import":118,"@media":142,"@charset":146,"@namespace":150,"@keyframes":156,"@supports":168},O1={__proto__:null,not:132,only:132},Xm=Ri.deserialize({version:14,states:":^QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[c1,f1,h1,1,2,3,4,new Ai("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:n=>d1[n]||-1},{term:58,get:n=>p1[n]||-1},{term:101,get:n=>O1[n]||-1}],tokenPrec:1200});var Qc=null;function vc(){if(!Qc&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let i in n)i!="cssText"&&i!="cssFloat"&&typeof n[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Qc=e.sort().map(i=>({type:"property",label:i}))}return Qc||[]}var Em=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),Wm=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),m1=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),Xi=/^(\w[\w-]*|-\w[\w-]*|)$/,g1=/^-(-[\w-]*)?$/;function b1(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let i=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var Dm=new En,y1=["Declaration"];function k1(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function Mm(n,e,t){if(e.to-e.from>4096){let i=Dm.get(e);if(i)return i;let r=[],s=new Set,o=e.cursor($e.IncludeAnonymous);if(o.firstChild())do for(let l of Mm(n,o.node,t))s.has(l.label)||(s.add(l.label),r.push(l));while(o.nextSibling());return Dm.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(y1)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let l=n.sliceString(s.from,s.to);r.has(l)||(r.add(l),i.push({label:l,type:"variable"}))}}),i}}var w1=n=>e=>{let{state:t,pos:i}=e,r=ee(t).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Xi};if(r.name=="ValueName")return{from:r.from,options:Wm,validFor:Xi};if(r.name=="PseudoClassName")return{from:r.from,options:Em,validFor:Xi};if(n(r)||(e.explicit||s)&&b1(r,t.doc))return{from:n(r)||s?r.from:i,options:Mm(t.doc,k1(r),n),validFor:g1};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:vc(),validFor:Xi};return{from:r.from,options:m1,validFor:Xi}}if(!e.explicit)return null;let o=r.resolve(i),l=o.childBefore(i);return l&&l.name==":"&&o.name=="PseudoClassSelector"?{from:i,options:Em,validFor:Xi}:l&&l.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:i,options:Wm,validFor:Xi}:o.name=="Block"||o.name=="Styles"?{from:i,options:vc(),validFor:Xi}:null},qm=w1(n=>n.name=="VariableName"),Pc=xi.define({name:"css",parser:Xm.configure({props:[nn.add({Declaration:ei()}),rn.add({"Block KeyframeList":Yn})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});var x1=wi({String:k.string,Number:k.number,"True False":k.bool,PropertyName:k.propertyName,Null:k.null,",":k.separator,"[ ]":k.squareBracket,"{ }":k.brace}),Ym=Ri.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[x1],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var S1=xi.define({name:"json",parser:Ym.configure({props:[nn.add({Object:ei({except:/^\s*\}/}),Array:ei({except:/^\s*\]/})}),rn.add({"Object Array":Yn})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function zm(){return new ut(S1)}function sl(n){n={...$1,...n};var e=n.inline,t=n.tokenHooks,i=n.documentTypes||{},r=n.mediaTypes||{},s=n.mediaFeatures||{},o=n.mediaValueKeywords||{},l=n.propertyKeywords||{},a=n.nonStandardPropertyKeywords||{},h=n.fontProperties||{},c=n.counterDescriptors||{},f=n.colorKeywords||{},u=n.valueKeywords||{},d=n.allowNested,O=n.lineComment,y=n.supportsAtComponent===!0,b=n.highlightNonStandardPropertyKeywords!==!1,Q,S;function T(x,$){return Q=$,x}function A(x,$){var v=x.next();if(t[v]){var V=t[v](x,$);if(V!==!1)return V}if(v=="@")return x.eatWhile(/[\w\\\-]/),T("def",x.current());if(v=="="||(v=="~"||v=="|")&&x.eat("="))return T(null,"compare");if(v=='"'||v=="'")return $.tokenize=C(v),$.tokenize(x,$);if(v=="#")return x.eatWhile(/[\w\\\-]/),T("atom","hash");if(v=="!")return x.match(/^\s*\w*/),T("keyword","important");if(/\d/.test(v)||v=="."&&x.eat(/\d/))return x.eatWhile(/[\w.%]/),T("number","unit");if(v==="-"){if(/[\d.]/.test(x.peek()))return x.eatWhile(/[\w.%]/),T("number","unit");if(x.match(/^-[\w\\\-]*/))return x.eatWhile(/[\w\\\-]/),x.match(/^\s*:/,!1)?T("def","variable-definition"):T("variableName","variable");if(x.match(/^\w+-/))return T("meta","meta")}else return/[,+>*\/]/.test(v)?T(null,"select-op"):v=="."&&x.match(/^-?[_a-z][_a-z0-9-]*/i)?T("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(v)?T(null,v):x.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(x.current())&&($.tokenize=E),T("variableName.function","variable")):/[\w\\\-]/.test(v)?(x.eatWhile(/[\w\\\-]/),T("property","word")):T(null,null)}function C(x){return function($,v){for(var V=!1,se;(se=$.next())!=null;){if(se==x&&!V){x==")"&&$.backUp(1);break}V=!V&&se=="\\"}return(se==x||!V&&x!=")")&&(v.tokenize=null),T("string","string")}}function E(x,$){return x.next(),x.match(/^\s*[\"\')]/,!1)?$.tokenize=null:$.tokenize=C(")"),T(null,"(")}function w(x,$,v){this.type=x,this.indent=$,this.prev=v}function Z(x,$,v,V){return x.context=new w(v,$.indentation()+(V===!1?0:$.indentUnit),x.context),v}function g(x){return x.context.prev&&(x.context=x.context.prev),x.context.type}function I(x,$,v){return G[v.context.type](x,$,v)}function U(x,$,v,V){for(var se=V||1;se>0;se--)v.context=v.context.prev;return I(x,$,v)}function H(x){var $=x.current().toLowerCase();u.hasOwnProperty($)?S="atom":f.hasOwnProperty($)?S="keyword":S="variable"}var G={};return G.top=function(x,$,v){if(x=="{")return Z(v,$,"block");if(x=="}"&&v.context.prev)return g(v);if(y&&/@component/i.test(x))return Z(v,$,"atComponentBlock");if(/^@(-moz-)?document$/i.test(x))return Z(v,$,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(x))return Z(v,$,"atBlock");if(/^@(font-face|counter-style)/i.test(x))return v.stateArg=x,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(x))return"keyframes";if(x&&x.charAt(0)=="@")return Z(v,$,"at");if(x=="hash")S="builtin";else if(x=="word")S="tag";else{if(x=="variable-definition")return"maybeprop";if(x=="interpolation")return Z(v,$,"interpolation");if(x==":")return"pseudo";if(d&&x=="(")return Z(v,$,"parens")}return v.context.type},G.block=function(x,$,v){if(x=="word"){var V=$.current().toLowerCase();return l.hasOwnProperty(V)?(S="property","maybeprop"):a.hasOwnProperty(V)?(S=b?"string.special":"property","maybeprop"):d?(S=$.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(S="error","maybeprop")}else return x=="meta"?"block":!d&&(x=="hash"||x=="qualifier")?(S="error","block"):G.top(x,$,v)},G.maybeprop=function(x,$,v){return x==":"?Z(v,$,"prop"):I(x,$,v)},G.prop=function(x,$,v){if(x==";")return g(v);if(x=="{"&&d)return Z(v,$,"propBlock");if(x=="}"||x=="{")return U(x,$,v);if(x=="(")return Z(v,$,"parens");if(x=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test($.current()))S="error";else if(x=="word")H($);else if(x=="interpolation")return Z(v,$,"interpolation");return"prop"},G.propBlock=function(x,$,v){return x=="}"?g(v):x=="word"?(S="property","maybeprop"):v.context.type},G.parens=function(x,$,v){return x=="{"||x=="}"?U(x,$,v):x==")"?g(v):x=="("?Z(v,$,"parens"):x=="interpolation"?Z(v,$,"interpolation"):(x=="word"&&H($),"parens")},G.pseudo=function(x,$,v){return x=="meta"?"pseudo":x=="word"?(S="variableName.constant",v.context.type):I(x,$,v)},G.documentTypes=function(x,$,v){return x=="word"&&i.hasOwnProperty($.current())?(S="tag",v.context.type):G.atBlock(x,$,v)},G.atBlock=function(x,$,v){if(x=="(")return Z(v,$,"atBlock_parens");if(x=="}"||x==";")return U(x,$,v);if(x=="{")return g(v)&&Z(v,$,d?"block":"top");if(x=="interpolation")return Z(v,$,"interpolation");if(x=="word"){var V=$.current().toLowerCase();V=="only"||V=="not"||V=="and"||V=="or"?S="keyword":r.hasOwnProperty(V)?S="attribute":s.hasOwnProperty(V)?S="property":o.hasOwnProperty(V)?S="keyword":l.hasOwnProperty(V)?S="property":a.hasOwnProperty(V)?S=b?"string.special":"property":u.hasOwnProperty(V)?S="atom":f.hasOwnProperty(V)?S="keyword":S="error"}return v.context.type},G.atComponentBlock=function(x,$,v){return x=="}"?U(x,$,v):x=="{"?g(v)&&Z(v,$,d?"block":"top",!1):(x=="word"&&(S="error"),v.context.type)},G.atBlock_parens=function(x,$,v){return x==")"?g(v):x=="{"||x=="}"?U(x,$,v,2):G.atBlock(x,$,v)},G.restricted_atBlock_before=function(x,$,v){return x=="{"?Z(v,$,"restricted_atBlock"):x=="word"&&v.stateArg=="@counter-style"?(S="variable","restricted_atBlock_before"):I(x,$,v)},G.restricted_atBlock=function(x,$,v){return x=="}"?(v.stateArg=null,g(v)):x=="word"?(v.stateArg=="@font-face"&&!h.hasOwnProperty($.current().toLowerCase())||v.stateArg=="@counter-style"&&!c.hasOwnProperty($.current().toLowerCase())?S="error":S="property","maybeprop"):"restricted_atBlock"},G.keyframes=function(x,$,v){return x=="word"?(S="variable","keyframes"):x=="{"?Z(v,$,"top"):I(x,$,v)},G.at=function(x,$,v){return x==";"?g(v):x=="{"||x=="}"?U(x,$,v):(x=="word"?S="tag":x=="hash"&&(S="builtin"),"at")},G.interpolation=function(x,$,v){return x=="}"?g(v):x=="{"||x==";"?U(x,$,v):(x=="word"?S="variable":x!="variable"&&x!="("&&x!=")"&&(S="error"),"interpolation")},{name:n.name,startState:function(){return{tokenize:null,state:e?"block":"top",stateArg:null,context:new w(e?"block":"top",0,null)}},token:function(x,$){if(!$.tokenize&&x.eatSpace())return null;var v=($.tokenize||A)(x,$);return v&&typeof v=="object"&&(Q=v[1],v=v[0]),S=v,Q!="comment"&&($.state=G[$.state](Q,x,$)),S},indent:function(x,$,v){var V=x.context,se=$&&$.charAt(0),ue=V.indent;return V.type=="prop"&&(se=="}"||se==")")&&(V=V.prev),V.prev&&(se=="}"&&(V.type=="block"||V.type=="top"||V.type=="interpolation"||V.type=="restricted_atBlock")?(V=V.prev,ue=V.indent):(se==")"&&(V.type=="parens"||V.type=="atBlock_parens")||se=="{"&&(V.type=="at"||V.type=="atBlock"))&&(ue=Math.max(0,V.indent-v.unit))),ue},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:O,block:{open:"/*",close:"*/"}},autocomplete:P1}}}function _t(n){for(var e={},t=0;t!?|~^@]/,a=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(p){for(var m=!1,P,D=!1;(P=p.next())!=null;){if(!m){if(P=="/"&&!D)return;P=="["?D=!0:D&&P=="]"&&(D=!1)}m=!m&&P=="\\"}}var c,f;function u(p,m,P){return c=p,f=P,m}function d(p,m){var P=p.next();if(P=='"'||P=="'")return m.tokenize=O(P),m.tokenize(p,m);if(P=="."&&p.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return u("number","number");if(P=="."&&p.match(".."))return u("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(P))return u(P);if(P=="="&&p.eat(">"))return u("=>","operator");if(P=="0"&&p.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return u("number","number");if(/\d/.test(P))return p.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),u("number","number");if(P=="/")return p.eat("*")?(m.tokenize=y,y(p,m)):p.eat("/")?(p.skipToEnd(),u("comment","comment")):Y0(p,m,1)?(h(p),p.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),u("regexp","string.special")):(p.eat("="),u("operator","operator",p.current()));if(P=="`")return m.tokenize=b,b(p,m);if(P=="#"&&p.peek()=="!")return p.skipToEnd(),u("meta","meta");if(P=="#"&&p.eatWhile(s))return u("variable","property");if(P=="<"&&p.match("!--")||P=="-"&&p.match("->")&&!/\S/.test(p.string.slice(0,p.start)))return p.skipToEnd(),u("comment","comment");if(l.test(P))return(P!=">"||!m.lexical||m.lexical.type!=">")&&(p.eat("=")?(P=="!"||P=="=")&&p.eat("="):/[<>*+\-|&?]/.test(P)&&(p.eat(P),P==">"&&p.eat(P))),P=="?"&&p.eat(".")?u("."):u("operator","operator",p.current());if(s.test(P)){p.eatWhile(s);var D=p.current();if(m.lastType!="."){if(o.propertyIsEnumerable(D)){var B=o[D];return u(B.type,B.style,D)}if(D=="async"&&p.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return u("async","keyword",D)}return u("variable","variable",D)}}function O(p){return function(m,P){var D=!1,B;if(t&&m.peek()=="@"&&m.match(a))return P.tokenize=d,u("jsonld-keyword","meta");for(;(B=m.next())!=null&&!(B==p&&!D);)D=!D&&B=="\\";return D||(P.tokenize=d),u("string","string")}}function y(p,m){for(var P=!1,D;D=p.next();){if(D=="/"&&P){m.tokenize=d;break}P=D=="*"}return u("comment","comment")}function b(p,m){for(var P=!1,D;(D=p.next())!=null;){if(!P&&(D=="`"||D=="$"&&p.eat("{"))){m.tokenize=d;break}P=!P&&D=="\\"}return u("quasi","string.special",p.current())}var Q="([{}])";function S(p,m){m.fatArrowAt&&(m.fatArrowAt=null);var P=p.string.indexOf("=>",p.start);if(!(P<0)){if(r){var D=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(p.string.slice(p.start,P));D&&(P=D.index)}for(var B=0,re=!1,pe=P-1;pe>=0;--pe){var lt=p.string.charAt(pe),gt=Q.indexOf(lt);if(gt>=0&><3){if(!B){++pe;break}if(--B==0){lt=="("&&(re=!0);break}}else if(gt>=3&><6)++B;else if(s.test(lt))re=!0;else if(/["'\/`]/.test(lt))for(;;--pe){if(pe==0)return;var Kn=p.string.charAt(pe-1);if(Kn==lt&&p.string.charAt(pe-2)!="\\"){pe--;break}}else if(re&&!B){++pe;break}}re&&!B&&(m.fatArrowAt=pe)}}var T={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function A(p,m,P,D,B,re){this.indented=p,this.column=m,this.type=P,this.prev=B,this.info=re,D!=null&&(this.align=D)}function C(p,m){for(var P=p.localVars;P;P=P.next)if(P.name==m)return!0;for(var D=p.context;D;D=D.prev)for(var P=D.vars;P;P=P.next)if(P.name==m)return!0}function E(p,m,P,D,B){var re=p.cc;for(w.state=p,w.stream=B,w.marked=null,w.cc=re,w.style=m,p.lexical.hasOwnProperty("align")||(p.lexical.align=!0);;){var pe=re.length?re.pop():i?ae:we;if(pe(P,D)){for(;re.length&&re[re.length-1].lex;)re.pop()();return w.marked?w.marked:P=="variable"&&C(p,D)?"variableName.local":m}}}var w={state:null,column:null,marked:null,cc:null};function Z(){for(var p=arguments.length-1;p>=0;p--)w.cc.push(arguments[p])}function g(){return Z.apply(null,arguments),!0}function I(p,m){for(var P=m;P;P=P.next)if(P.name==p)return!0;return!1}function U(p){var m=w.state;if(w.marked="def",m.context){if(m.lexical.info=="var"&&m.context&&m.context.block){var P=H(p,m.context);if(P!=null){m.context=P;return}}else if(!I(p,m.localVars)){m.localVars=new $(p,m.localVars);return}}n.globalVars&&!I(p,m.globalVars)&&(m.globalVars=new $(p,m.globalVars))}function H(p,m){if(m)if(m.block){var P=H(p,m.prev);return P?P==m.prev?m:new x(P,m.vars,!0):null}else return I(p,m.vars)?m:new x(m.prev,new $(p,m.vars),!1);else return null}function G(p){return p=="public"||p=="private"||p=="protected"||p=="abstract"||p=="readonly"}function x(p,m,P){this.prev=p,this.vars=m,this.block=P}function $(p,m){this.name=p,this.next=m}var v=new $("this",new $("arguments",null));function V(){w.state.context=new x(w.state.context,w.state.localVars,!1),w.state.localVars=v}function se(){w.state.context=new x(w.state.context,w.state.localVars,!0),w.state.localVars=null}V.lex=se.lex=!0;function ue(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}ue.lex=!0;function N(p,m){var P=function(){var D=w.state,B=D.indented;if(D.lexical.type=="stat")B=D.lexical.indented;else for(var re=D.lexical;re&&re.type==")"&&re.align;re=re.prev)B=re.indented;D.lexical=new A(B,w.stream.column(),p,null,D.lexical,m)};return P.lex=!0,P}function _(){var p=w.state;p.lexical.prev&&(p.lexical.type==")"&&(p.indented=p.lexical.indented),p.lexical=p.lexical.prev)}_.lex=!0;function J(p){function m(P){return P==p?g():p==";"||P=="}"||P==")"||P=="]"?Z():g(m)}return m}function we(p,m){return p=="var"?g(N("vardef",m),Sl,J(";"),_):p=="keyword a"?g(N("form"),yl,we,_):p=="keyword b"?g(N("form"),we,_):p=="keyword d"?w.stream.match(/^\s*$/,!1)?g():g(N("stat"),pn,J(";"),_):p=="debugger"?g(J(";")):p=="{"?g(N("}"),se,cs,_,ue):p==";"?g():p=="if"?(w.state.lexical.info=="else"&&w.state.cc[w.state.cc.length-1]==_&&w.state.cc.pop()(),g(N("form"),yl,we,_,nf)):p=="function"?g(ai):p=="for"?g(N("form"),se,rf,we,ue,_):p=="class"||r&&m=="interface"?(w.marked="keyword",g(N("form",p=="class"?p:m),of,_)):p=="variable"?r&&m=="declare"?(w.marked="keyword",g(we)):r&&(m=="module"||m=="enum"||m=="type")&&w.stream.match(/^\s*\w/,!1)?(w.marked="keyword",m=="enum"?g(hf):m=="type"?g(sf,J("operator"),de,J(";")):g(N("form"),$t,J("{"),N("}"),cs,_,_)):r&&m=="namespace"?(w.marked="keyword",g(N("form"),ae,we,_)):r&&m=="abstract"?(w.marked="keyword",g(we)):g(N("stat"),k0):p=="switch"?g(N("form"),yl,J("{"),N("}","switch"),se,cs,_,_,ue):p=="case"?g(ae,J(":")):p=="default"?g(J(":")):p=="catch"?g(N("form"),V,oi,we,_,ue):p=="export"?g(N("stat"),X0,_):p=="import"?g(N("stat"),E0,_):p=="async"?g(we):m=="@"?g(ae,we):Z(N("stat"),ae,J(";"),_)}function oi(p){if(p=="(")return g(Yi,J(")"))}function ae(p,m){return Hc(p,m,!1)}function _e(p,m){return Hc(p,m,!0)}function yl(p){return p!="("?Z():g(N(")"),pn,J(")"),_)}function Hc(p,m,P){if(w.state.fatArrowAt==w.stream.start){var D=P?Jc:Kc;if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,J("=>"),D,ue);if(p=="variable")return Z(V,$t,J("=>"),D,ue)}var B=P?On:Mi;return T.hasOwnProperty(p)?g(B):p=="function"?g(ai,B):p=="class"||r&&m=="interface"?(w.marked="keyword",g(N("form"),R0,_)):p=="keyword c"||p=="async"?g(P?_e:ae):p=="("?g(N(")"),pn,J(")"),_,B):p=="operator"||p=="spread"?g(P?_e:ae):p=="["?g(N("]"),D0,_,B):p=="{"?Fn(hs,"}",null,B):p=="quasi"?Z(as,B):p=="new"?g(g0(P)):g()}function pn(p){return p.match(/[;\}\)\],]/)?Z():Z(ae)}function Mi(p,m){return p==","?g(pn):On(p,m,!1)}function On(p,m,P){var D=P==!1?Mi:On,B=P==!1?ae:_e;if(p=="=>")return g(V,P?Jc:Kc,ue);if(p=="operator")return/\+\+|--/.test(m)||r&&m=="!"?g(D):r&&m=="<"&&w.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?g(N(">"),Ye(de,">"),_,D):m=="?"?g(ae,J(":"),B):g(B);if(p=="quasi")return Z(as,D);if(p!=";"){if(p=="(")return Fn(_e,")","call",D);if(p==".")return g(w0,D);if(p=="[")return g(N("]"),pn,J("]"),_,D);if(r&&m=="as")return w.marked="keyword",g(de,D);if(p=="regexp")return w.state.lastType=w.marked="operator",w.stream.backUp(w.stream.pos-w.stream.start-1),g(B)}}function as(p,m){return p!="quasi"?Z():m.slice(m.length-2)!="${"?g(as):g(pn,m0)}function m0(p){if(p=="}")return w.marked="string.special",w.state.tokenize=b,g(as)}function Kc(p){return S(w.stream,w.state),Z(p=="{"?we:ae)}function Jc(p){return S(w.stream,w.state),Z(p=="{"?we:_e)}function g0(p){return function(m){return m=="."?g(p?y0:b0):m=="variable"&&r?g($0,p?On:Mi):Z(p?_e:ae)}}function b0(p,m){if(m=="target")return w.marked="keyword",g(Mi)}function y0(p,m){if(m=="target")return w.marked="keyword",g(On)}function k0(p){return p==":"?g(_,we):Z(Mi,J(";"),_)}function w0(p){if(p=="variable")return w.marked="property",g()}function hs(p,m){if(p=="async")return w.marked="property",g(hs);if(p=="variable"||w.style=="keyword"){if(w.marked="property",m=="get"||m=="set")return g(x0);var P;return r&&w.state.fatArrowAt==w.stream.start&&(P=w.stream.match(/^\s*:\s*/,!1))&&(w.state.fatArrowAt=w.stream.pos+P[0].length),g(qi)}else{if(p=="number"||p=="string")return w.marked=t?"property":w.style+" property",g(qi);if(p=="jsonld-keyword")return g(qi);if(r&&G(m))return w.marked="keyword",g(hs);if(p=="[")return g(ae,mn,J("]"),qi);if(p=="spread")return g(_e,qi);if(m=="*")return w.marked="keyword",g(hs);if(p==":")return Z(qi)}}function x0(p){return p!="variable"?Z(qi):(w.marked="property",g(ai))}function qi(p){if(p==":")return g(_e);if(p=="(")return Z(ai)}function Ye(p,m,P){function D(B,re){if(P?P.indexOf(B)>-1:B==","){var pe=w.state.lexical;return pe.info=="call"&&(pe.pos=(pe.pos||0)+1),g(function(lt,gt){return lt==m||gt==m?Z():Z(p)},D)}return B==m||re==m?g():P&&P.indexOf(";")>-1?Z(p):g(J(m))}return function(B,re){return B==m||re==m?g():Z(p,D)}}function Fn(p,m,P){for(var D=3;D"),de);if(p=="quasi")return Z(wl,Ut)}function v0(p){if(p=="=>")return g(de)}function kl(p){return p.match(/[\}\)\]]/)?g():p==","||p==";"?g(kl):Z(Hn,kl)}function Hn(p,m){if(p=="variable"||w.style=="keyword")return w.marked="property",g(Hn);if(m=="?"||p=="number"||p=="string")return g(Hn);if(p==":")return g(de);if(p=="[")return g(J("variable"),S0,J("]"),Hn);if(p=="(")return Z(bn,Hn);if(!p.match(/[;\}\)\],]/))return g()}function wl(p,m){return p!="quasi"?Z():m.slice(m.length-2)!="${"?g(wl):g(de,P0)}function P0(p){if(p=="}")return w.marked="string.special",w.state.tokenize=b,g(wl)}function xl(p,m){return p=="variable"&&w.stream.match(/^\s*[?:]/,!1)||m=="?"?g(xl):p==":"?g(de):p=="spread"?g(xl):Z(de)}function Ut(p,m){if(m=="<")return g(N(">"),Ye(de,">"),_,Ut);if(m=="|"||p=="."||m=="&")return g(de);if(p=="[")return g(de,J("]"),Ut);if(m=="extends"||m=="implements")return w.marked="keyword",g(de);if(m=="?")return g(de,J(":"),de)}function $0(p,m){if(m=="<")return g(N(">"),Ye(de,">"),_,Ut)}function fs(){return Z(de,T0)}function T0(p,m){if(m=="=")return g(de)}function Sl(p,m){return m=="enum"?(w.marked="keyword",g(hf)):Z($t,mn,li,C0)}function $t(p,m){if(r&&G(m))return w.marked="keyword",g($t);if(p=="variable")return U(m),g();if(p=="spread")return g($t);if(p=="[")return Fn(Z0,"]");if(p=="{")return Fn(tf,"}")}function tf(p,m){return p=="variable"&&!w.stream.match(/^\s*:/,!1)?(U(m),g(li)):(p=="variable"&&(w.marked="property"),p=="spread"?g($t):p=="}"?Z():p=="["?g(ae,J("]"),J(":"),tf):g(J(":"),$t,li))}function Z0(){return Z($t,li)}function li(p,m){if(m=="=")return g(_e)}function C0(p){if(p==",")return g(Sl)}function nf(p,m){if(p=="keyword b"&&m=="else")return g(N("form","else"),we,_)}function rf(p,m){if(m=="await")return g(rf);if(p=="(")return g(N(")"),A0,_)}function A0(p){return p=="var"?g(Sl,gn):p=="variable"?g(gn):Z(gn)}function gn(p,m){return p==")"?g():p==";"?g(gn):m=="in"||m=="of"?(w.marked="keyword",g(ae,gn)):Z(ae,gn)}function ai(p,m){if(m=="*")return w.marked="keyword",g(ai);if(p=="variable")return U(m),g(ai);if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,ef,we,ue);if(r&&m=="<")return g(N(">"),Ye(fs,">"),_,ai)}function bn(p,m){if(m=="*")return w.marked="keyword",g(bn);if(p=="variable")return U(m),g(bn);if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,ef,ue);if(r&&m=="<")return g(N(">"),Ye(fs,">"),_,bn)}function sf(p,m){if(p=="keyword"||p=="variable")return w.marked="type",g(sf);if(m=="<")return g(N(">"),Ye(fs,">"),_)}function Yi(p,m){return m=="@"&&g(ae,Yi),p=="spread"?g(Yi):r&&G(m)?(w.marked="keyword",g(Yi)):r&&p=="this"?g(mn,li):Z($t,mn,li)}function R0(p,m){return p=="variable"?of(p,m):us(p,m)}function of(p,m){if(p=="variable")return U(m),g(us)}function us(p,m){if(m=="<")return g(N(">"),Ye(fs,">"),_,us);if(m=="extends"||m=="implements"||r&&p==",")return m=="implements"&&(w.marked="keyword"),g(r?de:ae,us);if(p=="{")return g(N("}"),Gt,_)}function Gt(p,m){if(p=="async"||p=="variable"&&(m=="static"||m=="get"||m=="set"||r&&G(m))&&w.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return w.marked="keyword",g(Gt);if(p=="variable"||w.style=="keyword")return w.marked="property",g(ds,Gt);if(p=="number"||p=="string")return g(ds,Gt);if(p=="[")return g(ae,mn,J("]"),ds,Gt);if(m=="*")return w.marked="keyword",g(Gt);if(r&&p=="(")return Z(bn,Gt);if(p==";"||p==",")return g(Gt);if(p=="}")return g();if(m=="@")return g(ae,Gt)}function ds(p,m){if(m=="!"||m=="?")return g(ds);if(p==":")return g(de,li);if(m=="=")return g(_e);var P=w.state.lexical.prev,D=P&&P.info=="interface";return Z(D?bn:ai)}function X0(p,m){return m=="*"?(w.marked="keyword",g(Ql,J(";"))):m=="default"?(w.marked="keyword",g(ae,J(";"))):p=="{"?g(Ye(lf,"}"),Ql,J(";")):Z(we)}function lf(p,m){if(m=="as")return w.marked="keyword",g(J("variable"));if(p=="variable")return Z(_e,lf)}function E0(p){return p=="string"?g():p=="("?Z(ae):p=="."?Z(Mi):Z(ps,af,Ql)}function ps(p,m){return p=="{"?Fn(ps,"}"):(p=="variable"&&U(m),m=="*"&&(w.marked="keyword"),g(W0))}function af(p){if(p==",")return g(ps,af)}function W0(p,m){if(m=="as")return w.marked="keyword",g(ps)}function Ql(p,m){if(m=="from")return w.marked="keyword",g(ae)}function D0(p){return p=="]"?g():Z(Ye(_e,"]"))}function hf(){return Z(N("form"),$t,J("{"),N("}"),Ye(M0,"}"),_,_)}function M0(){return Z($t,li)}function q0(p,m){return p.lastType=="operator"||p.lastType==","||l.test(m.charAt(0))||/[,.]/.test(m.charAt(0))}function Y0(p,m,P){return m.tokenize==d&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(m.lastType)||m.lastType=="quasi"&&/\{\s*$/.test(p.string.slice(0,p.pos-(P||0)))}return{name:n.name,startState:function(p){var m={tokenize:d,lastType:"sof",cc:[],lexical:new A(-p,0,"block",!1),localVars:n.localVars,context:n.localVars&&new x(null,null,!1),indented:0};return n.globalVars&&typeof n.globalVars=="object"&&(m.globalVars=n.globalVars),m},token:function(p,m){if(p.sol()&&(m.lexical.hasOwnProperty("align")||(m.lexical.align=!1),m.indented=p.indentation(),S(p,m)),m.tokenize!=y&&p.eatSpace())return null;var P=m.tokenize(p,m);return c=="comment"?P:(m.lastType=c=="operator"&&(f=="++"||f=="--")?"incdec":c,E(m,P,c,f,p))},indent:function(p,m,P){if(p.tokenize==y||p.tokenize==b)return null;if(p.tokenize!=d)return 0;var D=m&&m.charAt(0),B=p.lexical,re;if(!/^\s*else\b/.test(m))for(var pe=p.cc.length-1;pe>=0;--pe){var lt=p.cc[pe];if(lt==_)B=B.prev;else if(lt!=nf&<!=ue)break}for(;(B.type=="stat"||B.type=="form")&&(D=="}"||(re=p.cc[p.cc.length-1])&&(re==Mi||re==On)&&!/^[,\.=+\-*:?[\(]/.test(m));)B=B.prev;e&&B.type==")"&&B.prev.type=="stat"&&(B=B.prev);var gt=B.type,Kn=D==gt;return gt=="vardef"?B.indented+(p.lastType=="operator"||p.lastType==","?B.info.length+1:0):gt=="form"&&D=="{"?B.indented:gt=="form"?B.indented+P.unit:gt=="stat"?B.indented+(q0(p,m)?e||P.unit:0):B.info=="switch"&&!Kn&&n.doubleIndentSwitch!=!1?B.indented+(/^(?:case|default)\b/.test(m)?P.unit:2*P.unit):B.align?B.column+(Kn?0:1):B.indented+(Kn?0:P.unit)},languageData:{indentOnInput:/^\s*(?:case .*?:|default:|\{|\})$/,commentTokens:i?void 0:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]},wordChars:"$"}}}var Km=dl({name:"javascript"}),Ev=dl({name:"json",json:!0}),Wv=dl({name:"json",jsonld:!0}),Dv=dl({name:"typescript",typescript:!0});function T1(n){return new RegExp("^(?:"+n.join("|")+")","i")}function pl(n){return new RegExp("^(?:"+n.join("|")+")$","i")}var Z1=pl(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),C1=pl(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),A1=pl(["function","if","repeat","do","\\(","{"]),R1=pl(["end","until","\\)","}"]),X1=T1(["end","until","\\)","}","else","elseif"]);function Jm(n){for(var e=0;n.eat("=");)++e;return n.eat("["),e}function Tc(n,e){var t=n.next();return t=="-"&&n.eat("-")?n.eat("[")&&n.eat("[")?(e.cur=eg(Jm(n),"comment"))(n,e):(n.skipToEnd(),"comment"):t=='"'||t=="'"?(e.cur=E1(t))(n,e):t=="["&&/[\[=]/.test(n.peek())?(e.cur=eg(Jm(n),"string"))(n,e):/\d/.test(t)?(n.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(n.eatWhile(/[\w\\\-_.]/),"variable"):null}function eg(n,e){return function(t,i){for(var r=null,s;(s=t.next())!=null;)if(r==null)s=="]"&&(r=0);else if(s=="=")++r;else if(s=="]"&&r==n){i.cur=Tc;break}else r=null;return e}}function E1(n){return function(e,t){for(var i=!1,r;(r=e.next())!=null&&!(r==n&&!i);)i=!i&&r=="\\";return i||(t.cur=Tc),"string"}}var tg={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:Tc}},token:function(n,e){if(n.eatSpace())return null;var t=e.cur(n,e),i=n.current();return t=="variable"&&(C1.test(i)?t="keyword":Z1.test(i)&&(t="builtin")),t!="comment"&&t!="string"&&(A1.test(i)?++e.indentDepth:R1.test(i)&&--e.indentDepth),t},indent:function(n,e,t){var i=X1.test(e);return n.basecol+t.unit*(n.indentDepth-(i?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};var W1=()=>[$m(),ri.data.of({autocomplete:Sm(window)})],D1=()=>new ut(Pc,Pc.data.of({autocomplete(n){let{state:e,pos:t}=n,i=ee(e).resolveInner(t,-1),r=qm(n);if(r&&i.name==="ValueName"){let s=[{label:"revert",type:"keyword"},...r.options],{prevSibling:o}=i;for(;o&&o.name!=="PropertyName";)({prevSibling:o}=o);if(o)for(let[l,a]of s.entries())CSS.supports(e.sliceDoc(o.from,i.from)+a.label)&&s.splice(l,1,{...a,boost:50});r.options=s}return r}}));var Cc=class{constructor(e){this.tags=e,this.firstSingleLetterWord=null,this.firstMultiLetterWord=null,this.firstSpace=null,this.readyTokens=[],this.oldToken=null,this.mark=null}},Gr=(n,e,t)=>n.nTemplate===e.nTemplate&&n.nExt===e.nExt&&n.nVar===e.nVar&&n.nLink===e.nLink&&n.nExtLink===e.nExtLink&&n.extName===e.extName&&(t||n.extName!=="mediawiki"||Gr(n.extState,e.extState)),M1=(n,e)=>{n.nTemplate=e.nTemplate,n.nExt=e.nExt,n.nVar=e.nVar,n.nLink=e.nLink,n.nExtLink=e.nExtLink,n.extName=e.extName},Ur=(n,e)=>{let t=e.tokenize(n,e);return Array.isArray(t)?t[0]:t},hn=(n,e)=>({tokenize:n,stack:[],inHtmlTag:[],extName:!1,extMode:!1,extState:!1,nTemplate:0,nExt:0,nVar:0,nLink:0,nExtLink:0,lbrack:!1,bold:!1,italic:!1,dt:{n:0,html:0},redirect:!1,data:new Cc(e)}),Ol=n=>{let e={};for(let t in n){let i=n[t];Array.isArray(i)?e[t]=[...i]:t==="extState"?e.extState=(n.extName&&n.extMode&&n.extMode.copyState||Ol)(i):e[t]=t!=="data"&&i&&typeof i=="object"?{...i}:i}return e},Zc=typeof document=="object"&&document.createElement("span"),q1=n=>!Zc||n.startsWith("#")?!0:(Zc.innerHTML=`&${n}`,[...Zc.textContent].length===1),be=(n,e)=>{n.stack.unshift(n.tokenize),n.tokenize=e},Qe=n=>{n.tokenize=n.stack.shift()},cn=(n,e,t)=>n.sol()&&(e&&n.match(/^\s*(?::+\s*)?\{\|/u,!1)||n.match(/^(?:-{4}|=)/u,!1)||!t&&/[*#;:]/u.test(n.peek()||"")),Te=(n,e)=>{let t={"'":"'(?!')","{":String.raw`\{(?!\{)`,"}":String.raw`\}(?!\})`,"<":e?"<(?!!--)":"<(?!!--|/?[a-z])","~":"~~?(?!~)",_:"_(?!_)","[":String.raw`\[(?!\[)`,"]":String.raw`\](?!\])`,"/":"/(?!>)","-":String.raw`-(?!\{(?!\{))`};return typeof e=="object"&&(t["<"]=String.raw`<(?!!--|onlyinclude>|(?:${e.data.tags.slice(0,-1).join("|")})(?:[\s/>]|$))`),[...n].map(i=>t[i]).join("|")},Zg=(n="")=>{let e="~{'";return String.raw`[^&${e}\p{Zs}[\]<>"${n}]|&(?![lg]t;)|${Te(e)}`},Cg=n=>String.raw`.,;:!?\\${n?"":")"}`,ig=n=>{let e=Cg(n),t=Zg(e);return new RegExp(`^(?:${t}|[${e}]+(?=${t}))*`,"u")},Pe=(n,e)=>function(...t){let i=n.apply(this,t);return Object.defineProperty(i,"name",{value:e.name}),i.args=t,i},ng=(n,e)=>{var t;return typeof n=="string"?n:`${n[0]} ${e.bold||(t=e.dt)!=null&&t.n?Y.strong:""} ${e.italic?Y.em:""}`},si=(n,e,t)=>Me(Y[n],e,t),Me=(n,e,t)=>[Re(n,e,t)],q=(n,e,t)=>Re(Y[n],e,t),Re=(n,e,t)=>{let i="";switch(e.nTemplate){case 0:break;case 1:i+="-template";break;case 2:i+="-template2";break;default:i+="-template3";break}switch(e.nExt){case 0:break;case 1:i+="-ext";break;case 2:i+="-ext2";break;default:i+="-ext3";break}if((e.nLink||e.nExtLink)&&(i+="-link"),t){e[t]--;let{dt:r}=e;r!=null&&r.n&&e[t]{let t=n.pos,i=n.string.slice(0,t-3),r=i.slice(-1),s=i.slice(-2,-1),{data:o}=e;if(r===" "){if(o.firstMultiLetterWord||o.firstSpace)return;o.firstSpace=t}else if(s===" ")o.firstSingleLetterWord=t;else{if(o.firstMultiLetterWord)return;o.firstMultiLetterWord=t}o.mark=t},z1=new Set(["syntaxhighlight","source","pre"]),rg,sg,og,lg,ag,hg,cg,fg,ug,dg,pg,Og,mg,gg,bg,yg,kg,wg,xg,Sg,Qg,vg,Pg,$g,Tg,ke;Tg=[Pe],$g=[Pe],Pg=[Pe],vg=[Pe],Qg=[Pe],Sg=[Pe],xg=[Pe],wg=[Pe],kg=[Pe],yg=[Pe],bg=[Pe],gg=[Pe],mg=[Pe],Og=[Pe],pg=[Pe],dg=[Pe],ug=[Pe],fg=[Pe],cg=[Pe],hg=[Pe],ag=[Pe],lg=[Pe],og=[Pe],sg=[Pe],rg=[Pe];var fe=class{constructor(e){pf(ke,5,this);var a,h,c;let{urlProtocols:t,permittedHtmlTags:i,implicitlyClosedHtmlTags:r,tags:s,nsid:o,redirection:l=["#REDIRECT"]}=e;this.config=e,this.tokenTable={...sm},this.hiddenTable={},this.permittedHtmlTags=new Set([...Jo,...i!=null?i:[]]),this.implicitlyClosedHtmlTags=new Set([...el,...r!=null?r:[]]),this.urlProtocols=new RegExp(String.raw`^(?:${t})(?=[^\p{Zs}[\]<>"])`,"iu"),this.linkRegex=new RegExp(String.raw`^\[(?!${e.urlProtocols})\s*`,"iu"),this.fileRegex=new RegExp(String.raw`^(?:${Object.entries(o).filter(([,f])=>f===6).map(([f])=>f).join("|")})\s*:`,"iu"),this.redirectRegex=new RegExp(String.raw`^(?:${l.map(f=>f.slice(1)).join("|")})(?:\s*:)?\s*(?=\[\[)`,"iu"),this.img=Object.keys((a=e.img)!=null?a:{}).filter(f=>!/\$1./u.test(f)),this.imgRegex=new RegExp(String.raw`^(?:${this.img.filter(f=>f.endsWith("$1")).map(f=>f.slice(0,-2)).join("|")}|(?:${this.img.filter(f=>!f.endsWith("$1")).join("|")}|(?:\d+x?|\d*x\d+)\s*(?:px)?px)\s*(?=\||\]\]|$))`,"u"),this.headerRegex=new RegExp(`^(?:[^&[<{~'-]|${Te("<{~'-")})+`,"iu"),this.tags=[...Object.keys(s),"includeonly","noinclude","onlyinclude"],this.templateRegex=new RegExp(`^(?:[^|{}<]|${Te("{}<",!0)})+`,"u"),this.argumentRegex=new RegExp(`^(?:[^|[&:}{<~'_-]|${Te("}{<~'_-")})+`,"iu"),this.convertSemicolon=new RegExp(String.raw`^;\s*(?=(?:[^;]*?=>\s*)?(?:${(h=e.variants)==null?void 0:h.join("|")})\s*:|(?:$|\}-))`,"u"),this.convertLang=new RegExp(String.raw`^(?:=>\s*)?(?:${(c=this.config.variants)==null?void 0:c.join("|")})\s*:`,"u"),this.convertRegex=new RegExp(String.raw`^(?:[^};&='{[<~_-]|\}(?!-)|=(?!>)|${Te("'{[<~_-")})+`,"u"),this.wikiRegex=new RegExp(`^(?:[^&'{[<~_:-]|${Te("'{[<~_-")})+`,"u"),this.tableDefinitionRegex=new RegExp(`^(?:[^&={r.match(e,!!t)?(Qe(s),t?q(t,s):""):(r.skipTo(e)||r.skipToEnd(),q(i,s))}eatWikiText(e){e in Y&&(e=Y[e]);let t=/^(?:(?:RFC|PMID)[\p{Zs}\t]+\d+|ISBN[\p{Zs}\t]+(?:97[89][\p{Zs}\t-]?)?(?:\d[\p{Zs}\t-]?){9}[\dxX])\b/u;return(i,r)=>{var l;let s;if(i.eol())return"";if(i.sol()){if(i.match("//"))return Me(e,r);if(i.match(t))return si("magicLink",r);let a=i.match(this.urlProtocols,!1);if(a)return be(r,this.eatExternalLinkProtocol(a[0])),"";s=i.next();let h=["inTemplateArgument","inParserFunctionArgument","inVariable"].includes(r.tokenize.name),c=String.raw`${h?"":String.raw`\||`}\{(?:\{\s*|\s*\()!\s*\}\}`;switch(s){case"#":if(i.match(this.redirectRegex))return r.redirect=!0,Y.redirect;case";":case"*":return i.backUp(1),this.eatList(i,r);case":":return i.match(new RegExp(String.raw`^:*\s*(?=\{(?:${c}))`,"u"))?(be(r,this.eatStartTable),q("list",r)):this.eatList(i,r);case"=":{let f=i.match(/^(={0,5})(.+?(=\1\s*)(?:\s*\S).*)?)$/u);if(f)return i.backUp(f[2].length),be(r,this.inSectionHeader(f[3])),Re(`${Y.sectionHeader} mw-section--${f[1].length+1}`,r);break}case"{":if(i.match(new RegExp(String.raw`^(?:${c})\s*`,"u")))return be(r,this.inTableDefinition()),q("tableBracket",r);break;case"-":if(i.match(/^-{3,}/u))return Y.hr;break;default:if(/\s/u.test(s)){let f=new RegExp(String.raw`^\s*(:+\s*)?(?=\{(?:${c}))`,"u"),u=new RegExp(String.raw`^\s*#${this.redirectRegex.source.slice(1)}`,"iu"),d=i.match(f);if(d)return be(r,this.eatStartTable),Re(d[1]?Y.list:"",r);if(i.match(u))return r.redirect=!0,Y.redirect;if(s===" ")return Y.skipFormatting}}}else s=i.next();let{dt:o}=r;switch(s){case"~":if(i.match(/^~{2,4}/u))return Y.signature;break;case"<":{if(i.match("!--"))return be(r,this.inComment),q("comment",r);let a=!!i.eat("/"),h=i.match(/^([a-z][^\s/>]*)>?/iu,!1);if(h){let c=h[1].toLowerCase();if(h[0]==="onlyinclude>"||c!=="onlyinclude"&&r.data.tags.includes(c))return a?(be(r,this.inStr(">","error")),q("error",r)):(be(r,this.eatTagName(c)),q("extTagBracket",r));if(this.permittedHtmlTags.has(c)){if(a)if(o.n&&o.html&&o.html--,c===r.inHtmlTag[0])r.inHtmlTag.shift();else{be(r,this.inStr(">","error"));let f=r.inHtmlTag.lastIndexOf(c);return f!==-1&&r.inHtmlTag.splice(f,1),q("error",r)}return be(r,this.eatTagName(c,a,!0)),q("htmlTagBracket",r)}}break}case"{":if(i.match(/^\{\{(?!\{|[^{}]*\}\}(?!\}))\s*/u))return r.nVar++,be(r,this.inVariable()),q("templateVariableBracket",r);if(i.match(/^\{(?!\{(?!\{))\s*/u))return this.eatTransclusion(i,r);break;case"_":{let{pos:a}=i;switch(i.eatWhile("_"),i.pos-a){case 0:break;case 1:return this.eatDoubleUnderscore(e,i,r);default:return i.eol()||i.backUp(2),Me(e,r)}break}case"[":if(i.match(this.linkRegex)){let{redirect:a}=r;if(a||/[^[\]|]/u.test(i.peek()||""))return r.nLink++,r.lbrack=void 0,be(r,this.inLink(!a&&!!i.match(this.fileRegex,!1))),q("linkBracket",r);if(i.match("]]"))return Me(e,r)}else{let a=i.match(this.urlProtocols,!1);if(a)return r.nExtLink++,be(r,this.eatExternalLinkProtocol(a[0],!1)),q("extLinkBracket",r)}break;case"'":{let a=this.eatApostrophes(r)(i,r);if(a)return a;break}case":":if(o.n&&o.html===0&&!r.bold&&!r.italic&&Gr(o,r,!0))return o.n--,q("list",r);break;case"&":return Me(this.eatEntity(i,e),r);case"-":if((l=this.config.variants)!=null&&l.length&&i.match(/^\{(?!\{)\s*/u))return be(r,this.inConvert(e,!0)),q("convertBracket",r)}if(r.stack.length===0){if(/[^\p{L}\d_]/u.test(s||"")){i.eatWhile(/[^\p{L}\d_&'{[<~:-]/u);let a=i.match(this.urlProtocols,!1);if(a&&!i.match("//"))return be(r,this.eatExternalLinkProtocol(a[0])),Me(e,r);let h=i.match(t,!1);if(h)return be(r,this.inStr(h[0],"magicLink")),Me(e,r)}i.eatWhile(/[\p{L}\d]/u)}return Me(e,r)}}eatApostrophes(e){return(t,i)=>t.match(/^'*(?='{5})/u)||t.match(/^'''(?!')/u,!1)?!1:t.match("''''")?(e.bold=!e.bold,e.italic=!e.italic,q("apostrophes",i)):t.match("''")?(e===i&&i.data.firstSingleLetterWord===null&&Y1(t,i),e.bold=!e.bold,q("apostrophes",i)):t.eat("'")?(e.italic=!e.italic,q("apostrophes",i)):!1}eatExternalLinkProtocol(e,t=!0){return(i,r)=>(i.match(e),r.tokenize=t?this.eatFreeExternalLink:this.inExternalLink(),q(t?"freeExtLinkProtocol":"extLinkProtocol",r))}inExternalLink(e){return(t,i)=>{let r=i.stack[0],s=r.name==="inTemplateArgument"&&r.args[0],o=["inTemplateArgument","inParserFunctionArgument","inVariable","inTableCell"].includes(r.name),l=(o?"|":"")+(s?"=":""),a=t.peek();if(t.sol()||t.match(/^\p{Zs}*\]/u)||o&&a==="|"||s&&a==="=")return Qe(i),q("extLinkBracket",i,"nExtLink");if(e){let h="[{'<-";return t.match(new RegExp(String.raw`^(?:[^\]&${l}${h}]|${Te(h)})+`,"iu"))?si("extLinkText",i):this.eatWikiText("extLinkText")(t,i)}else if(t.match(new RegExp(`^(?:${Zg(l)})+`,"u")))return q("extLink",i);return i.tokenize=this.inExternalLink(!0),""}}get eatFreeExternalLink(){return(e,t)=>{let i=e.match(ig());return!e.eol()&&i[0].includes("(")&&Cg().includes(e.peek())&&e.match(ig(!0)),Qe(t),si("freeExtLink",t)}}inLink(e,t){let i=t?Y[e?"error":"linkToSection"]:`${Y.linkPageName} ${Y.pageName}`,r=t?/^(?:[^|<[\]{}]|<(?!!--|\/?[a-z]))+/iu:/^[^#|<>[\]{}]+/u,s;return(o,l)=>{if(o.sol()||s&&o.pos>s||o.match(/^\s*\]\]/u))return l.redirect=!1,l.lbrack=!1,Qe(l),q("linkBracket",l,"nLink");s=void 0;let a=o.eatSpace(),{redirect:h}=l;if(!t&&o.match(/^#\s*/u))return l.tokenize=this.inLink(e,!0),si(e?"error":"linkToSection",l);if(o.match(/^\|\s*/u))return l.tokenize=this.inLinkText(e),e&&this.toEatImageParameter(o,l),q(h?"error":"linkDelimiter",l);let c;return h?c=/^(?:[<>[{}]|\](?!\]))+/u:t?c=/^(?:[[}]|\](?!\])|\{(?!\{))+/u:c=/^(?:[>[}]|\](?!\])|\{(?!\{)|<(?!!--|\/?[a-z]))+/iu,o.match(c)?si("error",l):h?(o.eatWhile(/[^|\]]/u),Me(i,l)):o.match(r)||a?Me(i,l):(o.match(/^<[/a-z]/iu,!1)&&(s=o.pos+1),this.eatWikiText(t?i:"error")(o,l))}}inLinkText(e,t){let i={bold:!1,italic:!1},r=`]'{<${e?"~":"["}-`,s=new RegExp(`^(?:[^&${e?"[|":""}\\${r}]|${Te(r)})+`,"iu");return(o,l)=>{let a=`${Y[e?"fileText":"linkText"]} ${i.bold?Y.strong:""} ${i.italic?Y.em:""}`,{redirect:h,lbrack:c}=l,f=o.match("]]");if(f||!e&&o.match("[[",!1))return t?Me(a,l):f&&!h&&c&&o.peek()==="]"?(o.backUp(1),l.lbrack=!1,Me(a,l)):(l.redirect=!1,l.lbrack=!1,Qe(l),q("linkBracket",l,"nLink"));if(h)return o.skipTo("]]")||o.skipToEnd(),q("error",l);if(e&&o.match(/^\|\s*/u))return this.toEatImageParameter(o,l),q("linkDelimiter",l);if(o.match(/^'(?=')/u))return this.eatApostrophes(i)(o,l)||Me(a,l);if(e&&cn(o,!0,!0)||o.sol()&&o.match("{|",!1))return this.eatWikiText(a)(o,l);let u=o.match(s);return c===void 0&&u&&u[0].includes("[")&&(l.lbrack=!0),u?Me(a,l):this.eatWikiText(a)(o,l)}}toEatImageParameter(e,t){let i=e.match(this.imgRegex,!1);i&&be(t,this.inStr(i[0],"imageParameter"))}eatList(e,t){let i=e.match(/^[*#;:]*/u),{dt:r}=t;return i[0].includes(";")&&(r.n=i[0].split(";").length-1,M1(r,t)),q("list",t)}eatDoubleUnderscore(e,t,i){let{config:{doubleUnderscore:r}}=this,s=t.match(/^[\p{L}\d_]+?__/u);if(s){if(Object.prototype.hasOwnProperty.call(r[0],`__${s[0].toLowerCase()}`)||Object.prototype.hasOwnProperty.call(r[1],`__${s[0]}`))return Y.doubleUnderscore;t.eol()||t.backUp(2)}return Me(e,i)}get eatStartTable(){return(e,t)=>(e.match(/^(?:\{\||\{\{(?:\{\s*|\s*\()!\s*\}\})\s*/u),t.tokenize=this.inTableDefinition(),q("tableBracket",t))}inTableDefinition(e,t){let i=`${Y.tableDefinition} mw-html-${e?"tr":"table"}`,r="{<";return(s,o)=>{var h;if(s.sol())return o.tokenize=this.inTable,"";let l=o.stack[0],a=l.name==="inTemplateArgument"&&l.args[0]?"=":"";if(a&&s.peek()==="=")return Qe(o),"";if(s.match(/^(?:&|\{\{|<(?:!--|\/?[a-z]))/iu,!1))return this.eatWikiText(i)(s,o);if(t)return s.eat(t[0])?o.tokenize=this.inTableDefinition(e,t.slice(1)||void 0):s.match(new RegExp(`^(?:[^&${r}${a}${t[0]}]|${Te(r)})+`,"iu")),q("tableDefinitionValue",o);if(t==="")return/\s/u.test((h=s.peek())!=null?h:"")?(o.tokenize=this.inTableDefinition(e),""):(s.match(new RegExp(String.raw`^(?:[^\s&${r}${a}]|${Te(r)})+`,"iu")),q("tableDefinitionValue",o));if(s.match(/^=\s*/u)){let c=s.peek();return o.tokenize=this.inTableDefinition(e,/['"]/u.test(c!=null?c:"")?c.repeat(2):""),Re(i,o)}return s.match(this.tableDefinitionRegex),Re(i,o)}}get inTable(){return(e,t)=>{if(e.sol()){e.eatSpace();let i=e.match(/^(?:\||\{\{\s*!([!)+-])?\s*\}\})/u);if(i)return i[1]==="-"||!i[1]&&e.eat("-")?(e.match(/^-*\s*/u),t.tokenize=this.inTableDefinition(!0),q("tableDelimiter",t)):i[1]==="+"||!i[1]&&e.match(/^\+\s*/u)?(t.tokenize=this.inTableCell(Y.tableCaption),q("tableDelimiter",t)):i[1]===")"||!i[1]&&e.eat("}")?(Qe(t),q("tableBracket",t)):(e.eatSpace(),t.tokenize=this.inTableCell(Y.tableTd,i[1]!=="!"),q("tableDelimiter",t));if(e.match(/^!\s*/u))return t.tokenize=this.inTableCell(Y.tableTh),q("tableDelimiter",t);if(cn(e,!0))return this.eatWikiText("error")(e,t)}return e.match(this.wikiRegex)?si("error",t):this.eatWikiText("error")(e,t)}}inTableCell(e,t=!0,i=!0){let r="'<~_-{";return(s,o)=>{if(s.sol()){if(s.match(/^\s*(?:[|!]|\{\{\s*![!)+-]?\s*\}\})/u,!1))return o.tokenize=this.inTable,"";if(i)return o.tokenize=this.inTableCell(e,!1,!1),"";if(cn(s,!0))return this.eatWikiText(e)(s,o)}if(i){if(s.match(/^(?:(?:\||\{\{\s*!\s*\}\}){2}|\{\{\s*!!\s*\}\})\s*/u)||e===Y.tableTh&&s.match(/^!!\s*/u))return o.bold=!1,o.italic=!1,t||(o.tokenize=this.inTableCell(e)),q("tableDelimiter",o);if(t&&s.match(/^(?:\||\{\{\s*!\s*\}\})\s*/u))return o.tokenize=this.inTableCell(e,!1),q("tableDelimiter2",o);t&&s.match("[[",!1)&&(o.tokenize=this.inTableCell(e,!1))}let l=o.stack[0],a=l.name==="inTemplateArgument"&&l.args[0]?"=":"";if(a&&s.peek()==="=")return Qe(o),"";let h=new RegExp(`^(?:[^[&${i?"|!":":"}${a}${r}]|${Te(r)})+`,"iu");return s.match(h)?Me(e,o):this.eatWikiText(e)(s,o)}}inSectionHeader(e){return(t,i)=>t.sol()?(Qe(i),""):t.match(this.headerRegex)?(t.eol()?(t.backUp(e.length),i.tokenize=this.inStr(e,"sectionHeader")):t.match(/^.*?=)/u,!1)&&(t.backUp(e.length),i.tokenize=this.inStr("","comment","comment")}eatTagName(e,t,i){return(r,s)=>(r.match(e,!0,!0),r.eatSpace(),i?(s.tokenize=t?this.inStr(">","htmlTagBracket"):this.inHtmlTagAttribute(e),q("htmlTagName",s)):(s.tokenize=t?this.inStr(">","extTagBracket"):this.inExtTagAttribute(e),q("extTagName",s)))}inHtmlTagAttribute(e,t){let i=t===void 0?`${Y.htmlTagAttribute} mw-html-${e}`:Y.htmlTagAttributeValue,r="{/";return(s,o)=>{var c,f;if(s.match(new RegExp(`^${Te("<",o)}`,"iu"),!1))return Qe(o),"";let l=s.match(/^\/?>/u);if(l)return!this.implicitlyClosedHtmlTags.has(e)&&(l[0]===">"||!rm.includes(e))&&(o.inHtmlTag.unshift(e),o.dt.html++),Qe(o),q("htmlTagBracket",o);let a=o.stack[0],h=(["inTemplateArgument","inParserFunctionArgument","inVariable"].includes(a.name)?"|":"")+(a.name==="inTemplateArgument"&&a.args[0]?"=":"");if(h.includes((c=s.peek())!=null?c:""))return Qe(o),q("htmlTagBracket",o);if(s.match(/^(?:[&<]|\{\{)/u,!1))return this.eatWikiText(i)(s,o);if(t)return s.eat(t[0])?o.tokenize=this.inHtmlTagAttribute(e,t.slice(1)||void 0):s.match(new RegExp(`^(?:[^<>&${r}${h}${t[0]}]|${Te(r)})+`,"u")),q("htmlTagAttributeValue",o);if(t==="")return s.sol()||/\s/u.test((f=s.peek())!=null?f:"")?(o.tokenize=this.inHtmlTagAttribute(e),""):(s.match(new RegExp(String.raw`^(?:[^\s<>&${r}${h}]|${Te(r)})+`,"u")),q("htmlTagAttributeValue",o));if(s.match(/^=\s*/u)){let u=s.peek();return o.tokenize=this.inHtmlTagAttribute(e,/['"]/u.test(u!=null?u:"")?u.repeat(2):""),Re(i,o)}return s.match(new RegExp(`^(?:[^<>&={/${h}]|${Te("{/")})+`,"u")),Re(i,o)}}inExtTagAttribute(e,t,i,r){let s=`${Y.extTagAttribute} mw-ext-${e}`,o=(l,a,h)=>{let c=l.match(h);if(i){let f=c[0].trim().toLowerCase();f==="js"&&(f="javascript"),a.extMode=(f==="css"||f==="javascript"||f==="lua")&&an[f]}return Re(Y.extTagAttributeValue+(r?` ${Y.pageName}`:""),a)};return(l,a)=>{var c;if(l.eat(">")){let{config:{tagModes:f}}=this;return a.extName=e,a.extMode||(a.extMode=e in f&&this[f[e]](a.data.tags.filter(u=>u!==e))),a.extMode&&(a.extState=a.extMode.startState(0)),a.tokenize=this.eatExtTagArea(e),q("extTagBracket",a)}else{if(l.match("/>"))return a.extMode=!1,Qe(a),q("extTagBracket",a);if(t){if(l.eat(t[0])){let f=t.slice(1)||void 0;return a.tokenize=this.inExtTagAttribute(e,f,i&&!!f,r&&!!f),q("extTagAttributeValue",a)}return o(l,a,new RegExp(`^(?:[^>/${t[0]}]|${Te("/")})+`,"u"))}else{if(t==="")return l.sol()||/\s/u.test((c=l.peek())!=null?c:"")?(a.tokenize=this.inExtTagAttribute(e),""):o(l,a,/^(?:[^>/\s]|\/(?!>))+/u);if(l.match(/^=\s*/u)){let f=l.peek();return a.tokenize=this.inExtTagAttribute(e,/['"]/u.test(f!=null?f:"")?f.repeat(2):"",i,r),Re(s,a)}}}let h=l.match(/(?:[^>/=]|\/(?!>))+/u);return l.peek()==="="&&(a.tokenize=this.inExtTagAttribute(e,void 0,z1.has(e)&&/(?:^|\s)lang\s*$/iu.test(h[0]),e==="templatestyles"&&/(?:^|\s)src\s*$/iu.test(h[0]))),Re(s,a)}}eatExtTagArea(e){return(t,i)=>{let{pos:r}=t,s=t.string.slice(r).search(new RegExp(`":String.raw`\s*(?:>|$)`}`,"iu"));if(s===0)return t.match("{var s;let r;return i.extMode===!1?(r=`mw-tag-${i.extName} ${Y.extTag}`,t.skipToEnd()):r=`mw-tag-${i.extName} ${(s=i.extMode.token(t,i.extState))!=null?s:""}`,t.eol()&&(e&&(t.string=e),Qe(i)),r}}inVariable(e=0){let t="comment";e===0?t="templateVariableName":e===1&&(t="templateVariable");let i=new RegExp(String.raw`^(?:[^|{}<${e===1?"[&~'_:-":""}]|\}(?!\}\})|${e===1?Te("{<~'_-"):Te("{<",!0)})+`,"iu");return(r,s)=>{let o=r.sol();return r.eatSpace(),r.eol()?Re("",s):r.eat("|")?(e<2&&(s.tokenize=this.inVariable(e+1)),q("templateVariableDelimiter",s)):r.match("}}}")?(Qe(s),q("templateVariableBracket",s,"nVar")):r.match(""}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:this.completionSource},i}get completionSource(){let t=new Set(["name","follow","extends"]);return async i=>{var O,y,b,Q;let{state:r,pos:s,explicit:o}=i,l=ee(r).resolve(s,-1),a=new Set(l.name.split("_")),h=Ne(a,"parserFunctionName"),{from:c,to:f}=l,u=r.sliceDoc(c,s),{prevSibling:d}=l;if(o||h&&u.includes("#")){let S=/^[^|{}<>[\]#]*$/u;if(h||Ne(a,"templateName")){let w=u.includes(":")?[]:[...this.functionSynonyms],Z=(O=await Ee(this,fn,Mc).call(this,u,10))!=null?O:{offset:0,options:[]};return w.push(...Z.options),w.length===0?null:{from:c+Z.offset,options:w,validFor:S}}let T=Ne(a,"pageName")&&Ne(a,"parserFunction")||0;if(T&&u.trim()||Ne(a,"linkPageName")){let w=await Ee(this,fn,Mc).call(this,(T?"Module:":"")+u,T&&828);return w?{from:c+w.offset-(T&&7),options:w.options,validFor:S}:null}let A=Ne(a,"templateArgumentName"),C=d==null?void 0:d.name.includes(Y.templateDelimiter),E=Ne(a,"templateDelimiter")||Ne(a,"templateBracket")&&C;if(this.tags.includes("templatedata")&&(E||A&&!u.includes("=")||Ne(a,"template")&&C)){let w=1,Z="";for(;d;){let{name:g,from:I,to:U}=d;if(g.includes(Y.templateBracket)){if(w+=r.sliceDoc(I,U).includes("{{")?-1:1,w===0)break}else if(w===1&&g.includes(Y.templateName))Z=r.sliceDoc(I,U)+Z;else if(Z&&!g.includes(Y.comment)){d=null;break}({prevSibling:d}=d)}if(d){let g=A&&r.sliceDoc(s,f).trim()==="="?"":"=",I=await Ee(this,fn,qg).call(this,E?"":u,Z,g);return I&&I.options.length>0?{from:E?s:c+I.offset,options:I.options,validFor:/^[^|{}=]*$/u}:null}}}if(Ne(a,["htmlTagAttribute","tableDefinition","mw-ext-pre","mw-ext-gallery","mw-ext-poem"])||o&&Ne(a,["tableTd","tableTh","tableCaption"])){let S=Ne(a,["htmlTagAttribute","extTagAttribute"])?/\s[a-z]+$/iu:/[\s|-][a-z]+$/iu;o&&(S=/[\s|!+-][a-z]+$/iu);let[,T]=/mw-(?:ext|html|table)-([a-z]+)/u.exec(l.name),A=i.matchBefore(S);if(A)return A.from>=c&&/^[|-]/u.test(A.text)?null:{from:A.from+1,options:[...T==="meta"||T==="link"?[]:this.htmlAttrs,...(y=this.elementAttrs.get(T))!=null?y:[]],validFor:/^[a-z]*$/iu}}else if(Ne(a,"extTagAttribute")){let[,S]=/mw-ext-([a-z]+)/u.exec(l.name),T=i.matchBefore(/\s[a-z]+$/iu);return T&&this.extAttrs.has(S)?{from:T.from+1,options:this.extAttrs.get(S),validFor:/^[a-z]*$/iu}:null}else if(o&&Ne(a,"extTagAttributeValue")&&u!=='"'&&u!=="'"){let S=d!=null&&d.name.includes(Y.extTagAttributeValue)?r.sliceDoc(d.from,d.to):"";for(;d&&d.name.includes(Y.extTagAttributeValue);)({prevSibling:d}=d);if(d&&(d=d.prevSibling),d){let T=d.name.split("_"),A=T.includes("mw-ext-ref"),C=r.sliceDoc(d.from,d.to).trim().toLowerCase();if(A&&t.has(C)||C==="group"&&(A||T.includes("mw-ext-references"))){Object.assign(this,{state:r});let E=await Dc(this,"",!0,C==="group");return E.length>0?{from:c+/^\s*/u.exec(u)[0].length,options:E.filter(([w])=>wf).map(w=>({type:"text",label:r.sliceDoc(...w).trim()})),validFor:new RegExp(`^[^>${S||String.raw`\s`}]*$`,"u")}:null}}}else if(!Ne(a,["comment","templateVariableName","templateName","linkPageName","linkToSection","extLink"])){let S=i.matchBefore(/__(?:(?!__)[\p{L}\d_])*$/u);if(S)return{from:S.from,options:this.doubleUnderscore,validFor:/^[\p{L}\d]*$/u};S=i.matchBefore(/<\/?[a-z\d]*$/iu);let T=[...a].filter(A=>A.startsWith("mw-tag-")).map(A=>A.slice(7));if(S&&S.to-S.from>1){let A=/^[a-z\d]*$/iu;if(S.text[1]==="/"){let C=i.matchBefore(/<[a-z\d]+(?:\s[^<>]*)?>(?:(?!<\/?[a-z]).)*<\/[a-z\d]*$/iu),E=(Q=/^<([a-z\d]+)/iu.exec((b=C==null?void 0:C.text)!=null?b:""))==null?void 0:Q[1].toLowerCase(),w=T[T.length-1],Z=[...this.htmlTags.filter(({label:I})=>!this.implicitlyClosedHtmlTags.has(I)),...w?[{type:"type",label:w,boost:50}]:[]],g=this.permittedHtmlTags.has(E)&&Z.findIndex(({label:I})=>I===E);return g!==!1&&g!==-1&&Z.splice(g,1,{type:"type",label:E,boost:99}),{from:S.from+2,options:Z,validFor:A}}return{from:S.from+1,options:[...this.htmlTags,...this.extTags.filter(({label:C})=>!T.includes(C))],validFor:A}}if(Ne(a,"fileText")&&(d!=null&&d.name.includes(Y.linkDelimiter))&&!u.includes("["))return{from:d.to,options:this.imgKeys,validFor:/^[^|{}<>[\]$]*$/u};if(!Ne(a,["linkText","extLinkText"])&&(S=i.matchBefore(/(?:^|[^[])\[[a-z:/]+$/iu),S))return{from:S.from+(S.text[1]==="["?2:1),options:this.protocols,validFor:/^[a-z:/]*$/iu}}return null}}};fn=new WeakSet,Mc=async function(t,i=0){let{config:{linkSuggest:r},nsRegex:s}=this;if(typeof r!="function"||/[|{}<>[\]#]/u.test(t))return;let o=!1,l=t,a=0;if(l.startsWith("/"))i=0,o=!0;else{if(l=l.replace(/_/gu," "),[{length:a}]=/^\s*/u.exec(l),l=l.slice(a),l.startsWith(":")){let[{length:u}]=/^:\s*/u.exec(l);a+=u,l=l.slice(u),i=0}if(!l)return;let f=s.exec(l);if(f){let[{length:u},d]=f;a+=u,l=`${d}:${l.slice(u)}`,i=1}}let h=t.slice(a).includes("_");return{offset:a,options:(await r(l,i,o)).map(([c])=>({type:"text",label:h?c.replace(/ /gu,"_"):c}))}},qg=async function(t,i,r){let{config:{paramSuggest:s}}=this;return i&&typeof s=="function"&&!/[|{}<>[\]]/u.test(i)?{offset:/^\s*/u.exec(t)[0].length,options:(await s(i)).map(([o,l])=>({type:"variable",label:o+r,detail:l}))}:void 0};for(let[n,e]of Object.entries(an))(n==="css"||n==="javascript")&&Object.defineProperty(bl.prototype,n,{value:()=>e});var qc=n=>{let e=new bl(n),t=Mn.define(e.mediawiki()),i=wo(Dn.define(e.getTagStyles()));return new ut(t,i)},Yg=n=>qc({...n,tags:{...n.tags,script:!0,style:!0},tagModes:{...n.tagModes,script:"javascript",style:"css"},permittedHtmlTags:["html","base","title","menu","a","area","audio","map","track","video","embed","iframe","object","picture","source","canvas","col","colgroup","tbody","tfoot","thead","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","slot","template","dir","frame","frameset","marquee","param","xmp"],implicitlyClosedHtmlTags:["area","base","col","embed","frame","input","param","source","track"]});var zg={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},jg=(n,e)=>t=>t.state.selection.ranges.some(i=>!i.empty)?(Un.replaceSelections(t,n),!0):e(t),_1=n=>[...n].map(e=>{if(e in zg)return`&${zg[e]};`;let t=e.codePointAt(0);return t<256?`&#${t};`:`&#x${t.toString(16)};`}).join(""),I1=n=>{if(n.includes("%"))try{return decodeURIComponent(n)}catch(e){}return encodeURIComponent(n)},Vg=[{key:"Mod-[",run:jg(_1,Ch)},{key:"Mod-]",run:jg(I1,Zh)}];var U1=(n,{to:e})=>Math.max(n,e),G1=(n,{from:e,to:t})=>e<=n&&t>n?t:n,Kg=(n,e,t)=>n.sliceDoc(e.from,e.to).includes(t),jc=n=>({name:e})=>n.some(t=>e.includes(Y[t])),zc=jc(["templateBracket","parserFunctionBracket"]),Yc=jc(["templateDelimiter","parserFunctionDelimiter"]),Lg=n=>/-(?:template|ext)[a-z\d-]+ground/u.test(n.name)&&!zc(n),F1=jc(["extTagBracket"]),Bg=n=>n.name.includes("mw-tag-"),Ng=(n,e)=>Kg(n,e,"{")?1:-1,Jg=(n,e,t)=>{if(typeof e=="number"&&(t=Qi(n,e)),!t)return!1;let i;if(typeof e=="number"?(i=t.resolve(e,-1),!Lg(i)&&!Bg(i)&&(i=t.resolve(e,1))):i=e,!Lg(i)){if(Bg(i)){let{nextSibling:c}=i;for(;c&&!(F1(c)&&Kg(n,c,"{let{selection:{main:{head:e}}}=n,t=Jg(n,e);if(t){let{from:i,to:r}=t,s=!1;return yo(n).between(i,r,(o,l)=>{o===i&&l===r&&(s=!0)}),s?null:{pos:e,above:!0,create:()=>{let o=document.createElement("div");return o.className="cm-tooltip-fold",o.textContent="\uFF0D",o.title=n.phrase("Fold template or extension tag"),o.dataset.from=String(i),o.dataset.to=String(r),{dom:o}}}}return null},Ig=(n,e,t)=>{var i;return e.length>0?((i=n.dom.querySelector(".cm-tooltip-fold"))==null||i.remove(),n.dispatch({effects:e,selection:{anchor:t}}),!0):!1},Ug=n=>Math.max(...n.selection.ranges.map(({to:e})=>e)),Gg=(n,e,t,i,r,s,o)=>{for(;i&&i.from<=r;){let l=Jg(n,i,e);if(l){t.push(vi.of(l)),i=e.resolve(l.to,1),s=o(s,l);continue}i=i.nextSibling}return s},Fr=class extends Ke{constructor(e){super(),this.open=e}eq(e){return this.open===e.open}toDOM({state:e}){let t=document.createElement("span");return t.textContent=this.open?"\u2304":"\u203A",t.title=e.phrase(this.open?"Fold line":"Unfold line"),t}},H1=new Fr(!0),K1=new Fr(!1),e0=({state:n},e)=>{var i;let t;return(i=n.field(St,!1))==null||i.between(e.from,e.to,(r,s)=>{!t&&s===e.to&&(t={from:r,to:s})}),t},t0=({state:n,viewport:{to:e},viewportLineBlocks:t},{from:i,to:r})=>{let s=ee(n),o=h=>{let{name:c}=s.resolve(h,1);return c.includes(Y.sectionHeader)?Number(/mw-section--(\d)/u.exec(c)[1]):7},l=(h,c)=>{var d;let f=n.sliceDoc(h,c),u=(d=/^\s*(?:(?::+\s*)?\{\||\|\})/u.exec(f))==null?void 0:d[0];if(u){let{name:O}=s.resolve(h+u.length,-1);if(O.includes(Y.tableBracket))return u.endsWith("|}")?-1:1}return 0},a=o(i);if(a<7){for(let{from:h}of t)if(h>i&&o(h)<=a)return{from:r,to:h-1};return e===n.doc.length&&e>r&&{from:r,to:e}}else if(l(i,r)===1){for(let{from:h,to:c}of t)if(h>i){let f=l(h,c);if(f===-1)return{from:r,to:c};if(f===1||o(h)<7)break}}return!1},Fg=n=>{let e=new Fe;for(let t of n.viewportLineBlocks){let i;e0(n,t)?i=K1:t0(n,t)&&(i=H1),i&&e.add(t.from,t.from,i)}return e.finish()},Hg=me.fromClass(class{constructor(n){this.markers=Fg(n)}update({docChanged:n,viewportChanged:e,startState:t,state:i,view:r}){(n||e||t.facet(At)!==i.facet(At)||t.field(St,!1)!==i.field(St,!1)||ee(t)!==ee(i))&&(this.markers=Fg(r))}}),i0=[ko({placeholderDOM(n){let e=document.createElement("span");return e.textContent="\u2026",e.setAttribute("aria-label","folded code"),e.title=n.state.phrase("unfold"),e.className="cm-foldPlaceholder",e.addEventListener("click",({target:t})=>{let i=n.posAtDOM(t),{state:r}=n,{selection:s}=r;yo(r).between(i,i,(o,l)=>{o===i&&n.dispatch({effects:ti.of({from:o,to:l}),selection:s})})}),e}}),he.define({create:_g,update(n,{state:e,docChanged:t,selection:i}){return t?null:i?_g(e):n},provide(n){return gi.from(n)}}),ft.of([{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run(n){let{state:e}=n,t=ee(e),i=[],r=Ug(e);for(let{from:s,to:o,empty:l}of e.selection.ranges){let a;l&&(a=t.resolve(s,-1)),(!a||a.name==="Document")&&(a=t.resolve(s,1)),r=Gg(e,t,i,a,o,r,U1)}return Ig(n,i,r)}},{key:"Ctrl-Alt-[",run(n){let{state:e}=n,t=ee(e),i=[],r=Gg(e,t,i,t.topNode.firstChild,1/0,Ug(e),G1);return Ig(n,i,r)}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run(n){let{state:e}=n,{selection:t}=e,i=[],r=yo(e);for(let{from:s,to:o}of t.ranges)r.between(s,o,(l,a)=>{i.push(ti.of({from:l,to:a}))});return i.length>0?(n.dispatch({effects:i,selection:t}),!0):!1}},{key:"Ctrl-Alt-]",run:gh}]),Hg,An({class:"cm-foldGutter",markers(n){var e,t;return(t=(e=n.plugin(Hg))==null?void 0:e.markers)!=null?t:ne.empty},initialSpacer(){return new Fr(!1)},domEventHandlers:{click(n,e){let t=e0(n,e);if(t)return n.dispatch({effects:ti.of(t)}),!0;let i=t0(n,e);return i?(n.dispatch({effects:vi.of(i)}),!0):!1}}})],n0=n=>e=>{let t=e.target.closest(".cm-tooltip-fold");if(t){e.preventDefault();let{dataset:i}=t,r=Number(i.from),s=Number(i.to);n.dispatch({effects:vi.of({from:r,to:s}),selection:{anchor:s}}),t.remove()}},r0=mh.of(({doc:n,tabSize:e},t,i)=>{let{text:r,number:s}=n.lineAt(t);if(!r.trim())return null;let o=c=>/^\s*/u.exec(c)[0].replace(/\t/gu," ".repeat(e)).length,l=o(r),a=s,h=!0;for(;a=f)break}}return h||a===s?null:{from:i,to:n.line(a).to}}),Vc=[pp(),ft.of(up)];var Lc="https://testingcf.jsdelivr.net",Gn=(n,e,t)=>new Promise(i=>{let r=`${Lc}/${n}`,s=window;for(let o of e.split("."))s=s==null?void 0:s[o];if(s)i();else if(t&&typeof define=="function"&&"amd"in define){let o=window.require;o.config({paths:{[e]:r}}),o([e],l=>{Object.assign(window,{[e]:l}),i()})}else{let o=document.createElement("script");o.src=r,o.onload=()=>{i()},document.head.append(o)}});var s0=async n=>{let e="npm/wikiparser-node@browser",t=`${e}/extensions/dist`,i=n==null?void 0:n.i18n;if(await Gn(`${t}/base.min.js`,"wikiparse"),await Gn(`${t}/lint.min.js`,"wikiparse.Linter"),typeof i=="string")try{let r=await(await fetch(`${Lc}/${e}/i18n/${i.toLowerCase()}.json`)).json();wikiparse.setI18N(r)}catch(r){}return new wikiparse.Linter(n==null?void 0:n.include)},o0=async n=>{var i,r,s;await Gn("npm/eslint-linter-browserify@8.57.0/linter.min.js","eslint",!0);let e=new eslint.Linter,t={env:{browser:!0,es2024:!0},parserOptions:{ecmaVersion:15,sourceType:"module"},rules:{},...n};for(let[o,{meta:l}]of e.getRules())(i=l==null?void 0:l.docs)!=null&&i.recommended&&((s=(r=t.rules)[o])!=null||(r[o]=2));return o=>e.verify(o,t)},l0=async n=>{await Gn("gh/openstyles/stylelint-bundle/dist/stylelint-bundle.min.js","stylelint");let e={rules:{"annotation-no-unknown":!0,"at-rule-no-unknown":!0,"block-no-empty":!0,"color-no-invalid-hex":!0,"comment-no-empty":!0,"custom-property-no-missing-var-function":!0,"declaration-block-no-duplicate-custom-properties":!0,"declaration-block-no-duplicate-properties":[!0,{ignore:["consecutive-duplicates-with-different-syntaxes"]}],"declaration-block-no-shorthand-property-overrides":!0,"font-family-no-duplicate-names":!0,"font-family-no-missing-generic-family-keyword":!0,"function-calc-no-unspaced-operator":!0,"function-linear-gradient-no-nonstandard-direction":!0,"function-no-unknown":!0,"keyframe-block-no-duplicate-selectors":!0,"keyframe-declaration-no-important":!0,"media-feature-name-no-unknown":!0,"media-query-no-invalid":!0,"named-grid-areas-no-invalid":!0,"no-descending-specificity":!0,"no-duplicate-at-import-rules":!0,"no-duplicate-selectors":!0,"no-empty-source":!0,"no-invalid-double-slash-comments":!0,"no-invalid-position-at-import-rule":!0,"no-irregular-whitespace":!0,"property-no-unknown":!0,"selector-anb-no-unmatchable":!0,"selector-pseudo-class-no-unknown":!0,"selector-pseudo-element-no-unknown":!0,"selector-type-no-unknown":[!0,{ignore:["custom-elements"]}],"string-no-newline":!0,"unit-no-unknown":!0,...n==null?void 0:n.rules}};return async t=>(await stylelint.lint({code:t,config:e})).results.flatMap(({warnings:i})=>i)},a0=async()=>(await Gn("npm/luaparse/luaparse.min.js","luaparse",!0),luaparse.defaultOptions.luaVersion="5.3",n=>{try{luaparse.parse(n.toString())}catch(e){if(e instanceof luaparse.SyntaxError)return[{source:"luaparse",message:e.message.replace(/^\[\d+:\d+\]\s*/u,""),severity:"error",from:e.index,to:e.index}]}return[]}),h0=()=>n=>{var e,t,i;try{n.trim()&&JSON.parse(n)}catch(r){if(r instanceof SyntaxError){let{message:s}=r,o=(e=/\bline (\d+)/u.exec(s))==null?void 0:e[1],l=(t=/\bcolumn (\d+)/u.exec(s))==null?void 0:t[1],a=(i=/\bposition (\d+)/u.exec(s))==null?void 0:i[1];return[{message:s,severity:"error",line:o,column:l,position:a}]}}return[]};var Bc={onlyinclude:"mediawiki",includeonly:"mediawiki",noinclude:"mediawiki",pre:"text/nowiki",nowiki:"text/nowiki",indicator:"mediawiki",poem:"mediawiki",ref:"mediawiki",references:"text/references",gallery:"text/gallery",poll:"mediawiki",tabs:"mediawiki",tab:"mediawiki",choose:"text/choose",option:"mediawiki",combobox:"text/combobox",combooption:"mediawiki",inputbox:"text/inputbox"},Hr=(n,e,t)=>{for(let i of n)e[i]=t?i:!0},c0=({parserFunction:n,protocol:e,nsid:t,variants:i,redirection:r,ext:s,doubleUnderscore:o,img:l})=>{let a={tags:{},tagModes:Bc,doubleUnderscore:[{},{}],functionSynonyms:[n[0],{}],urlProtocols:`${e}|//`,nsid:t,img:{},variants:i,redirection:r},[h,,c]=o;Hr(s,a.tags),Hr((c&&h.length===0?Object.keys(c):h).map(f=>`__${f}__`),a.doubleUnderscore[0]),Hr(o[1].map(f=>`__${f}__`),a.doubleUnderscore[1]),Hr(n.slice(2).flat(),a.functionSynonyms[0],!0),Hr(n[1],a.functionSynonyms[1]);for(let[f,u]of Object.entries(l))a.img[f]=`img_${u}`;return a};var Nc=j.mark({class:"cm-bidi-isolate cm-bidi-ltr",bidiIsolate:oe.LTR}),f0=j.mark({class:"cm-bidi-isolate"}),u0=({visibleRanges:n,state:e,textDirection:t})=>{let i=new Fe;if(t===oe.RTL)for(let{from:r,to:s}of n){let o=ee(e).resolve(r,1),l=0,a=0,h=0;for(;o&&o.to<=s;){let{name:c,from:f,to:u,nextSibling:d}=o;if(/-(?:ext|html)tag-bracket/u.test(c)&&e.sliceDoc(f,f+1)==="<"){let O=In(e,d);i.add(f,O.to,Nc)}else!l&&!a&&c.includes(Y.tableDefinition)?/-html-(?:table|tr)/u.test(c)?(a=e.doc.lineAt(f).to,i.add(f,a,Nc)):l=f:a&&f>a?a=0:l&&c.includes(Y.tableDelimiter2)?(i.add(l,f,Nc),l=0):/-(?:template|parserfunction)-delimiter/u.test(c)?(h&&i.add(h,f,f0),h=u):h&&/-(?:template|parserfunction)-bracket/u.test(c)&&(e.sliceDoc(u-1,u)==="}"&&i.add(h,f,f0),h=0);o=o.nextSibling}}return i.finish()},d0=me.fromClass(class{constructor(n){this.isolates=u0(n),this.tree=ee(n.state),this.dir=n.textDirection}update({docChanged:n,viewportChanged:e,state:t,view:i}){let r=ee(t),{textDirection:s}=i;(n||e||r!==this.tree||s!==this.dir)&&(this.isolates=u0(i),this.tree=r,this.dir=s)}},{provide(n){let e=t=>{var i,r;return(r=(i=t.plugin(n))==null?void 0:i.isolates)!=null?r:j.none};return ht.lowest([X.decorations.of(e),X.bidiIsolatedRanges.of(e)])}});var p0=()=>X.contentAttributes.of({spellcheck:"true"}),es={plain:p0,mediawiki:n=>[qc(n),p0(),d0],html:Yg};for(let[n,e]of Object.entries(an))typeof e=="function"?es[n.slice(0,-2)]=e:n in es||(es[n]=()=>new ut(Mn.define(e)));var _c=(n=[])=>[(e=[])=>e,{mediawiki:n}],Ic={highlightSpecialChars:[Cd,{}],highlightActiveLine:[Rd,{}],highlightWhitespace:[Md,{}],highlightTrailingWhitespace:[qd,{}],highlightSelectionMatches:[bO,{}],bracketMatching:[kp,{mediawiki:{brackets:"[]{}"}}],closeBrackets:[tm,{}],scrollPastEnd:[Ad,{}],allowMultipleSelections:[()=>[le.allowMultipleSelections.of(!0),Td()],{}],autocompletion:[()=>[nm({defaultKeymap:!1}),ft.of([...ac.filter(({run:n})=>n!==Ko),{key:"Shift-Enter",run:Ko},{key:"Tab",run:rc}])],{}],codeFolding:[(n=Vc)=>n,{mediawiki:i0,lua:[Vc,r0]}],escape:_c(ft.of(Vg)),tagMatching:_c(Wg),refHover:_c(Mg)},Kr={},Uc={},Jr=(n,e,t)=>n.line(e).from+t-1,Pt,ts,un,is,ns,rs,ss,os,te,It,Di,dn,ls,qe,Wi,Gc,Fc,O0,Un=class{constructor(e,t="plain",i,r=!0){ze(this,qe);ze(this,Pt);ze(this,ts,new bt);ze(this,un,new bt);ze(this,is,new bt);ze(this,ns,new bt);ze(this,rs,new bt);ze(this,ss,new bt);ze(this,os,new bt);ze(this,te);ze(this,It);ze(this,Di,!1);ze(this,dn,new Set);ze(this,ls," ");Wt(this,Pt,e),Wt(this,It,t),r&&this.initialize(i)}get textarea(){return M(this,Pt)}get view(){return M(this,te)}get lang(){return M(this,It)}get visible(){return M(this,Di)}initialize(e){var a;let t,{textarea:i,lang:r}=this,s=[M(this,ts).of(es[r](e)),M(this,un).of((a=Kr[r])!=null?a:[]),M(this,is).of([]),M(this,ns).of(X.editorAttributes.of({dir:i.dir})),M(this,rs).of(Jt.of(M(this,ls))),M(this,ss).of([]),M(this,os).of(le.phrases.of(Uc)),wo(mp),X.contentAttributes.of({accesskey:i.accessKey,tabindex:String(i.tabIndex)}),X.editorAttributes.of({lang:i.lang}),Wd(),X.lineWrapping,ft.of([...cO,...SO,...CO,{key:"Mod-Shift-x",run:()=>{let h=i.dir==="rtl"?"ltr":"rtl";return i.dir=h,Ee(this,qe,Wi).call(this,M(this,ns).reconfigure(X.editorAttributes.of({dir:h}))),!0}}]),X.theme({".cm-panels":{direction:document.dir}}),X.updateListener.of(({state:{doc:h},docChanged:c,focusChanged:f})=>{c&&(clearTimeout(t),t=window.setTimeout(()=>{i.value=h.toString(),i.dispatchEvent(new Event("input"))},400)),f&&i.dispatchEvent(new Event(M(this,te).hasFocus?"focus":"blur"))}),...i.readOnly?[le.readOnly.of(!0)]:[Wp(),lp(),ft.of(Yp)]];Wt(this,te,new X({extensions:s,doc:i.value}));let{fontSize:o,lineHeight:l}=getComputedStyle(i);i.before(M(this,te).dom),Ee(this,qe,Gc).call(this),M(this,te).scrollDOM.style.fontSize=o,M(this,te).scrollDOM.style.lineHeight=l,this.toggle(!0),M(this,te).dom.addEventListener("click",n0(M(this,te))),this.prefer({})}setLanguage(e="plain",t){var i;Wt(this,It,e),M(this,te)&&(Ee(this,qe,Wi).call(this,[M(this,ts).reconfigure(es[e](t)),M(this,un).reconfigure((i=Kr[e])!=null?i:[])]),Ee(this,qe,Fc).call(this,!!Kr[e]),this.prefer({}))}lint(e){let t=e?[AO(i=>e(i.state.doc),{autoPanel:!0}),MO()]:[];e?Kr[M(this,It)]=t:delete Kr[M(this,It)],M(this,te)&&(Ee(this,qe,Wi).call(this,M(this,un).reconfigure(t)),Ee(this,qe,Fc).call(this,!!e))}update(){if(M(this,te)){let e=Ee(this,qe,O0).call(this);if(e){let t=M(this,te).plugin(e[1]);t.set=!0,t.force()}}}prefer(e){if(Array.isArray(e))Wt(this,dn,new Set(e.filter(t=>Ic[t])));else for(let[t,i]of Object.entries(e))i&&Ic[t]?M(this,dn).add(t):M(this,dn).delete(t);M(this,te)&&Ee(this,qe,Wi).call(this,M(this,is).reconfigure([...M(this,dn)].map(t=>{let[i,r]=Ic[t];return i(r[M(this,It)])})))}setIndent(e){M(this,te)?Ee(this,qe,Wi).call(this,M(this,rs).reconfigure(Jt.of(e))):Wt(this,ls,e)}async getLinter(e){switch(M(this,It)){case"mediawiki":{let t=await s0(e);return i=>t.codemirror(i.toString())}case"javascript":{let t=await o0(e);return i=>t(i.toString()).map(({ruleId:r,message:s,severity:o,line:l,column:a,endLine:h,endColumn:c,fix:f,suggestions:u=[]})=>{let d=Jr(i,l,a),O={source:"ESLint",message:`${s}${r?` (${r})`:""}`,severity:o===1?"warning":"error",from:d,to:h===void 0?d+1:Jr(i,h,c)};return(f||u.length>0)&&(O.actions=[...f?[{name:"fix",fix:f}]:[],...u.map(y=>({name:"suggestion",fix:y.fix}))].map(({name:y,fix:{range:[b,Q],text:S}})=>({name:y,apply(T){T.dispatch({changes:{from:b,to:Q,insert:S}})}}))),O})}case"css":{let t=await l0(e);return async i=>(await t(i.toString())).map(({text:r,severity:s,line:o,column:l,endLine:a,endColumn:h})=>({source:"Stylelint",message:r,severity:s,from:Jr(i,o,l),to:a===void 0?i.line(o).to:Jr(i,a,h)}))}case"lua":{let t=await a0();return i=>t(i.toString())}case"json":{let t=h0();return i=>{let[r]=t(i.toString());if(r){let{message:s,severity:o,line:l,column:a,position:h}=r,c=0;return h?c=Number(h):l&&a&&(c=Jr(i,Number(l),Number(a))),[{message:s,severity:o,from:c,to:c}]}return[]}}default:return}}setContent(e){M(this,te)&&M(this,te).dispatch({changes:{from:0,to:M(this,te).state.doc.length,insert:e}})}toggle(e=!M(this,Di)){if(M(this,te)){if(e&&!M(this,Di)){let{value:t,selectionStart:i,selectionEnd:r,scrollTop:s,offsetHeight:o,style:{height:l}}=M(this,Pt),a=document.activeElement===M(this,Pt);this.setContent(t),M(this,te).dom.style.height=o?`${o}px`:l,M(this,te).dom.style.removeProperty("display"),M(this,Pt).style.display="none",M(this,te).requestMeasure(),M(this,te).dispatch({selection:{anchor:i,head:r}}),a&&M(this,te).focus(),requestAnimationFrame(()=>{M(this,te).scrollDOM.scrollTop=s})}else if(!e&&M(this,Di)){let{state:{selection:{main:{from:t,to:i,head:r}}},hasFocus:s}=M(this,te),{scrollDOM:{scrollTop:o}}=M(this,te);M(this,te).dom.style.setProperty("display","none","important"),M(this,Pt).style.display="",M(this,Pt).setSelectionRange(t,i,r===i?"forward":"backward"),s&&M(this,Pt).focus(),requestAnimationFrame(()=>{M(this,Pt).scrollTop=o})}}else return;Wt(this,Di,e)}extraKeys(e){M(this,te)&&Ee(this,qe,Wi).call(this,M(this,ss).reconfigure(ft.of(e)))}localize(e){Object.assign(Uc,e),M(this,te)&&Ee(this,qe,Wi).call(this,M(this,os).reconfigure(le.phrases.of(Uc)))}getNodeAt(e){var t;return M(this,te)&&((t=Qi(M(this,te).state,e))==null?void 0:t.resolve(e,1))}scrollTo(e){if(M(this,te)){let t=e!=null?e:M(this,te).state.selection.main,i=X.scrollIntoView(typeof t=="number"||t instanceof ci?t:R.range(t.anchor,t.head));i.value.isSnapshot=!0,M(this,te).dispatch({effects:i})}}static replaceSelections(e,t){let{state:i}=e;e.dispatch(i.changeByRange(({from:r,to:s})=>{let o=t(i.sliceDoc(r,s),{from:r,to:s});if(typeof o=="string")return{range:R.range(r,r+o.length),changes:{from:r,to:s,insert:o}};let[l,a,h=a]=o;return{range:R.range(a,h),changes:{from:r,to:s,insert:l}}}))}};Pt=new WeakMap,ts=new WeakMap,un=new WeakMap,is=new WeakMap,ns=new WeakMap,rs=new WeakMap,ss=new WeakMap,os=new WeakMap,te=new WeakMap,It=new WeakMap,Di=new WeakMap,dn=new WeakMap,ls=new WeakMap,qe=new WeakSet,Wi=function(e){M(this,te).dispatch({effects:e})},Gc=function(e){M(this,te).dom.style.minHeight=e?"calc(100px + 2em)":"2em"},Fc=function(e){if(HTMLUListElement.prototype.focus.name!=="lintPanelFocus"){let t=function(i){HTMLElement.prototype.focus.call(this,{...i,...this.matches(".cm-panel-lint ul")&&{preventScroll:!0}})};HTMLUListElement.prototype.focus=t}Ee(this,qe,Gc).call(this,e)},O0=function(){return M(this,un).get(M(this,te).state)[0]},Un.mwTagModes=Bc,Un.getMwConfig=c0;export{Un as CodeMirror6}; +}`,{label:"class",detail:"definition",type:"keyword"}),tt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),tt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],qS=km.concat([tt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),tt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),tt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),bm=new En,wm=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function _r(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}var YS=["FunctionDeclaration"],zS={FunctionDeclaration:_r("function"),ClassDeclaration:_r("class"),ClassExpression:()=>!0,EnumDeclaration:_r("constant"),TypeAliasDeclaration:_r("type"),NamespaceDeclaration:_r("namespace"),VariableDefinition(n,e){n.matchContext(YS)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function xm(n,e){let t=bm.get(e);if(t)return t;let i=[],r=!0;function s(o,l){let a=n.sliceString(o.from,o.to);i.push({label:a,type:l})}return e.cursor($e.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let l=zS[o.name];if(l&&l(o,s)||wm.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of xm(n,o.node))i.push(l);return!1}}),bm.set(e,i),i}var nl=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Sc=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function jS(n){let e=ee(n.state).resolveInner(n.pos,-1);if(Sc.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&nl.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)wm.has(r.name)&&(i=i.concat(xm(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:nl}}function xc(n,e,t){var i;let r=[];for(;;){let s=e.firstChild,o;if((s==null?void 0:s.name)=="VariableName")return r.push(n(s)),{path:r.reverse(),name:t};if((s==null?void 0:s.name)=="MemberExpression"&&((i=o=s.lastChild)===null||i===void 0?void 0:i.name)=="PropertyName")r.push(n(o)),e=s;else return null}}function VS(n){let e=i=>n.state.doc.sliceString(i.from,i.to),t=ee(n.state).resolveInner(n.pos,-1);return t.name=="PropertyName"?xc(e,t.parent,e(t)):(t.name=="."||t.name=="?.")&&t.parent.name=="MemberExpression"?xc(e,t.parent,""):Sc.indexOf(t.name)>-1?null:t.name=="VariableName"||t.to-t.from<20&&nl.test(e(t))?{path:[],name:e(t)}:t.name=="MemberExpression"?xc(e,t,""):n.explicit?{path:[],name:""}:null}function LS(n,e){let t=[],i=new Set;for(let r=0;;r++){for(let o of(Object.getOwnPropertyNames||Object.keys)(n)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(o)||i.has(o))continue;i.add(o);let l;try{l=n[o]}catch(a){continue}t.push({label:o,type:typeof l=="function"?/^[A-Z]/.test(o)?"class":e?"function":"method":e?"variable":"property",boost:-r})}let s=Object.getPrototypeOf(n);if(!s)return t;n=s}}function Sm(n){let e=new Map;return t=>{let i=VS(t);if(!i)return null;let r=n;for(let o of i.path)if(r=r[o],!r)return null;let s=e.get(r);return s||e.set(r,s=LS(r,!i.path.length)),{from:t.pos-i.name.length,options:s,validFor:nl}}}var ri=xi.define({name:"javascript",parser:gm.configure({props:[nn.add({IfStatement:ei({except:/^\s*({|else\b)/}),TryStatement:ei({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:op,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:rp({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":ei({except:/^{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),rn.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Yn,BlockComment(n){return{from:n.from+2,to:n.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Qm={test:n=>/^JSX/.test(n.name),facet:mo({commentTokens:{block:{open:"{/*",close:"*/}"}}})},BS=ri.configure({dialect:"ts"},"typescript"),NS=ri.configure({dialect:"jsx",props:[go.add(n=>n.isTop?[Qm]:void 0)]}),_S=ri.configure({dialect:"jsx ts",props:[go.add(n=>n.isTop?[Qm]:void 0)]},"typescript"),vm=n=>({label:n,type:"keyword"}),Pm="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(vm),IS=Pm.concat(["declare","implements","private","protected","public"].map(vm));function $m(n={}){let e=n.jsx?n.typescript?_S:NS:n.typescript?BS:ri,t=n.typescript?qS.concat(IS):km.concat(Pm);return new ut(e,[ri.data.of({autocomplete:_O(Sc,nc(t))}),ri.data.of({autocomplete:jS}),n.jsx?FS:[]])}function US(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function ym(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}var GS=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),FS=X.inputHandler.of((n,e,t,i,r)=>{if((GS?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!ri.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:o}=s,l=o.changeByRange(a=>{var h;let{head:c}=a,f=ee(o).resolveInner(c-1,-1),u;if(f.name=="JSXStartTag"&&(f=f.parent),!(o.doc.sliceString(c-1,c)!=i||f.name=="JSXAttributeValue"&&f.to>c)){if(i==">"&&f.name=="JSXFragmentTag")return{range:a,changes:{from:c,insert:""}};if(i=="/"&&f.name=="JSXStartCloseTag"){let d=f.parent,O=d.parent;if(O&&d.from==c-2&&((u=ym(o.doc,O.firstChild,c))||((h=O.firstChild)===null||h===void 0?void 0:h.name)=="JSXFragmentTag")){let y=`${u}>`;return{range:R.cursor(c+y.length,-1),changes:{from:c,insert:y}}}}else if(i==">"){let d=US(f);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(u=ym(o.doc,d,c)))return{range:a,changes:{from:c,insert:``}}}}return{range:a}});return l.changes.empty?!1:(n.dispatch([s,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var HS=99,Tm=1,KS=100,JS=101,Zm=2,Cm=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],e1=58,t1=40,Am=95,i1=91,rl=45,n1=46,r1=35,s1=37,o1=38,l1=92,a1=10;function Ir(n){return n>=65&&n<=90||n>=97&&n<=122||n>=161}function Rm(n){return n>=48&&n<=57}var h1=new Et((n,e)=>{for(let t=!1,i=0,r=0;;r++){let{next:s}=n;if(Ir(s)||s==rl||s==Am||t&&Rm(s))!t&&(s!=rl||r>0)&&(t=!0),i===r&&s==rl&&i++,n.advance();else if(s==l1&&n.peek(1)!=a1)n.advance(),n.next>-1&&n.advance(),t=!0;else{t&&n.acceptToken(s==t1?KS:i==2&&e.canShift(Zm)?Zm:JS);break}}}),c1=new Et(n=>{if(Cm.includes(n.peek(-1))){let{next:e}=n;(Ir(e)||e==Am||e==r1||e==n1||e==i1||e==e1&&Ir(n.peek(1))||e==rl||e==o1)&&n.acceptToken(HS)}}),f1=new Et(n=>{if(!Cm.includes(n.peek(-1))){let{next:e}=n;if(e==s1&&(n.advance(),n.acceptToken(Tm)),Ir(e)){do n.advance();while(Ir(n.next)||Rm(n.next));n.acceptToken(Tm)}}}),u1=wi({"AtKeyword import charset namespace keyframes media supports":k.definitionKeyword,"from to selector":k.keyword,NamespaceName:k.namespace,KeyframeName:k.labelName,KeyframeRangeName:k.operatorKeyword,TagName:k.tagName,ClassName:k.className,PseudoClassName:k.constant(k.className),IdName:k.labelName,"FeatureName PropertyName":k.propertyName,AttributeName:k.attributeName,NumberLiteral:k.number,KeywordQuery:k.keyword,UnaryQueryOp:k.operatorKeyword,"CallTag ValueName":k.atom,VariableName:k.variableName,Callee:k.operatorKeyword,Unit:k.unit,"UniversalSelector NestingSelector":k.definitionOperator,MatchOp:k.compareOperator,"ChildOp SiblingOp, LogicOp":k.logicOperator,BinOp:k.arithmeticOperator,Important:k.modifier,Comment:k.blockComment,ColorLiteral:k.color,"ParenthesizedContent StringLiteral":k.string,":":k.punctuation,"PseudoOp #":k.derefOperator,"; ,":k.separator,"( )":k.paren,"[ ]":k.squareBracket,"{ }":k.brace}),d1={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:138},p1={__proto__:null,"@import":118,"@media":142,"@charset":146,"@namespace":150,"@keyframes":156,"@supports":168},O1={__proto__:null,not:132,only:132},Xm=Ri.deserialize({version:14,states:":^QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[c1,f1,h1,1,2,3,4,new Ai("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:n=>d1[n]||-1},{term:58,get:n=>p1[n]||-1},{term:101,get:n=>O1[n]||-1}],tokenPrec:1200});var Qc=null;function vc(){if(!Qc&&typeof document=="object"&&document.body){let{style:n}=document.body,e=[],t=new Set;for(let i in n)i!="cssText"&&i!="cssFloat"&&typeof n[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Qc=e.sort().map(i=>({type:"property",label:i}))}return Qc||[]}var Em=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(n=>({type:"class",label:n})),Wm=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(n=>({type:"keyword",label:n})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(n=>({type:"constant",label:n}))),m1=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(n=>({type:"type",label:n})),Xi=/^(\w[\w-]*|-\w[\w-]*|)$/,g1=/^-(-[\w-]*)?$/;function b1(n,e){var t;if((n.name=="("||n.type.isError)&&(n=n.parent||n),n.name!="ArgList")return!1;let i=(t=n.parent)===null||t===void 0?void 0:t.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var Dm=new En,y1=["Declaration"];function k1(n){for(let e=n;;){if(e.type.isTop)return e;if(!(e=e.parent))return n}}function Mm(n,e,t){if(e.to-e.from>4096){let i=Dm.get(e);if(i)return i;let r=[],s=new Set,o=e.cursor($e.IncludeAnonymous);if(o.firstChild())do for(let l of Mm(n,o.node,t))s.has(l.label)||(s.add(l.label),r.push(l));while(o.nextSibling());return Dm.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(y1)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let l=n.sliceString(s.from,s.to);r.has(l)||(r.add(l),i.push({label:l,type:"variable"}))}}),i}}var w1=n=>e=>{let{state:t,pos:i}=e,r=ee(t).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:vc(),validFor:Xi};if(r.name=="ValueName")return{from:r.from,options:Wm,validFor:Xi};if(r.name=="PseudoClassName")return{from:r.from,options:Em,validFor:Xi};if(n(r)||(e.explicit||s)&&b1(r,t.doc))return{from:n(r)||s?r.from:i,options:Mm(t.doc,k1(r),n),validFor:g1};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:vc(),validFor:Xi};return{from:r.from,options:m1,validFor:Xi}}if(!e.explicit)return null;let o=r.resolve(i),l=o.childBefore(i);return l&&l.name==":"&&o.name=="PseudoClassSelector"?{from:i,options:Em,validFor:Xi}:l&&l.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:i,options:Wm,validFor:Xi}:o.name=="Block"||o.name=="Styles"?{from:i,options:vc(),validFor:Xi}:null},qm=w1(n=>n.name=="VariableName"),Pc=xi.define({name:"css",parser:Xm.configure({props:[nn.add({Declaration:ei()}),rn.add({"Block KeyframeList":Yn})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});var x1=wi({String:k.string,Number:k.number,"True False":k.bool,PropertyName:k.propertyName,Null:k.null,",":k.separator,"[ ]":k.squareBracket,"{ }":k.brace}),Ym=Ri.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[x1],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var S1=xi.define({name:"json",parser:Ym.configure({props:[nn.add({Object:ei({except:/^\s*\}/}),Array:ei({except:/^\s*\]/})}),rn.add({"Object Array":Yn})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function zm(){return new ut(S1)}function sl(n){n={...$1,...n};var e=n.inline,t=n.tokenHooks,i=n.documentTypes||{},r=n.mediaTypes||{},s=n.mediaFeatures||{},o=n.mediaValueKeywords||{},l=n.propertyKeywords||{},a=n.nonStandardPropertyKeywords||{},h=n.fontProperties||{},c=n.counterDescriptors||{},f=n.colorKeywords||{},u=n.valueKeywords||{},d=n.allowNested,O=n.lineComment,y=n.supportsAtComponent===!0,b=n.highlightNonStandardPropertyKeywords!==!1,Q,S;function T(x,$){return Q=$,x}function A(x,$){var v=x.next();if(t[v]){var V=t[v](x,$);if(V!==!1)return V}if(v=="@")return x.eatWhile(/[\w\\\-]/),T("def",x.current());if(v=="="||(v=="~"||v=="|")&&x.eat("="))return T(null,"compare");if(v=='"'||v=="'")return $.tokenize=C(v),$.tokenize(x,$);if(v=="#")return x.eatWhile(/[\w\\\-]/),T("atom","hash");if(v=="!")return x.match(/^\s*\w*/),T("keyword","important");if(/\d/.test(v)||v=="."&&x.eat(/\d/))return x.eatWhile(/[\w.%]/),T("number","unit");if(v==="-"){if(/[\d.]/.test(x.peek()))return x.eatWhile(/[\w.%]/),T("number","unit");if(x.match(/^-[\w\\\-]*/))return x.eatWhile(/[\w\\\-]/),x.match(/^\s*:/,!1)?T("def","variable-definition"):T("variableName","variable");if(x.match(/^\w+-/))return T("meta","meta")}else return/[,+>*\/]/.test(v)?T(null,"select-op"):v=="."&&x.match(/^-?[_a-z][_a-z0-9-]*/i)?T("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(v)?T(null,v):x.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(x.current())&&($.tokenize=E),T("variableName.function","variable")):/[\w\\\-]/.test(v)?(x.eatWhile(/[\w\\\-]/),T("property","word")):T(null,null)}function C(x){return function($,v){for(var V=!1,se;(se=$.next())!=null;){if(se==x&&!V){x==")"&&$.backUp(1);break}V=!V&&se=="\\"}return(se==x||!V&&x!=")")&&(v.tokenize=null),T("string","string")}}function E(x,$){return x.next(),x.match(/^\s*[\"\')]/,!1)?$.tokenize=null:$.tokenize=C(")"),T(null,"(")}function w(x,$,v){this.type=x,this.indent=$,this.prev=v}function Z(x,$,v,V){return x.context=new w(v,$.indentation()+(V===!1?0:$.indentUnit),x.context),v}function g(x){return x.context.prev&&(x.context=x.context.prev),x.context.type}function I(x,$,v){return G[v.context.type](x,$,v)}function U(x,$,v,V){for(var se=V||1;se>0;se--)v.context=v.context.prev;return I(x,$,v)}function H(x){var $=x.current().toLowerCase();u.hasOwnProperty($)?S="atom":f.hasOwnProperty($)?S="keyword":S="variable"}var G={};return G.top=function(x,$,v){if(x=="{")return Z(v,$,"block");if(x=="}"&&v.context.prev)return g(v);if(y&&/@component/i.test(x))return Z(v,$,"atComponentBlock");if(/^@(-moz-)?document$/i.test(x))return Z(v,$,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(x))return Z(v,$,"atBlock");if(/^@(font-face|counter-style)/i.test(x))return v.stateArg=x,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(x))return"keyframes";if(x&&x.charAt(0)=="@")return Z(v,$,"at");if(x=="hash")S="builtin";else if(x=="word")S="tag";else{if(x=="variable-definition")return"maybeprop";if(x=="interpolation")return Z(v,$,"interpolation");if(x==":")return"pseudo";if(d&&x=="(")return Z(v,$,"parens")}return v.context.type},G.block=function(x,$,v){if(x=="word"){var V=$.current().toLowerCase();return l.hasOwnProperty(V)?(S="property","maybeprop"):a.hasOwnProperty(V)?(S=b?"string.special":"property","maybeprop"):d?(S=$.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(S="error","maybeprop")}else return x=="meta"?"block":!d&&(x=="hash"||x=="qualifier")?(S="error","block"):G.top(x,$,v)},G.maybeprop=function(x,$,v){return x==":"?Z(v,$,"prop"):I(x,$,v)},G.prop=function(x,$,v){if(x==";")return g(v);if(x=="{"&&d)return Z(v,$,"propBlock");if(x=="}"||x=="{")return U(x,$,v);if(x=="(")return Z(v,$,"parens");if(x=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test($.current()))S="error";else if(x=="word")H($);else if(x=="interpolation")return Z(v,$,"interpolation");return"prop"},G.propBlock=function(x,$,v){return x=="}"?g(v):x=="word"?(S="property","maybeprop"):v.context.type},G.parens=function(x,$,v){return x=="{"||x=="}"?U(x,$,v):x==")"?g(v):x=="("?Z(v,$,"parens"):x=="interpolation"?Z(v,$,"interpolation"):(x=="word"&&H($),"parens")},G.pseudo=function(x,$,v){return x=="meta"?"pseudo":x=="word"?(S="variableName.constant",v.context.type):I(x,$,v)},G.documentTypes=function(x,$,v){return x=="word"&&i.hasOwnProperty($.current())?(S="tag",v.context.type):G.atBlock(x,$,v)},G.atBlock=function(x,$,v){if(x=="(")return Z(v,$,"atBlock_parens");if(x=="}"||x==";")return U(x,$,v);if(x=="{")return g(v)&&Z(v,$,d?"block":"top");if(x=="interpolation")return Z(v,$,"interpolation");if(x=="word"){var V=$.current().toLowerCase();V=="only"||V=="not"||V=="and"||V=="or"?S="keyword":r.hasOwnProperty(V)?S="attribute":s.hasOwnProperty(V)?S="property":o.hasOwnProperty(V)?S="keyword":l.hasOwnProperty(V)?S="property":a.hasOwnProperty(V)?S=b?"string.special":"property":u.hasOwnProperty(V)?S="atom":f.hasOwnProperty(V)?S="keyword":S="error"}return v.context.type},G.atComponentBlock=function(x,$,v){return x=="}"?U(x,$,v):x=="{"?g(v)&&Z(v,$,d?"block":"top",!1):(x=="word"&&(S="error"),v.context.type)},G.atBlock_parens=function(x,$,v){return x==")"?g(v):x=="{"||x=="}"?U(x,$,v,2):G.atBlock(x,$,v)},G.restricted_atBlock_before=function(x,$,v){return x=="{"?Z(v,$,"restricted_atBlock"):x=="word"&&v.stateArg=="@counter-style"?(S="variable","restricted_atBlock_before"):I(x,$,v)},G.restricted_atBlock=function(x,$,v){return x=="}"?(v.stateArg=null,g(v)):x=="word"?(v.stateArg=="@font-face"&&!h.hasOwnProperty($.current().toLowerCase())||v.stateArg=="@counter-style"&&!c.hasOwnProperty($.current().toLowerCase())?S="error":S="property","maybeprop"):"restricted_atBlock"},G.keyframes=function(x,$,v){return x=="word"?(S="variable","keyframes"):x=="{"?Z(v,$,"top"):I(x,$,v)},G.at=function(x,$,v){return x==";"?g(v):x=="{"||x=="}"?U(x,$,v):(x=="word"?S="tag":x=="hash"&&(S="builtin"),"at")},G.interpolation=function(x,$,v){return x=="}"?g(v):x=="{"||x==";"?U(x,$,v):(x=="word"?S="variable":x!="variable"&&x!="("&&x!=")"&&(S="error"),"interpolation")},{name:n.name,startState:function(){return{tokenize:null,state:e?"block":"top",stateArg:null,context:new w(e?"block":"top",0,null)}},token:function(x,$){if(!$.tokenize&&x.eatSpace())return null;var v=($.tokenize||A)(x,$);return v&&typeof v=="object"&&(Q=v[1],v=v[0]),S=v,Q!="comment"&&($.state=G[$.state](Q,x,$)),S},indent:function(x,$,v){var V=x.context,se=$&&$.charAt(0),ue=V.indent;return V.type=="prop"&&(se=="}"||se==")")&&(V=V.prev),V.prev&&(se=="}"&&(V.type=="block"||V.type=="top"||V.type=="interpolation"||V.type=="restricted_atBlock")?(V=V.prev,ue=V.indent):(se==")"&&(V.type=="parens"||V.type=="atBlock_parens")||se=="{"&&(V.type=="at"||V.type=="atBlock"))&&(ue=Math.max(0,V.indent-v.unit))),ue},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:O,block:{open:"/*",close:"*/"}},autocomplete:P1}}}function _t(n){for(var e={},t=0;t!?|~^@]/,a=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(p){for(var m=!1,P,D=!1;(P=p.next())!=null;){if(!m){if(P=="/"&&!D)return;P=="["?D=!0:D&&P=="]"&&(D=!1)}m=!m&&P=="\\"}}var c,f;function u(p,m,P){return c=p,f=P,m}function d(p,m){var P=p.next();if(P=='"'||P=="'")return m.tokenize=O(P),m.tokenize(p,m);if(P=="."&&p.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return u("number","number");if(P=="."&&p.match(".."))return u("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(P))return u(P);if(P=="="&&p.eat(">"))return u("=>","operator");if(P=="0"&&p.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return u("number","number");if(/\d/.test(P))return p.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),u("number","number");if(P=="/")return p.eat("*")?(m.tokenize=y,y(p,m)):p.eat("/")?(p.skipToEnd(),u("comment","comment")):Y0(p,m,1)?(h(p),p.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),u("regexp","string.special")):(p.eat("="),u("operator","operator",p.current()));if(P=="`")return m.tokenize=b,b(p,m);if(P=="#"&&p.peek()=="!")return p.skipToEnd(),u("meta","meta");if(P=="#"&&p.eatWhile(s))return u("variable","property");if(P=="<"&&p.match("!--")||P=="-"&&p.match("->")&&!/\S/.test(p.string.slice(0,p.start)))return p.skipToEnd(),u("comment","comment");if(l.test(P))return(P!=">"||!m.lexical||m.lexical.type!=">")&&(p.eat("=")?(P=="!"||P=="=")&&p.eat("="):/[<>*+\-|&?]/.test(P)&&(p.eat(P),P==">"&&p.eat(P))),P=="?"&&p.eat(".")?u("."):u("operator","operator",p.current());if(s.test(P)){p.eatWhile(s);var D=p.current();if(m.lastType!="."){if(o.propertyIsEnumerable(D)){var B=o[D];return u(B.type,B.style,D)}if(D=="async"&&p.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return u("async","keyword",D)}return u("variable","variable",D)}}function O(p){return function(m,P){var D=!1,B;if(t&&m.peek()=="@"&&m.match(a))return P.tokenize=d,u("jsonld-keyword","meta");for(;(B=m.next())!=null&&!(B==p&&!D);)D=!D&&B=="\\";return D||(P.tokenize=d),u("string","string")}}function y(p,m){for(var P=!1,D;D=p.next();){if(D=="/"&&P){m.tokenize=d;break}P=D=="*"}return u("comment","comment")}function b(p,m){for(var P=!1,D;(D=p.next())!=null;){if(!P&&(D=="`"||D=="$"&&p.eat("{"))){m.tokenize=d;break}P=!P&&D=="\\"}return u("quasi","string.special",p.current())}var Q="([{}])";function S(p,m){m.fatArrowAt&&(m.fatArrowAt=null);var P=p.string.indexOf("=>",p.start);if(!(P<0)){if(r){var D=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(p.string.slice(p.start,P));D&&(P=D.index)}for(var B=0,re=!1,pe=P-1;pe>=0;--pe){var lt=p.string.charAt(pe),gt=Q.indexOf(lt);if(gt>=0&><3){if(!B){++pe;break}if(--B==0){lt=="("&&(re=!0);break}}else if(gt>=3&><6)++B;else if(s.test(lt))re=!0;else if(/["'\/`]/.test(lt))for(;;--pe){if(pe==0)return;var Kn=p.string.charAt(pe-1);if(Kn==lt&&p.string.charAt(pe-2)!="\\"){pe--;break}}else if(re&&!B){++pe;break}}re&&!B&&(m.fatArrowAt=pe)}}var T={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function A(p,m,P,D,B,re){this.indented=p,this.column=m,this.type=P,this.prev=B,this.info=re,D!=null&&(this.align=D)}function C(p,m){for(var P=p.localVars;P;P=P.next)if(P.name==m)return!0;for(var D=p.context;D;D=D.prev)for(var P=D.vars;P;P=P.next)if(P.name==m)return!0}function E(p,m,P,D,B){var re=p.cc;for(w.state=p,w.stream=B,w.marked=null,w.cc=re,w.style=m,p.lexical.hasOwnProperty("align")||(p.lexical.align=!0);;){var pe=re.length?re.pop():i?ae:we;if(pe(P,D)){for(;re.length&&re[re.length-1].lex;)re.pop()();return w.marked?w.marked:P=="variable"&&C(p,D)?"variableName.local":m}}}var w={state:null,column:null,marked:null,cc:null};function Z(){for(var p=arguments.length-1;p>=0;p--)w.cc.push(arguments[p])}function g(){return Z.apply(null,arguments),!0}function I(p,m){for(var P=m;P;P=P.next)if(P.name==p)return!0;return!1}function U(p){var m=w.state;if(w.marked="def",m.context){if(m.lexical.info=="var"&&m.context&&m.context.block){var P=H(p,m.context);if(P!=null){m.context=P;return}}else if(!I(p,m.localVars)){m.localVars=new $(p,m.localVars);return}}n.globalVars&&!I(p,m.globalVars)&&(m.globalVars=new $(p,m.globalVars))}function H(p,m){if(m)if(m.block){var P=H(p,m.prev);return P?P==m.prev?m:new x(P,m.vars,!0):null}else return I(p,m.vars)?m:new x(m.prev,new $(p,m.vars),!1);else return null}function G(p){return p=="public"||p=="private"||p=="protected"||p=="abstract"||p=="readonly"}function x(p,m,P){this.prev=p,this.vars=m,this.block=P}function $(p,m){this.name=p,this.next=m}var v=new $("this",new $("arguments",null));function V(){w.state.context=new x(w.state.context,w.state.localVars,!1),w.state.localVars=v}function se(){w.state.context=new x(w.state.context,w.state.localVars,!0),w.state.localVars=null}V.lex=se.lex=!0;function ue(){w.state.localVars=w.state.context.vars,w.state.context=w.state.context.prev}ue.lex=!0;function N(p,m){var P=function(){var D=w.state,B=D.indented;if(D.lexical.type=="stat")B=D.lexical.indented;else for(var re=D.lexical;re&&re.type==")"&&re.align;re=re.prev)B=re.indented;D.lexical=new A(B,w.stream.column(),p,null,D.lexical,m)};return P.lex=!0,P}function _(){var p=w.state;p.lexical.prev&&(p.lexical.type==")"&&(p.indented=p.lexical.indented),p.lexical=p.lexical.prev)}_.lex=!0;function J(p){function m(P){return P==p?g():p==";"||P=="}"||P==")"||P=="]"?Z():g(m)}return m}function we(p,m){return p=="var"?g(N("vardef",m),Sl,J(";"),_):p=="keyword a"?g(N("form"),yl,we,_):p=="keyword b"?g(N("form"),we,_):p=="keyword d"?w.stream.match(/^\s*$/,!1)?g():g(N("stat"),pn,J(";"),_):p=="debugger"?g(J(";")):p=="{"?g(N("}"),se,cs,_,ue):p==";"?g():p=="if"?(w.state.lexical.info=="else"&&w.state.cc[w.state.cc.length-1]==_&&w.state.cc.pop()(),g(N("form"),yl,we,_,nf)):p=="function"?g(ai):p=="for"?g(N("form"),se,rf,we,ue,_):p=="class"||r&&m=="interface"?(w.marked="keyword",g(N("form",p=="class"?p:m),of,_)):p=="variable"?r&&m=="declare"?(w.marked="keyword",g(we)):r&&(m=="module"||m=="enum"||m=="type")&&w.stream.match(/^\s*\w/,!1)?(w.marked="keyword",m=="enum"?g(hf):m=="type"?g(sf,J("operator"),de,J(";")):g(N("form"),$t,J("{"),N("}"),cs,_,_)):r&&m=="namespace"?(w.marked="keyword",g(N("form"),ae,we,_)):r&&m=="abstract"?(w.marked="keyword",g(we)):g(N("stat"),k0):p=="switch"?g(N("form"),yl,J("{"),N("}","switch"),se,cs,_,_,ue):p=="case"?g(ae,J(":")):p=="default"?g(J(":")):p=="catch"?g(N("form"),V,oi,we,_,ue):p=="export"?g(N("stat"),X0,_):p=="import"?g(N("stat"),E0,_):p=="async"?g(we):m=="@"?g(ae,we):Z(N("stat"),ae,J(";"),_)}function oi(p){if(p=="(")return g(Yi,J(")"))}function ae(p,m){return Hc(p,m,!1)}function _e(p,m){return Hc(p,m,!0)}function yl(p){return p!="("?Z():g(N(")"),pn,J(")"),_)}function Hc(p,m,P){if(w.state.fatArrowAt==w.stream.start){var D=P?Jc:Kc;if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,J("=>"),D,ue);if(p=="variable")return Z(V,$t,J("=>"),D,ue)}var B=P?On:Mi;return T.hasOwnProperty(p)?g(B):p=="function"?g(ai,B):p=="class"||r&&m=="interface"?(w.marked="keyword",g(N("form"),R0,_)):p=="keyword c"||p=="async"?g(P?_e:ae):p=="("?g(N(")"),pn,J(")"),_,B):p=="operator"||p=="spread"?g(P?_e:ae):p=="["?g(N("]"),D0,_,B):p=="{"?Fn(hs,"}",null,B):p=="quasi"?Z(as,B):p=="new"?g(g0(P)):g()}function pn(p){return p.match(/[;\}\)\],]/)?Z():Z(ae)}function Mi(p,m){return p==","?g(pn):On(p,m,!1)}function On(p,m,P){var D=P==!1?Mi:On,B=P==!1?ae:_e;if(p=="=>")return g(V,P?Jc:Kc,ue);if(p=="operator")return/\+\+|--/.test(m)||r&&m=="!"?g(D):r&&m=="<"&&w.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?g(N(">"),Ye(de,">"),_,D):m=="?"?g(ae,J(":"),B):g(B);if(p=="quasi")return Z(as,D);if(p!=";"){if(p=="(")return Fn(_e,")","call",D);if(p==".")return g(w0,D);if(p=="[")return g(N("]"),pn,J("]"),_,D);if(r&&m=="as")return w.marked="keyword",g(de,D);if(p=="regexp")return w.state.lastType=w.marked="operator",w.stream.backUp(w.stream.pos-w.stream.start-1),g(B)}}function as(p,m){return p!="quasi"?Z():m.slice(m.length-2)!="${"?g(as):g(pn,m0)}function m0(p){if(p=="}")return w.marked="string.special",w.state.tokenize=b,g(as)}function Kc(p){return S(w.stream,w.state),Z(p=="{"?we:ae)}function Jc(p){return S(w.stream,w.state),Z(p=="{"?we:_e)}function g0(p){return function(m){return m=="."?g(p?y0:b0):m=="variable"&&r?g($0,p?On:Mi):Z(p?_e:ae)}}function b0(p,m){if(m=="target")return w.marked="keyword",g(Mi)}function y0(p,m){if(m=="target")return w.marked="keyword",g(On)}function k0(p){return p==":"?g(_,we):Z(Mi,J(";"),_)}function w0(p){if(p=="variable")return w.marked="property",g()}function hs(p,m){if(p=="async")return w.marked="property",g(hs);if(p=="variable"||w.style=="keyword"){if(w.marked="property",m=="get"||m=="set")return g(x0);var P;return r&&w.state.fatArrowAt==w.stream.start&&(P=w.stream.match(/^\s*:\s*/,!1))&&(w.state.fatArrowAt=w.stream.pos+P[0].length),g(qi)}else{if(p=="number"||p=="string")return w.marked=t?"property":w.style+" property",g(qi);if(p=="jsonld-keyword")return g(qi);if(r&&G(m))return w.marked="keyword",g(hs);if(p=="[")return g(ae,mn,J("]"),qi);if(p=="spread")return g(_e,qi);if(m=="*")return w.marked="keyword",g(hs);if(p==":")return Z(qi)}}function x0(p){return p!="variable"?Z(qi):(w.marked="property",g(ai))}function qi(p){if(p==":")return g(_e);if(p=="(")return Z(ai)}function Ye(p,m,P){function D(B,re){if(P?P.indexOf(B)>-1:B==","){var pe=w.state.lexical;return pe.info=="call"&&(pe.pos=(pe.pos||0)+1),g(function(lt,gt){return lt==m||gt==m?Z():Z(p)},D)}return B==m||re==m?g():P&&P.indexOf(";")>-1?Z(p):g(J(m))}return function(B,re){return B==m||re==m?g():Z(p,D)}}function Fn(p,m,P){for(var D=3;D"),de);if(p=="quasi")return Z(wl,Ut)}function v0(p){if(p=="=>")return g(de)}function kl(p){return p.match(/[\}\)\]]/)?g():p==","||p==";"?g(kl):Z(Hn,kl)}function Hn(p,m){if(p=="variable"||w.style=="keyword")return w.marked="property",g(Hn);if(m=="?"||p=="number"||p=="string")return g(Hn);if(p==":")return g(de);if(p=="[")return g(J("variable"),S0,J("]"),Hn);if(p=="(")return Z(bn,Hn);if(!p.match(/[;\}\)\],]/))return g()}function wl(p,m){return p!="quasi"?Z():m.slice(m.length-2)!="${"?g(wl):g(de,P0)}function P0(p){if(p=="}")return w.marked="string.special",w.state.tokenize=b,g(wl)}function xl(p,m){return p=="variable"&&w.stream.match(/^\s*[?:]/,!1)||m=="?"?g(xl):p==":"?g(de):p=="spread"?g(xl):Z(de)}function Ut(p,m){if(m=="<")return g(N(">"),Ye(de,">"),_,Ut);if(m=="|"||p=="."||m=="&")return g(de);if(p=="[")return g(de,J("]"),Ut);if(m=="extends"||m=="implements")return w.marked="keyword",g(de);if(m=="?")return g(de,J(":"),de)}function $0(p,m){if(m=="<")return g(N(">"),Ye(de,">"),_,Ut)}function fs(){return Z(de,T0)}function T0(p,m){if(m=="=")return g(de)}function Sl(p,m){return m=="enum"?(w.marked="keyword",g(hf)):Z($t,mn,li,C0)}function $t(p,m){if(r&&G(m))return w.marked="keyword",g($t);if(p=="variable")return U(m),g();if(p=="spread")return g($t);if(p=="[")return Fn(Z0,"]");if(p=="{")return Fn(tf,"}")}function tf(p,m){return p=="variable"&&!w.stream.match(/^\s*:/,!1)?(U(m),g(li)):(p=="variable"&&(w.marked="property"),p=="spread"?g($t):p=="}"?Z():p=="["?g(ae,J("]"),J(":"),tf):g(J(":"),$t,li))}function Z0(){return Z($t,li)}function li(p,m){if(m=="=")return g(_e)}function C0(p){if(p==",")return g(Sl)}function nf(p,m){if(p=="keyword b"&&m=="else")return g(N("form","else"),we,_)}function rf(p,m){if(m=="await")return g(rf);if(p=="(")return g(N(")"),A0,_)}function A0(p){return p=="var"?g(Sl,gn):p=="variable"?g(gn):Z(gn)}function gn(p,m){return p==")"?g():p==";"?g(gn):m=="in"||m=="of"?(w.marked="keyword",g(ae,gn)):Z(ae,gn)}function ai(p,m){if(m=="*")return w.marked="keyword",g(ai);if(p=="variable")return U(m),g(ai);if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,ef,we,ue);if(r&&m=="<")return g(N(">"),Ye(fs,">"),_,ai)}function bn(p,m){if(m=="*")return w.marked="keyword",g(bn);if(p=="variable")return U(m),g(bn);if(p=="(")return g(V,N(")"),Ye(Yi,")"),_,ef,ue);if(r&&m=="<")return g(N(">"),Ye(fs,">"),_,bn)}function sf(p,m){if(p=="keyword"||p=="variable")return w.marked="type",g(sf);if(m=="<")return g(N(">"),Ye(fs,">"),_)}function Yi(p,m){return m=="@"&&g(ae,Yi),p=="spread"?g(Yi):r&&G(m)?(w.marked="keyword",g(Yi)):r&&p=="this"?g(mn,li):Z($t,mn,li)}function R0(p,m){return p=="variable"?of(p,m):us(p,m)}function of(p,m){if(p=="variable")return U(m),g(us)}function us(p,m){if(m=="<")return g(N(">"),Ye(fs,">"),_,us);if(m=="extends"||m=="implements"||r&&p==",")return m=="implements"&&(w.marked="keyword"),g(r?de:ae,us);if(p=="{")return g(N("}"),Gt,_)}function Gt(p,m){if(p=="async"||p=="variable"&&(m=="static"||m=="get"||m=="set"||r&&G(m))&&w.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return w.marked="keyword",g(Gt);if(p=="variable"||w.style=="keyword")return w.marked="property",g(ds,Gt);if(p=="number"||p=="string")return g(ds,Gt);if(p=="[")return g(ae,mn,J("]"),ds,Gt);if(m=="*")return w.marked="keyword",g(Gt);if(r&&p=="(")return Z(bn,Gt);if(p==";"||p==",")return g(Gt);if(p=="}")return g();if(m=="@")return g(ae,Gt)}function ds(p,m){if(m=="!"||m=="?")return g(ds);if(p==":")return g(de,li);if(m=="=")return g(_e);var P=w.state.lexical.prev,D=P&&P.info=="interface";return Z(D?bn:ai)}function X0(p,m){return m=="*"?(w.marked="keyword",g(Ql,J(";"))):m=="default"?(w.marked="keyword",g(ae,J(";"))):p=="{"?g(Ye(lf,"}"),Ql,J(";")):Z(we)}function lf(p,m){if(m=="as")return w.marked="keyword",g(J("variable"));if(p=="variable")return Z(_e,lf)}function E0(p){return p=="string"?g():p=="("?Z(ae):p=="."?Z(Mi):Z(ps,af,Ql)}function ps(p,m){return p=="{"?Fn(ps,"}"):(p=="variable"&&U(m),m=="*"&&(w.marked="keyword"),g(W0))}function af(p){if(p==",")return g(ps,af)}function W0(p,m){if(m=="as")return w.marked="keyword",g(ps)}function Ql(p,m){if(m=="from")return w.marked="keyword",g(ae)}function D0(p){return p=="]"?g():Z(Ye(_e,"]"))}function hf(){return Z(N("form"),$t,J("{"),N("}"),Ye(M0,"}"),_,_)}function M0(){return Z($t,li)}function q0(p,m){return p.lastType=="operator"||p.lastType==","||l.test(m.charAt(0))||/[,.]/.test(m.charAt(0))}function Y0(p,m,P){return m.tokenize==d&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(m.lastType)||m.lastType=="quasi"&&/\{\s*$/.test(p.string.slice(0,p.pos-(P||0)))}return{name:n.name,startState:function(p){var m={tokenize:d,lastType:"sof",cc:[],lexical:new A(-p,0,"block",!1),localVars:n.localVars,context:n.localVars&&new x(null,null,!1),indented:0};return n.globalVars&&typeof n.globalVars=="object"&&(m.globalVars=n.globalVars),m},token:function(p,m){if(p.sol()&&(m.lexical.hasOwnProperty("align")||(m.lexical.align=!1),m.indented=p.indentation(),S(p,m)),m.tokenize!=y&&p.eatSpace())return null;var P=m.tokenize(p,m);return c=="comment"?P:(m.lastType=c=="operator"&&(f=="++"||f=="--")?"incdec":c,E(m,P,c,f,p))},indent:function(p,m,P){if(p.tokenize==y||p.tokenize==b)return null;if(p.tokenize!=d)return 0;var D=m&&m.charAt(0),B=p.lexical,re;if(!/^\s*else\b/.test(m))for(var pe=p.cc.length-1;pe>=0;--pe){var lt=p.cc[pe];if(lt==_)B=B.prev;else if(lt!=nf&<!=ue)break}for(;(B.type=="stat"||B.type=="form")&&(D=="}"||(re=p.cc[p.cc.length-1])&&(re==Mi||re==On)&&!/^[,\.=+\-*:?[\(]/.test(m));)B=B.prev;e&&B.type==")"&&B.prev.type=="stat"&&(B=B.prev);var gt=B.type,Kn=D==gt;return gt=="vardef"?B.indented+(p.lastType=="operator"||p.lastType==","?B.info.length+1:0):gt=="form"&&D=="{"?B.indented:gt=="form"?B.indented+P.unit:gt=="stat"?B.indented+(q0(p,m)?e||P.unit:0):B.info=="switch"&&!Kn&&n.doubleIndentSwitch!=!1?B.indented+(/^(?:case|default)\b/.test(m)?P.unit:2*P.unit):B.align?B.column+(Kn?0:1):B.indented+(Kn?0:P.unit)},languageData:{indentOnInput:/^\s*(?:case .*?:|default:|\{|\})$/,commentTokens:i?void 0:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]},wordChars:"$"}}}var Km=dl({name:"javascript"}),Ev=dl({name:"json",json:!0}),Wv=dl({name:"json",jsonld:!0}),Dv=dl({name:"typescript",typescript:!0});function T1(n){return new RegExp("^(?:"+n.join("|")+")","i")}function pl(n){return new RegExp("^(?:"+n.join("|")+")$","i")}var Z1=pl(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),C1=pl(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),A1=pl(["function","if","repeat","do","\\(","{"]),R1=pl(["end","until","\\)","}"]),X1=T1(["end","until","\\)","}","else","elseif"]);function Jm(n){for(var e=0;n.eat("=");)++e;return n.eat("["),e}function Tc(n,e){var t=n.next();return t=="-"&&n.eat("-")?n.eat("[")&&n.eat("[")?(e.cur=eg(Jm(n),"comment"))(n,e):(n.skipToEnd(),"comment"):t=='"'||t=="'"?(e.cur=E1(t))(n,e):t=="["&&/[\[=]/.test(n.peek())?(e.cur=eg(Jm(n),"string"))(n,e):/\d/.test(t)?(n.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(n.eatWhile(/[\w\\\-_.]/),"variable"):null}function eg(n,e){return function(t,i){for(var r=null,s;(s=t.next())!=null;)if(r==null)s=="]"&&(r=0);else if(s=="=")++r;else if(s=="]"&&r==n){i.cur=Tc;break}else r=null;return e}}function E1(n){return function(e,t){for(var i=!1,r;(r=e.next())!=null&&!(r==n&&!i);)i=!i&&r=="\\";return i||(t.cur=Tc),"string"}}var tg={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:Tc}},token:function(n,e){if(n.eatSpace())return null;var t=e.cur(n,e),i=n.current();return t=="variable"&&(C1.test(i)?t="keyword":Z1.test(i)&&(t="builtin")),t!="comment"&&t!="string"&&(A1.test(i)?++e.indentDepth:R1.test(i)&&--e.indentDepth),t},indent:function(n,e,t){var i=X1.test(e);return n.basecol+t.unit*(n.indentDepth-(i?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};var W1=()=>[$m(),ri.data.of({autocomplete:Sm(window)})],D1=()=>new ut(Pc,Pc.data.of({autocomplete(n){let{state:e,pos:t}=n,i=ee(e).resolveInner(t,-1),r=qm(n);if(r&&i.name==="ValueName"){let s=[{label:"revert",type:"keyword"},...r.options],{prevSibling:o}=i;for(;o&&o.name!=="PropertyName";)({prevSibling:o}=o);if(o)for(let[l,a]of s.entries())CSS.supports(e.sliceDoc(o.from,i.from)+a.label)&&s.splice(l,1,{...a,boost:50});r.options=s}return r}}));var Cc=class{constructor(e){this.tags=e,this.firstSingleLetterWord=null,this.firstMultiLetterWord=null,this.firstSpace=null,this.readyTokens=[],this.oldToken=null,this.mark=null}},Gr=(n,e,t)=>n.nTemplate===e.nTemplate&&n.nExt===e.nExt&&n.nVar===e.nVar&&n.nLink===e.nLink&&n.nExtLink===e.nExtLink&&n.extName===e.extName&&(t||n.extName!=="mediawiki"||Gr(n.extState,e.extState)),M1=(n,e)=>{n.nTemplate=e.nTemplate,n.nExt=e.nExt,n.nVar=e.nVar,n.nLink=e.nLink,n.nExtLink=e.nExtLink,n.extName=e.extName},Ur=(n,e)=>{let t=e.tokenize(n,e);return Array.isArray(t)?t[0]:t},hn=(n,e)=>({tokenize:n,stack:[],inHtmlTag:[],extName:!1,extMode:!1,extState:!1,nTemplate:0,nExt:0,nVar:0,nLink:0,nExtLink:0,lbrack:!1,bold:!1,italic:!1,dt:{n:0,html:0},redirect:!1,data:new Cc(e)}),Ol=n=>{let e={};for(let t in n){let i=n[t];Array.isArray(i)?e[t]=[...i]:t==="extState"?e.extState=(n.extName&&n.extMode&&n.extMode.copyState||Ol)(i):e[t]=t!=="data"&&i&&typeof i=="object"?{...i}:i}return e},Zc=typeof document=="object"&&document.createElement("span"),q1=n=>!Zc||n.startsWith("#")?!0:(Zc.innerHTML=`&${n}`,[...Zc.textContent].length===1),be=(n,e)=>{n.stack.unshift(n.tokenize),n.tokenize=e},Qe=n=>{n.tokenize=n.stack.shift()},cn=(n,e,t)=>n.sol()&&(e&&n.match(/^\s*(?::+\s*)?\{\|/u,!1)||n.match(/^(?:-{4}|=)/u,!1)||!t&&/[*#;:]/u.test(n.peek()||"")),Te=(n,e)=>{let t={"'":"'(?!')","{":String.raw`\{(?!\{)`,"}":String.raw`\}(?!\})`,"<":e?"<(?!!--)":"<(?!!--|/?[a-z])","~":"~~?(?!~)",_:"_(?!_)","[":String.raw`\[(?!\[)`,"]":String.raw`\](?!\])`,"/":"/(?!>)","-":String.raw`-(?!\{(?!\{))`};return typeof e=="object"&&(t["<"]=String.raw`<(?!!--|onlyinclude>|(?:${e.data.tags.slice(0,-1).join("|")})(?:[\s/>]|$))`),[...n].map(i=>t[i]).join("|")},Zg=(n="")=>{let e="~{'";return String.raw`[^&${e}\p{Zs}[\]<>"${n}]|&(?![lg]t;)|${Te(e)}`},Cg=n=>String.raw`.,;:!?\\${n?"":")"}`,ig=n=>{let e=Cg(n),t=Zg(e);return new RegExp(`^(?:${t}|[${e}]+(?=${t}))*`,"u")},Pe=(n,e)=>function(...t){let i=n.apply(this,t);return Object.defineProperty(i,"name",{value:e.name}),i.args=t,i},ng=(n,e)=>{var t;return typeof n=="string"?n:`${n[0]} ${e.bold||(t=e.dt)!=null&&t.n?Y.strong:""} ${e.italic?Y.em:""}`},si=(n,e,t)=>Me(Y[n],e,t),Me=(n,e,t)=>[Re(n,e,t)],q=(n,e,t)=>Re(Y[n],e,t),Re=(n,e,t)=>{let i="";switch(e.nTemplate){case 0:break;case 1:i+="-template";break;case 2:i+="-template2";break;default:i+="-template3";break}switch(e.nExt){case 0:break;case 1:i+="-ext";break;case 2:i+="-ext2";break;default:i+="-ext3";break}if((e.nLink||e.nExtLink)&&(i+="-link"),t){e[t]--;let{dt:r}=e;r!=null&&r.n&&e[t]{let t=n.pos,i=n.string.slice(0,t-3),r=i.slice(-1),s=i.slice(-2,-1),{data:o}=e;if(r===" "){if(o.firstMultiLetterWord||o.firstSpace)return;o.firstSpace=t}else if(s===" ")o.firstSingleLetterWord=t;else{if(o.firstMultiLetterWord)return;o.firstMultiLetterWord=t}o.mark=t},z1=new Set(["syntaxhighlight","source","pre"]),rg,sg,og,lg,ag,hg,cg,fg,ug,dg,pg,Og,mg,gg,bg,yg,kg,wg,xg,Sg,Qg,vg,Pg,$g,Tg,ke;Tg=[Pe],$g=[Pe],Pg=[Pe],vg=[Pe],Qg=[Pe],Sg=[Pe],xg=[Pe],wg=[Pe],kg=[Pe],yg=[Pe],bg=[Pe],gg=[Pe],mg=[Pe],Og=[Pe],pg=[Pe],dg=[Pe],ug=[Pe],fg=[Pe],cg=[Pe],hg=[Pe],ag=[Pe],lg=[Pe],og=[Pe],sg=[Pe],rg=[Pe];var fe=class{constructor(e){pf(ke,5,this);var a,h,c;let{urlProtocols:t,permittedHtmlTags:i,implicitlyClosedHtmlTags:r,tags:s,nsid:o,redirection:l=["#REDIRECT"]}=e;this.config=e,this.tokenTable={...sm},this.hiddenTable={},this.permittedHtmlTags=new Set([...Jo,...i!=null?i:[]]),this.implicitlyClosedHtmlTags=new Set([...el,...r!=null?r:[]]),this.urlProtocols=new RegExp(String.raw`^(?:${t})(?=[^\p{Zs}[\]<>"])`,"iu"),this.linkRegex=new RegExp(String.raw`^\[(?!${e.urlProtocols})\s*`,"iu"),this.fileRegex=new RegExp(String.raw`^(?:${Object.entries(o).filter(([,f])=>f===6).map(([f])=>f).join("|")})\s*:`,"iu"),this.redirectRegex=new RegExp(String.raw`^(?:${l.map(f=>f.slice(1)).join("|")})(?:\s*:)?\s*(?=\[\[)`,"iu"),this.img=Object.keys((a=e.img)!=null?a:{}).filter(f=>!/\$1./u.test(f)),this.imgRegex=new RegExp(String.raw`^(?:${this.img.filter(f=>f.endsWith("$1")).map(f=>f.slice(0,-2)).join("|")}|(?:${this.img.filter(f=>!f.endsWith("$1")).join("|")}|(?:\d+x?|\d*x\d+)\s*(?:px)?px)\s*(?=\||\]\]|$))`,"u"),this.headerRegex=new RegExp(`^(?:[^&[<{~'-]|${Te("<{~'-")})+`,"iu"),this.tags=[...Object.keys(s),"includeonly","noinclude","onlyinclude"],this.templateRegex=new RegExp(`^(?:[^|{}<]|${Te("{}<",!0)})+`,"u"),this.argumentRegex=new RegExp(`^(?:[^|[&:}{<~'_-]|${Te("}{<~'_-")})+`,"iu"),this.convertSemicolon=new RegExp(String.raw`^;\s*(?=(?:[^;]*?=>\s*)?(?:${(h=e.variants)==null?void 0:h.join("|")})\s*:|(?:$|\}-))`,"u"),this.convertLang=new RegExp(String.raw`^(?:=>\s*)?(?:${(c=this.config.variants)==null?void 0:c.join("|")})\s*:`,"u"),this.convertRegex=new RegExp(String.raw`^(?:[^};&='{[<~_-]|\}(?!-)|=(?!>)|${Te("'{[<~_-")})+`,"u"),this.wikiRegex=new RegExp(`^(?:[^&'{[<~_:-]|${Te("'{[<~_-")})+`,"u"),this.tableDefinitionRegex=new RegExp(`^(?:[^&={r.match(e,!!t)?(Qe(s),t?q(t,s):""):(r.skipTo(e)||r.skipToEnd(),q(i,s))}eatWikiText(e){e in Y&&(e=Y[e]);let t=/^(?:(?:RFC|PMID)[\p{Zs}\t]+\d+|ISBN[\p{Zs}\t]+(?:97[89][\p{Zs}\t-]?)?(?:\d[\p{Zs}\t-]?){9}[\dxX])\b/u;return(i,r)=>{var l;let s;if(i.eol())return"";if(i.sol()){if(i.match("//"))return Me(e,r);if(i.match(t))return si("magicLink",r);let a=i.match(this.urlProtocols,!1);if(a)return be(r,this.eatExternalLinkProtocol(a[0])),"";s=i.next();let h=["inTemplateArgument","inParserFunctionArgument","inVariable"].includes(r.tokenize.name),c=String.raw`${h?"":String.raw`\||`}\{(?:\{\s*|\s*\()!\s*\}\}`;switch(s){case"#":if(i.match(this.redirectRegex))return r.redirect=!0,Y.redirect;case";":case"*":return i.backUp(1),this.eatList(i,r);case":":return i.match(new RegExp(String.raw`^:*\s*(?=\{(?:${c}))`,"u"))?(be(r,this.eatStartTable),q("list",r)):this.eatList(i,r);case"=":{let f=i.match(/^(={0,5})(.+?(=\1\s*)(?:\s*\S).*)?)$/u);if(f)return i.backUp(f[2].length),be(r,this.inSectionHeader(f[3])),Re(`${Y.sectionHeader} mw-section--${f[1].length+1}`,r);break}case"{":if(i.match(new RegExp(String.raw`^(?:${c})\s*`,"u")))return be(r,this.inTableDefinition()),q("tableBracket",r);break;case"-":if(i.match(/^-{3,}/u))return Y.hr;break;default:if(/\s/u.test(s)){let f=new RegExp(String.raw`^\s*(:+\s*)?(?=\{(?:${c}))`,"u"),u=new RegExp(String.raw`^\s*#${this.redirectRegex.source.slice(1)}`,"iu"),d=i.match(f);if(d)return be(r,this.eatStartTable),Re(d[1]?Y.list:"",r);if(i.match(u))return r.redirect=!0,Y.redirect;if(s===" ")return Y.skipFormatting}}}else s=i.next();let{dt:o}=r;switch(s){case"~":if(i.match(/^~{2,4}/u))return Y.signature;break;case"<":{if(i.match("!--"))return be(r,this.inComment),q("comment",r);let a=!!i.eat("/"),h=i.match(/^([a-z][^\s/>]*)>?/iu,!1);if(h){let c=h[1].toLowerCase();if(h[0]==="onlyinclude>"||c!=="onlyinclude"&&r.data.tags.includes(c))return a?(be(r,this.inStr(">","error")),q("error",r)):(be(r,this.eatTagName(c)),q("extTagBracket",r));if(this.permittedHtmlTags.has(c)){if(a)if(o.n&&o.html&&o.html--,c===r.inHtmlTag[0])r.inHtmlTag.shift();else{be(r,this.inStr(">","error"));let f=r.inHtmlTag.lastIndexOf(c);return f!==-1&&r.inHtmlTag.splice(f,1),q("error",r)}return be(r,this.eatTagName(c,a,!0)),q("htmlTagBracket",r)}}break}case"{":if(i.match(/^\{\{(?!\{|[^{}]*\}\}(?!\}))\s*/u))return r.nVar++,be(r,this.inVariable()),q("templateVariableBracket",r);if(i.match(/^\{(?!\{(?!\{))\s*/u))return this.eatTransclusion(i,r);break;case"_":{let{pos:a}=i;switch(i.eatWhile("_"),i.pos-a){case 0:break;case 1:return this.eatDoubleUnderscore(e,i,r);default:return i.eol()||i.backUp(2),Me(e,r)}break}case"[":if(i.match(this.linkRegex)){let{redirect:a}=r;if(a||/[^[\]|]/u.test(i.peek()||""))return r.nLink++,r.lbrack=void 0,be(r,this.inLink(!a&&!!i.match(this.fileRegex,!1))),q("linkBracket",r);if(i.match("]]"))return Me(e,r)}else{let a=i.match(this.urlProtocols,!1);if(a)return r.nExtLink++,be(r,this.eatExternalLinkProtocol(a[0],!1)),q("extLinkBracket",r)}break;case"'":{let a=this.eatApostrophes(r)(i,r);if(a)return a;break}case":":if(o.n&&o.html===0&&!r.bold&&!r.italic&&Gr(o,r,!0))return o.n--,q("list",r);break;case"&":return Me(this.eatEntity(i,e),r);case"-":if((l=this.config.variants)!=null&&l.length&&i.match(/^\{(?!\{)\s*/u))return be(r,this.inConvert(e,!0)),q("convertBracket",r)}if(r.stack.length===0){if(/[^\p{L}\d_]/u.test(s||"")){i.eatWhile(/[^\p{L}\d_&'{[<~:-]/u);let a=i.match(this.urlProtocols,!1);if(a&&!i.match("//"))return be(r,this.eatExternalLinkProtocol(a[0])),Me(e,r);let h=i.match(t,!1);if(h)return be(r,this.inStr(h[0],"magicLink")),Me(e,r)}i.eatWhile(/[\p{L}\d]/u)}return Me(e,r)}}eatApostrophes(e){return(t,i)=>t.match(/^'*(?='{5})/u)||t.match(/^'''(?!')/u,!1)?!1:t.match("''''")?(e.bold=!e.bold,e.italic=!e.italic,q("apostrophes",i)):t.match("''")?(e===i&&i.data.firstSingleLetterWord===null&&Y1(t,i),e.bold=!e.bold,q("apostrophes",i)):t.eat("'")?(e.italic=!e.italic,q("apostrophes",i)):!1}eatExternalLinkProtocol(e,t=!0){return(i,r)=>(i.match(e),r.tokenize=t?this.eatFreeExternalLink:this.inExternalLink(),q(t?"freeExtLinkProtocol":"extLinkProtocol",r))}inExternalLink(e){return(t,i)=>{let r=i.stack[0],s=r.name==="inTemplateArgument"&&r.args[0],o=["inTemplateArgument","inParserFunctionArgument","inVariable","inTableCell"].includes(r.name),l=(o?"|":"")+(s?"=":""),a=t.peek();if(t.sol()||t.match(/^\p{Zs}*\]/u)||o&&a==="|"||s&&a==="=")return Qe(i),q("extLinkBracket",i,"nExtLink");if(e){let h="[{'<-";return t.match(new RegExp(String.raw`^(?:[^\]&${l}${h}]|${Te(h)})+`,"iu"))?si("extLinkText",i):this.eatWikiText("extLinkText")(t,i)}else if(t.match(new RegExp(`^(?:${Zg(l)})+`,"u")))return q("extLink",i);return i.tokenize=this.inExternalLink(!0),""}}get eatFreeExternalLink(){return(e,t)=>{let i=e.match(ig());return!e.eol()&&i[0].includes("(")&&Cg().includes(e.peek())&&e.match(ig(!0)),Qe(t),si("freeExtLink",t)}}inLink(e,t){let i=t?Y[e?"error":"linkToSection"]:`${Y.linkPageName} ${Y.pageName}`,r=t?/^(?:[^|<[\]{}]|<(?!!--|\/?[a-z]))+/iu:/^(?:&#(?:\d+|x[a-f\d]+);|[^#|<>[\]{}])+/iu,s;return(o,l)=>{if(o.sol()||s&&o.pos>s||o.match(/^\s*\]\]/u))return l.redirect=!1,l.lbrack=!1,Qe(l),q("linkBracket",l,"nLink");s=void 0;let a=o.eatSpace(),{redirect:h}=l;if(!t&&o.match(/^#\s*/u))return l.tokenize=this.inLink(e,!0),si(e?"error":"linkToSection",l);if(o.match(/^\|\s*/u))return l.tokenize=this.inLinkText(e),e&&this.toEatImageParameter(o,l),q(h?"error":"linkDelimiter",l);let c;return h?c=/^(?:[<>[{}]|\](?!\]))+/u:t?c=/^(?:[[}]|\](?!\])|\{(?!\{))+/u:c=/^(?:[>[}]|\](?!\])|\{(?!\{)|<(?!!--|\/?[a-z]))+/iu,o.match(c)?si("error",l):h?(o.eatWhile(/[^|\]]/u),Me(i,l)):o.match(r)||a?Me(i,l):(o.match(/^<[/a-z]/iu,!1)&&(s=o.pos+1),this.eatWikiText(t?i:"error")(o,l))}}inLinkText(e,t){let i={bold:!1,italic:!1},r=`]'{<${e?"~":"["}-`,s=new RegExp(`^(?:[^&${e?"[|":""}\\${r}]|${Te(r)})+`,"iu");return(o,l)=>{let a=`${Y[e?"fileText":"linkText"]} ${i.bold?Y.strong:""} ${i.italic?Y.em:""}`,{redirect:h,lbrack:c}=l,f=o.match("]]");if(f||!e&&o.match("[[",!1))return t?Me(a,l):f&&!h&&c&&o.peek()==="]"?(o.backUp(1),l.lbrack=!1,Me(a,l)):(l.redirect=!1,l.lbrack=!1,Qe(l),q("linkBracket",l,"nLink"));if(h)return o.skipTo("]]")||o.skipToEnd(),q("error",l);if(e&&o.match(/^\|\s*/u))return this.toEatImageParameter(o,l),q("linkDelimiter",l);if(o.match(/^'(?=')/u))return this.eatApostrophes(i)(o,l)||Me(a,l);if(e&&cn(o,!0,!0)||o.sol()&&o.match("{|",!1))return this.eatWikiText(a)(o,l);let u=o.match(s);return c===void 0&&u&&u[0].includes("[")&&(l.lbrack=!0),u?Me(a,l):this.eatWikiText(a)(o,l)}}toEatImageParameter(e,t){let i=e.match(this.imgRegex,!1);i&&be(t,this.inStr(i[0],"imageParameter"))}eatList(e,t){let i=e.match(/^[*#;:]*/u),{dt:r}=t;return i[0].includes(";")&&(r.n=i[0].split(";").length-1,M1(r,t)),q("list",t)}eatDoubleUnderscore(e,t,i){let{config:{doubleUnderscore:r}}=this,s=t.match(/^[\p{L}\d_]+?__/u);if(s){if(Object.prototype.hasOwnProperty.call(r[0],`__${s[0].toLowerCase()}`)||Object.prototype.hasOwnProperty.call(r[1],`__${s[0]}`))return Y.doubleUnderscore;t.eol()||t.backUp(2)}return Me(e,i)}get eatStartTable(){return(e,t)=>(e.match(/^(?:\{\||\{\{(?:\{\s*|\s*\()!\s*\}\})\s*/u),t.tokenize=this.inTableDefinition(),q("tableBracket",t))}inTableDefinition(e,t){let i=`${Y.tableDefinition} mw-html-${e?"tr":"table"}`,r="{<";return(s,o)=>{var h;if(s.sol())return o.tokenize=this.inTable,"";let l=o.stack[0],a=l.name==="inTemplateArgument"&&l.args[0]?"=":"";if(a&&s.peek()==="=")return Qe(o),"";if(s.match(/^(?:&|\{\{|<(?:!--|\/?[a-z]))/iu,!1))return this.eatWikiText(i)(s,o);if(t)return s.eat(t[0])?o.tokenize=this.inTableDefinition(e,t.slice(1)||void 0):s.match(new RegExp(`^(?:[^&${r}${a}${t[0]}]|${Te(r)})+`,"iu")),q("tableDefinitionValue",o);if(t==="")return/\s/u.test((h=s.peek())!=null?h:"")?(o.tokenize=this.inTableDefinition(e),""):(s.match(new RegExp(String.raw`^(?:[^\s&${r}${a}]|${Te(r)})+`,"iu")),q("tableDefinitionValue",o));if(s.match(/^=\s*/u)){let c=s.peek();return o.tokenize=this.inTableDefinition(e,/['"]/u.test(c!=null?c:"")?c.repeat(2):""),Re(i,o)}return s.match(this.tableDefinitionRegex),Re(i,o)}}get inTable(){return(e,t)=>{if(e.sol()){e.eatSpace();let i=e.match(/^(?:\||\{\{\s*!([!)+-])?\s*\}\})/u);if(i)return i[1]==="-"||!i[1]&&e.eat("-")?(e.match(/^-*\s*/u),t.tokenize=this.inTableDefinition(!0),q("tableDelimiter",t)):i[1]==="+"||!i[1]&&e.match(/^\+\s*/u)?(t.tokenize=this.inTableCell(Y.tableCaption),q("tableDelimiter",t)):i[1]===")"||!i[1]&&e.eat("}")?(Qe(t),q("tableBracket",t)):(e.eatSpace(),t.tokenize=this.inTableCell(Y.tableTd,i[1]!=="!"),q("tableDelimiter",t));if(e.match(/^!\s*/u))return t.tokenize=this.inTableCell(Y.tableTh),q("tableDelimiter",t);if(cn(e,!0))return this.eatWikiText("error")(e,t)}return e.match(this.wikiRegex)?si("error",t):this.eatWikiText("error")(e,t)}}inTableCell(e,t=!0,i=!0){let r="'<~_-{";return(s,o)=>{if(s.sol()){if(s.match(/^\s*(?:[|!]|\{\{\s*![!)+-]?\s*\}\})/u,!1))return o.tokenize=this.inTable,"";if(i)return o.tokenize=this.inTableCell(e,!1,!1),"";if(cn(s,!0))return this.eatWikiText(e)(s,o)}if(i){if(s.match(/^(?:(?:\||\{\{\s*!\s*\}\}){2}|\{\{\s*!!\s*\}\})\s*/u)||e===Y.tableTh&&s.match(/^!!\s*/u))return o.bold=!1,o.italic=!1,t||(o.tokenize=this.inTableCell(e)),q("tableDelimiter",o);if(t&&s.match(/^(?:\||\{\{\s*!\s*\}\})\s*/u))return o.tokenize=this.inTableCell(e,!1),q("tableDelimiter2",o);t&&s.match("[[",!1)&&(o.tokenize=this.inTableCell(e,!1))}let l=o.stack[0],a=l.name==="inTemplateArgument"&&l.args[0]?"=":"";if(a&&s.peek()==="=")return Qe(o),"";let h=new RegExp(`^(?:[^[&${i?"|!":":"}${a}${r}]|${Te(r)})+`,"iu");return s.match(h)?Me(e,o):this.eatWikiText(e)(s,o)}}inSectionHeader(e){return(t,i)=>t.sol()?(Qe(i),""):t.match(this.headerRegex)?(t.eol()?(t.backUp(e.length),i.tokenize=this.inStr(e,"sectionHeader")):t.match(/^.*?=)/u,!1)&&(t.backUp(e.length),i.tokenize=this.inStr("","comment","comment")}eatTagName(e,t,i){return(r,s)=>(r.match(e,!0,!0),r.eatSpace(),i?(s.tokenize=t?this.inStr(">","htmlTagBracket"):this.inHtmlTagAttribute(e),q("htmlTagName",s)):(s.tokenize=t?this.inStr(">","extTagBracket"):this.inExtTagAttribute(e),q("extTagName",s)))}inHtmlTagAttribute(e,t){let i=t===void 0?`${Y.htmlTagAttribute} mw-html-${e}`:Y.htmlTagAttributeValue,r="{/";return(s,o)=>{var c,f;if(s.match(new RegExp(`^${Te("<",o)}`,"iu"),!1))return Qe(o),"";let l=s.match(/^\/?>/u);if(l)return!this.implicitlyClosedHtmlTags.has(e)&&(l[0]===">"||!rm.includes(e))&&(o.inHtmlTag.unshift(e),o.dt.html++),Qe(o),q("htmlTagBracket",o);let a=o.stack[0],h=(["inTemplateArgument","inParserFunctionArgument","inVariable"].includes(a.name)?"|":"")+(a.name==="inTemplateArgument"&&a.args[0]?"=":"");if(h.includes((c=s.peek())!=null?c:""))return Qe(o),q("htmlTagBracket",o);if(s.match(/^(?:[&<]|\{\{)/u,!1))return this.eatWikiText(i)(s,o);if(t)return s.eat(t[0])?o.tokenize=this.inHtmlTagAttribute(e,t.slice(1)||void 0):s.match(new RegExp(`^(?:[^<>&${r}${h}${t[0]}]|${Te(r)})+`,"u")),q("htmlTagAttributeValue",o);if(t==="")return s.sol()||/\s/u.test((f=s.peek())!=null?f:"")?(o.tokenize=this.inHtmlTagAttribute(e),""):(s.match(new RegExp(String.raw`^(?:[^\s<>&${r}${h}]|${Te(r)})+`,"u")),q("htmlTagAttributeValue",o));if(s.match(/^=\s*/u)){let u=s.peek();return o.tokenize=this.inHtmlTagAttribute(e,/['"]/u.test(u!=null?u:"")?u.repeat(2):""),Re(i,o)}return s.match(new RegExp(`^(?:[^<>&={/${h}]|${Te("{/")})+`,"u")),Re(i,o)}}inExtTagAttribute(e,t,i,r){let s=`${Y.extTagAttribute} mw-ext-${e}`,o=(l,a,h)=>{let c=l.match(h);if(i){let f=c[0].trim().toLowerCase();f==="js"&&(f="javascript"),a.extMode=(f==="css"||f==="javascript"||f==="lua")&&an[f]}return Re(Y.extTagAttributeValue+(r?` ${Y.pageName}`:""),a)};return(l,a)=>{var c;if(l.eat(">")){let{config:{tagModes:f}}=this;return a.extName=e,a.extMode||(a.extMode=e in f&&this[f[e]](a.data.tags.filter(u=>u!==e))),a.extMode&&(a.extState=a.extMode.startState(0)),a.tokenize=this.eatExtTagArea(e),q("extTagBracket",a)}else{if(l.match("/>"))return a.extMode=!1,Qe(a),q("extTagBracket",a);if(t){if(l.eat(t[0])){let f=t.slice(1)||void 0;return a.tokenize=this.inExtTagAttribute(e,f,i&&!!f,r&&!!f),q("extTagAttributeValue",a)}return o(l,a,new RegExp(`^(?:[^>/${t[0]}]|${Te("/")})+`,"u"))}else{if(t==="")return l.sol()||/\s/u.test((c=l.peek())!=null?c:"")?(a.tokenize=this.inExtTagAttribute(e),""):o(l,a,/^(?:[^>/\s]|\/(?!>))+/u);if(l.match(/^=\s*/u)){let f=l.peek();return a.tokenize=this.inExtTagAttribute(e,/['"]/u.test(f!=null?f:"")?f.repeat(2):"",i,r),Re(s,a)}}}let h=l.match(/(?:[^>/=]|\/(?!>))+/u);return l.peek()==="="&&(a.tokenize=this.inExtTagAttribute(e,void 0,z1.has(e)&&/(?:^|\s)lang\s*$/iu.test(h[0]),e==="templatestyles"&&/(?:^|\s)src\s*$/iu.test(h[0]))),Re(s,a)}}eatExtTagArea(e){return(t,i)=>{let{pos:r}=t,s=t.string.slice(r).search(new RegExp(`":String.raw`\s*(?:>|$)`}`,"iu"));if(s===0)return t.match("{var s;let r;return i.extMode===!1?(r=`mw-tag-${i.extName} ${Y.extTag}`,t.skipToEnd()):r=`mw-tag-${i.extName} ${(s=i.extMode.token(t,i.extState))!=null?s:""}`,t.eol()&&(e&&(t.string=e),Qe(i)),r}}inVariable(e=0){let t="comment";e===0?t="templateVariableName":e===1&&(t="templateVariable");let i=new RegExp(String.raw`^(?:[^|{}<${e===1?"[&~'_:-":""}]|\}(?!\}\})|${e===1?Te("{<~'_-"):Te("{<",!0)})+`,"iu");return(r,s)=>{let o=r.sol();return r.eatSpace(),r.eol()?Re("",s):r.eat("|")?(e<2&&(s.tokenize=this.inVariable(e+1)),q("templateVariableDelimiter",s)):r.match("}}}")?(Qe(s),q("templateVariableBracket",s,"nVar")):r.match(""}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:this.completionSource},i}get completionSource(){let t=new Set(["name","follow","extends"]);return async i=>{var O,y,b,Q;let{state:r,pos:s,explicit:o}=i,l=ee(r).resolve(s,-1),a=new Set(l.name.split("_")),h=Ne(a,"parserFunctionName"),{from:c,to:f}=l,u=r.sliceDoc(c,s),{prevSibling:d}=l;if(o||h&&u.includes("#")){let S=/^[^|{}<>[\]#]*$/u;if(h||Ne(a,"templateName")){let w=u.includes(":")?[]:[...this.functionSynonyms],Z=(O=await Ee(this,fn,Mc).call(this,u,10))!=null?O:{offset:0,options:[]};return w.push(...Z.options),w.length===0?null:{from:c+Z.offset,options:w,validFor:S}}let T=Ne(a,"pageName")&&Ne(a,"parserFunction")||0;if(T&&u.trim()||Ne(a,"linkPageName")){let w=await Ee(this,fn,Mc).call(this,(T?"Module:":"")+u,T&&828);return w?{from:c+w.offset-(T&&7),options:w.options,validFor:S}:null}let A=Ne(a,"templateArgumentName"),C=d==null?void 0:d.name.includes(Y.templateDelimiter),E=Ne(a,"templateDelimiter")||Ne(a,"templateBracket")&&C;if(this.tags.includes("templatedata")&&(E||A&&!u.includes("=")||Ne(a,"template")&&C)){let w=1,Z="";for(;d;){let{name:g,from:I,to:U}=d;if(g.includes(Y.templateBracket)){if(w+=r.sliceDoc(I,U).includes("{{")?-1:1,w===0)break}else if(w===1&&g.includes(Y.templateName))Z=r.sliceDoc(I,U)+Z;else if(Z&&!g.includes(Y.comment)){d=null;break}({prevSibling:d}=d)}if(d){let g=A&&r.sliceDoc(s,f).trim()==="="?"":"=",I=await Ee(this,fn,qg).call(this,E?"":u,Z,g);return I&&I.options.length>0?{from:E?s:c+I.offset,options:I.options,validFor:/^[^|{}=]*$/u}:null}}}if(Ne(a,["htmlTagAttribute","tableDefinition","mw-ext-pre","mw-ext-gallery","mw-ext-poem"])||o&&Ne(a,["tableTd","tableTh","tableCaption"])){let S=Ne(a,["htmlTagAttribute","extTagAttribute"])?/\s[a-z]+$/iu:/[\s|-][a-z]+$/iu;o&&(S=/[\s|!+-][a-z]+$/iu);let[,T]=/mw-(?:ext|html|table)-([a-z]+)/u.exec(l.name),A=i.matchBefore(S);if(A)return A.from>=c&&/^[|-]/u.test(A.text)?null:{from:A.from+1,options:[...T==="meta"||T==="link"?[]:this.htmlAttrs,...(y=this.elementAttrs.get(T))!=null?y:[]],validFor:/^[a-z]*$/iu}}else if(Ne(a,"extTagAttribute")){let[,S]=/mw-ext-([a-z]+)/u.exec(l.name),T=i.matchBefore(/\s[a-z]+$/iu);return T&&this.extAttrs.has(S)?{from:T.from+1,options:this.extAttrs.get(S),validFor:/^[a-z]*$/iu}:null}else if(o&&Ne(a,"extTagAttributeValue")&&u!=='"'&&u!=="'"){let S=d!=null&&d.name.includes(Y.extTagAttributeValue)?r.sliceDoc(d.from,d.to):"";for(;d&&d.name.includes(Y.extTagAttributeValue);)({prevSibling:d}=d);if(d&&(d=d.prevSibling),d){let T=d.name.split("_"),A=T.includes("mw-ext-ref"),C=r.sliceDoc(d.from,d.to).trim().toLowerCase();if(A&&t.has(C)||C==="group"&&(A||T.includes("mw-ext-references"))){Object.assign(this,{state:r});let E=await Dc(this,"",!0,C==="group");return E.length>0?{from:c+/^\s*/u.exec(u)[0].length,options:E.filter(([w])=>wf).map(w=>({type:"text",label:r.sliceDoc(...w).trim()})),validFor:new RegExp(`^[^>${S||String.raw`\s`}]*$`,"u")}:null}}}else if(!Ne(a,["comment","templateVariableName","templateName","linkPageName","linkToSection","extLink"])){let S=i.matchBefore(/__(?:(?!__)[\p{L}\d_])*$/u);if(S)return{from:S.from,options:this.doubleUnderscore,validFor:/^[\p{L}\d]*$/u};S=i.matchBefore(/<\/?[a-z\d]*$/iu);let T=[...a].filter(A=>A.startsWith("mw-tag-")).map(A=>A.slice(7));if(S&&S.to-S.from>1){let A=/^[a-z\d]*$/iu;if(S.text[1]==="/"){let C=i.matchBefore(/<[a-z\d]+(?:\s[^<>]*)?>(?:(?!<\/?[a-z]).)*<\/[a-z\d]*$/iu),E=(Q=/^<([a-z\d]+)/iu.exec((b=C==null?void 0:C.text)!=null?b:""))==null?void 0:Q[1].toLowerCase(),w=T[T.length-1],Z=[...this.htmlTags.filter(({label:I})=>!this.implicitlyClosedHtmlTags.has(I)),...w?[{type:"type",label:w,boost:50}]:[]],g=this.permittedHtmlTags.has(E)&&Z.findIndex(({label:I})=>I===E);return g!==!1&&g!==-1&&Z.splice(g,1,{type:"type",label:E,boost:99}),{from:S.from+2,options:Z,validFor:A}}return{from:S.from+1,options:[...this.htmlTags,...this.extTags.filter(({label:C})=>!T.includes(C))],validFor:A}}if(Ne(a,"fileText")&&(d!=null&&d.name.includes(Y.linkDelimiter))&&!u.includes("["))return{from:d.to,options:this.imgKeys,validFor:/^[^|{}<>[\]$]*$/u};if(!Ne(a,["linkText","extLinkText"])&&(S=i.matchBefore(/(?:^|[^[])\[[a-z:/]+$/iu),S))return{from:S.from+(S.text[1]==="["?2:1),options:this.protocols,validFor:/^[a-z:/]*$/iu}}return null}}};fn=new WeakSet,Mc=async function(t,i=0){let{config:{linkSuggest:r},nsRegex:s}=this;if(typeof r!="function"||/[|{}<>[\]#]/u.test(t))return;let o=!1,l=t,a=0;if(l.startsWith("/"))i=0,o=!0;else{if(l=l.replace(/_/gu," "),[{length:a}]=/^\s*/u.exec(l),l=l.slice(a),l.startsWith(":")){let[{length:u}]=/^:\s*/u.exec(l);a+=u,l=l.slice(u),i=0}if(!l)return;let f=s.exec(l);if(f){let[{length:u},d]=f;a+=u,l=`${d}:${l.slice(u)}`,i=1}}let h=t.slice(a).includes("_");return{offset:a,options:(await r(l,i,o)).map(([c])=>({type:"text",label:h?c.replace(/ /gu,"_"):c}))}},qg=async function(t,i,r){let{config:{paramSuggest:s}}=this;return i&&typeof s=="function"&&!/[|{}<>[\]]/u.test(i)?{offset:/^\s*/u.exec(t)[0].length,options:(await s(i)).map(([o,l])=>({type:"variable",label:o+r,detail:l}))}:void 0};for(let[n,e]of Object.entries(an))(n==="css"||n==="javascript")&&Object.defineProperty(bl.prototype,n,{value:()=>e});var qc=n=>{let e=new bl(n),t=Mn.define(e.mediawiki()),i=wo(Dn.define(e.getTagStyles()));return new ut(t,i)},Yg=n=>qc({...n,tags:{...n.tags,script:!0,style:!0},tagModes:{...n.tagModes,script:"javascript",style:"css"},permittedHtmlTags:["html","base","title","menu","a","area","audio","map","track","video","embed","iframe","object","picture","source","canvas","col","colgroup","tbody","tfoot","thead","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","slot","template","dir","frame","frameset","marquee","param","xmp"],implicitlyClosedHtmlTags:["area","base","col","embed","frame","input","param","source","track"]});var zg={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},jg=(n,e)=>t=>t.state.selection.ranges.some(i=>!i.empty)?(Un.replaceSelections(t,n),!0):e(t),_1=n=>[...n].map(e=>{if(e in zg)return`&${zg[e]};`;let t=e.codePointAt(0);return t<256?`&#${t};`:`&#x${t.toString(16)};`}).join(""),I1=n=>{if(n.includes("%"))try{return decodeURIComponent(n)}catch(e){}return encodeURIComponent(n)},Vg=[{key:"Mod-[",run:jg(_1,Ch)},{key:"Mod-]",run:jg(I1,Zh)}];var U1=(n,{to:e})=>Math.max(n,e),G1=(n,{from:e,to:t})=>e<=n&&t>n?t:n,Kg=(n,e,t)=>n.sliceDoc(e.from,e.to).includes(t),jc=n=>({name:e})=>n.some(t=>e.includes(Y[t])),zc=jc(["templateBracket","parserFunctionBracket"]),Yc=jc(["templateDelimiter","parserFunctionDelimiter"]),Lg=n=>/-(?:template|ext)[a-z\d-]+ground/u.test(n.name)&&!zc(n),F1=jc(["extTagBracket"]),Bg=n=>n.name.includes("mw-tag-"),Ng=(n,e)=>Kg(n,e,"{")?1:-1,Jg=(n,e,t)=>{if(typeof e=="number"&&(t=Qi(n,e)),!t)return!1;let i;if(typeof e=="number"?(i=t.resolve(e,-1),!Lg(i)&&!Bg(i)&&(i=t.resolve(e,1))):i=e,!Lg(i)){if(Bg(i)){let{nextSibling:c}=i;for(;c&&!(F1(c)&&Kg(n,c,"{let{selection:{main:{head:e}}}=n,t=Jg(n,e);if(t){let{from:i,to:r}=t,s=!1;return yo(n).between(i,r,(o,l)=>{o===i&&l===r&&(s=!0)}),s?null:{pos:e,above:!0,create:()=>{let o=document.createElement("div");return o.className="cm-tooltip-fold",o.textContent="\uFF0D",o.title=n.phrase("Fold template or extension tag"),o.dataset.from=String(i),o.dataset.to=String(r),{dom:o}}}}return null},Ig=(n,e,t)=>{var i;return e.length>0?((i=n.dom.querySelector(".cm-tooltip-fold"))==null||i.remove(),n.dispatch({effects:e,selection:{anchor:t}}),!0):!1},Ug=n=>Math.max(...n.selection.ranges.map(({to:e})=>e)),Gg=(n,e,t,i,r,s,o)=>{for(;i&&i.from<=r;){let l=Jg(n,i,e);if(l){t.push(vi.of(l)),i=e.resolve(l.to,1),s=o(s,l);continue}i=i.nextSibling}return s},Fr=class extends Ke{constructor(e){super(),this.open=e}eq(e){return this.open===e.open}toDOM({state:e}){let t=document.createElement("span");return t.textContent=this.open?"\u2304":"\u203A",t.title=e.phrase(this.open?"Fold line":"Unfold line"),t}},H1=new Fr(!0),K1=new Fr(!1),e0=({state:n},e)=>{var i;let t;return(i=n.field(St,!1))==null||i.between(e.from,e.to,(r,s)=>{!t&&s===e.to&&(t={from:r,to:s})}),t},t0=({state:n,viewport:{to:e},viewportLineBlocks:t},{from:i,to:r})=>{let s=ee(n),o=h=>{let{name:c}=s.resolve(h,1);return c.includes(Y.sectionHeader)?Number(/mw-section--(\d)/u.exec(c)[1]):7},l=(h,c)=>{var d;let f=n.sliceDoc(h,c),u=(d=/^\s*(?:(?::+\s*)?\{\||\|\})/u.exec(f))==null?void 0:d[0];if(u){let{name:O}=s.resolve(h+u.length,-1);if(O.includes(Y.tableBracket))return u.endsWith("|}")?-1:1}return 0},a=o(i);if(a<7){for(let{from:h}of t)if(h>i&&o(h)<=a)return{from:r,to:h-1};return e===n.doc.length&&e>r&&{from:r,to:e}}else if(l(i,r)===1){for(let{from:h,to:c}of t)if(h>i){let f=l(h,c);if(f===-1)return{from:r,to:c};if(f===1||o(h)<7)break}}return!1},Fg=n=>{let e=new Fe;for(let t of n.viewportLineBlocks){let i;e0(n,t)?i=K1:t0(n,t)&&(i=H1),i&&e.add(t.from,t.from,i)}return e.finish()},Hg=me.fromClass(class{constructor(n){this.markers=Fg(n)}update({docChanged:n,viewportChanged:e,startState:t,state:i,view:r}){(n||e||t.facet(At)!==i.facet(At)||t.field(St,!1)!==i.field(St,!1)||ee(t)!==ee(i))&&(this.markers=Fg(r))}}),i0=[ko({placeholderDOM(n){let e=document.createElement("span");return e.textContent="\u2026",e.setAttribute("aria-label","folded code"),e.title=n.state.phrase("unfold"),e.className="cm-foldPlaceholder",e.addEventListener("click",({target:t})=>{let i=n.posAtDOM(t),{state:r}=n,{selection:s}=r;yo(r).between(i,i,(o,l)=>{o===i&&n.dispatch({effects:ti.of({from:o,to:l}),selection:s})})}),e}}),he.define({create:_g,update(n,{state:e,docChanged:t,selection:i}){return t?null:i?_g(e):n},provide(n){return gi.from(n)}}),ft.of([{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run(n){let{state:e}=n,t=ee(e),i=[],r=Ug(e);for(let{from:s,to:o,empty:l}of e.selection.ranges){let a;l&&(a=t.resolve(s,-1)),(!a||a.name==="Document")&&(a=t.resolve(s,1)),r=Gg(e,t,i,a,o,r,U1)}return Ig(n,i,r)}},{key:"Ctrl-Alt-[",run(n){let{state:e}=n,t=ee(e),i=[],r=Gg(e,t,i,t.topNode.firstChild,1/0,Ug(e),G1);return Ig(n,i,r)}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run(n){let{state:e}=n,{selection:t}=e,i=[],r=yo(e);for(let{from:s,to:o}of t.ranges)r.between(s,o,(l,a)=>{i.push(ti.of({from:l,to:a}))});return i.length>0?(n.dispatch({effects:i,selection:t}),!0):!1}},{key:"Ctrl-Alt-]",run:gh}]),Hg,An({class:"cm-foldGutter",markers(n){var e,t;return(t=(e=n.plugin(Hg))==null?void 0:e.markers)!=null?t:ne.empty},initialSpacer(){return new Fr(!1)},domEventHandlers:{click(n,e){let t=e0(n,e);if(t)return n.dispatch({effects:ti.of(t)}),!0;let i=t0(n,e);return i?(n.dispatch({effects:vi.of(i)}),!0):!1}}})],n0=n=>e=>{let t=e.target.closest(".cm-tooltip-fold");if(t){e.preventDefault();let{dataset:i}=t,r=Number(i.from),s=Number(i.to);n.dispatch({effects:vi.of({from:r,to:s}),selection:{anchor:s}}),t.remove()}},r0=mh.of(({doc:n,tabSize:e},t,i)=>{let{text:r,number:s}=n.lineAt(t);if(!r.trim())return null;let o=c=>/^\s*/u.exec(c)[0].replace(/\t/gu," ".repeat(e)).length,l=o(r),a=s,h=!0;for(;a=f)break}}return h||a===s?null:{from:i,to:n.line(a).to}}),Vc=[pp(),ft.of(up)];var Lc="https://testingcf.jsdelivr.net",Gn=(n,e,t)=>new Promise(i=>{let r=`${Lc}/${n}`,s=window;for(let o of e.split("."))s=s==null?void 0:s[o];if(s)i();else if(t&&typeof define=="function"&&"amd"in define){let o=window.require;o.config({paths:{[e]:r}}),o([e],l=>{Object.assign(window,{[e]:l}),i()})}else{let o=document.createElement("script");o.src=r,o.onload=()=>{i()},document.head.append(o)}});var s0=async n=>{let e="npm/wikiparser-node@browser",t=`${e}/extensions/dist`,i=n==null?void 0:n.i18n;if(await Gn(`${t}/base.min.js`,"wikiparse"),await Gn(`${t}/lint.min.js`,"wikiparse.Linter"),typeof i=="string")try{let r=await(await fetch(`${Lc}/${e}/i18n/${i.toLowerCase()}.json`)).json();wikiparse.setI18N(r)}catch(r){}return new wikiparse.Linter(n==null?void 0:n.include)},o0=async n=>{var i,r,s;await Gn("npm/eslint-linter-browserify@8.57.0/linter.min.js","eslint",!0);let e=new eslint.Linter,t={env:{browser:!0,es2024:!0},parserOptions:{ecmaVersion:15,sourceType:"module"},rules:{},...n};for(let[o,{meta:l}]of e.getRules())(i=l==null?void 0:l.docs)!=null&&i.recommended&&((s=(r=t.rules)[o])!=null||(r[o]=2));return o=>e.verify(o,t)},l0=async n=>{await Gn("gh/openstyles/stylelint-bundle/dist/stylelint-bundle.min.js","stylelint");let e={rules:{"annotation-no-unknown":!0,"at-rule-no-unknown":!0,"block-no-empty":!0,"color-no-invalid-hex":!0,"comment-no-empty":!0,"custom-property-no-missing-var-function":!0,"declaration-block-no-duplicate-custom-properties":!0,"declaration-block-no-duplicate-properties":[!0,{ignore:["consecutive-duplicates-with-different-syntaxes"]}],"declaration-block-no-shorthand-property-overrides":!0,"font-family-no-duplicate-names":!0,"font-family-no-missing-generic-family-keyword":!0,"function-calc-no-unspaced-operator":!0,"function-linear-gradient-no-nonstandard-direction":!0,"function-no-unknown":!0,"keyframe-block-no-duplicate-selectors":!0,"keyframe-declaration-no-important":!0,"media-feature-name-no-unknown":!0,"media-query-no-invalid":!0,"named-grid-areas-no-invalid":!0,"no-descending-specificity":!0,"no-duplicate-at-import-rules":!0,"no-duplicate-selectors":!0,"no-empty-source":!0,"no-invalid-double-slash-comments":!0,"no-invalid-position-at-import-rule":!0,"no-irregular-whitespace":!0,"property-no-unknown":!0,"selector-anb-no-unmatchable":!0,"selector-pseudo-class-no-unknown":!0,"selector-pseudo-element-no-unknown":!0,"selector-type-no-unknown":[!0,{ignore:["custom-elements"]}],"string-no-newline":!0,"unit-no-unknown":!0,...n==null?void 0:n.rules}};return async t=>(await stylelint.lint({code:t,config:e})).results.flatMap(({warnings:i})=>i)},a0=async()=>(await Gn("npm/luaparse/luaparse.min.js","luaparse",!0),luaparse.defaultOptions.luaVersion="5.3",n=>{try{luaparse.parse(n.toString())}catch(e){if(e instanceof luaparse.SyntaxError)return[{source:"luaparse",message:e.message.replace(/^\[\d+:\d+\]\s*/u,""),severity:"error",from:e.index,to:e.index}]}return[]}),h0=()=>n=>{var e,t,i;try{n.trim()&&JSON.parse(n)}catch(r){if(r instanceof SyntaxError){let{message:s}=r,o=(e=/\bline (\d+)/u.exec(s))==null?void 0:e[1],l=(t=/\bcolumn (\d+)/u.exec(s))==null?void 0:t[1],a=(i=/\bposition (\d+)/u.exec(s))==null?void 0:i[1];return[{message:s,severity:"error",line:o,column:l,position:a}]}}return[]};var Bc={onlyinclude:"mediawiki",includeonly:"mediawiki",noinclude:"mediawiki",pre:"text/nowiki",nowiki:"text/nowiki",indicator:"mediawiki",poem:"mediawiki",ref:"mediawiki",references:"text/references",gallery:"text/gallery",poll:"mediawiki",tabs:"mediawiki",tab:"mediawiki",choose:"text/choose",option:"mediawiki",combobox:"text/combobox",combooption:"mediawiki",inputbox:"text/inputbox"},Hr=(n,e,t)=>{for(let i of n)e[i]=t?i:!0},c0=({parserFunction:n,protocol:e,nsid:t,variants:i,redirection:r,ext:s,doubleUnderscore:o,img:l})=>{let a={tags:{},tagModes:Bc,doubleUnderscore:[{},{}],functionSynonyms:[n[0],{}],urlProtocols:`${e}|//`,nsid:t,img:{},variants:i,redirection:r},[h,,c]=o;Hr(s,a.tags),Hr((c&&h.length===0?Object.keys(c):h).map(f=>`__${f}__`),a.doubleUnderscore[0]),Hr(o[1].map(f=>`__${f}__`),a.doubleUnderscore[1]),Hr(n.slice(2).flat(),a.functionSynonyms[0],!0),Hr(n[1],a.functionSynonyms[1]);for(let[f,u]of Object.entries(l))a.img[f]=`img_${u}`;return a};var Nc=j.mark({class:"cm-bidi-isolate cm-bidi-ltr",bidiIsolate:oe.LTR}),f0=j.mark({class:"cm-bidi-isolate"}),u0=({visibleRanges:n,state:e,textDirection:t})=>{let i=new Fe;if(t===oe.RTL)for(let{from:r,to:s}of n){let o=ee(e).resolve(r,1),l=0,a=0,h=0;for(;o&&o.to<=s;){let{name:c,from:f,to:u,nextSibling:d}=o;if(/-(?:ext|html)tag-bracket/u.test(c)&&e.sliceDoc(f,f+1)==="<"){let O=In(e,d);i.add(f,O.to,Nc)}else!l&&!a&&c.includes(Y.tableDefinition)?/-html-(?:table|tr)/u.test(c)?(a=e.doc.lineAt(f).to,i.add(f,a,Nc)):l=f:a&&f>a?a=0:l&&c.includes(Y.tableDelimiter2)?(i.add(l,f,Nc),l=0):/-(?:template|parserfunction)-delimiter/u.test(c)?(h&&i.add(h,f,f0),h=u):h&&/-(?:template|parserfunction)-bracket/u.test(c)&&(e.sliceDoc(u-1,u)==="}"&&i.add(h,f,f0),h=0);o=o.nextSibling}}return i.finish()},d0=me.fromClass(class{constructor(n){this.isolates=u0(n),this.tree=ee(n.state),this.dir=n.textDirection}update({docChanged:n,viewportChanged:e,state:t,view:i}){let r=ee(t),{textDirection:s}=i;(n||e||r!==this.tree||s!==this.dir)&&(this.isolates=u0(i),this.tree=r,this.dir=s)}},{provide(n){let e=t=>{var i,r;return(r=(i=t.plugin(n))==null?void 0:i.isolates)!=null?r:j.none};return ht.lowest([X.decorations.of(e),X.bidiIsolatedRanges.of(e)])}});var p0=()=>X.contentAttributes.of({spellcheck:"true"}),es={plain:p0,mediawiki:n=>[qc(n),p0(),d0],html:Yg};for(let[n,e]of Object.entries(an))typeof e=="function"?es[n.slice(0,-2)]=e:n in es||(es[n]=()=>new ut(Mn.define(e)));var _c=(n=[])=>[(e=[])=>e,{mediawiki:n}],Ic={highlightSpecialChars:[Cd,{}],highlightActiveLine:[Rd,{}],highlightWhitespace:[Md,{}],highlightTrailingWhitespace:[qd,{}],highlightSelectionMatches:[bO,{}],bracketMatching:[kp,{mediawiki:{brackets:"[]{}"}}],closeBrackets:[tm,{}],scrollPastEnd:[Ad,{}],allowMultipleSelections:[()=>[le.allowMultipleSelections.of(!0),Td()],{}],autocompletion:[()=>[nm({defaultKeymap:!1}),ft.of([...ac.filter(({run:n})=>n!==Ko),{key:"Shift-Enter",run:Ko},{key:"Tab",run:rc}])],{}],codeFolding:[(n=Vc)=>n,{mediawiki:i0,lua:[Vc,r0]}],escape:_c(ft.of(Vg)),tagMatching:_c(Wg),refHover:_c(Mg)},Kr={},Uc={},Jr=(n,e,t)=>n.line(e).from+t-1,Pt,ts,un,is,ns,rs,ss,os,te,It,Di,dn,ls,qe,Wi,Gc,Fc,O0,Un=class{constructor(e,t="plain",i,r=!0){ze(this,qe);ze(this,Pt);ze(this,ts,new bt);ze(this,un,new bt);ze(this,is,new bt);ze(this,ns,new bt);ze(this,rs,new bt);ze(this,ss,new bt);ze(this,os,new bt);ze(this,te);ze(this,It);ze(this,Di,!1);ze(this,dn,new Set);ze(this,ls," ");Wt(this,Pt,e),Wt(this,It,t),r&&this.initialize(i)}get textarea(){return M(this,Pt)}get view(){return M(this,te)}get lang(){return M(this,It)}get visible(){return M(this,Di)}initialize(e){var a;let t,{textarea:i,lang:r}=this,s=[M(this,ts).of(es[r](e)),M(this,un).of((a=Kr[r])!=null?a:[]),M(this,is).of([]),M(this,ns).of(X.editorAttributes.of({dir:i.dir})),M(this,rs).of(Jt.of(M(this,ls))),M(this,ss).of([]),M(this,os).of(le.phrases.of(Uc)),wo(mp),X.contentAttributes.of({accesskey:i.accessKey,tabindex:String(i.tabIndex)}),X.editorAttributes.of({lang:i.lang}),Wd(),X.lineWrapping,ft.of([...cO,...SO,...CO,{key:"Mod-Shift-x",run:()=>{let h=i.dir==="rtl"?"ltr":"rtl";return i.dir=h,Ee(this,qe,Wi).call(this,M(this,ns).reconfigure(X.editorAttributes.of({dir:h}))),!0}}]),X.theme({".cm-panels":{direction:document.dir}}),X.updateListener.of(({state:{doc:h},docChanged:c,focusChanged:f})=>{c&&(clearTimeout(t),t=window.setTimeout(()=>{i.value=h.toString(),i.dispatchEvent(new Event("input"))},400)),f&&i.dispatchEvent(new Event(M(this,te).hasFocus?"focus":"blur"))}),...i.readOnly?[le.readOnly.of(!0)]:[Wp(),lp(),ft.of(Yp)]];Wt(this,te,new X({extensions:s,doc:i.value}));let{fontSize:o,lineHeight:l}=getComputedStyle(i);i.before(M(this,te).dom),Ee(this,qe,Gc).call(this),M(this,te).scrollDOM.style.fontSize=o,M(this,te).scrollDOM.style.lineHeight=l,this.toggle(!0),M(this,te).dom.addEventListener("click",n0(M(this,te))),this.prefer({})}setLanguage(e="plain",t){var i;Wt(this,It,e),M(this,te)&&(Ee(this,qe,Wi).call(this,[M(this,ts).reconfigure(es[e](t)),M(this,un).reconfigure((i=Kr[e])!=null?i:[])]),Ee(this,qe,Fc).call(this,!!Kr[e]),this.prefer({}))}lint(e){let t=e?[AO(i=>e(i.state.doc),{autoPanel:!0}),MO()]:[];e?Kr[M(this,It)]=t:delete Kr[M(this,It)],M(this,te)&&(Ee(this,qe,Wi).call(this,M(this,un).reconfigure(t)),Ee(this,qe,Fc).call(this,!!e))}update(){if(M(this,te)){let e=Ee(this,qe,O0).call(this);if(e){let t=M(this,te).plugin(e[1]);t.set=!0,t.force()}}}prefer(e){if(Array.isArray(e))Wt(this,dn,new Set(e.filter(t=>Ic[t])));else for(let[t,i]of Object.entries(e))i&&Ic[t]?M(this,dn).add(t):M(this,dn).delete(t);M(this,te)&&Ee(this,qe,Wi).call(this,M(this,is).reconfigure([...M(this,dn)].map(t=>{let[i,r]=Ic[t];return i(r[M(this,It)])})))}setIndent(e){M(this,te)?Ee(this,qe,Wi).call(this,M(this,rs).reconfigure(Jt.of(e))):Wt(this,ls,e)}async getLinter(e){switch(M(this,It)){case"mediawiki":{let t=await s0(e);return i=>t.codemirror(i.toString())}case"javascript":{let t=await o0(e);return i=>t(i.toString()).map(({ruleId:r,message:s,severity:o,line:l,column:a,endLine:h,endColumn:c,fix:f,suggestions:u=[]})=>{let d=Jr(i,l,a),O={source:"ESLint",message:`${s}${r?` (${r})`:""}`,severity:o===1?"warning":"error",from:d,to:h===void 0?d+1:Jr(i,h,c)};return(f||u.length>0)&&(O.actions=[...f?[{name:"fix",fix:f}]:[],...u.map(y=>({name:"suggestion",fix:y.fix}))].map(({name:y,fix:{range:[b,Q],text:S}})=>({name:y,apply(T){T.dispatch({changes:{from:b,to:Q,insert:S}})}}))),O})}case"css":{let t=await l0(e);return async i=>(await t(i.toString())).map(({text:r,severity:s,line:o,column:l,endLine:a,endColumn:h})=>({source:"Stylelint",message:r,severity:s,from:Jr(i,o,l),to:a===void 0?i.line(o).to:Jr(i,a,h)}))}case"lua":{let t=await a0();return i=>t(i.toString())}case"json":{let t=h0();return i=>{let[r]=t(i.toString());if(r){let{message:s,severity:o,line:l,column:a,position:h}=r,c=0;return h?c=Number(h):l&&a&&(c=Jr(i,Number(l),Number(a))),[{message:s,severity:o,from:c,to:c}]}return[]}}default:return}}setContent(e){M(this,te)&&M(this,te).dispatch({changes:{from:0,to:M(this,te).state.doc.length,insert:e}})}toggle(e=!M(this,Di)){if(M(this,te)){if(e&&!M(this,Di)){let{value:t,selectionStart:i,selectionEnd:r,scrollTop:s,offsetHeight:o,style:{height:l}}=M(this,Pt),a=document.activeElement===M(this,Pt);this.setContent(t),M(this,te).dom.style.height=o?`${o}px`:l,M(this,te).dom.style.removeProperty("display"),M(this,Pt).style.display="none",M(this,te).requestMeasure(),M(this,te).dispatch({selection:{anchor:i,head:r}}),a&&M(this,te).focus(),requestAnimationFrame(()=>{M(this,te).scrollDOM.scrollTop=s})}else if(!e&&M(this,Di)){let{state:{selection:{main:{from:t,to:i,head:r}}},hasFocus:s}=M(this,te),{scrollDOM:{scrollTop:o}}=M(this,te);M(this,te).dom.style.setProperty("display","none","important"),M(this,Pt).style.display="",M(this,Pt).setSelectionRange(t,i,r===i?"forward":"backward"),s&&M(this,Pt).focus(),requestAnimationFrame(()=>{M(this,Pt).scrollTop=o})}}else return;Wt(this,Di,e)}extraKeys(e){M(this,te)&&Ee(this,qe,Wi).call(this,M(this,ss).reconfigure(ft.of(e)))}localize(e){Object.assign(Uc,e),M(this,te)&&Ee(this,qe,Wi).call(this,M(this,os).reconfigure(le.phrases.of(Uc)))}getNodeAt(e){var t;return M(this,te)&&((t=Qi(M(this,te).state,e))==null?void 0:t.resolve(e,1))}scrollTo(e){if(M(this,te)){let t=e!=null?e:M(this,te).state.selection.main,i=X.scrollIntoView(typeof t=="number"||t instanceof ci?t:R.range(t.anchor,t.head));i.value.isSnapshot=!0,M(this,te).dispatch({effects:i})}}static replaceSelections(e,t){let{state:i}=e;e.dispatch(i.changeByRange(({from:r,to:s})=>{let o=t(i.sliceDoc(r,s),{from:r,to:s});if(typeof o=="string")return{range:R.range(r,r+o.length),changes:{from:r,to:s,insert:o}};let[l,a,h=a]=o;return{range:R.range(a,h),changes:{from:r,to:s,insert:l}}}))}};Pt=new WeakMap,ts=new WeakMap,un=new WeakMap,is=new WeakMap,ns=new WeakMap,rs=new WeakMap,ss=new WeakMap,os=new WeakMap,te=new WeakMap,It=new WeakMap,Di=new WeakMap,dn=new WeakMap,ls=new WeakMap,qe=new WeakSet,Wi=function(e){M(this,te).dispatch({effects:e})},Gc=function(e){M(this,te).dom.style.minHeight=e?"calc(100px + 2em)":"2em"},Fc=function(e){if(HTMLUListElement.prototype.focus.name!=="lintPanelFocus"){let t=function(i){HTMLElement.prototype.focus.call(this,{...i,...this.matches(".cm-panel-lint ul")&&{preventScroll:!0}})};HTMLUListElement.prototype.focus=t}Ee(this,qe,Gc).call(this,e)},O0=function(){return M(this,un).get(M(this,te).state)[0]},Un.mwTagModes=Bc,Un.getMwConfig=c0;export{Un as CodeMirror6}; /** * @file Configuration for the MediaWiki highlighting mode for CodeMirror. * @author MusikAnimal and others diff --git a/src/token.ts b/src/token.ts index b2385d3..07afb94 100644 --- a/src/token.ts +++ b/src/token.ts @@ -830,7 +830,7 @@ export class MediaWiki { @getTokenizer inLink(file: boolean, section?: boolean): Tokenizer { const style = section ? tokens[file ? 'error' : 'linkToSection'] : `${tokens.linkPageName} ${tokens.pageName}`, - re = section ? /^(?:[^|<[\]{}]|<(?!!--|\/?[a-z]))+/iu : /^[^#|<>[\]{}]+/u; + re = section ? /^(?:[^|<[\]{}]|<(?!!--|\/?[a-z]))+/iu : /^(?:&#(?:\d+|x[a-f\d]+);|[^#|<>[\]{}])+/iu; let lt: number | undefined; return (stream, state) => { if (stream.sol() || lt && stream.pos > lt || stream.match(/^\s*\]\]/u)) { @@ -1410,7 +1410,7 @@ export class MediaWiki { inTemplatePageName(haveEaten?: boolean, anchor?: boolean): Tokenizer { const style = anchor ? tokens.error : `${tokens.templateName} ${tokens.pageName}`, chars = '{}<', - re = anchor ? this.templateRegex : /^[^|{}<>[\]#]+/u; + re = anchor ? this.templateRegex : /^(?:&#(?:\d+|x[a-f\d]+);|[^|{}<>[\]#])+/iu; return (stream, state) => { const sol = stream.sol(), space = stream.eatSpace(); @@ -1782,7 +1782,7 @@ export class MediaWiki { inGallery(section?: boolean): Tokenizer { const style = section ? tokens.error : `${tokens.linkPageName} ${tokens.pageName}`, regex = section ? /^(?:[[}\]]|\{(?!\{))+/u : /^(?:[>[}\]]|\{(?!\{)|<(?!!--))+/u, - re = section ? /^(?:[^|<[\]{}]|<(?!!--))+/u : /^[^#|<>[\]{}]+/u; + re = section ? /^(?:[^|<[\]{}]|<(?!!--))+/u : /^(?:&#(?:\d+|x[a-f\d]+);|[^#|<>[\]{}])+/u; return (stream, state) => { const space = stream.eatSpace(); if (!section && stream.match(/^#\s*/u)) { diff --git a/test/parserTests.json b/test/parserTests.json index 4e4ce92..a073c05 100644 --- a/test/parserTests.json +++ b/test/parserTests.json @@ -635,7 +635,7 @@ { "desc": "T2337: Escaped self-links should be bold", "wikitext": "[[Bug462]] [[Bug462]]", - "parsed": "[[Bu&#103;462]] [[Bug462]]" + "parsed": "[[Bu&#103;462]] [[Bug462]]" }, { "desc": "Self-link to section should not be bold", @@ -2375,7 +2375,7 @@ { "desc": "(T21451) Links should refer to the normalized form.", "wikitext": "[[אַ]]\n[[אַ]]\n[[אַ]]\n[[אַ]]\n[[אַ]]", - "parsed": "[[&#xFB2E;]][[&#x5d0;&#x5b7;]][[&#x5d0;ַ]][[א&#x5b7;]][[אַ]]" + "parsed": "[[&#xFB2E;]][[&#x5d0;&#x5b7;]][[&#x5d0;ַ]][[א&#x5b7;]][[אַ]]" }, { "desc": "Empty attribute crash test (T4067)", @@ -9771,7 +9771,7 @@ { "desc": "Entities in media filenames", "wikitext": "[[File:Hi-ho.jpg|thumb]]\n\n\nHi-ho.jpg\nFile:Hi-ho.jpg\n", - "parsed": "[[File:Hi&#45;ho.jpg|thumb]]<gallery>Hi&#45;ho.jpgFile:Hi&#45;ho.jpg</gallery>" + "parsed": "[[File:Hi&#45;ho.jpg|thumb]]<gallery>Hi&#45;ho.jpgFile:Hi&#45;ho.jpg</gallery>" }, { "desc": "Inline gallery attributes are appended to the defaults",