"use strict";(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[1495],{21495:(e,t,O)=>{O.r(t);O.d(t,{autoCloseTags:()=>D,completeFromSchema:()=>Z,xml:()=>I,xmlLanguage:()=>q});var n=O(27421);var r=O(45145);const a=1,l=2,s=3,o=4,i=5,y=35,c=36,p=37,u=11,$=13;function f(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function g(e){return e==9||e==10||e==13||e==32}let S=null,m=null,d=0;function h(e,t){let O=e.pos+t;if(m==e&&d==O)return S;while(g(e.peek(t)))t++;let n="";for(;;){let O=e.peek(t);if(!f(O))break;n+=String.fromCharCode(O);t++}m=e;d=O;return S=n||null}function v(e,t){this.name=e;this.parent=t;this.hash=t?t.hash:0;for(let O=0;O{if(e.next!=60)return;e.advance();if(e.next==47){e.advance();let O=h(e,0);if(!O)return e.acceptToken(i);if(t.context&&O==t.context.name)return e.acceptToken(l);for(let n=t.context;n;n=n.parent)if(n.name==O)return e.acceptToken(s,-2);e.acceptToken(o)}else if(e.next!=33&&e.next!=63){return e.acceptToken(a)}}),{contextual:true});function _(e,t){return new n.Lu((O=>{for(let n=0,r=0;;r++){if(O.next<0){if(r)O.acceptToken(e);break}if(O.next==t.charCodeAt(n)){n++;if(n==t.length){if(r>=t.length)O.acceptToken(e,1-t.length);break}}else{n=O.next==t.charCodeAt(0)?1:0}O.advance()}}))}const C=_(y,"--\x3e");const b=_(c,"?>");const w=_(p,"]]>");const W=(0,r.styleTags)({Text:r.tags.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":r.tags.angleBracket,TagName:r.tags.tagName,"MismatchedCloseTag/Tagname":[r.tags.tagName,r.tags.invalid],AttributeName:r.tags.attributeName,AttributeValue:r.tags.attributeValue,Is:r.tags.definitionOperator,"EntityReference CharacterReference":r.tags.character,Comment:r.tags.blockComment,ProcessingInst:r.tags.processingInstruction,DoctypeDecl:r.tags.documentMeta,Cdata:r.tags.special(r.tags.string)});const V=n.U1.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<`#X;'S%y;'S;=`&_<%lO%yX>eV{WOr%ysv%yw#T%y#T#U>z#U;'S%y;'S;=`&_<%lO%yX?PV{WOr%ysv%yw#h%y#h#i?f#i;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#T%y#T#Ue.from<=O&&e.to>=O));let r=n&&n.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function R(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}function Y(e,t){var O;let n=(0,x.syntaxTree)(e).resolveInner(t,-1),r=null;for(let a=n;!r&&a.parent;a=a.parent)if(a.name=="OpenTag"||a.name=="CloseTag"||a.name=="SelfClosingTag"||a.name=="MismatchedCloseTag")r=a;if(r&&(r.to>t||r.lastChild.type.isError)){let e=r.parent;if(n.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:n.from,context:e}:{type:"openTag",from:n.from,context:R(e)};if(n.name=="AttributeName")return{type:"attrName",from:n.from,context:r};if(n.name=="AttributeValue")return{type:"attrValue",from:n.from,context:r};let O=n==r||n.name=="Attribute"?n.childBefore(t):n;if((O===null||O===void 0?void 0:O.name)=="StartTag")return{type:"openTag",from:t,context:R(e)};if((O===null||O===void 0?void 0:O.name)=="StartCloseTag"&&O.to<=t)return{type:"closeTag",from:t,context:e};if((O===null||O===void 0?void 0:O.name)=="Is")return{type:"attrValue",from:t,context:r};if(O)return{type:"attrName",from:t,context:r};return null}else if(n.name=="StartCloseTag"){return{type:"closeTag",from:t,context:n.parent}}while(n.parent&&n.to==t&&!((O=n.lastChild)===null||O===void 0?void 0:O.type.isError))n=n.parent;if(n.name=="Element"||n.name=="Text"||n.name=="Document")return{type:"tag",from:t,context:n.name=="Element"?n:R(n)};return null}class j{constructor(e,t,O){this.attrs=t;this.attrValues=O;this.children=[];this.name=e.name;this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name});this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name});this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2});this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"});this.text=e.textContent?e.textContent.map((e=>({label:e,type:"text"}))):[]}}const z=/^[:\-\.\w\u00b7-\uffff]*$/;function A(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function N(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function Z(e,t){let O=[],n=[];let r=Object.create(null);for(let o of t){let e=A(o);O.push(e);if(o.global)n.push(e);if(o.values)r[o.name]=o.values.map(N)}let a=[],l=[];let s=Object.create(null);for(let o of e){let e=n,t=r;if(o.attributes)e=e.concat(o.attributes.map((e=>{if(typeof e=="string")return O.find((t=>t.label==e))||{label:e,type:"property"};if(e.values){if(t==r)t=Object.create(t);t[e.name]=e.values.map(N)}return A(e)})));let i=new j(o,e,t);s[i.name]=i;a.push(i);if(o.top)l.push(i)}if(!l.length)l=a;for(let o=0;o{var t;let{doc:O}=e.state,o=Y(e.state,e.pos);if(!o||o.type=="tag"&&!e.explicit)return null;let{type:i,from:y,context:c}=o;if(i=="openTag"){let e=l;let t=E(O,c);if(t){let O=s[t];e=(O===null||O===void 0?void 0:O.children)||a}return{from:y,options:e.map((e=>e.completion)),validFor:z}}else if(i=="closeTag"){let n=E(O,c);return n?{from:y,to:e.pos+(O.sliceString(e.pos,e.pos+1)==">"?1:0),options:[((t=s[n])===null||t===void 0?void 0:t.closeNameCompletion)||{label:n+">",type:"type"}],validFor:z}:null}else if(i=="attrName"){let e=s[k(O,c)];return{from:y,options:(e===null||e===void 0?void 0:e.attrs)||n,validFor:z}}else if(i=="attrValue"){let t=G(O,c,y);if(!t)return null;let n=s[k(O,c)];let a=((n===null||n===void 0?void 0:n.attrValues)||r)[t];if(!a||!a.length)return null;return{from:y,to:e.pos+(O.sliceString(e.pos,e.pos+1)=='"'?1:0),options:a,validFor:/^"[^"]*"?$/}}else if(i=="tag"){let t=E(O,c),n=s[t];let r=[],o=c&&c.lastChild;if(t&&(!o||o.name!="CloseTag"||k(O,o)!=t))r.push(n?n.closeCompletion:{label:"",type:"type",boost:2});let i=r.concat(((n===null||n===void 0?void 0:n.children)||(c?a:l)).map((e=>e.openCompletion)));if(c&&(n===null||n===void 0?void 0:n.text.length)){let t=c.firstChild;if(t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos)))i=i.concat(n.text)}return{from:y,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else{return null}}}const q=x.LRLanguage.define({name:"xml",parser:V.configure({props:[x.indentNodeProp.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),x.foldNodeProp.add({Element(e){let t=e.firstChild,O=e.lastChild;if(!t||t.name!="OpenTag")return null;return{from:t.to,to:O.name=="CloseTag"?O.from:e.to}}}),x.bracketMatchingHandle.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function I(e={}){let t=[q.data.of({autocomplete:Z(e.elements||[],e.attributes||[])})];if(e.autoCloseTags!==false)t.push(D);return new x.LanguageSupport(q,t)}function U(e,t,O=e.length){if(!t)return"";let n=t.firstChild;let r=n&&n.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,O)):""}const D=Q.EditorView.inputHandler.of(((e,t,O,n,r)=>{if(e.composing||e.state.readOnly||t!=O||n!=">"&&n!="/"||!q.isActiveAt(e.state,t,-1))return false;let a=r(),{state:l}=a;let s=l.changeByRange((e=>{var t,O,r;let{head:a}=e;let s=l.doc.sliceString(a-1,a)==n;let o=(0,x.syntaxTree)(l).resolveInner(a,-1),i;if(s&&n==">"&&o.name=="EndTag"){let n=o.parent;if(((O=(t=n.parent)===null||t===void 0?void 0:t.lastChild)===null||O===void 0?void 0:O.name)!="CloseTag"&&(i=U(l.doc,n.parent,a))){let t=a+(l.doc.sliceString(a,a+1)===">"?1:0);let O=``;return{range:e,changes:{from:a,to:t,insert:O}}}}else if(s&&n=="/"&&o.name=="StartCloseTag"){let e=o.parent;if(o.from==a-2&&((r=e.lastChild)===null||r===void 0?void 0:r.name)!="CloseTag"&&(i=U(l.doc,e,a))){let e=a+(l.doc.sliceString(a,a+1)===">"?1:0);let t=`${i}>`;return{range:X.EditorSelection.cursor(a+t.length,-1),changes:{from:a,to:e,insert:t}}}}return{range:e}}));if(s.changes.empty)return false;e.dispatch([a,l.update(s,{userEvent:"input.complete",scrollIntoView:true})]);return true}))}}]);