crossnote 0.8.12 → 0.8.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/cjs/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- var ja=Object.create;var Ce=Object.defineProperty;var Wa=Object.getOwnPropertyDescriptor;var Va=Object.getOwnPropertyNames;var qa=Object.getPrototypeOf,Ya=Object.prototype.hasOwnProperty;var Ka=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Za=(e,t)=>{for(var n in t)Ce(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Va(t))!Ya.call(e,r)&&r!==n&&Ce(e,r,{get:()=>t[r],enumerable:!(a=Wa(t,r))||a.enumerable});return e};var N=(e,t,n)=>(n=e!=null?ja(qa(e)):{},Bt(t||!e||!e.__esModule?Ce(n,"default",{value:e,enumerable:!0}):n,e)),Xa=e=>Bt(Ce({},"__esModule",{value:!0}),e);var xa=Ka((Ko,rt)=>{var Fr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function g(m){return m instanceof s?new s(m.type,g(m.content),m.alias):Array.isArray(m)?m.map(g):m.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(g){return Object.prototype.toString.call(g).slice(8,-1)},objId:function(g){return g.__id||Object.defineProperty(g,"__id",{value:++n}),g.__id},clone:function g(m,f){var h,E;switch(f=f||{},r.util.type(m)){case"Object":if(E=r.util.objId(m),f[E])return f[E];for(var A in h={},f[E]=h,m)m.hasOwnProperty(A)&&(h[A]=g(m[A],f));return h;case"Array":return E=r.util.objId(m),f[E]?f[E]:(h=[],f[E]=h,m.forEach(function(_,T){h[T]=g(_,f)}),h);default:return m}},getLanguage:function(g){for(;g;){var m=t.exec(g.className);if(m)return m[1].toLowerCase();g=g.parentElement}return"none"},setLanguage:function(g,m){g.className=g.className.replace(RegExp(t,"gi"),""),g.classList.add("language-"+m)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(h){var g=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack)||[])[1];if(g){var m=document.getElementsByTagName("script");for(var f in m)if(m[f].src==g)return m[f]}return null}},isActive:function(g,m,f){for(var h="no-"+m;g;){var E=g.classList;if(E.contains(m))return!0;if(E.contains(h))return!1;g=g.parentElement}return!!f}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(g,m){var f=r.util.clone(r.languages[g]);for(var h in m)f[h]=m[h];return f},insertBefore:function(g,m,f,h){var E=(h=h||r.languages)[g],A={};for(var _ in E)if(E.hasOwnProperty(_)){if(_==m)for(var T in f)f.hasOwnProperty(T)&&(A[T]=f[T]);f.hasOwnProperty(_)||(A[_]=E[_])}var k=h[g];return h[g]=A,r.languages.DFS(r.languages,function(y,w){w===k&&y!=g&&(this[y]=A)}),A},DFS:function g(m,f,h,E){E=E||{};var A=r.util.objId;for(var _ in m)if(m.hasOwnProperty(_)){f.call(m,_,m[_],h||_);var T=m[_],k=r.util.type(T);k!=="Object"||E[A(T)]?k!=="Array"||E[A(T)]||(E[A(T)]=!0,g(T,f,_,E)):(E[A(T)]=!0,g(T,f,null,E))}}},plugins:{},highlightAll:function(g,m){r.highlightAllUnder(document,g,m)},highlightAllUnder:function(g,m,f){var h={callback:f,container:g,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",h),h.elements=Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)),r.hooks.run("before-all-elements-highlight",h);for(var E,A=0;E=h.elements[A++];)r.highlightElement(E,m===!0,h.callback)},highlightElement:function(g,m,f){var h=r.util.getLanguage(g),E=r.languages[h];r.util.setLanguage(g,h);var A=g.parentElement;A&&A.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(A,h);var _={element:g,language:h,grammar:E,code:g.textContent};function T(y){_.highlightedCode=y,r.hooks.run("before-insert",_),_.element.innerHTML=_.highlightedCode,r.hooks.run("after-highlight",_),r.hooks.run("complete",_),f&&f.call(_.element)}if(r.hooks.run("before-sanity-check",_),(A=_.element.parentElement)&&A.nodeName.toLowerCase()==="pre"&&!A.hasAttribute("tabindex")&&A.setAttribute("tabindex","0"),!_.code)return r.hooks.run("complete",_),void(f&&f.call(_.element));if(r.hooks.run("before-highlight",_),_.grammar)if(m&&e.Worker){var k=new Worker(r.filename);k.onmessage=function(y){T(y.data)},k.postMessage(JSON.stringify({language:_.language,code:_.code,immediateClose:!0}))}else T(r.highlight(_.code,_.grammar,_.language));else T(r.util.encode(_.code))},highlight:function(g,m,f){var h={code:g,grammar:m,language:f};if(r.hooks.run("before-tokenize",h),!h.grammar)throw new Error('The language "'+h.language+'" has no grammar.');return h.tokens=r.tokenize(h.code,h.grammar),r.hooks.run("after-tokenize",h),s.stringify(r.util.encode(h.tokens),h.language)},tokenize:function(g,m){var f=m.rest;if(f){for(var h in f)m[h]=f[h];delete m.rest}var E=new d;return c(E,E.head,g),l(g,E,m,E.head,0),function(A){for(var _=[],T=A.head.next;T!==A.tail;)_.push(T.value),T=T.next;return _}(E)},hooks:{all:{},add:function(g,m){var f=r.hooks.all;f[g]=f[g]||[],f[g].push(m)},run:function(g,m){var f=r.hooks.all[g];if(f&&f.length)for(var h,E=0;h=f[E++];)h(m)}},Token:s};function s(g,m,f,h){this.type=g,this.content=m,this.alias=f,this.length=0|(h||"").length}function o(g,m,f,h){g.lastIndex=m;var E=g.exec(f);if(E&&h&&E[1]){var A=E[1].length;E.index+=A,E[0]=E[0].slice(A)}return E}function l(g,m,f,h,E,A){for(var _ in f)if(f.hasOwnProperty(_)&&f[_]){var T=f[_];T=Array.isArray(T)?T:[T];for(var k=0;k<T.length;++k){if(A&&A.cause==_+","+k)return;var y=T[k],w=y.inside,C=!!y.lookbehind,O=!!y.greedy,v=y.alias;if(O&&!y.pattern.global){var x=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,x+"g")}for(var G=y.pattern||y,U=h.next,$=E;U!==m.tail&&!(A&&$>=A.reach);$+=U.value.length,U=U.next){var L=U.value;if(m.length>g.length)return;if(!(L instanceof s)){var z,I=1;if(O){if(!(z=o(G,$,g,C))||z.index>=g.length)break;var j=z.index,H=z.index+z[0].length,D=$;for(D+=U.value.length;j>=D;)D+=(U=U.next).value.length;if($=D-=U.value.length,U.value instanceof s)continue;for(var M=U;M!==m.tail&&(D<H||typeof M.value=="string");M=M.next)I++,D+=M.value.length;I--,L=g.slice($,D),z.index-=$}else if(!(z=o(G,0,L,C)))continue;j=z.index;var P=z[0],F=L.slice(0,j),q=L.slice(j+P.length),ye=$+L.length;A&&ye>A.reach&&(A.reach=ye);var Ne=U.prev;if(F&&(Ne=c(m,Ne,F),$+=F.length),p(m,Ne,I),U=c(m,Ne,new s(_,w?r.tokenize(P,w):P,v,P)),q&&c(m,U,q),I>1){var lt={cause:_+","+k,reach:ye};l(g,m,f,U.prev,$,lt),A&&lt.reach>A.reach&&(A.reach=lt.reach)}}}}}}function d(){var g={value:null,prev:null,next:null},m={value:null,prev:g,next:null};g.next=m,this.head=g,this.tail=m,this.length=0}function c(g,m,f){var h=m.next,E={value:f,prev:m,next:h};return m.next=E,h.prev=E,g.length++,E}function p(g,m,f){for(var h=m.next,E=0;E<f&&h!==g.tail;E++)h=h.next;m.next=h,h.prev=m,g.length-=E}if(e.Prism=r,s.stringify=function g(m,f){if(typeof m=="string")return m;if(Array.isArray(m)){var h="";return m.forEach(function(k){h+=g(k,f)}),h}var E={type:m.type,content:g(m.content,f),tag:"span",classes:["token",m.type],attributes:{},language:f},A=m.alias;A&&(Array.isArray(A)?Array.prototype.push.apply(E.classes,A):E.classes.push(A)),r.hooks.run("wrap",E);var _="";for(var T in E.attributes)_+=" "+T+'="'+(E.attributes[T]||"").replace(/"/g,"&quot;")+'"';return"<"+E.tag+' class="'+E.classes.join(" ")+'"'+_+">"+E.content+"</"+E.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(g){var m=JSON.parse(g.data),f=m.language,h=m.code,E=m.immediateClose;e.postMessage(r.highlight(h,r.languages[f],f)),E&&e.close()},!1)),r;var u=r.util.currentScript();function b(){r.manual||r.highlightAll()}if(u&&(r.filename=u.src,u.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var S=document.readyState;S==="loading"||S==="interactive"&&u&&u.defer?document.addEventListener("DOMContentLoaded",b):window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,16)}return r}(Fr);typeof rt<"u"&&rt.exports&&(rt.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
1
+ var qa=Object.create;var Oe=Object.defineProperty;var Ya=Object.getOwnPropertyDescriptor;var Ka=Object.getOwnPropertyNames;var Za=Object.getPrototypeOf,Xa=Object.prototype.hasOwnProperty;var Ja=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qa=(e,t)=>{for(var n in t)Oe(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ka(t))!Xa.call(e,r)&&r!==n&&Oe(e,r,{get:()=>t[r],enumerable:!(a=Ya(t,r))||a.enumerable});return e};var N=(e,t,n)=>(n=e!=null?qa(Za(e)):{},Bt(t||!e||!e.__esModule?Oe(n,"default",{value:e,enumerable:!0}):n,e)),er=e=>Bt(Oe({},"__esModule",{value:!0}),e);var xa=Ja((Jo,it)=>{var $r=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function g(m){return m instanceof s?new s(m.type,g(m.content),m.alias):Array.isArray(m)?m.map(g):m.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(g){return Object.prototype.toString.call(g).slice(8,-1)},objId:function(g){return g.__id||Object.defineProperty(g,"__id",{value:++n}),g.__id},clone:function g(m,f){var h,E;switch(f=f||{},r.util.type(m)){case"Object":if(E=r.util.objId(m),f[E])return f[E];for(var A in h={},f[E]=h,m)m.hasOwnProperty(A)&&(h[A]=g(m[A],f));return h;case"Array":return E=r.util.objId(m),f[E]?f[E]:(h=[],f[E]=h,m.forEach(function(_,T){h[T]=g(_,f)}),h);default:return m}},getLanguage:function(g){for(;g;){var m=t.exec(g.className);if(m)return m[1].toLowerCase();g=g.parentElement}return"none"},setLanguage:function(g,m){g.className=g.className.replace(RegExp(t,"gi"),""),g.classList.add("language-"+m)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(h){var g=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack)||[])[1];if(g){var m=document.getElementsByTagName("script");for(var f in m)if(m[f].src==g)return m[f]}return null}},isActive:function(g,m,f){for(var h="no-"+m;g;){var E=g.classList;if(E.contains(m))return!0;if(E.contains(h))return!1;g=g.parentElement}return!!f}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(g,m){var f=r.util.clone(r.languages[g]);for(var h in m)f[h]=m[h];return f},insertBefore:function(g,m,f,h){var E=(h=h||r.languages)[g],A={};for(var _ in E)if(E.hasOwnProperty(_)){if(_==m)for(var T in f)f.hasOwnProperty(T)&&(A[T]=f[T]);f.hasOwnProperty(_)||(A[_]=E[_])}var k=h[g];return h[g]=A,r.languages.DFS(r.languages,function(y,w){w===k&&y!=g&&(this[y]=A)}),A},DFS:function g(m,f,h,E){E=E||{};var A=r.util.objId;for(var _ in m)if(m.hasOwnProperty(_)){f.call(m,_,m[_],h||_);var T=m[_],k=r.util.type(T);k!=="Object"||E[A(T)]?k!=="Array"||E[A(T)]||(E[A(T)]=!0,g(T,f,_,E)):(E[A(T)]=!0,g(T,f,null,E))}}},plugins:{},highlightAll:function(g,m){r.highlightAllUnder(document,g,m)},highlightAllUnder:function(g,m,f){var h={callback:f,container:g,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",h),h.elements=Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)),r.hooks.run("before-all-elements-highlight",h);for(var E,A=0;E=h.elements[A++];)r.highlightElement(E,m===!0,h.callback)},highlightElement:function(g,m,f){var h=r.util.getLanguage(g),E=r.languages[h];r.util.setLanguage(g,h);var A=g.parentElement;A&&A.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(A,h);var _={element:g,language:h,grammar:E,code:g.textContent};function T(y){_.highlightedCode=y,r.hooks.run("before-insert",_),_.element.innerHTML=_.highlightedCode,r.hooks.run("after-highlight",_),r.hooks.run("complete",_),f&&f.call(_.element)}if(r.hooks.run("before-sanity-check",_),(A=_.element.parentElement)&&A.nodeName.toLowerCase()==="pre"&&!A.hasAttribute("tabindex")&&A.setAttribute("tabindex","0"),!_.code)return r.hooks.run("complete",_),void(f&&f.call(_.element));if(r.hooks.run("before-highlight",_),_.grammar)if(m&&e.Worker){var k=new Worker(r.filename);k.onmessage=function(y){T(y.data)},k.postMessage(JSON.stringify({language:_.language,code:_.code,immediateClose:!0}))}else T(r.highlight(_.code,_.grammar,_.language));else T(r.util.encode(_.code))},highlight:function(g,m,f){var h={code:g,grammar:m,language:f};if(r.hooks.run("before-tokenize",h),!h.grammar)throw new Error('The language "'+h.language+'" has no grammar.');return h.tokens=r.tokenize(h.code,h.grammar),r.hooks.run("after-tokenize",h),s.stringify(r.util.encode(h.tokens),h.language)},tokenize:function(g,m){var f=m.rest;if(f){for(var h in f)m[h]=f[h];delete m.rest}var E=new d;return c(E,E.head,g),l(g,E,m,E.head,0),function(A){for(var _=[],T=A.head.next;T!==A.tail;)_.push(T.value),T=T.next;return _}(E)},hooks:{all:{},add:function(g,m){var f=r.hooks.all;f[g]=f[g]||[],f[g].push(m)},run:function(g,m){var f=r.hooks.all[g];if(f&&f.length)for(var h,E=0;h=f[E++];)h(m)}},Token:s};function s(g,m,f,h){this.type=g,this.content=m,this.alias=f,this.length=0|(h||"").length}function o(g,m,f,h){g.lastIndex=m;var E=g.exec(f);if(E&&h&&E[1]){var A=E[1].length;E.index+=A,E[0]=E[0].slice(A)}return E}function l(g,m,f,h,E,A){for(var _ in f)if(f.hasOwnProperty(_)&&f[_]){var T=f[_];T=Array.isArray(T)?T:[T];for(var k=0;k<T.length;++k){if(A&&A.cause==_+","+k)return;var y=T[k],w=y.inside,C=!!y.lookbehind,O=!!y.greedy,v=y.alias;if(O&&!y.pattern.global){var x=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,x+"g")}for(var G=y.pattern||y,U=h.next,$=E;U!==m.tail&&!(A&&$>=A.reach);$+=U.value.length,U=U.next){var L=U.value;if(m.length>g.length)return;if(!(L instanceof s)){var z,I=1;if(O){if(!(z=o(G,$,g,C))||z.index>=g.length)break;var j=z.index,H=z.index+z[0].length,D=$;for(D+=U.value.length;j>=D;)D+=(U=U.next).value.length;if($=D-=U.value.length,U.value instanceof s)continue;for(var M=U;M!==m.tail&&(D<H||typeof M.value=="string");M=M.next)I++,D+=M.value.length;I--,L=g.slice($,D),z.index-=$}else if(!(z=o(G,0,L,C)))continue;j=z.index;var P=z[0],F=L.slice(0,j),q=L.slice(j+P.length),ye=$+L.length;A&&ye>A.reach&&(A.reach=ye);var Ce=U.prev;if(F&&(Ce=c(m,Ce,F),$+=F.length),p(m,Ce,I),U=c(m,Ce,new s(_,w?r.tokenize(P,w):P,v,P)),q&&c(m,U,q),I>1){var dt={cause:_+","+k,reach:ye};l(g,m,f,U.prev,$,dt),A&&dt.reach>A.reach&&(A.reach=dt.reach)}}}}}}function d(){var g={value:null,prev:null,next:null},m={value:null,prev:g,next:null};g.next=m,this.head=g,this.tail=m,this.length=0}function c(g,m,f){var h=m.next,E={value:f,prev:m,next:h};return m.next=E,h.prev=E,g.length++,E}function p(g,m,f){for(var h=m.next,E=0;E<f&&h!==g.tail;E++)h=h.next;m.next=h,h.prev=m,g.length-=E}if(e.Prism=r,s.stringify=function g(m,f){if(typeof m=="string")return m;if(Array.isArray(m)){var h="";return m.forEach(function(k){h+=g(k,f)}),h}var E={type:m.type,content:g(m.content,f),tag:"span",classes:["token",m.type],attributes:{},language:f},A=m.alias;A&&(Array.isArray(A)?Array.prototype.push.apply(E.classes,A):E.classes.push(A)),r.hooks.run("wrap",E);var _="";for(var T in E.attributes)_+=" "+T+'="'+(E.attributes[T]||"").replace(/"/g,"&quot;")+'"';return"<"+E.tag+' class="'+E.classes.join(" ")+'"'+_+">"+E.content+"</"+E.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(g){var m=JSON.parse(g.data),f=m.language,h=m.code,E=m.immediateClose;e.postMessage(r.highlight(h,r.languages[f],f)),E&&e.close()},!1)),r;var u=r.util.currentScript();function b(){r.manual||r.highlightAll()}if(u&&(r.filename=u.src,u.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var S=document.readyState;S==="loading"||S==="interactive"&&u&&u.defer?document.addEventListener("DOMContentLoaded",b):window.requestAnimationFrame?window.requestAnimationFrame(b):window.setTimeout(b,16)}return r}($r);typeof it<"u"&&it.exports&&(it.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
2
2
  ()"']|\\\\[^])*)\\)`,"i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(i);i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r
3
3
  ]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r
4
4
  ])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r
@@ -88,7 +88,7 @@ var ja=Object.create;var Ce=Object.defineProperty;var Wa=Object.getOwnPropertyDe
88
88
  ]|\\\\(?:\r
89
89
  |[^]))*")*\\}`;e.languages.tremor["interpolated-string"]={pattern:RegExp('(^|[^\\\\])(?:"""(?:[^"\\\\#]|\\\\[^]|"(?!"")|#(?!\\{)|'+t+`)*"""|"(?:[^"\\\\\r
90
90
  #]|\\\\(?:\r
91
- |[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(s,o){e.languages[s]&&e.languages.insertBefore(s,"comment",{"doc-comment":o})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],s=0;s<a.length;s++){var o=a[s],l=!1;if(typeof o!="string"&&(o.type==="tag"&&o.content[0]&&o.content[0].type==="tag"?o.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(o.content[0].content[1])&&r.pop():o.content[o.content.length-1].content==="/>"||r.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(r.length>0&&o.type==="punctuation"&&o.content==="{")||a[s+1]&&a[s+1].type==="punctuation"&&a[s+1].content==="{"||a[s-1]&&a[s-1].type==="plain-text"&&a[s-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&o.type==="punctuation"&&o.content==="}"?r[r.length-1].openedBraces--:o.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof o=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(o);s<a.length-1&&(typeof a[s+1]=="string"||a[s+1].type==="plain-text")&&(d+=t(a[s+1]),a.splice(s+1,1)),s>0&&(typeof a[s-1]=="string"||a[s-1].type==="plain-text")&&(d=t(a[s-1])+d,a.splice(s-1,1),s--),/^\s+$/.test(d)?a[s]=d:a[s]=new e.Token("plain-text",d,null,d)}o.content&&typeof o.content!="string"&&n(o.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(o){return function(){return o}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(o){o.inside===null&&(o.inside=e.languages.zig)})})(i)});var Yr={};Za(Yr,{IS_NODE:()=>It,MarkdownEngine:()=>ve,Notebook:()=>vt,getDefaultKatexConfig:()=>Xe,getDefaultMathjaxConfig:()=>Ze,getDefaultMermaidConfig:()=>Ke,getDefaultNotebookConfig:()=>ce,getDefaultParserConfig:()=>Je,loadConfigsInDirectory:()=>et,utility:()=>qr,wrapNodeFSAsApi:()=>tt});module.exports=Xa(Yr);var ue=N(require("child_process")),zt=N(require("path")),Ht=N(require("sval")),Oe=N(require("temp")),ge=N(require("vm")),jt=N(require("yaml"));var se=N(require("fs")),$t=N(require("path")),dt=N(require("request")),Ja=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",Qa=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function Gt(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=`![${a}](${t})`;if(!n)return;let s;try{s=se.readFileSync(n,{encoding:"utf-8"})}catch{s=""}s=`
91
+ |[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(s,o){e.languages[s]&&e.languages.insertBefore(s,"comment",{"doc-comment":o})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],s=0;s<a.length;s++){var o=a[s],l=!1;if(typeof o!="string"&&(o.type==="tag"&&o.content[0]&&o.content[0].type==="tag"?o.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(o.content[0].content[1])&&r.pop():o.content[o.content.length-1].content==="/>"||r.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(r.length>0&&o.type==="punctuation"&&o.content==="{")||a[s+1]&&a[s+1].type==="punctuation"&&a[s+1].content==="{"||a[s-1]&&a[s-1].type==="plain-text"&&a[s-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&o.type==="punctuation"&&o.content==="}"?r[r.length-1].openedBraces--:o.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof o=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(o);s<a.length-1&&(typeof a[s+1]=="string"||a[s+1].type==="plain-text")&&(d+=t(a[s+1]),a.splice(s+1,1)),s>0&&(typeof a[s-1]=="string"||a[s-1].type==="plain-text")&&(d=t(a[s-1])+d,a.splice(s-1,1),s--),/^\s+$/.test(d)?a[s]=d:a[s]=new e.Token("plain-text",d,null,d)}o.content&&typeof o.content!="string"&&n(o.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(o){return function(){return o}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(o){o.inside===null&&(o.inside=e.languages.zig)})})(i)});var Xr={};Qa(Xr,{IS_NODE:()=>It,MarkdownEngine:()=>Ne,Notebook:()=>vt,getDefaultKatexConfig:()=>Je,getDefaultMathjaxConfig:()=>Xe,getDefaultMermaidConfig:()=>Ze,getDefaultNotebookConfig:()=>pe,getDefaultParserConfig:()=>Qe,loadConfigsInDirectory:()=>tt,utility:()=>Zr,wrapNodeFSAsApi:()=>nt});module.exports=er(Xr);var ge=N(require("child_process")),zt=N(require("path")),Ht=N(require("sval")),xe=N(require("temp")),me=N(require("vm")),jt=N(require("yaml"));var le=N(require("fs")),$t=N(require("path")),ct=N(require("request")),tr=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",nr=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function Gt(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=`![${a}](${t})`;if(!n)return;let s;try{s=le.readFileSync(n,{encoding:"utf-8"})}catch{s=""}s=`
92
92
  ${r}
93
93
 
94
94
  \`${r}\`
@@ -97,11 +97,11 @@ ${new Date().toString()}
97
97
 
98
98
  ---
99
99
 
100
- `+s,se.writeFileSync(n,s,{encoding:"utf-8"})}function er(e){return new Promise((t,n)=>{let a={Authorization:`Client-ID ${Qa}`};dt.post({url:`${Ja}image`,encoding:"utf8",formData:{image:se.createReadStream(e)},json:!0,headers:a},(r,s,o)=>{if(r)return n(r);if(o.success){let l=o.data.link;return Gt(e,l),t(l)}else return t(o.data.error.message)})})}function tr(e){return new Promise((t,n)=>{let a={authority:"sm.ms","user-agent":"crossnote",referer:""};dt.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:se.createReadStream(e)},headers:a},(r,s,o)=>{try{if(o=JSON.parse(o),r)return n("Failed to upload image");if(o.code==="error")return n(o.msg);{let l=o.data.url;return Gt(e,l),t(l)}}catch{return n("Failed to connect to sm.ms host")}})})}function nr(e,t,n,a,r){return new Promise((s,o)=>{if(!t)return o("Error: Qiniu AccessKey is missing");if(!n)return o("Error: Qiniu SecretKey is missing");if(!a)return o("Error: Qiniu Bucket is missing");if(!r)return o("Error: Qiniu Domain is missing");import("qiniu").then(l=>{let d=new l.auth.digest.Mac(t,n),p=new l.rs.PutPolicy({scope:a}).uploadToken(d),u=new l.conf.Config,b=$t.basename(e),S=new l.form_up.FormUploader(u),g=new l.form_up.PutExtra;return S.putFile(p,b,e,g,(m,f,h)=>{if(m)return o(m.message);if(h.statusCode===200){let A=new l.rs.BucketManager(d,u).publicDownloadUrl(r,b);return s(A)}else return o(h.error)})}).catch(l=>o(l))})}function ct(e,{method:t="imgur",qiniu:n={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return t==="imgur"?er(e):t==="qiniu"?nr(e,n.AccessKey,n.SecretKey,n.Bucket,n.Domain):tr(e)}Oe.track();function Q(e){return new Promise((t,n)=>{Oe.open(e,(a,r)=>a?n(a.toString()):t(r))})}function le(e){if(process.platform==="win32")return e.match(/^[a-zA-Z]:\\/)&&(e="file:///"+e),e.startsWith("file:///")?ue.execFile("explorer.exe",[e]):ue.exec(`start ${e}`);process.platform==="darwin"?ue.execFile("open",[e]):ue.execFile("xdg-open",[e])}function xe(e=""){e.startsWith("---")&&(e=e.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return jt.parse(e)}catch{return{}}}var Wt=(()=>typeof __dirname<"u"?zt.resolve(__dirname,"../"):"")();function Vt(e){Wt=e}function B(){return Wt}var pt=null;function qt(e){pt=e}function V(e,t){return pt&&t?pt(e,t):(e.startsWith("file://")||(e="file:///"+e),e=e.replace(/^file:\/+/,"file:///"),e)}function ee(e){let t=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return e.replace(t,(n,a,r)=>(a&&(r=r.replace(/^file\/+/,"")),process.platform!=="win32"&&!r.startsWith("/")?"/"+r:r))}function Yt(e){let t=globalThis.eval;try{return globalThis.eval=n=>ge.runInThisContext(n),e()}finally{globalThis.eval=t}}function Kt(e){let t=globalThis.Function;try{return globalThis.Function=ut,e()}finally{globalThis.Function=t}}async function Zt(e){let t=globalThis.Function,n=globalThis.eval;try{return globalThis.Function=ut,globalThis.eval=a=>ge.runInThisContext(a),await e()}finally{globalThis.eval=n,globalThis.Function=t}}var ke=e=>e.attributes.cmd===!0?e.language:e.attributes.cmd;function ut(...e){let t="",n=[];if(e.length){t=e[e.length-1];for(let r=0;r<e.length-1;r++)n.push(e[r])}let a=[];for(let r=0,s=n.length;r<s;r++){let o=n[r];typeof o=="string"&&(o=o.split(/\s*,\s*/)),a.push.apply(a,o)}return ge.runInThisContext(`
100
+ `+s,le.writeFileSync(n,s,{encoding:"utf-8"})}function ar(e){return new Promise((t,n)=>{let a={Authorization:`Client-ID ${nr}`};ct.post({url:`${tr}image`,encoding:"utf8",formData:{image:le.createReadStream(e)},json:!0,headers:a},(r,s,o)=>{if(r)return n(r);if(o.success){let l=o.data.link;return Gt(e,l),t(l)}else return t(o.data.error.message)})})}function rr(e){return new Promise((t,n)=>{let a={authority:"sm.ms","user-agent":"crossnote",referer:""};ct.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:le.createReadStream(e)},headers:a},(r,s,o)=>{try{if(o=JSON.parse(o),r)return n("Failed to upload image");if(o.code==="error")return n(o.msg);{let l=o.data.url;return Gt(e,l),t(l)}}catch{return n("Failed to connect to sm.ms host")}})})}function ir(e,t,n,a,r){return new Promise((s,o)=>{if(!t)return o("Error: Qiniu AccessKey is missing");if(!n)return o("Error: Qiniu SecretKey is missing");if(!a)return o("Error: Qiniu Bucket is missing");if(!r)return o("Error: Qiniu Domain is missing");import("qiniu").then(l=>{let d=new l.auth.digest.Mac(t,n),p=new l.rs.PutPolicy({scope:a}).uploadToken(d),u=new l.conf.Config,b=$t.basename(e),S=new l.form_up.FormUploader(u),g=new l.form_up.PutExtra;return S.putFile(p,b,e,g,(m,f,h)=>{if(m)return o(m.message);if(h.statusCode===200){let A=new l.rs.BucketManager(d,u).publicDownloadUrl(r,b);return s(A)}else return o(h.error)})}).catch(l=>o(l))})}function pt(e,{method:t="imgur",qiniu:n={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return t==="imgur"?ar(e):t==="qiniu"?ir(e,n.AccessKey,n.SecretKey,n.Bucket,n.Domain):rr(e)}xe.track();function Q(e){return new Promise((t,n)=>{xe.open(e,(a,r)=>a?n(a.toString()):t(r))})}function de(e){if(process.platform==="win32")return e.match(/^[a-zA-Z]:\\/)&&(e="file:///"+e),e.startsWith("file:///")?ge.execFile("explorer.exe",[e]):ge.exec(`start ${e}`);process.platform==="darwin"?ge.execFile("open",[e]):ge.execFile("xdg-open",[e])}function Le(e=""){e.startsWith("---")&&(e=e.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return jt.parse(e)}catch(t){return{error:t.toString()}}}var Wt=(()=>typeof __dirname<"u"?zt.resolve(__dirname,"../"):"")();function Vt(e){Wt=e}function B(){return Wt}var ut=null;function qt(e){ut=e}function V(e,t){return ut&&t?ut(e,t):(e.startsWith("file://")||(e="file:///"+e),e=e.replace(/^file:\/+/,"file:///"),e)}function ee(e){let t=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return e.replace(t,(n,a,r)=>(a&&(r=r.replace(/^file\/+/,"")),process.platform!=="win32"&&!r.startsWith("/")?"/"+r:r))}function Yt(e){let t=globalThis.eval;try{return globalThis.eval=n=>me.runInThisContext(n),e()}finally{globalThis.eval=t}}function Kt(e){let t=globalThis.Function;try{return globalThis.Function=gt,e()}finally{globalThis.Function=t}}async function Zt(e){let t=globalThis.Function,n=globalThis.eval;try{return globalThis.Function=gt,globalThis.eval=a=>me.runInThisContext(a),await e()}finally{globalThis.eval=n,globalThis.Function=t}}var ke=e=>e.attributes.cmd===!0?e.language:e.attributes.cmd;function gt(...e){let t="",n=[];if(e.length){t=e[e.length-1];for(let r=0;r<e.length-1;r++)n.push(e[r])}let a=[];for(let r=0,s=n.length;r<s;r++){let o=n[r];typeof o=="string"&&(o=o.split(/\s*,\s*/)),a.push.apply(a,o)}return me.runInThisContext(`
101
101
  (function(${a.join(", ")}) {
102
102
  ${t}
103
103
  })
104
- `)}ut.prototype=globalThis.Function.prototype;function gt(){return process.env.IS_VSCODE_WEB_EXTENSION==="true"}function mt(e){if(e=e.trim().replace(/[;,]+$/,""),gt()){let t=new Ht.default({sandBox:!0,ecmaVer:2019});return t.run(`exports.result = (${e})`),t.exports.result}else{let t={};return ge.runInNewContext(`result = (${e})`,t),t.result}}var oe=N(require("cheerio")),Ga=require("child_process"),Ft=require("copy-anything"),Ut=N(require("crypto-js")),K=N(require("fs")),Se=require("html-escaper"),R=N(require("path")),za=N(require("request")),Ha=N(require("yaml"));var Xt=require("child_process"),Jt=require("mkdirp"),De=N(require("path"));function ar(e={},t){let n=e.title||"No Title";t.push("--title",n),e.authors&&t.push("--authors",e.authors),e.cover&&t.push("--cover",e.cover),e.comment&&t.push("--comments",e.comments),e.publisher&&t.push("--publisher",e.publisher),e["book-producer"]&&t.push("--book-producer",e["book-producer"]),e.pubdate&&t.push("--pubdate",e.pubdate),e.language&&t.push("--language",e.language),e.isbn&&t.push("--isbn",e.isbn),e.tags&&t.push("--tags",e.tags),e.series&&t.push("--series",e.series),e.rating&&t.push("--rating",e.rating)}function rr(e={},t){e.asciiize&&t.push("--asciiize"),e["base-font-size"]&&t.push("--base-font-size="+e["base-font-size"]),e["disable-font-rescaling"]&&t.push("--disable-font-rescaling"),e["line-height"]&&t.push("--line-height="+e["line-height"]);let n=72,a=72,r=72,s=72;if(e.margin){let o=e.margin;o instanceof Array?o.length===1?(n=o[0],r=o[0],s=o[0],a=o[0]):o.length===2?(n=o[0],r=o[0],s=o[1],a=o[1]):o.length===4&&(n=o[0],a=o[1],r=o[2],s=o[3]):typeof o=="number"&&(n=o,r=o,s=o,a=o)}else e["margin-top"]&&(n=e["margin-top"]),e["margin-right"]&&(a=e["margin-right"]),e["margin-bottom"]&&(r=e["margin-bottom"]),e["margin-left"]&&(s=e["margin-left"]);t.push("--margin-top="+n),t.push("--margin-bottom="+r),t.push("--margin-left="+s),t.push("--margin-right="+a)}function ir(e={},t){e["no-default-epub-cover"]&&t.push("--no-default-epub-cover"),e["no-svg-cover"]&&t.push("--no-svg-cover"),e["pretty-print"]&&t.push("--pretty-print")}function or(e={},t){e["paper-size"]&&t.push("--paper-size",e["paper-size"]),e["default-font-size"]&&t.push("--pdf-default-font-size="+e["default-font-size"]),e["header-template"]&&t.push("--pdf-header-template",e["header-template"]),e["footer-template"]&&t.push("--pdf-footer-template",e["footer-template"]),e["page-numbers"]&&t.push("--pdf-page-numbers"),e["pretty-print"]&&t.push("--pretty-print")}function Qt(e,t,n={}){return new Promise((a,r)=>{let s=[e,t,"--level1-toc","//*[@ebook-toc-level-1]/@heading","--level2-toc","//*[@ebook-toc-level-2]/@heading","--level3-toc","//*[@ebook-toc-level-3]/@heading","--no-chapters-in-toc"];ar(n,s),rr(n,s);let o=De.extname(t).slice(1);o==="epub"?ir(n.epub,s):o==="pdf"&&or(n.pdf,s),(n.args||[]).forEach(d=>{s.push(d)}),(0,Jt.mkdirp)(De.dirname(t)).then(()=>{(0,Xt.execFile)("ebook-convert",s,d=>d?r(d.toString()):a())}).catch(d=>{if(d)return r(d)})})}var Yn=N(require("fs")),_t=require("html-escaper"),Kn=require("mkdirp"),ae=N(require("path"));var en=N(require("md5")),sr=e=>(0,en.default)(e).toString(),Z=sr;var tn=N(require("uslug")),te=class{constructor(){this.table={}}generateId(t){let n=(r,s)=>{let o=s.replace(/[!"#$%&'()*+,./:;<=>?@[\\]^`{|}~]/g,"").replace(/^\s/,"").replace(/\s$/,"").replace(/`/g,"~");return(s.match(/^\s+$/)?"~":o)+(r.endsWith(" ")&&!o.endsWith("~")?"~":"")};t=t.trim().replace(/~|。/g,"").replace(/``(.+?)``\s?/g,n).replace(/`(.*?)`\s?/g,n);let a=(0,tn.default)(t.replace(/\s/g,"~")).replace(/~/g,"-");return this.table[a]>=0?(this.table[a]=this.table[a]+1,a+="-"+this.table[a]):this.table[a]=0,a}};function lr(e,t){let n="";for(let a=0;a<t;a++)n+=e;return n}function nn(e){let t="",n=0,a=/!?\[([^\]]*)\]\(([^)]*)\)|<([^>]*)>([^<]*)<\/([^>]*)>|\[\^([^\]]*)\]/g,r=null;for(;r=a.exec(e);)t+=e.slice(n,r.index),n=r.index+r[0].length,r[0][0]==="<"?t+=r[4]:r[0][0]==="["&&r[0][1]==="^"?t+="":r[0][0]!=="!"?t+=r[1]:t+=r[0];return t+=e.slice(n,e.length),t}function me(e,t){let n=new te;if(!e)return{content:"",array:[]};let a=t.ordered,r=t.depthFrom||1,s=t.depthTo||6,o=t.tab||" ",l=t.ignoreLink||!1;if(a&&(o=" "),e=e.filter(u=>u.level>=r&&u.level<=s),!e.length)return{content:"",array:[]};let d=[],c=e[0].level;for(let u of e)u.level<c&&(c=u.level);let p=[];for(let u of e){let b=u.content.trim(),S=u.level,g=u.id||n.generateId(b),m=S-c,f="1";a&&(m>=p.length?p.push(1):m===p.length-1?p[p.length-1]++:(p=p.slice(0,m+1),p.length&&p[p.length-1]++),f=p[p.length-1].toString());let h=`${lr(o,m)}${a?`${f}.`:"-"} ${l?nn(b):`[${nn(b)}](#${g})`}`;d.push(h)}return{content:d.join(`
104
+ `)}gt.prototype=globalThis.Function.prototype;function mt(){return process.env.IS_VSCODE_WEB_EXTENSION==="true"}function Te(e){if(e=e.trim().replace(/[;,]+$/,""),mt()){let t=new Ht.default({sandBox:!0,ecmaVer:2019});return t.run(`exports.result = (${e})`),t.exports.result}else{let t={};return me.runInNewContext(`result = (${e})`,t),t.result}}var oe=N(require("cheerio")),ja=require("child_process"),Ft=require("copy-anything"),Ut=N(require("crypto-js")),K=N(require("fs")),se=require("html-escaper"),R=N(require("path")),Wa=N(require("request")),Va=N(require("yaml"));var Xt=require("child_process"),Jt=require("mkdirp"),Pe=N(require("path"));function or(e={},t){let n=e.title||"No Title";t.push("--title",n),e.authors&&t.push("--authors",e.authors),e.cover&&t.push("--cover",e.cover),e.comment&&t.push("--comments",e.comments),e.publisher&&t.push("--publisher",e.publisher),e["book-producer"]&&t.push("--book-producer",e["book-producer"]),e.pubdate&&t.push("--pubdate",e.pubdate),e.language&&t.push("--language",e.language),e.isbn&&t.push("--isbn",e.isbn),e.tags&&t.push("--tags",e.tags),e.series&&t.push("--series",e.series),e.rating&&t.push("--rating",e.rating)}function sr(e={},t){e.asciiize&&t.push("--asciiize"),e["base-font-size"]&&t.push("--base-font-size="+e["base-font-size"]),e["disable-font-rescaling"]&&t.push("--disable-font-rescaling"),e["line-height"]&&t.push("--line-height="+e["line-height"]);let n=72,a=72,r=72,s=72;if(e.margin){let o=e.margin;o instanceof Array?o.length===1?(n=o[0],r=o[0],s=o[0],a=o[0]):o.length===2?(n=o[0],r=o[0],s=o[1],a=o[1]):o.length===4&&(n=o[0],a=o[1],r=o[2],s=o[3]):typeof o=="number"&&(n=o,r=o,s=o,a=o)}else e["margin-top"]&&(n=e["margin-top"]),e["margin-right"]&&(a=e["margin-right"]),e["margin-bottom"]&&(r=e["margin-bottom"]),e["margin-left"]&&(s=e["margin-left"]);t.push("--margin-top="+n),t.push("--margin-bottom="+r),t.push("--margin-left="+s),t.push("--margin-right="+a)}function lr(e={},t){e["no-default-epub-cover"]&&t.push("--no-default-epub-cover"),e["no-svg-cover"]&&t.push("--no-svg-cover"),e["pretty-print"]&&t.push("--pretty-print")}function dr(e={},t){e["paper-size"]&&t.push("--paper-size",e["paper-size"]),e["default-font-size"]&&t.push("--pdf-default-font-size="+e["default-font-size"]),e["header-template"]&&t.push("--pdf-header-template",e["header-template"]),e["footer-template"]&&t.push("--pdf-footer-template",e["footer-template"]),e["page-numbers"]&&t.push("--pdf-page-numbers"),e["pretty-print"]&&t.push("--pretty-print")}function Qt(e,t,n={}){return new Promise((a,r)=>{let s=[e,t,"--level1-toc","//*[@ebook-toc-level-1]/@heading","--level2-toc","//*[@ebook-toc-level-2]/@heading","--level3-toc","//*[@ebook-toc-level-3]/@heading","--no-chapters-in-toc"];or(n,s),sr(n,s);let o=Pe.extname(t).slice(1);o==="epub"?lr(n.epub,s):o==="pdf"&&dr(n.pdf,s),(n.args||[]).forEach(d=>{s.push(d)}),(0,Jt.mkdirp)(Pe.dirname(t)).then(()=>{(0,Xt.execFile)("ebook-convert",s,d=>d?r(d.toString()):a())}).catch(d=>{if(d)return r(d)})})}var Yn=N(require("fs")),_t=require("html-escaper"),Kn=require("mkdirp"),ae=N(require("path"));var en=N(require("md5")),cr=e=>(0,en.default)(e).toString(),Z=cr;var tn=N(require("uslug")),te=class{constructor(){this.table={}}generateId(t){let n=(r,s)=>{let o=s.replace(/[!"#$%&'()*+,./:;<=>?@[\\]^`{|}~]/g,"").replace(/^\s/,"").replace(/\s$/,"").replace(/`/g,"~");return(s.match(/^\s+$/)?"~":o)+(r.endsWith(" ")&&!o.endsWith("~")?"~":"")};t=t.trim().replace(/~|。/g,"").replace(/``(.+?)``\s?/g,n).replace(/`(.*?)`\s?/g,n);let a=(0,tn.default)(t.replace(/\s/g,"~")).replace(/~/g,"-");return this.table[a]>=0?(this.table[a]=this.table[a]+1,a+="-"+this.table[a]):this.table[a]=0,a}};function pr(e,t){let n="";for(let a=0;a<t;a++)n+=e;return n}function nn(e){let t="",n=0,a=/!?\[([^\]]*)\]\(([^)]*)\)|<([^>]*)>([^<]*)<\/([^>]*)>|\[\^([^\]]*)\]/g,r=null;for(;r=a.exec(e);)t+=e.slice(n,r.index),n=r.index+r[0].length,r[0][0]==="<"?t+=r[4]:r[0][0]==="["&&r[0][1]==="^"?t+="":r[0][0]!=="!"?t+=r[1]:t+=r[0];return t+=e.slice(n,e.length),t}function fe(e,t){let n=new te;if(!e)return{content:"",array:[]};let a=t.ordered,r=t.depthFrom||1,s=t.depthTo||6,o=t.tab||" ",l=t.ignoreLink||!1;if(a&&(o=" "),e=e.filter(u=>u.level>=r&&u.level<=s),!e.length)return{content:"",array:[]};let d=[],c=e[0].level;for(let u of e)u.level<c&&(c=u.level);let p=[];for(let u of e){let b=u.content.trim(),S=u.level,g=u.id||n.generateId(b),m=S-c,f="1";a&&(m>=p.length?p.push(1):m===p.length-1?p[p.length-1]++:(p=p.slice(0,m+1),p.length&&p[p.length-1]++),f=p[p.length-1].toString());let h=`${pr(o,m)}${a?`${f}.`:"-"} ${l?nn(b):`[${nn(b)}](#${g})`}`;d.push(h)}return{content:d.join(`
105
105
  `),array:d}}function an(e,t,n){if(!e.length)return"";let a=new te,r=n.depthFrom||1,s=n.depthTo||6;e=e.filter(p=>p.level>=r&&p.level<=s),e=e.map((p,u)=>(p.offset=u,p));let o="",l=e[0].level;for(let p=0;p<e.length;p++)e[p].level<l&&(l=e[p].level);let d=(p,u,b)=>{let S=[];for(let g=b;g<p.length;g++){let m=p[g];if(m.level===u)S.push(m);else{if(m.level<u)break;continue}}return S},c=(p,u)=>{let g="";for(let m=0;m<u.length;m++){let f=u[m];if(f.offset===void 0)continue;let h=d(p,f.level+1,f.offset+1),E=`padding-left:${f.level===l?0:24}px;`,A="padding:0;",_=t(f.content),T=f.id||a.generateId(f.content);h.length?g+=`<details style="${A};${E}" open>
106
106
  <summary class="md-toc-link-wrapper">
107
107
  <a href="#${T}" class="md-toc-link">${_}</a>
@@ -120,26 +120,26 @@ ${new Date().toString()}
120
120
  <div class="md-toc">
121
121
  ${c(e,d(e,l,0))}
122
122
  </div>
123
- `,o}var hn=N(require("fs/promises")),En=N(require("less")),Sn=N(require("papaparse")),X=N(require("path")),St=N(require("request")),yn=N(require("temp"));var rn=require("snake-case"),on=e=>{if(typeof e!="object")return{};let t=!1,n={...e};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let r=(0,rn.snakeCase)(a);r!==a&&(n[r]=n[a],delete n[a],t=!0)}return t?n:e};var sn=e=>e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:isNaN(e)?e:parseFloat(e),ln=(e,t)=>{if(e[t]!=="(")return;let n=1,a=t+1;for(;a<e.length&&(e[a]==="("?n+=1:e[a]===")"&&(n-=1),a+=1,n!==0););return[e.substring(t,a),a,"stringWithBrackets"]},dn=(e,t)=>{let n=e[t];if(!"'\"`".includes(n))return;let a=t+1,r=[];for(;a<e.length;){if(e[a]==="\\"){a+1<e.length&&r.push(e[a+1]),a+=2;continue}if(e[a]===n){a+=1;break}r.push(e[a]),a+=1}return[r.join(""),a,"stringInQuotes"]},dr=/^[^,;=\s]$/,cn=(e,t)=>{let n=t,a=0;for(;n<e.length;){let r=e[n];if(!dr.test(r)||(r==="["?a+=1:r==="]"&&(a-=1),a<0))break;n+=1}if(n!==t)return[e.substring(t,n),n,"word"]},pn=(e,t)=>{if(e[t]!=="[")return;let n=[],a=t+1;for(;a<e.length;){if(e[a]==="]"){a+=1;break}let s=pn(e,a)||ln(e,a)||dn(e,a)||cn(e,a);if(s){let[o,l,d]=s,c=d==="word"?sn(o):o;a=l,n.push(c)}else a+=1}return[n,a,"array"]},ne=e=>{let t=(e||"").trim();t[0]==="{"&&t[t.length-1]==="}"&&(t=t.slice(1,-1));let n={},a,r=0;for(;r<t.length;){let s=pn(t,r)||ln(t,r)||dn(t,r)||cn(t,r);if(s){let o=typeof a=="string",[l,d,c]=s,p=c==="word"&&o?sn(l):l;if(r=d,o)n[a]=p,a=void 0;else if(t[r]==="=")a=p;else{let u=p[0],b;switch(u){case".":b="class";break;case"#":b="id";break}if(b){let S=p.substring(1);if(S.length){let g=n[b];n[b]=typeof g>"u"?S:`${g} ${S}`}}else typeof p=="string"&&(n[p]=!0)}}else r+=1}return n};var un=e=>{let t=["["];return e.forEach((n,a)=>{n instanceof Array?t.push(un(n)):t.push(JSON.stringify(n)),a+1!==e.length&&t.push(", ")}),t.push("]"),t.join("")},Y=(e={},t=!1)=>{let n=[];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){n.push(" "),n.push(`${a}=`);let r=e[a];r instanceof Array?n.push(un(r)):n.push(JSON.stringify(r))}return n.shift(),t&&(n.unshift("{"),n.push("}")),n.join("")};var gn=require("child_process"),mn=N(require("fs")),Te=N(require("path")),fn=N(require("temp"));var ft;function Pe(e,{svgDirectoryPath:t,markdownDirectoryPath:n,svgZoom:a,svgWidth:r,svgHeight:s}){return new Promise((o,l)=>{t||(ft||(ft=fn.mkdirSync("crossnote_pdf")),t=ft);let d=Z(e)+"_",c=(0,gn.spawn)("pdf2svg",[`"${e}"`,`"${Te.resolve(t??"/tmp/crossnote_pdf",d+"%d.svg")}"`,"all"],{shell:!0}),p=[];c.stdout.on("data",b=>{p.push(b)});let u=[];c.stderr.on("data",b=>{u.push(b)}),c.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),c.on("close",()=>{if(u.length)return l(Buffer.concat(u).toString());mn.readdir(t??"",(b,S)=>{if(b)return l(b.toString());S=S.sort((f,h)=>{let E=parseInt((f.match(/_(\d+)\.svg$/)??[])[1],10),A=parseInt((h.match(/_(\d+)\.svg$/)??[])[1],10);return E-A});let g="",m=Math.random();return S.forEach(f=>{if(f.match(new RegExp(`^${d}(\\d+).svg`))){let E=Te.relative(n,Te.resolve(t??"",f));E=E.replace(/\.\.\\/g,"../").replace(/\\/g,"/"),a||r||s?g+=`<img src="${E}" ${r?`width="${r}"`:""} ${s?`height="${s}"`:""} ${a?`style="zoom:${a};"`:""}>`:g+=`![](${E}?${m})
124
- `}}),o(g)})})})}var bt=(o=>(o[o.pagebreak=0]="pagebreak",o[o.newpage=1]="newpage",o[o.toc=2]="toc",o[o.tocstop=3]="tocstop",o[o.slide=4]="slide",o[o[".slide"]=5]=".slide",o[o[".slide:"]=6]=".slide:",o[o.ebook=7]="ebook",o[o["toc-bracket"]=8]="toc-bracket",o))(bt||{});var ht={vhd:"vhdl",erl:"erlang",dot:"dot",gv:"dot",viz:"dot"},cr={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1};function pr(e){let t=`
123
+ `,o}var hn=N(require("fs/promises")),En=N(require("less")),Sn=N(require("papaparse")),X=N(require("path")),St=N(require("request")),yn=N(require("temp"));var rn=require("snake-case"),on=e=>{if(typeof e!="object")return{};let t=!1,n={...e};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let r=(0,rn.snakeCase)(a);r!==a&&(n[r]=n[a],delete n[a],t=!0)}return t?n:e};var sn=e=>e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:isNaN(e)?e:parseFloat(e),ln=(e,t)=>{if(e[t]!=="(")return;let n=1,a=t+1;for(;a<e.length&&(e[a]==="("?n+=1:e[a]===")"&&(n-=1),a+=1,n!==0););return[e.substring(t,a),a,"stringWithBrackets"]},dn=(e,t)=>{let n=e[t];if(!"'\"`".includes(n))return;let a=t+1,r=[];for(;a<e.length;){if(e[a]==="\\"){a+1<e.length&&r.push(e[a+1]),a+=2;continue}if(e[a]===n){a+=1;break}r.push(e[a]),a+=1}return[r.join(""),a,"stringInQuotes"]},ur=/^[^,;=\s]$/,cn=(e,t)=>{let n=t,a=0;for(;n<e.length;){let r=e[n];if(!ur.test(r)||(r==="["?a+=1:r==="]"&&(a-=1),a<0))break;n+=1}if(n!==t)return[e.substring(t,n),n,"word"]},pn=(e,t)=>{if(e[t]!=="[")return;let n=[],a=t+1;for(;a<e.length;){if(e[a]==="]"){a+=1;break}let s=pn(e,a)||ln(e,a)||dn(e,a)||cn(e,a);if(s){let[o,l,d]=s,c=d==="word"?sn(o):o;a=l,n.push(c)}else a+=1}return[n,a,"array"]},ne=e=>{let t=(e||"").trim();t[0]==="{"&&t[t.length-1]==="}"&&(t=t.slice(1,-1));let n={},a,r=0;for(;r<t.length;){let s=pn(t,r)||ln(t,r)||dn(t,r)||cn(t,r);if(s){let o=typeof a=="string",[l,d,c]=s,p=c==="word"&&o?sn(l):l;if(r=d,o)n[a]=p,a=void 0;else if(t[r]==="=")a=p;else{let u=p[0],b;switch(u){case".":b="class";break;case"#":b="id";break}if(b){let S=p.substring(1);if(S.length){let g=n[b];n[b]=typeof g>"u"?S:`${g} ${S}`}}else typeof p=="string"&&(n[p]=!0)}}else r+=1}return n};var un=e=>{let t=["["];return e.forEach((n,a)=>{n instanceof Array?t.push(un(n)):t.push(JSON.stringify(n)),a+1!==e.length&&t.push(", ")}),t.push("]"),t.join("")},Y=(e={},t=!1)=>{let n=[];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){n.push(" "),n.push(`${a}=`);let r=e[a];r instanceof Array?n.push(un(r)):n.push(JSON.stringify(r))}return n.shift(),t&&(n.unshift("{"),n.push("}")),n.join("")};var gn=require("child_process"),mn=N(require("fs")),we=N(require("path")),fn=N(require("temp"));var ft;function Me(e,{svgDirectoryPath:t,markdownDirectoryPath:n,svgZoom:a,svgWidth:r,svgHeight:s}){return new Promise((o,l)=>{t||(ft||(ft=fn.mkdirSync("crossnote_pdf")),t=ft);let d=Z(e)+"_",c=(0,gn.spawn)("pdf2svg",[`"${e}"`,`"${we.resolve(t??"/tmp/crossnote_pdf",d+"%d.svg")}"`,"all"],{shell:!0}),p=[];c.stdout.on("data",b=>{p.push(b)});let u=[];c.stderr.on("data",b=>{u.push(b)}),c.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),c.on("close",()=>{if(u.length)return l(Buffer.concat(u).toString());mn.readdir(t??"",(b,S)=>{if(b)return l(b.toString());S=S.sort((f,h)=>{let E=parseInt((f.match(/_(\d+)\.svg$/)??[])[1],10),A=parseInt((h.match(/_(\d+)\.svg$/)??[])[1],10);return E-A});let g="",m=Math.random();return S.forEach(f=>{if(f.match(new RegExp(`^${d}(\\d+).svg`))){let E=we.relative(n,we.resolve(t??"",f));E=E.replace(/\.\.\\/g,"../").replace(/\\/g,"/"),a||r||s?g+=`<img src="${E}" ${r?`width="${r}"`:""} ${s?`height="${s}"`:""} ${a?`style="zoom:${a};"`:""}>`:g+=`![](${E}?${m})
124
+ `}}),o(g)})})})}var bt=(o=>(o[o.pagebreak=0]="pagebreak",o[o.newpage=1]="newpage",o[o.toc=2]="toc",o[o.tocstop=3]="tocstop",o[o.slide=4]="slide",o[o[".slide"]=5]=".slide",o[o[".slide:"]=6]=".slide:",o[o.ebook=7]="ebook",o[o["toc-bracket"]=8]="toc-bracket",o))(bt||{});var ht={vhd:"vhdl",erl:"erlang",dot:"dot",gv:"dot",viz:"dot"},gr={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1};function mr(e){let t=`
125
125
  `;return e.forEach((n,a)=>{let r=0;for(t+="|";r<n.length;)t+=n[r]+"|",r+=1;if(t+=`
126
126
  `,a===0){for(t+="|",r=0;r<n.length;)t+="---|",r+=1;t+=`
127
- `}}),t+=" ",t}function we(e){return`
127
+ `}}),t+=" ",t}function Ae(e){return`
128
128
 
129
129
  <p data-line="${e}" class="sync-line" style="margin:0;"></p>
130
130
 
131
- `}var Et=null;function ur(e){return new Promise((t,n)=>{if(!e.match(/^https?:\/\//))return t(e);Et||(Et=yn.mkdirSync("crossnote_downloads")),St.default.get({url:e,encoding:"binary"},async(a,r,s)=>{if(a)return n(a);{let o=X.resolve(Et??"/tmp/crossnote_downloads",Z(e))+X.extname(e);return await hn.writeFile(o,s,"binary"),o}})})}async function gr(e,{fileDirectoryPath:t,imageDirectoryPath:n,notebook:a},r={}){if(r[e])return r[e];if(e.endsWith(".less")){let s=await a.fs.readFile(e);return await new Promise((o,l)=>{En.render(s,{paths:[X.dirname(e)]},(d,c)=>d?l(d):o((c==null?void 0:c.css)||""))})}else if(e.endsWith(".pdf")){let s=await ur(e);return await Pe(s,{markdownDirectoryPath:t,svgDirectoryPath:n})}else return e.match(/^https?:\/\//)?(e.startsWith("https://github.com/")&&(e=e.replace("https://github.com/","https://raw.githubusercontent.com/").replace("/blob/","/")),await new Promise((s,o)=>{(0,St.default)(e,(l,d,c)=>{l?o(l):s(c.toString())})})):await a.fs.readFile(e)}async function de(e,{fileDirectoryPath:t="",projectDirectoryPath:n="",filesCache:a={},useRelativeFilePath:r=!1,forPreview:s=!1,forMarkdownExport:o=!1,protocolsWhiteListRegExp:l=null,notSourceFile:d=!1,imageDirectoryPath:c="",headingIdGenerator:p=new te,notebook:u}){let b=null,S=0,g=[],m=[],f=[],h=!1,E="";async function A(T,k=0){let y="";for(;T<e.length;){if(e[T]===`
131
+ `}var Et=null;function fr(e){return new Promise((t,n)=>{if(!e.match(/^https?:\/\//))return t(e);Et||(Et=yn.mkdirSync("crossnote_downloads")),St.default.get({url:e,encoding:"binary"},async(a,r,s)=>{if(a)return n(a);{let o=X.resolve(Et??"/tmp/crossnote_downloads",Z(e))+X.extname(e);return await hn.writeFile(o,s,"binary"),o}})})}async function br(e,{fileDirectoryPath:t,imageDirectoryPath:n,notebook:a},r={}){if(r[e])return r[e];if(e.endsWith(".less")){let s=await a.fs.readFile(e);return await new Promise((o,l)=>{En.render(s,{paths:[X.dirname(e)]},(d,c)=>d?l(d):o((c==null?void 0:c.css)||""))})}else if(e.endsWith(".pdf")){let s=await fr(e);return await Me(s,{markdownDirectoryPath:t,svgDirectoryPath:n})}else return e.match(/^https?:\/\//)?(e.startsWith("https://github.com/")&&(e=e.replace("https://github.com/","https://raw.githubusercontent.com/").replace("/blob/","/")),await new Promise((s,o)=>{(0,St.default)(e,(l,d,c)=>{l?o(l):s(c.toString())})})):await a.fs.readFile(e)}async function ce(e,{fileDirectoryPath:t="",projectDirectoryPath:n="",filesCache:a={},useRelativeFilePath:r=!1,forPreview:s=!1,forMarkdownExport:o=!1,protocolsWhiteListRegExp:l=null,notSourceFile:d=!1,imageDirectoryPath:c="",headingIdGenerator:p=new te,notebook:u}){let b=null,S=0,g=[],m=[],f=[],h=!1,E="";async function A(T,k=0){let y="";for(;T<e.length;){if(e[T]===`
132
132
  `){T=T+1,k=k+1,y=y+`
133
133
  `;continue}let w=e.indexOf(`
134
- `,T);w<0&&(w=e.length);let C=e.substring(T,w),O=!!b,v=(C.match(/^[`]{3,}/)||[])[0];if(v){!O&&s&&(y+=we(k));let L=!!C.match(/"?cmd"?\s*[:=\s}]/);!O&&!d&&L&&(C=C.replace("{",`{code_chunk_offset=${S}, `),S++),O?b!==null&&v.length>=b.length&&(b=null):b=v,T=w+1,k=k+1,y=y+C+`
134
+ `,T);w<0&&(w=e.length);let C=e.substring(T,w),O=!!b,v=(C.match(/^[`]{3,}/)||[])[0];if(v){!O&&s&&(y+=Ae(k));let L=!!C.match(/"?cmd"?\s*[:=\s}]/);!O&&!d&&L&&(C=C.replace("{",`{code_chunk_offset=${S}, `),S++),O?b!==null&&v.length>=b.length&&(b=null):b=v,T=w+1,k=k+1,y=y+C+`
135
135
  `;continue}if(O){T=w+1,k=k+1,y=y+C+`
136
136
  `;continue}let x,G,U;if(C.match(/^(!\[|@import)/)&&e[T-1]===`
137
137
  `&&e[T-2]===`
138
- `)s&&(y+=we(k));else if(x=C.match(/^(#{1,7}).*/)){s&&(y+=we(k));let L;L=C.replace(x[1],"");let z=x[1],I=z.length,j=L.match(/(\s+\{|^\{)(.+?)\}(\s*)$/),H="",D="",M=!1,P={};if(j){L=L.replace(j[0],"");try{P=ne(j[0]),H=P.class??"",D=P.id??"",M=P.ignore,delete P.class,delete P.id,delete P.ignore}catch{L="OptionsError: "+j[1],M=!0}}if(D||(D=p.generateId(L),u.config.usePandocParser&&(D=D.replace(/^[\d-]+/,""),D||(D="section"))),M||f.push({content:L,level:I,id:D}),u.config.usePandocParser){let F="{";if(D&&(F+=`#${D} `),H&&(F+="."+H.replace(/\s+/g," .")+" "),P)for(let q in P)typeof P[q]=="number"?F+=" "+q+"="+P[q]:F+=" "+q+'="'+P[q]+'"';F+="}",T=w+1,k=k+1,y=y+`${z} ${L} ${F}
138
+ `)s&&(y+=Ae(k));else if(x=C.match(/^(#{1,7}).*/)){s&&(y+=Ae(k));let L;L=C.replace(x[1],"");let z=x[1],I=z.length,j=L.match(/(\s+\{|^\{)(.+?)\}(\s*)$/),H="",D="",M=!1,P={};if(j){L=L.replace(j[0],"");try{P=ne(j[0]),H=P.class??"",D=P.id??"",M=P.ignore,delete P.class,delete P.id,delete P.ignore}catch{L="OptionsError: "+j[1],M=!0}}if(D||(D=p.generateId(L),u.config.usePandocParser&&(D=D.replace(/^[\d-]+/,""),D||(D="section"))),M||f.push({content:L,level:I,id:D}),u.config.usePandocParser){let F="{";if(D&&(F+=`#${D} `),H&&(F+="."+H.replace(/\s+/g," .")+" "),P)for(let q in P)typeof P[q]=="number"?F+=" "+q+"="+P[q]:F+=" "+q+'="'+P[q]+'"';F+="}",T=w+1,k=k+1,y=y+`${z} ${L} ${F}
139
139
  `;continue}else{o?C=`${z} ${L}`:C=`${z} ${L}
140
140
  <p class="crossnote-header ${H}" id="${D}"></p>`,T=w+1,k=k+1,y=y+C+`
141
141
 
142
- `;continue}}else if(C.match(/^<!--/)){s&&(y+=we(k));let L=e.indexOf("-->",T+4);if(L<0){T=e.length,k=k+1,y=y+`
142
+ `;continue}}else if(C.match(/^<!--/)){s&&(y+=Ae(k));let L=e.indexOf("-->",T+4);if(L<0){T=e.length,k=k+1,y=y+`
143
143
  `;continue}else L+=3;let z=C.match(/^<!--\s+([^\s]+)/);if(z){let I=z[1];if(I==="@import"){let j=C.lastIndexOf("-->");j>0&&(C=C.slice(4,j).trim())}else if(I in bt){let j=e.slice(T+4,L-3).trim(),H=j.match(/\n/g),D=H?H.length:0,M=j.match(/^([^\s]+?)\s([\s\S]+)$/),P={};if(M&&M[2]&&(P=ne(M[2])),P.lineNo=k,I==="pagebreak"||I==="newpage"){T=L,k=k+D,y=y+`<div class="pagebreak"> </div>
144
144
  `;continue}else if(I.match(/^\.?slide:?$/))if(g.push(P),o){T=L,k=k+D,y=y+`<!-- ${j} -->
145
145
  `;continue}else{T=L,k=k+D,y=y+`
@@ -147,21 +147,21 @@ ${c(e,d(e,l,0))}
147
147
 
148
148
  `;continue}}else{let H=e.slice(T+4,L-3).trim().match(/\n/g),D=H?H.length:0;T=L,k=k+D,y=y+`
149
149
  `;continue}}else{let j=e.slice(T+4,L-3).trim().match(/\n/g),H=j?j.length:0;T=L,k=k+H,y=y+`
150
- `;continue}}else if(C.match(/^\s*\[toc\]\s*$/i)){s&&(y+=we(k)),h=!0,T=w+1,k=k+1,y=y+`
150
+ `;continue}}else if(C.match(/^\s*\[toc\]\s*$/i)){s&&(y+=Ae(k)),h=!0,T=w+1,k=k+1,y=y+`
151
151
  [CROSSNOTETOC]
152
152
 
153
153
  `;continue}else if(G=C.match(/^\s*(?:[*\-+]|\d+\.)\s+(\[[xX\s]\])\s/)){let L=G[1]!=="[ ]";o||(C=C.replace(G[1],`<input type="checkbox" class="task-list-item-checkbox${s?" sync-line":""}" ${s?`data-line="${k}"`:""}${L?" checked":""}>`)),T=w+1,k=k+1,y=y+C+`
154
- `;continue}else if(U=C.match(/^\s*<(?:([a-zA-Z]+)|([a-zA-Z]+)\s+(?:.+?))>/)){let L=U[1]||U[2];if(!(L in cr)){let z=`</${L}>`,I=e.indexOf(z,T+U[0].length);if(!(I<0)){let j=e.slice(T,I+z.length),H=j.match(/\n/g),D=H?H.length:0;T=I+z.length,k=k+D,y=y+j;continue}}}let $=C.match(/^(\s*)@import(\s+)"([^"]+)";?/);if($){y+=$[1];let L=$[3].trim(),z=C.indexOf("{"),I={},j="";if(z>0){let P=C.lastIndexOf("}");if(P>0){j=C.substring(z+1,P);try{I=ne(j)}catch{}}}let H;l&&L.match(l)?H=L:L.startsWith("/")?H=X.resolve(n,"."+L):H=X.resolve(t,L);let D=X.extname(L).toLocaleLowerCase(),M="";if([".jpeg",".jpg",".gif",".png",".apng",".svg",".bmp"].indexOf(D)>=0){let P=a[L];if(P||(l&&L.match(l)?P=L:r?P=X.relative(t,H)+"?"+Math.random():P="/"+X.relative(n,H)+"?"+Math.random(),P=P.replace(/ /g,"%20").replace(/\\/g,"/"),a[L]=P),I)if(I.width||I.height||I.class||I.id){M=`<img src="${P}" `;for(let F in I)I.hasOwnProperty(F)&&(M+=` ${F}="${I[F]}" `);M+=">"}else M="![",I.alt&&(M+=I.alt),M+=`](${P}`,I.title&&(M+=` "${I.title}"`),M+=") ";else M=`![](${P}) `;T=w+1,k=k+1,y=y+M+`
154
+ `;continue}else if(U=C.match(/^\s*<(?:([a-zA-Z]+)|([a-zA-Z]+)\s+(?:.+?))>/)){let L=U[1]||U[2];if(!(L in gr)){let z=`</${L}>`,I=e.indexOf(z,T+U[0].length);if(!(I<0)){let j=e.slice(T,I+z.length),H=j.match(/\n/g),D=H?H.length:0;T=I+z.length,k=k+D,y=y+j;continue}}}let $=C.match(/^(\s*)@import(\s+)"([^"]+)";?/);if($){y+=$[1];let L=$[3].trim(),z=C.indexOf("{"),I={},j="";if(z>0){let P=C.lastIndexOf("}");if(P>0){j=C.substring(z+1,P);try{I=ne(j)}catch{}}}let H;l&&L.match(l)?H=L:L.startsWith("/")?H=X.resolve(n,"."+L):H=X.resolve(t,L);let D=X.extname(L).toLocaleLowerCase(),M="";if([".jpeg",".jpg",".gif",".png",".apng",".svg",".bmp"].indexOf(D)>=0){let P=a[L];if(P||(l&&L.match(l)?P=L:r?P=X.relative(t,H)+"?"+Math.random():P="/"+X.relative(n,H)+"?"+Math.random(),P=P.replace(/ /g,"%20").replace(/\\/g,"/"),a[L]=P),I)if(I.width||I.height||I.class||I.id){M=`<img src="${P}" `;for(let F in I)I.hasOwnProperty(F)&&(M+=` ${F}="${I[F]}" `);M+=">"}else M="![",I.alt&&(M+=I.alt),M+=`](${P}`,I.title&&(M+=` "${I.title}"`),M+=") ";else M=`![](${P}) `;T=w+1,k=k+1,y=y+M+`
155
155
  `;continue}else if(L==="[TOC]"){I||(I={depth_from:1,depth_to:6,ordered_list:!0}),I.cmd="toc",I.hide=!0,I.run_on_save=!0,I.modify_source=!0,d||(I.code_chunk_offset=S,S++);let P=`\`\`\`text ${Y(I)}
156
156
  \`\`\` `;T=w+1,k=k+1,y=y+P+`
157
- `;continue}else try{let P=await gr(H,{fileDirectoryPath:t,imageDirectoryPath:c,notebook:u},a);if(a[H]=P,I&&(I.line_begin||I.line_end)){let F=P.split(/\n/);P=F.slice(parseInt(I.line_begin,10)||0,parseInt(I.line_end,10)||F.length).join(`
157
+ `;continue}else try{let P=await br(H,{fileDirectoryPath:t,imageDirectoryPath:c,notebook:u},a);if(a[H]=P,I&&(I.line_begin||I.line_end)){let F=P.split(/\n/);P=F.slice(parseInt(I.line_begin,10)||0,parseInt(I.line_end,10)||F.length).join(`
158
158
  `)}if(I&&I.code_block){let F=D.slice(1,D.length);M=`\`\`\`${I.as||ht[F]||F} ${Y(I)}
159
159
  ${P}
160
160
  \`\`\` `}else if(I&&I.cmd){I.id||(I.id=Z(H)),d||(I.code_chunk_offset=S,S++);let F=D.slice(1,D.length);M=`\`\`\`${I.as||ht[F]||F} ${Y(I)}
161
161
  ${P}
162
- \`\`\` `}else if([".md",".markdown",".mmark"].indexOf(D)>=0){u.config.parserConfig.onWillTransformMarkdown&&(P=await u.config.parserConfig.onWillTransformMarkdown(P));let F,q;({outputString:F,headings:q}=await de(P,{fileDirectoryPath:X.dirname(H),projectDirectoryPath:n,filesCache:a,useRelativeFilePath:!1,forPreview:!1,forMarkdownExport:o,protocolsWhiteListRegExp:l,notSourceFile:!0,imageDirectoryPath:c,notebook:u,headingIdGenerator:p})),u.config.parserConfig&&(F=await u.config.parserConfig.onDidTransformMarkdown(F)),F=`
162
+ \`\`\` `}else if([".md",".markdown",".mmark"].indexOf(D)>=0){u.config.parserConfig.onWillTransformMarkdown&&(P=await u.config.parserConfig.onWillTransformMarkdown(P));let F,q;({outputString:F,headings:q}=await ce(P,{fileDirectoryPath:X.dirname(H),projectDirectoryPath:n,filesCache:a,useRelativeFilePath:!1,forPreview:!1,forMarkdownExport:o,protocolsWhiteListRegExp:l,notSourceFile:!0,imageDirectoryPath:c,notebook:u,headingIdGenerator:p})),u.config.parserConfig&&(F=await u.config.parserConfig.onDidTransformMarkdown(F)),F=`
163
163
  `+F+" ",f=f.concat(q),T=w+1,k=k+1,y=y+F+`
164
- `;continue}else if(D===".html")M="<div>"+P+"</div> ";else if(D===".csv"){let F=Sn.parse(P.trim());F.errors.length?M=`<pre>${F.errors[0]}</pre> `:M=pr(F.data)}else if(D===".css"||D===".js"){if(s)M="";else{let F;l&&L.match(l)?F=L:r?F=X.relative(t,H):F="file:///"+H,D===".js"?M=`<script type="text/javascript" src="${F}"></script>`:M=`<link rel="stylesheet" href="${F}">`}m.push(L)}else if(D===".less")M=`<style>${P}</style>`;else if(D===".pdf")if(I&&I.page_no){let F=P.split(`
164
+ `;continue}else if(D===".html")M="<div>"+P+"</div> ";else if(D===".csv"){let F=Sn.parse(P.trim());F.errors.length?M=`<pre>${F.errors[0]}</pre> `:M=mr(F.data)}else if(D===".css"||D===".js"){if(s)M="";else{let F;l&&L.match(l)?F=L:r?F=X.relative(t,H):F="file:///"+H,D===".js"?M=`<script type="text/javascript" src="${F}"></script>`:M=`<link rel="stylesheet" href="${F}">`}m.push(L)}else if(D===".less")M=`<style>${P}</style>`;else if(D===".pdf")if(I&&I.page_no){let F=P.split(`
165
165
  `),q=parseInt(I.page_no,10)-1;q<0&&(q=0),M=F[q]||""}else if(I&&(I.page_begin||I.page_end)){let F=P.split(`
166
166
  `),q=parseInt(I.page_begin,10)-1||0,ye=I.page_end||F.length-1;q<0&&(q=0),M=F.slice(q,ye).join(`
167
167
  `)||""}else M=P;else if(D===".dot"||D===".gv"||D===".viz"||D===".graphviz")M=`\`\`\`dot ${Y(I,!0)}
@@ -177,7 +177,7 @@ ${P}
177
177
  `;continue}catch(P){M=`<pre>${P.toString()}</pre> `,T=w+1,k=k+1,y=y+M+`
178
178
  `;continue}}else{T=w+1,k=k+1,y=y+C+`
179
179
  `;continue}}return{outputString:y,slideConfigs:g,tocBracketEnabled:h,JSAndCssFiles:m,headings:f,frontMatterString:E}}let _=0;return e.startsWith("---")&&(_=e.indexOf(`
180
- ---`))>0?(E=e.slice(0,_+4),await A(E.length,(E.match(/\n/g)??[]).length)):await A(0,0)}var qn=N(require("cheerio")),ie=N(require("path"));var wn=require("child_process"),yt=N(require("fs/promises")),Ue=require("fs/promises"),kt=N(require("path")),Be=N(require("vm"));var kn=require("child_process"),Fe=N(require("fs")),re=N(require("path"));function Me(e){let t=re.dirname(e),n=re.extname(e),a=re.basename(e).replace(new RegExp(n+"$"),"");Fe.readdir(t,(r,s)=>{r||s.forEach(o=>{o.startsWith(a)&&!o.match(/\.(la)?tex/)&&Fe.unlink(re.resolve(t,o),()=>{})})})}function Tn(e,{latexEngine:t="pdflatex",svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}){return new Promise((l,d)=>{let c=(0,kn.spawn)(t,[`"${e}"`],{cwd:re.dirname(e),shell:!0}),p=[];c.stdout.on("data",b=>{p.push(b)});let u=[];c.stderr.on("data",b=>{u.push(b)}),c.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),c.on("close",()=>{if(u.length)return Me(e),d(Buffer.concat(u).toString());{let b=Buffer.concat(p).toString();if(b.indexOf("LaTeX Error")>=0)return Me(e),d(b);let S=e.replace(/\.(la)?tex$/,".pdf");Pe(S,{svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}).then(g=>(Me(e),l(g))).catch(g=>(Me(e),d(g)))}}),c.stdin.end()})}async function Tt(e,t,n){let a=n.latex_engine||"pdflatex",r=n.latex_svg_dir,s=n.latex_zoom,o=n.latex_width,l=n.latex_height,d=kt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk.tex");await yt.writeFile(d,e);try{let c=await Tn(d,{latexEngine:a,markdownDirectoryPath:t,svgDirectoryPath:r,svgZoom:s,svgWidth:o,svgHeight:l});return await(0,Ue.unlink)(d),c}catch(c){throw await(0,Ue.unlink)(d),c}}async function fr(e,t){let n=new Be.Script(`((${e})())`),a=Be.createContext(t.context||{});return n.runInContext(a)}async function An(e,t,n,a,r="pdflatex"){let s=a.args||[];typeof s=="string"&&(s=[s]);let o=hr(n),l=kt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk"+o);if(e=e.replace(/\u00A0/g," "),n.match(/(la)?tex/)||n==="pdflatex"){let c={...a,latex_engine:a.latex_engine||r};return Tt(e,t,c)}if(n==="node.vm")return fr(e,a);n.match(/python/)&&(a.matplotlib||a.mpl)&&(e=`
180
+ ---`))>0?(E=e.slice(0,_+4),await A(E.length,(E.match(/\n/g)??[]).length)):await A(0,0)}var qn=N(require("cheerio")),ie=N(require("path"));var wn=require("child_process"),yt=N(require("fs/promises")),Be=require("fs/promises"),kt=N(require("path")),$e=N(require("vm"));var kn=require("child_process"),Ue=N(require("fs")),re=N(require("path"));function Fe(e){let t=re.dirname(e),n=re.extname(e),a=re.basename(e).replace(new RegExp(n+"$"),"");Ue.readdir(t,(r,s)=>{r||s.forEach(o=>{o.startsWith(a)&&!o.match(/\.(la)?tex/)&&Ue.unlink(re.resolve(t,o),()=>{})})})}function Tn(e,{latexEngine:t="pdflatex",svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}){return new Promise((l,d)=>{let c=(0,kn.spawn)(t,[`"${e}"`],{cwd:re.dirname(e),shell:!0}),p=[];c.stdout.on("data",b=>{p.push(b)});let u=[];c.stderr.on("data",b=>{u.push(b)}),c.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),c.on("close",()=>{if(u.length)return Fe(e),d(Buffer.concat(u).toString());{let b=Buffer.concat(p).toString();if(b.indexOf("LaTeX Error")>=0)return Fe(e),d(b);let S=e.replace(/\.(la)?tex$/,".pdf");Me(S,{svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}).then(g=>(Fe(e),l(g))).catch(g=>(Fe(e),d(g)))}}),c.stdin.end()})}async function Tt(e,t,n){let a=n.latex_engine||"pdflatex",r=n.latex_svg_dir,s=n.latex_zoom,o=n.latex_width,l=n.latex_height,d=kt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk.tex");await yt.writeFile(d,e);try{let c=await Tn(d,{latexEngine:a,markdownDirectoryPath:t,svgDirectoryPath:r,svgZoom:s,svgWidth:o,svgHeight:l});return await(0,Be.unlink)(d),c}catch(c){throw await(0,Be.unlink)(d),c}}async function Er(e,t){let n=new $e.Script(`((${e})())`),a=$e.createContext(t.context||{});return n.runInContext(a)}async function An(e,t,n,a,r="pdflatex"){let s=a.args||[];typeof s=="string"&&(s=[s]);let o=yr(n),l=kt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk"+o);if(e=e.replace(/\u00A0/g," "),n.match(/(la)?tex/)||n==="pdflatex"){let c={...a,latex_engine:a.latex_engine||r};return Tt(e,t,c)}if(n==="node.vm")return Er(e,a);n.match(/python/)&&(a.matplotlib||a.mpl)&&(e=`
181
181
  # -*- coding: utf-8 -*-
182
182
  # modify default matplotlib pyplot show function
183
183
  try:
@@ -201,11 +201,11 @@ try:
201
201
  mpld3.display = new_mpld3_show
202
202
  except Exception:
203
203
  pass
204
- `+e),await yt.writeFile(l,e);let d=!1;return s=s.map(c=>c==="$input_file"?(d=!0,l):c),!d&&!a.stdin&&s.push(l),await new Promise(c=>{let p=(0,wn.spawn)(n,s,{cwd:t});a.stdin&&p.stdin.write(e),p.stdin.end();let u=[];p.stdout.on("data",b=>{u.push(b)}),p.stderr.on("data",b=>{u.push(b)}),p.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),p.on("close",async()=>{await(0,Ue.unlink)(l);let b=Buffer.concat(u).toString();c(b)})})}var br={go:".go",javascript:".js",python:".py",typescript:".ts",node:".js","ts-node":".ts"};function hr(e){return br[e]||`.${e}`}var vn=require("child_process"),Nn=require("fs"),Cn=N(require("path"));var wt=N(require("cross-fetch")),_n=N(require("plantuml-encoder")),Ae=class{constructor(t){this.serverURL=t}generateSVG(t){if(this.serverURL.match(/^https?:\/\/(www\.)?plantuml\.com\/plantuml/)){let n=_n.default.encode(t);return(0,wt.default)(`http://www.plantuml.com/plantuml/svg/${n}`).then(a=>a.text())}else return(0,wt.default)(this.serverURL,{method:"POST",body:t,headers:{"Content-Type":"text/plain; charset=utf-8"}}).then(n=>n.text())}};var _e={},Rn={},In={},At=class{constructor(t,n){this.plantumlJarPath=t,this.fileDirectoryPath=n,this.chunks=Rn[this.fileDirectoryPath]||"",this.callbacks=In[this.fileDirectoryPath]||[],this.task=null,this.startTask()}generateSVG(t){return new Promise(n=>{var a;this.callbacks.push(n),(a=this.task)==null||a.stdin.write(t+`
205
- `)})}startTask(){this.task=(0,vn.spawn)("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(Cn.delimiter),"-jar",this.plantumlJarPath,"-pipe","-tsvg","-charset","UTF-8"]),this.task.stdout.on("data",t=>{let n=t.toString();this.chunks+=n,this.chunks.trimRight().endsWith("</svg>")&&(this.chunks.match(/<svg/g)??[]).length===(this.chunks.match(/<\/svg>/g)??[]).length&&(n=this.chunks,this.chunks="",n.split("<?xml ").forEach(r=>{if(r.length){let s=this.callbacks.shift();s&&s(r.startsWith("<")?r:"<?xml "+r)}}))}),this.task.on("error",t=>{this.callbacks.forEach(n=>n(JSON.stringify(t))),this.closeSelf()}),this.task.on("exit",()=>this.closeSelf())}closeSelf(){_e[this.fileDirectoryPath]=null,Rn[this.fileDirectoryPath]=this.chunks,In[this.fileDirectoryPath]=this.callbacks}};async function $e({content:e,fileDirectoryPath:t,serverURL:n,plantumlJarPath:a}){var o;e=e.trim();let r=e.match(/^'\s@crossnote_file_directory_path:(.+)$/m);r&&(t=r[1]);let s=e.match(/^@start(.+?)\s+/m);if(s?e.match(new RegExp(`^\\@end${s[1]}`,"m"))||(e=`@startuml
204
+ `+e),await yt.writeFile(l,e);let d=!1;return s=s.map(c=>c==="$input_file"?(d=!0,l):c),!d&&!a.stdin&&s.push(l),await new Promise(c=>{let p=(0,wn.spawn)(n,s,{cwd:t});a.stdin&&p.stdin.write(e),p.stdin.end();let u=[];p.stdout.on("data",b=>{u.push(b)}),p.stderr.on("data",b=>{u.push(b)}),p.on("error",b=>{u.push(Buffer.from(b.toString(),"utf-8"))}),p.on("close",async()=>{await(0,Be.unlink)(l);let b=Buffer.concat(u).toString();c(b)})})}var Sr={go:".go",javascript:".js",python:".py",typescript:".ts",node:".js","ts-node":".ts"};function yr(e){return Sr[e]||`.${e}`}var vn=require("child_process"),Nn=require("fs"),Cn=N(require("path"));var wt=N(require("cross-fetch")),_n=N(require("plantuml-encoder")),_e=class{constructor(t){this.serverURL=t}generateSVG(t){if(this.serverURL.match(/^https?:\/\/(www\.)?plantuml\.com\/plantuml/)){let n=_n.default.encode(t);return(0,wt.default)(`http://www.plantuml.com/plantuml/svg/${n}`).then(a=>a.text())}else return(0,wt.default)(this.serverURL,{method:"POST",body:t,headers:{"Content-Type":"text/plain; charset=utf-8"}}).then(n=>n.text())}};var Re={},Rn={},In={},At=class{constructor(t,n){this.plantumlJarPath=t,this.fileDirectoryPath=n,this.chunks=Rn[this.fileDirectoryPath]||"",this.callbacks=In[this.fileDirectoryPath]||[],this.task=null,this.startTask()}generateSVG(t){return new Promise(n=>{var a;this.callbacks.push(n),(a=this.task)==null||a.stdin.write(t+`
205
+ `)})}startTask(){this.task=(0,vn.spawn)("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(Cn.delimiter),"-jar",this.plantumlJarPath,"-pipe","-tsvg","-charset","UTF-8"]),this.task.stdout.on("data",t=>{let n=t.toString();this.chunks+=n,this.chunks.trimRight().endsWith("</svg>")&&(this.chunks.match(/<svg/g)??[]).length===(this.chunks.match(/<\/svg>/g)??[]).length&&(n=this.chunks,this.chunks="",n.split("<?xml ").forEach(r=>{if(r.length){let s=this.callbacks.shift();s&&s(r.startsWith("<")?r:"<?xml "+r)}}))}),this.task.on("error",t=>{this.callbacks.forEach(n=>n(JSON.stringify(t))),this.closeSelf()}),this.task.on("exit",()=>this.closeSelf())}closeSelf(){Re[this.fileDirectoryPath]=null,Rn[this.fileDirectoryPath]=this.chunks,In[this.fileDirectoryPath]=this.callbacks}};async function Ge({content:e,fileDirectoryPath:t,serverURL:n,plantumlJarPath:a}){var o;e=e.trim();let r=e.match(/^'\s@crossnote_file_directory_path:(.+)$/m);r&&(t=r[1]);let s=e.match(/^@start(.+?)\s+/m);if(s?e.match(new RegExp(`^\\@end${s[1]}`,"m"))||(e=`@startuml
206
206
  @enduml`):e=`@startuml
207
207
  ${e}
208
- @enduml`,!_e[t])if(n)_e[t]=new Ae(n);else{if(!(0,Nn.existsSync)(a))throw new Error(`plantuml.jar file not found: "${a}"
208
+ @enduml`,!Re[t])if(n)Re[t]=new _e(n);else{if(!(0,Nn.existsSync)(a))throw new Error(`plantuml.jar file not found: "${a}"
209
209
 
210
210
  Please download plantuml.jar from https://plantuml.com/download.
211
211
  ${a?`Then please put it at "${a}"`:""}
@@ -214,9 +214,9 @@ If you are using VSCode, then please set the setting "markdown-preview-enhanced.
214
214
 
215
215
  If you don't want to use plantuml.jar, then you can use the online plantuml server
216
216
  by setting the setting "markdown-preview-enhanced.plantumlServer" to the URL of the online plantuml server, for example: https://kroki.io/plantuml/svg/
217
- `);_e[t]=new At(a,t)}return await((o=_e[t])==null?void 0:o.generateSVG(e))??""}var Ge=N(require("vega")),On=require("vega-loader"),xn=N(require("yaml"));async function Sr(e,t){let n=`<?xml version="1.0" encoding="utf-8"?>
217
+ `);Re[t]=new At(a,t)}return await((o=Re[t])==null?void 0:o.generateSVG(e))??""}var ze=N(require("vega")),On=require("vega-loader"),xn=N(require("yaml"));async function Tr(e,t){let n=`<?xml version="1.0" encoding="utf-8"?>
218
218
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
219
- `;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new Ge.View(Ge.parse(e),{loader:(0,On.loader)({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await Zt(a)}async function fe(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=xn.parse(e):n=JSON.parse(e),Sr(n,t)}var Dn=N(require("vega-lite")),Pn=N(require("yaml"));async function ze(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=Pn.parse(e):n=JSON.parse(e),Yt(()=>Kt(()=>fe(JSON.stringify(Dn.compile(n).spec),t)))}var Mn=require("@viz-js/viz"),He=null;async function je(e,t){try{return He||(He=await(0,Mn.instance)()),await He.renderString(e,{format:"svg",...t})}catch(n){throw He=null,n}}var Fn=require("child_process"),Un=N(require("fs")),Bn=N(require("imagemagick-cli"));async function $n(e,t,n=""){let a=await Q({prefix:"crossnote-svg",suffix:".svg"});Un.writeFileSync(a.fd,e);let r=[a.path,t];try{n&&n.length?await(0,Fn.execFileSync)(n,r):await Bn.default.exec(`convert ${r.join(" ")}`)}catch(s){throw new Error(`imagemagick-cli failure
219
+ `;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new ze.View(ze.parse(e),{loader:(0,On.loader)({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await Zt(a)}async function be(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=xn.parse(e):n=JSON.parse(e),Tr(n,t)}var Dn=N(require("vega-lite")),Pn=N(require("yaml"));async function He(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=Pn.parse(e):n=JSON.parse(e),Yt(()=>Kt(()=>be(JSON.stringify(Dn.compile(n).spec),t)))}var Mn=require("@viz-js/viz"),je=null;async function We(e,t){try{return je||(je=await(0,Mn.instance)()),await je.renderString(e,{format:"svg",...t})}catch(n){throw je=null,n}}var Fn=require("child_process"),Un=N(require("fs")),Bn=N(require("imagemagick-cli"));async function $n(e,t,n=""){let a=await Q({prefix:"crossnote-svg",suffix:".svg"});Un.writeFileSync(a.fd,e);let r=[a.path,t];try{n&&n.length?await(0,Fn.execFileSync)(n,r):await Bn.default.exec(`convert ${r.join(" ")}`)}catch(s){throw new Error(`imagemagick-cli failure
220
220
  `+s.toString()+`
221
221
 
222
222
  Please make sure you have ImageMagick installed.`)}return t}var Gn=require("child_process"),zn=N(require("fs"));async function Hn(e,t,n,a){let r=await Q({prefix:"crossnote-mermaid",suffix:".mmd"});zn.writeFileSync(r.fd,e),a||(a="null");try{return(0,Gn.execFileSync)("npx",["-p","@mermaid-js/mermaid-cli","mmdc","--theme",a,"--input",r.path,"--output",t],{shell:!0,cwd:n}),t}catch(s){throw new Error(`mermaid CLI is required to be installed.
@@ -225,22 +225,22 @@ Check https://github.com/mermaid-js/mermaid-cli for more information.
225
225
  `+s.toString())}}var jn=require("child_process"),Wn=N(require("fs"));async function Vn(e,t){let n=await Q({prefix:"crossnote-wavedrom",suffix:".js"});await Wn.writeFileSync(n.fd,e);try{return(await(0,jn.execFileSync)("npx",["wavedrom-cli","-i",n.path],{shell:!0,cwd:t})).toString("utf-8")}catch(a){throw new Error(`wavedrom CLI is required to be installed.
226
226
  Check http://github.com/wavedrom/cli for more information.
227
227
 
228
- `+a.toString())}}async function We(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:a,imageFilePrefix:r,useRelativeFilePath:s,codeChunksData:o,graphsCache:l,addOptionsStr:d,notebook:c}){let p=e.split(`
228
+ `+a.toString())}}async function Ve(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:a,imageFilePrefix:r,useRelativeFilePath:s,codeChunksData:o,graphsCache:l,addOptionsStr:d,notebook:c}){let p=e.split(`
229
229
  `),u=[],b=0;for(;b<p.length;){let _=p[b],T=_.trim();if(T.match(/^```(.+)"?cmd"?[:=]/)||T.match(/^```(puml|plantuml|dot|viz|mermaid|vega|vega-lite|wavedrom)/)){let k=(_.match(/^\s*/)??[]).length,y=b+1,w="";for(;y<p.length;){if(p[y].trim()==="```"&&(p[y].match(/^\s*/)??[]).length===k){let C={},O="",v=T.match(/\{(.+)\}$/);if(v)try{C=ne(v[0]),O=v[1]}catch{C={}}u.push({start:b,end:y,content:w,options:C,optionsStr:O}),b=y;break}w+=p[y]+`
230
230
  `,y+=1}}else if(T.match(/^```\S/)){let k=_.indexOf(" ",_.indexOf("```"));k>0&&(p[b]=_.slice(0,k))}else T||(p[b]=" ");b+=1}r||(r=Math.random().toString(36).substr(2,9)+"_"),r=r.replace(/[/&]/g,"_ss_"),r=encodeURIComponent(r);let S=0,g=[],m=[],f=null;for(let _ in o)if(!o[_].prev){f=o[_];break}function h(_,T,k){let y=T;for(;y<=k;)_[y]="",y+=1}async function E(_="",T,k,y,w,C,O,v){_||(_=r+S+".png");let x=ie.resolve(a,_);await $n(T,x,c.config.imageMagickPath);let G;if(s?G=ie.relative(t,x)+"?"+Math.random():G="/"+ie.relative(n,x)+"?"+Math.random(),G=G.replace(/\\/g,"/"),S++,C){h(k,y,w);let U=O;U==null&&(U="");let $="";d&&($=`{${v}}`),k[w]+=`
231
- ![${U}](${G})${$} `}return m.push(x),G}for(let _ of u){let{start:T,end:k,content:y,options:w,optionsStr:C}=_,O=p[T].trim().slice(3).trim();if(!w.code_block){if(O.match(/^(puml|plantuml)/))try{let v=Z(C+y),x=l[v];x||(x=await $e({content:y,fileDirectoryPath:t,plantumlJarPath:c.config.plantumlJarPath,serverURL:c.config.plantumlServer})),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
231
+ ![${U}](${G})${$} `}return m.push(x),G}for(let _ of u){let{start:T,end:k,content:y,options:w,optionsStr:C}=_,O=p[T].trim().slice(3).trim();if(!w.code_block){if(O.match(/^(puml|plantuml)/))try{let v=Z(C+y),x=l[v];x||(x=await Ge({content:y,fileDirectoryPath:t,plantumlJarPath:c.config.plantumlJarPath,serverURL:c.config.plantumlServer})),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
232
232
  \`\`\`
233
233
  ${v}
234
234
  \`\`\`
235
- `}else if(O.match(/^(viz|dot)/))try{let v=Z(C+y),x=l[v];if(!x){let G=w.engine||"dot";x=await je(y,{engine:G})}await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
235
+ `}else if(O.match(/^(viz|dot)/))try{let v=Z(C+y),x=l[v];if(!x){let G=w.engine||"dot";x=await We(y,{engine:G})}await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
236
236
  \`\`\`
237
237
  ${v}
238
238
  \`\`\`
239
- `}else if(O.match(/^vega-lite/))try{let v=Z(C+y),x=l[v];x||(x=await ze(y,t)),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
239
+ `}else if(O.match(/^vega-lite/))try{let v=Z(C+y),x=l[v];x||(x=await He(y,t)),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
240
240
  \`\`\`
241
241
  ${v}
242
242
  \`\`\`
243
- `}else if(O.match(/^vega/))try{let v=Z(C+y),x=l[v];x||(x=await fe(y,t)),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
243
+ `}else if(O.match(/^vega/))try{let v=Z(C+y),x=l[v];x||(x=await be(y,t)),await E(w.filename,x,p,T,k,!0,w.alt,C)}catch(v){h(p,T,k),p[k]+=`
244
244
  \`\`\`
245
245
  ${v}
246
246
  \`\`\`
@@ -259,23 +259,23 @@ ${v}
259
259
  ${f.plainResult}\`\`\`
260
260
  `);p[k]+=`
261
261
  `+v}f.next?f=o[f.next]:f=null}}}return await Promise.all(g),{outputString:p.filter(_=>_).join(`
262
- `),imagePaths:m}}function wr(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),s=t,o=n,l="(?:"+s.map(u=>u[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+s.map(u=>u[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+o.map(u=>u[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+o.map(u=>u[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${c}([\\s\\S]+?)${p})`,"g"),(u,b,S)=>{if(b)return b;let g=S;return g=g.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),g=(0,_t.escape)(g),`<p align="center"><img src="${a}?${g.trim().replace(/ /g,"%20")}"/></p>
263
- `}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(u,b,S)=>{if(b)return b;let g=S;return g=g.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),g=(0,_t.escape)(g),`<img src="${a}?${g.trim().replace(/ /g,"%20")}"/>`}),r=r.replace(/#slash_dollarsign#/g,"\\$"),r}function Ar(e,t,n,a,r){function s(d){return d.match(r)||(a?d.startsWith("/")&&(d=ae.relative(t,ae.resolve(n,"."+d))):d.startsWith("/")||(d="/"+ae.relative(n,ae.resolve(t,d)))),d.replace(/\\/g,"/")}let o=!1,l=e.split(`
262
+ `),imagePaths:m}}function Rr(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),s=t,o=n,l="(?:"+s.map(u=>u[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+s.map(u=>u[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+o.map(u=>u[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+o.map(u=>u[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${c}([\\s\\S]+?)${p})`,"g"),(u,b,S)=>{if(b)return b;let g=S;return g=g.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),g=(0,_t.escape)(g),`<p align="center"><img src="${a}?${g.trim().replace(/ /g,"%20")}"/></p>
263
+ `}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(u,b,S)=>{if(b)return b;let g=S;return g=g.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),g=(0,_t.escape)(g),`<img src="${a}?${g.trim().replace(/ /g,"%20")}"/>`}),r=r.replace(/#slash_dollarsign#/g,"\\$"),r}function Ir(e,t,n,a,r){function s(d){return d.match(r)||(a?d.startsWith("/")&&(d=ae.relative(t,ae.resolve(n,"."+d))):d.startsWith("/")||(d="/"+ae.relative(n,ae.resolve(t,d)))),d.replace(/\\/g,"/")}let o=!1,l=e.split(`
264
264
  `);return l=l.map(d=>{if(d.match(/^\s*```/))return o=!o,d;if(o)return d;{let c=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return d=d.replace(c,(p,u,b,S)=>b[0]==="<"?(b=b.slice(1,b.length-1),u+"<"+s(b.trim())+"> "+S):u+s(b.trim())+" "+S),c=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,d=d.replace(c,(p,u,b,S)=>u+s(b)+S),d}}),l.join(`
265
- `)}async function Zn(e,{projectDirectoryPath:t,fileDirectoryPath:n,protocolsWhiteListRegExp:a,filesCache:r,codeChunksData:s,graphsCache:o,notebook:l},d){if(!d.path)throw new Error("{path} has to be specified");if(!d.image_dir)throw new Error("{image_dir} has to be specified");let c;d.path[0]==="/"?c=ae.resolve(t,"."+d.path):c=ae.resolve(n,d.path);for(let g in r)g.endsWith(".pdf")&&delete r[g];let p;d.image_dir[0]==="/"?p=ae.resolve(t,"."+d.image_dir):p=ae.resolve(n,d.image_dir);let u=!d.absolute_image_path;l.config.parserConfig.onWillTransformMarkdown&&(e=await l.config.parserConfig.onWillTransformMarkdown(e));let b=await de(e,{fileDirectoryPath:n,projectDirectoryPath:t,useRelativeFilePath:u,filesCache:r,forPreview:!1,forMarkdownExport:!0,protocolsWhiteListRegExp:a,imageDirectoryPath:p,notebook:l});if(e=b.outputString,l.config.parserConfig.onDidTransformMarkdown&&(e=await l.config.parserConfig.onDidTransformMarkdown(e)),b.tocBracketEnabled){let g=b.headings,{content:m}=me(g,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
265
+ `)}async function Zn(e,{projectDirectoryPath:t,fileDirectoryPath:n,protocolsWhiteListRegExp:a,filesCache:r,codeChunksData:s,graphsCache:o,notebook:l},d){if(!d.path)throw new Error("{path} has to be specified");if(!d.image_dir)throw new Error("{image_dir} has to be specified");let c;d.path[0]==="/"?c=ae.resolve(t,"."+d.path):c=ae.resolve(n,d.path);for(let g in r)g.endsWith(".pdf")&&delete r[g];let p;d.image_dir[0]==="/"?p=ae.resolve(t,"."+d.image_dir):p=ae.resolve(n,d.image_dir);let u=!d.absolute_image_path;l.config.parserConfig.onWillTransformMarkdown&&(e=await l.config.parserConfig.onWillTransformMarkdown(e));let b=await ce(e,{fileDirectoryPath:n,projectDirectoryPath:t,useRelativeFilePath:u,filesCache:r,forPreview:!1,forMarkdownExport:!0,protocolsWhiteListRegExp:a,imageDirectoryPath:p,notebook:l});if(e=b.outputString,l.config.parserConfig.onDidTransformMarkdown&&(e=await l.config.parserConfig.onDidTransformMarkdown(e)),b.tocBracketEnabled){let g=b.headings,{content:m}=fe(g,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
266
266
 
267
267
  `+m+`
268
268
 
269
- `)}return e=Ar(e,n,t,u,a),e=l.config.mathRenderingOption!=="None"?wr(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((g,m)=>{(0,Kn.mkdirp)(p).then(()=>{We(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:p,imageFilePrefix:Z(c),useRelativeFilePath:u,codeChunksData:s,graphsCache:o,addOptionsStr:!1,notebook:l}).then(({outputString:f})=>{f=b.frontMatterString+f,Yn.writeFile(c,f,{encoding:"utf-8"},h=>h?m(h.toString()):g(c))})}).catch(f=>{if(f)return m(f.toString())})})}var Jn=require("child_process"),Qn=N(require("fs")),Rt=N(require("mkdirp")),J=N(require("path")),ea=N(require("yaml"));function Xn(e){return e==="pdf_document"||e==="beamer_presentation"?"pdf":e==="word_document"?"docx":e==="rtf_document"?"rtf":e==="custom_document"?"*":null}function _r(e,t,n="pdflatex"){if(e.toc&&t.push("--toc"),e.toc_depth&&t.push("--toc-depth="+e.toc_depth),e.highlight&&(e.highlight==="default"&&(e.highlight="pygments"),t.push("--highlight-style="+e.highlight)),e.reference_docx&&t.push("--reference-docx="+e.reference_docx),e.reference_doc&&t.push("--reference-doc="+e.reference_doc),e.highlight===null&&t.push("--no-highlight"),e.citation_package&&(e.citation_package==="natbib"?t.push("--natbib"):e.citation_package==="biblatex"&&t.push("--biblatex")),e.number_sections&&t.push("--number-sections"),e.incremental&&t.push("--incremental"),e.slide_level&&t.push("--slide-level="+e.slide_level),e.theme&&t.push("-V","theme:"+e.theme),e.colortheme&&t.push("-V","colortheme:"+e.colortheme),e.fonttheme&&t.push("-V","fonttheme:"+e.fonttheme),e.latex_engine?t.push("--pdf-engine="+e.latex_engine):e.pdf_engine?t.push("--pdf-engine="+e.pdf_engine):t.push("--pdf-engine="+n),e.includes&&typeof e.includes=="object"){let a=e.includes,r=(s,o)=>{typeof o=="string"?t.push(s+o):o.constructor===Array?o.forEach(l=>t.push(s+l)):t.push(s+o)};a.in_header&&r("--include-in-header=",a.in_header),a.before_body&&r("--include-before-body=",a.before_body),a.after_body&&r("--include-after-body=",a.after_body)}e.template&&t.push("--template="+e.template),e.pandoc_args&&e.pandoc_args.forEach(a=>t.push(a))}function Rr(e,t){let n=J.resolve(e,"_output.yaml"),a="";try{a=Qn.readFileSync(n,{encoding:"utf-8"})}catch{return Object.assign({},t)}let r={};if(a&&(r=xe(a)),t.output)if(typeof t.output=="string"&&r[t.output]){let s=t.output;t.output={},t.output[s]=r[s]}else{let s=Object.keys(t.output)[0];r[s]&&(t.output[s]=Object.assign({},r[s],t.output[s]))}return Object.assign({},r,t)}function Ir(e,t,n){function a(o){return o.startsWith("/")?J.relative(t,J.resolve(n,"."+o)):o}let r=!1,s=e.split(`
269
+ `)}return e=Ir(e,n,t,u,a),e=l.config.mathRenderingOption!=="None"?Rr(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((g,m)=>{(0,Kn.mkdirp)(p).then(()=>{Ve(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:p,imageFilePrefix:Z(c),useRelativeFilePath:u,codeChunksData:s,graphsCache:o,addOptionsStr:!1,notebook:l}).then(({outputString:f})=>{f=b.frontMatterString+f,Yn.writeFile(c,f,{encoding:"utf-8"},h=>h?m(h.toString()):g(c))})}).catch(f=>{if(f)return m(f.toString())})})}var Jn=require("child_process"),Qn=N(require("fs")),Rt=N(require("mkdirp")),J=N(require("path")),ea=N(require("yaml"));function Xn(e){return e==="pdf_document"||e==="beamer_presentation"?"pdf":e==="word_document"?"docx":e==="rtf_document"?"rtf":e==="custom_document"?"*":null}function vr(e,t,n="pdflatex"){if(e.toc&&t.push("--toc"),e.toc_depth&&t.push("--toc-depth="+e.toc_depth),e.highlight&&(e.highlight==="default"&&(e.highlight="pygments"),t.push("--highlight-style="+e.highlight)),e.reference_docx&&t.push("--reference-docx="+e.reference_docx),e.reference_doc&&t.push("--reference-doc="+e.reference_doc),e.highlight===null&&t.push("--no-highlight"),e.citation_package&&(e.citation_package==="natbib"?t.push("--natbib"):e.citation_package==="biblatex"&&t.push("--biblatex")),e.number_sections&&t.push("--number-sections"),e.incremental&&t.push("--incremental"),e.slide_level&&t.push("--slide-level="+e.slide_level),e.theme&&t.push("-V","theme:"+e.theme),e.colortheme&&t.push("-V","colortheme:"+e.colortheme),e.fonttheme&&t.push("-V","fonttheme:"+e.fonttheme),e.latex_engine?t.push("--pdf-engine="+e.latex_engine):e.pdf_engine?t.push("--pdf-engine="+e.pdf_engine):t.push("--pdf-engine="+n),e.includes&&typeof e.includes=="object"){let a=e.includes,r=(s,o)=>{typeof o=="string"?t.push(s+o):o.constructor===Array?o.forEach(l=>t.push(s+l)):t.push(s+o)};a.in_header&&r("--include-in-header=",a.in_header),a.before_body&&r("--include-before-body=",a.before_body),a.after_body&&r("--include-after-body=",a.after_body)}e.template&&t.push("--template="+e.template),e.pandoc_args&&e.pandoc_args.forEach(a=>t.push(a))}function Nr(e,t){let n=J.resolve(e,"_output.yaml"),a="";try{a=Qn.readFileSync(n,{encoding:"utf-8"})}catch{return Object.assign({},t)}let r={};if(a&&(r=Le(a)),t.output)if(typeof t.output=="string"&&r[t.output]){let s=t.output;t.output={},t.output[s]=r[s]}else{let s=Object.keys(t.output)[0];r[s]&&(t.output[s]=Object.assign({},r[s],t.output[s]))}return Object.assign({},r,t)}function Cr(e,t,n){function a(o){return o.startsWith("/")?J.relative(t,J.resolve(n,"."+o)):o}let r=!1,s=e.split(`
270
270
  `);return s=s.map(o=>{if(o.match(/^\s*```/))return r=!r,o;if(r)return o;{let l=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return o=o.replace(l,(d,c,p,u)=>p[0]==="<"?(p=p.slice(1,p.length-1),c+"<"+a(p.trim())+"> "+u):c+a(p.trim())+" "+u),l=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,o=o.replace(l,(d,c,p,u)=>c+a(p)+u),o}}),s.join(`
271
- `)}async function ta(e,{fileDirectoryPath:t,projectDirectoryPath:n,sourceFilePath:a,filesCache:r,protocolsWhiteListRegExp:s,codeChunksData:o,graphsCache:l,notebook:d},c={}){c=Rr(t,c);let p=["-f",d.config.pandocMarkdownFlavor.replace(/-raw_tex/,"")],u=null,b=null,S=null;if(c.output)typeof c.output=="string"?(S=c.output,u=Xn(S)):(S=Object.keys(c.output)[0],u=Xn(S),b=c.output[S]);else throw new Error("Output format needs to be specified.");if(u===null)throw new Error("Invalid document type.");if(S==="custom_document"&&(!b||!b.path))throw new Error("custom_document requires path to be defined.");S==="beamer_presentation"&&p.push("-t","beamer");let g;if(b&&b.path){if(g=b.path,g.startsWith("/")?g=J.resolve(n,"."+g):g=J.resolve(t,g),S!=="custom_document"&&J.extname(g)!=="."+u)throw new Error("Invalid extension for "+S+". Extension ."+u+" is required, but "+J.extname(g)+" was provided.");p.push("-o",g)}else g=a,g=g.slice(0,g.length-J.extname(g).length)+"."+u,p.push("-o",g);_r(b||{},p,d.config.latexEngine),d.config.parserConfig.onWillTransformMarkdown&&(e=await d.config.parserConfig.onWillTransformMarkdown(e));let m=await de(e,{fileDirectoryPath:t,projectDirectoryPath:n,useRelativeFilePath:!0,filesCache:r,protocolsWhiteListRegExp:s,forPreview:!1,notebook:d});if(e=m.outputString,d.config.parserConfig.onDidTransformMarkdown&&(e=await d.config.parserConfig.onDidTransformMarkdown(e)),e=`---
271
+ `)}async function ta(e,{fileDirectoryPath:t,projectDirectoryPath:n,sourceFilePath:a,filesCache:r,protocolsWhiteListRegExp:s,codeChunksData:o,graphsCache:l,notebook:d},c={}){c=Nr(t,c);let p=["-f",d.config.pandocMarkdownFlavor.replace(/-raw_tex/,"")],u=null,b=null,S=null;if(c.output)typeof c.output=="string"?(S=c.output,u=Xn(S)):(S=Object.keys(c.output)[0],u=Xn(S),b=c.output[S]);else throw new Error("Output format needs to be specified.");if(u===null)throw new Error("Invalid document type.");if(S==="custom_document"&&(!b||!b.path))throw new Error("custom_document requires path to be defined.");S==="beamer_presentation"&&p.push("-t","beamer");let g;if(b&&b.path){if(g=b.path,g.startsWith("/")?g=J.resolve(n,"."+g):g=J.resolve(t,g),S!=="custom_document"&&J.extname(g)!=="."+u)throw new Error("Invalid extension for "+S+". Extension ."+u+" is required, but "+J.extname(g)+" was provided.");p.push("-o",g)}else g=a,g=g.slice(0,g.length-J.extname(g).length)+"."+u,p.push("-o",g);vr(b||{},p,d.config.latexEngine),d.config.parserConfig.onWillTransformMarkdown&&(e=await d.config.parserConfig.onWillTransformMarkdown(e));let m=await ce(e,{fileDirectoryPath:t,projectDirectoryPath:n,useRelativeFilePath:!0,filesCache:r,protocolsWhiteListRegExp:s,forPreview:!1,notebook:d});if(e=m.outputString,d.config.parserConfig.onDidTransformMarkdown&&(e=await d.config.parserConfig.onDidTransformMarkdown(e)),e=`---
272
272
  `+ea.stringify(c)+`---
273
- `+e,m.tocBracketEnabled){let _=m.headings,{content:T}=me(_,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
273
+ `+e,m.tocBracketEnabled){let _=m.headings,{content:T}=fe(_,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
274
274
 
275
275
  `+T+`
276
276
 
277
- `)}e=Ir(e,t,n),p.find(_=>_.includes("pandoc-citeproc")||_.includes("--defaults"))===void 0&&(c.bibliography||c.references)&&p.push("--citeproc");let E=d.config.imageFolderPath;E[0]==="/"?E=J.resolve(n,"."+E):E=J.resolve(t,E),await Rt.sync(E);let{outputString:A}=await We(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:E,imageFilePrefix:Z(g),useRelativeFilePath:!0,codeChunksData:o,graphsCache:l,addOptionsStr:!0,notebook:d});return await Rt.sync(J.dirname(g)),await new Promise((_,T)=>{var y;(y=(0,Jn.execFile)(d.config.pandocPath,p,{cwd:t},w=>w?T(w.toString()):_(g)).stdin)==null||y.end(A)})}var na=require("child_process");function aa(e,t){return new Promise((n,a)=>{(0,na.execFile)("prince",[e,"--javascript","-o",t],r=>{if(r){let s=r.toString();return r.message.indexOf("spawn prince ENOENT")>=0&&(s='"princexml" is required to be installed.'),a(s)}return n()})})}var vr=e=>typeof e=="string"?e.trim().toLowerCase():"",Ve=e=>{let t=on(e.attributes),n=vr(e.language);return t!==e.attributes||n!==e.language?{language:n,attributes:t}:e};var qe=(e="")=>{let t,n,a,r=e.trim(),s=r.indexOf("{")!==-1?r.match(/^([^\s{]*)\s*\{(.*?)\}/):r.match(/^([^\s]+)\s+(.+?)$/);if(s?(s[1].length&&(t=s[1]),n=s[2]):(t=r,n=""),n)try{a=ne(n)}catch{a={}}else a={};let o=a.class?a.class.split(/\s+/):[];return t||(t=o[0]||"text"),o.includes(t)||(a.class=[t,...o].join(" ")),{language:t,attributes:a}};var ka=require("async-mutex"),Ta=N(require("markdown-it")),wa=N(require("markdown-it-abbr")),Aa=N(require("markdown-it-deflist")),_a=N(require("markdown-it-footnote")),Ra=N(require("markdown-it-mark")),Ia=N(require("markdown-it-sub")),va=N(require("markdown-it-sup")),W=N(require("path")),at=require("vscode-uri");var ra=e=>{let a=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function r(){e.block.ruler.after("fence","admonition",o,{alt:[]}),e.renderer.rules.admonition_open=s,e.renderer.rules.admonition_title_open=s,e.renderer.rules.admonition_title_close=s,e.renderer.rules.admonition_close=s}function s(l,d,c,p,u){let b=l[d];return b.type==="admonition_open"?l[d].attrPush(["class","admonition "+b.info]):b.type==="admonition_title_open"&&l[d].attrPush(["class","admonition-title"]),u.renderToken(l,d,c)}function o(l,d,c,p){if(l.tShift[d]-l.blkIndent>=4)return!1;let u=l.bMarks[d]+l.tShift[d],b=l.eMarks[d],S=l.src.charCodeAt(u);if(S!==33)return!1;let g=u;if(u=l.skipChars(u,S),u-g<3)return!1;let f=l.src.slice(g,u),h="",E="",A=l.src.slice(u,b).trim().split(" ");if(h=(A.shift()??"").toLowerCase(),E=A.join(" "),a.indexOf(h)<0&&(h="note"),E||(E=h.substr(0,1).toUpperCase()+h.substr(1,h.length-1)),p)return!0;let _=l.parentType,T=l.lineMax,k=l.blkIndent;l.blkIndent+=4;let y=d;for(;y++,!(y>=c||(u=g=l.bMarks[y]+l.tShift[y],b=l.eMarks[y],u<b&&l.sCount[y]<l.blkIndent)););l.parentType="admonition",l.lineMax=y;let w=l.push("admonition_open","div",1);return w.markup=f,w.block=!0,w.info=h,w.map=[d,d+1],E!=='""'&&(w=l.push("admonition_title_open","p",1),w.markup=f+" "+h,w.map=[d,d+1],w=l.push("inline","",0),w.content=E,w.map=[d,d+1],w.children=[],w=l.push("admonition_title_close","p",-1),w.markup=f+" "+h),l.md.block.tokenize(l,d+1,y),w=l.push("admonition_close","div",-1),w.markup=f,w.map=[d,y],w.block=!0,l.parentType=_,l.lineMax=T,l.line=y,l.blkIndent=k,!0}r()};var Re=require("html-escaper");var ia=e=>{e.renderer.rules.fence=(t,n)=>{let a=t[n],r=a.info.trim(),s=qe(r),o=Ve(s),l=(0,Re.escape)(a.content),d=n<t.length&&t[n].type==="list_item_close"?`
278
- `:"";return`<pre data-role="codeBlock" data-info="${(0,Re.escape)(r)}" data-parsed-info="${(0,Re.escape)(JSON.stringify(s))}" data-normalized-info="${(0,Re.escape)(JSON.stringify(o))}">${l}</pre>${d}`}};var oa=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:s,pos:o}=n;if(s[o]==="{"&&(s[o+1]==="-"&&s[o+2]==="-"||s[o+1]==="+"&&s[o+2]==="+"||s[o+1]==="~"&&s[o+2]==="~"||s[o+1]==="="&&s[o+2]==="="||s[o+1]===">"&&s[o+2]===">")){let l=s.slice(o+1,o+3),d=l[0]===">"?"<<}":`${l}}`,c=o+3,p=-1,u=null;for(;c<s.length;){if(s.startsWith(d,c)){p=c;break}c+=1}if(p>=0)u=s.slice(o+3,p);else return!1;if(u&&!a){let b=n.push("critic-markup","",0);return b.content=u,b.tag=l,n.pos=p+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],s=r.tag,o=r.content;if(s==="--")return`<del>${o}</del>`;if(s==="++")return`<ins>${o}</ins>`;if(s==="==")return`<mark>${o}</mark>`;if(s===">>")return`<span style="display:none">${o}</span>`;{let l=o.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};var sa=N(require("markdown-it-emoji")),la=N(require("markdown-it-emoji/lib/data/full.json")),Nr=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],da={};Nr.forEach(e=>{da[e]=""});var ca=(e,t)=>{e.use(sa.default,{defs:{...la.default,...da}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let s=r.markup;return s.match("fa-")?`<i class="fa ${s}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};var pa=N(require("markdown-it-html5-embed")),Cr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),ua=(e,t)=>{t.config.enableHTML5Embed&&e.use(pa.default,Cr(t))};var ga=require("html-escaper"),ma=N(require("katex")),lo=require("katex/contrib/mhchem"),Ye=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:s})=>{if(!e)return"";if(r==="KaTeX")try{return ma.default.renderToString(e,Object.assign({},s,{displayMode:a}))}catch(o){return`<span style="color: #ee7f49; font-weight: 500;">${o.toString()}</span>`}else if(r==="MathJax"){let o=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${(0,ga.escape)(o)}</${l}>`}else return""};var fa=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,s=null,o=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let b of l)if(n.src.startsWith(b[0],n.pos)){[r,s]=b;break}if(!r){for(let b of d)if(n.src.startsWith(b[0],n.pos)){[r,s]=b,o=!1;break}}if(!r||!s)return!1;let c=null,p=-1,u=n.pos+r.length;for(;u<n.src.length;){if(s&&n.src.startsWith(s,u)){p=u;break}else n.src[u]==="\\"&&(u+=1);u+=1}if(p>=0)c=n.src.slice(n.pos+r.length,p);else return!1;if(c&&!a){let b=n.push("math","",0);return b.content=c.trim(),b.meta=b.meta||{},b.meta.openTag=r,b.meta.closeTag=s,b.meta.displayMode=o,n.pos+=c.length+r.length+s.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return Ye({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var ba=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,s="]]",o=-1,l=n.pos+s.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(s,l)){o=l;break}l+=1}if(o>=0)r=n.src.slice(n.pos+s.length,o);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*s.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let s=r.split("|"),o,l;if(s.length===1){l=s[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,o=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:s[0].trim(),link:s[1].trim()});l=d.text,o=d.link}else{let d=t.config.parserConfig.processWikiLink({text:s[1].trim(),link:s[0].trim()});l=d.text,o=d.link}return`<a href="${o}">${l}</a>`}};var Qe=N(require("fs")),ha=N(require("less")),be=N(require("path"));var It=typeof window>"u";function Ke(){return{startOnLoad:!1}}function Ze(){return{tex:{},options:{},loader:{}}}function Xe(){return{macros:{}}}function Je(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function ce(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",mermaidConfig:Ke(),mathjaxConfig:Ze(),katexConfig:Xe(),parserConfig:Je(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}async function et(e,t,n=!1){let a=ce(),r={globalCss:a.globalCss,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await Or(e,t),r.parserConfig=await Lr(e,t),r={...r,...await xr(e,t)}),r}async function Or(e,t){let n=be.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
277
+ `)}e=Cr(e,t,n),p.find(_=>_.includes("pandoc-citeproc")||_.includes("--defaults"))===void 0&&(c.bibliography||c.references)&&p.push("--citeproc");let E=d.config.imageFolderPath;E[0]==="/"?E=J.resolve(n,"."+E):E=J.resolve(t,E),await Rt.sync(E);let{outputString:A}=await Ve(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:E,imageFilePrefix:Z(g),useRelativeFilePath:!0,codeChunksData:o,graphsCache:l,addOptionsStr:!0,notebook:d});return await Rt.sync(J.dirname(g)),await new Promise((_,T)=>{var y;(y=(0,Jn.execFile)(d.config.pandocPath,p,{cwd:t},w=>w?T(w.toString()):_(g)).stdin)==null||y.end(A)})}var na=require("child_process");function aa(e,t){return new Promise((n,a)=>{(0,na.execFile)("prince",[e,"--javascript","-o",t],r=>{if(r){let s=r.toString();return r.message.indexOf("spawn prince ENOENT")>=0&&(s='"princexml" is required to be installed.'),a(s)}return n()})})}var Or=e=>typeof e=="string"?e.trim().toLowerCase():"",qe=e=>{let t=on(e.attributes),n=Or(e.language);return t!==e.attributes||n!==e.language?{language:n,attributes:t}:e};var Ye=(e="")=>{let t,n,a,r=e.trim(),s=r.indexOf("{")!==-1?r.match(/^([^\s{]*)\s*\{(.*?)\}/):r.match(/^([^\s]+)\s+(.+?)$/);if(s?(s[1].length&&(t=s[1]),n=s[2]):(t=r,n=""),n)try{a=ne(n)}catch{a={}}else a={};let o=a.class?a.class.split(/\s+/):[];return t||(t=o[0]||"text"),o.includes(t)||(a.class=[t,...o].join(" ")),{language:t,attributes:a}};var ka=require("async-mutex"),Ta=N(require("markdown-it")),wa=N(require("markdown-it-abbr")),Aa=N(require("markdown-it-deflist")),_a=N(require("markdown-it-footnote")),Ra=N(require("markdown-it-mark")),Ia=N(require("markdown-it-sub")),va=N(require("markdown-it-sup")),W=N(require("path")),rt=require("vscode-uri");var ra=e=>{let a=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function r(){e.block.ruler.after("fence","admonition",o,{alt:[]}),e.renderer.rules.admonition_open=s,e.renderer.rules.admonition_title_open=s,e.renderer.rules.admonition_title_close=s,e.renderer.rules.admonition_close=s}function s(l,d,c,p,u){let b=l[d];return b.type==="admonition_open"?l[d].attrPush(["class","admonition "+b.info]):b.type==="admonition_title_open"&&l[d].attrPush(["class","admonition-title"]),u.renderToken(l,d,c)}function o(l,d,c,p){if(l.tShift[d]-l.blkIndent>=4)return!1;let u=l.bMarks[d]+l.tShift[d],b=l.eMarks[d],S=l.src.charCodeAt(u);if(S!==33)return!1;let g=u;if(u=l.skipChars(u,S),u-g<3)return!1;let f=l.src.slice(g,u),h="",E="",A=l.src.slice(u,b).trim().split(" ");if(h=(A.shift()??"").toLowerCase(),E=A.join(" "),a.indexOf(h)<0&&(h="note"),E||(E=h.substr(0,1).toUpperCase()+h.substr(1,h.length-1)),p)return!0;let _=l.parentType,T=l.lineMax,k=l.blkIndent;l.blkIndent+=4;let y=d;for(;y++,!(y>=c||(u=g=l.bMarks[y]+l.tShift[y],b=l.eMarks[y],u<b&&l.sCount[y]<l.blkIndent)););l.parentType="admonition",l.lineMax=y;let w=l.push("admonition_open","div",1);return w.markup=f,w.block=!0,w.info=h,w.map=[d,d+1],E!=='""'&&(w=l.push("admonition_title_open","p",1),w.markup=f+" "+h,w.map=[d,d+1],w=l.push("inline","",0),w.content=E,w.map=[d,d+1],w.children=[],w=l.push("admonition_title_close","p",-1),w.markup=f+" "+h),l.md.block.tokenize(l,d+1,y),w=l.push("admonition_close","div",-1),w.markup=f,w.map=[d,y],w.block=!0,l.parentType=_,l.lineMax=T,l.line=y,l.blkIndent=k,!0}r()};var Ie=require("html-escaper");var ia=e=>{e.renderer.rules.fence=(t,n)=>{let a=t[n],r=a.info.trim(),s=Ye(r),o=qe(s),l=(0,Ie.escape)(a.content),d=n<t.length&&t[n].type==="list_item_close"?`
278
+ `:"";return`<pre data-role="codeBlock" data-info="${(0,Ie.escape)(r)}" data-parsed-info="${(0,Ie.escape)(JSON.stringify(s))}" data-normalized-info="${(0,Ie.escape)(JSON.stringify(o))}">${l}</pre>${d}`}};var oa=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:s,pos:o}=n;if(s[o]==="{"&&(s[o+1]==="-"&&s[o+2]==="-"||s[o+1]==="+"&&s[o+2]==="+"||s[o+1]==="~"&&s[o+2]==="~"||s[o+1]==="="&&s[o+2]==="="||s[o+1]===">"&&s[o+2]===">")){let l=s.slice(o+1,o+3),d=l[0]===">"?"<<}":`${l}}`,c=o+3,p=-1,u=null;for(;c<s.length;){if(s.startsWith(d,c)){p=c;break}c+=1}if(p>=0)u=s.slice(o+3,p);else return!1;if(u&&!a){let b=n.push("critic-markup","",0);return b.content=u,b.tag=l,n.pos=p+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],s=r.tag,o=r.content;if(s==="--")return`<del>${o}</del>`;if(s==="++")return`<ins>${o}</ins>`;if(s==="==")return`<mark>${o}</mark>`;if(s===">>")return`<span style="display:none">${o}</span>`;{let l=o.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};var sa=N(require("markdown-it-emoji")),la=N(require("markdown-it-emoji/lib/data/full.json")),xr=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],da={};xr.forEach(e=>{da[e]=""});var ca=(e,t)=>{e.use(sa.default,{defs:{...la.default,...da}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let s=r.markup;return s.match("fa-")?`<i class="fa ${s}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};var pa=N(require("markdown-it-html5-embed")),Lr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),ua=(e,t)=>{t.config.enableHTML5Embed&&e.use(pa.default,Lr(t))};var ga=require("html-escaper"),ma=N(require("katex")),uo=require("katex/contrib/mhchem"),Ke=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:s})=>{if(!e)return"";if(r==="KaTeX")try{return ma.default.renderToString(e,Object.assign({},s,{displayMode:a}))}catch(o){return`<span style="color: #ee7f49; font-weight: 500;">${o.toString()}</span>`}else if(r==="MathJax"){let o=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${(0,ga.escape)(o)}</${l}>`}else return""};var fa=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,s=null,o=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let b of l)if(n.src.startsWith(b[0],n.pos)){[r,s]=b;break}if(!r){for(let b of d)if(n.src.startsWith(b[0],n.pos)){[r,s]=b,o=!1;break}}if(!r||!s)return!1;let c=null,p=-1,u=n.pos+r.length;for(;u<n.src.length;){if(s&&n.src.startsWith(s,u)){p=u;break}else n.src[u]==="\\"&&(u+=1);u+=1}if(p>=0)c=n.src.slice(n.pos+r.length,p);else return!1;if(c&&!a){let b=n.push("math","",0);return b.content=c.trim(),b.meta=b.meta||{},b.meta.openTag=r,b.meta.closeTag=s,b.meta.displayMode=o,n.pos+=c.length+r.length+s.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return Ke({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var ba=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,s="]]",o=-1,l=n.pos+s.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(s,l)){o=l;break}l+=1}if(o>=0)r=n.src.slice(n.pos+s.length,o);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*s.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let s=r.split("|"),o,l;if(s.length===1){l=s[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,o=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:s[0].trim(),link:s[1].trim()});l=d.text,o=d.link}else{let d=t.config.parserConfig.processWikiLink({text:s[1].trim(),link:s[0].trim()});l=d.text,o=d.link}return`<a href="${o}">${l}</a>`}};var et=N(require("fs")),ha=N(require("less")),he=N(require("path"));var It=typeof window>"u";function Ze(){return{startOnLoad:!1}}function Xe(){return{tex:{},options:{},loader:{}}}function Je(){return{macros:{}}}function Qe(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function pe(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",mermaidConfig:Ze(),mathjaxConfig:Xe(),katexConfig:Je(),parserConfig:Qe(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}async function tt(e,t,n=!1){let a=pe(),r={globalCss:a.globalCss,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await Dr(e,t),r.parserConfig=await Mr(e,t),r={...r,...await Pr(e,t)}),r}async function Dr(e,t){let n=he.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
279
279
  /* Please visit the URL below for more information: */
280
280
  /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
281
281
 
@@ -287,13 +287,13 @@ ${f.plainResult}\`\`\`
287
287
  content: "Failed to compile \`style.less\`. ${o}" !important;
288
288
  padding: 2em !important;
289
289
  }
290
- .crossnote.crossnote { display: none !important; }`;ha.render(a,{paths:[be.dirname(n)]},(o,l)=>r(o?s(o):(l==null?void 0:l.css)||""))})}async function xr(e,t){let n=be.join(e,"./config.js"),a=async()=>{let r=Xe(),s=Ze(),o=Ke();return await t.writeFile(n,`({
290
+ .crossnote.crossnote { display: none !important; }`;ha.render(a,{paths:[he.dirname(n)]},(o,l)=>r(o?s(o):(l==null?void 0:l.css)||""))})}async function Pr(e,t){let n=he.join(e,"./config.js"),a=async()=>{let r=Je(),s=Xe(),o=Ze();return await t.writeFile(n,`({
291
291
  katexConfig: ${JSON.stringify(r,null,2)},
292
292
 
293
293
  mathjaxConfig: ${JSON.stringify(s,null,2)},
294
294
 
295
295
  mermaidConfig: ${JSON.stringify(o,null,2)},
296
- })`),{katexConfig:r,mathjaxConfig:s,mermaidConfig:o}};if(await t.exists(n))try{let r=await t.readFile(n),s=mt(r);return Object.keys(s??{}).length===0?await a():s}catch(r){return console.error(r),{}}else return a()}async function Lr(e,t){let n=Je(),a=be.join(e,"./parser.js");if(await t.exists(a))try{let r=await t.readFile(a),s=mt(r);return{...n,...s??{}}}catch(r){return console.error(r),n}else return await t.writeFile(a,`({
296
+ })`),{katexConfig:r,mathjaxConfig:s,mermaidConfig:o}};if(await t.exists(n))try{let r=await t.readFile(n),s=Te(r);return Object.keys(s??{}).length===0?await a():s}catch(r){return console.error(r),{}}else return a()}async function Mr(e,t){let n=Qe(),a=he.join(e,"./parser.js");if(await t.exists(a))try{let r=await t.readFile(a),s=Te(r);return{...n,...s??{}}}catch(r){return console.error(r),n}else return await t.writeFile(a,`({
297
297
  onWillParseMarkdown: async function(markdown) {
298
298
  return markdown;
299
299
  },
@@ -316,18 +316,18 @@ ${f.plainResult}\`\`\`
316
316
  link: link ? link : text.endsWith('.md') ? text : \`\${text}.md\`,
317
317
  };
318
318
  }
319
- })`),n}function tt(){let e=Qe.promises;return{readFile:async(t,n="utf-8")=>(await e.readFile(t,n)).toString(),writeFile:async(t,n,a="utf8")=>await e.writeFile(t,n,a),mkdir:async t=>{await e.mkdir(t,{recursive:!0})},exists:async t=>Qe.existsSync(t),stat:async t=>await e.stat(t),readdir:async t=>await e.readdir(t),unlink:async t=>await e.unlink(t)}}var nt=N(require("yaml"));function Ea(e){let t=0,n={};if(e.startsWith("---")&&(t=e.indexOf(`
320
- ---`))>0){let a=e.slice(3,t);try{n=nt.parse(a)}catch{n={}}e=e.slice(t+4).replace(/^[ \t]*\n/,"")}return{data:n,content:e}}function Sa(e,t){t=t||{};let n=nt.stringify(t).trim();return n==="{}"||!n?e:`---
319
+ })`),n}function nt(){let e=et.promises;return{readFile:async(t,n="utf-8")=>(await e.readFile(t,n)).toString(),writeFile:async(t,n,a="utf8")=>await e.writeFile(t,n,a),mkdir:async t=>{await e.mkdir(t,{recursive:!0})},exists:async t=>et.existsSync(t),stat:async t=>await e.stat(t),readdir:async t=>await e.readdir(t),unlink:async t=>await e.unlink(t)}}var at=N(require("yaml"));function Ea(e){let t=0,n={};if(e.startsWith("---")&&(t=e.indexOf(`
320
+ ---`))>0){let a=e.slice(3,t);try{n=at.parse(a)}catch{n={}}e=e.slice(t+4).replace(/^[ \t]*\n/,"")}return{data:n,content:e}}function Sa(e,t){t=t||{};let n=at.stringify(t).trim();return n==="{}"||!n?e:`---
321
321
  ${n}
322
322
  ---
323
- ${e}`}var Ie=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};var ya=N(require("minisearch"));function Dr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var he=class{constructor(){this.miniSearch=new ya.default({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>Dr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var Pr={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0},vt=class e{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new Ie;this.refreshNotesIfNotLoadedMutex=new ka.Mutex;this.search=new he;this.markdownEngines={}}async init({notebookPath:t,config:n={},fs:a}){let r=at.URI.parse(t);if(!W.isAbsolute(r.fsPath)||r.path.startsWith("/./"))throw new Error(`\`notebookPath\`: "${t}" must be an absolute path`);this.notebookPath=r,this.initFs(a),await this.initConfig(n),this.initMarkdownIt(),this.updateConfig({})}static async init(t){let n=new e;return await n.init(t),n}async initConfig(t){let n=await et(W.join(this.notebookPath.fsPath,"./.crossnote"),this.fs);this.config={...ce(),...n,...t}}initMarkdownIt(){this.md=new Ta.default(Pr),this.md.use(_a.default),this.md.use(Ia.default),this.md.use(va.default),this.md.use(Aa.default),this.md.use(wa.default),this.md.use(Ra.default),ia(this.md),oa(this.md,this),ca(this.md,this),ua(this.md,this),fa(this.md,this),ba(this.md,this),ra(this.md)}initFs(t){if(t)this.fs=t;else if(It)this.fs=tt();else throw new Error("`fs` is required")}updateConfig(t){this.config={...this.config,...t},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){var a,r,s,o;let t=/\${\s*(\w+?)\s*}/g,n={projectDir:this.notebookPath,workspaceFolder:this.notebookPath};this.config.imageFolderPath=(a=this.config.imageFolderPath)==null?void 0:a.replace(t,(l,d)=>n[d]||l),this.config.imageMagickPath=(r=this.config.imageMagickPath)==null?void 0:r.replace(t,(l,d)=>n[d]||l),this.config.chromePath=(s=this.config.chromePath)==null?void 0:s.replace(t,(l,d)=>n[d]||l),this.config.plantumlJarPath=(o=this.config.plantumlJarPath)==null?void 0:o.replace(t,(l,d)=>n[d]||l)}async getBacklinkedNotes(t){if(t=this.resolveNoteRelativePath(t),t in this.referenceMap.map){let n=this.referenceMap.map[t],a={};for(let r in n){if(r===t)continue;let s=await this.getNote(r);s&&(a[r]=s)}return a}else return{}}async getNoteBacklinks(t){let n=await this.getBacklinkedNotes(t),a=[],r=Object.keys(n);for(let s of r){let o=n[s],l=await this.getReferences(t,s);a.push({note:{notebookPath:o.notebookPath,filePath:o.filePath,title:o.title,config:o.config},references:l,referenceHtmls:l.map(d=>{let c=[d.parentToken??d.token];return this.md.renderer.render(c,this.md.options,{})})})}return a}async getReferences(t,n){return this.referenceMap.getReferences(this.resolveNoteRelativePath(t),this.resolveNoteRelativePath(n))}async processNoteMentionsAndMentionedBy(t){let n=await this.getNote(t);if(!n)return;let a=this.md.parse(n.markdown,{}),r=p=>(p.endsWith(".md")||(p=p+".md"),p.startsWith("/")?W.relative(this.notebookPath.fsPath,W.join(this.notebookPath.fsPath,"."+p)):W.relative(this.notebookPath.fsPath,W.join(W.dirname(W.join(this.notebookPath.fsPath,n.filePath)),p))),s=p=>at.Utils.joinPath(this.notebookPath,p).toString(),o=(p,u,b,S)=>{var g;for(let m=0;m<p.length;m++){let f=p[m];if(f.type==="wikilink"){let h=f.content.split("|"),E,A;if(this.config.useGitHubStylePipedLink?(E=h[0].trim(),A=(h.length>1?h[1]:h[0]).trim()):(E=(h.length>1?h[1]:h[0]).trim(),A=h[0].trim()),A.match(/https?:\/\//))continue;A=r(A),this.config.useGitHubStylePipedLink?f.content=`${E} | ${s(A)}`:f.content=`${s(A)} | ${E}`,b.push({elementId:f.attrGet("id")||"",text:E,link:A,parentToken:u,token:f})}else if(f.type==="tag"){let h=f.content.trim(),E=f.content.trim();b.push({elementId:f.attrGet("id")||"",text:h,link:r(E),parentToken:u,token:f})}else if(f.type==="link_open"&&p[m+1]&&p[m+1].type==="text"){if((g=f.attrs)!=null&&g.length&&f.attrs[0][0]==="href"){let h=decodeURI(f.attrs[0][1]),E=p[m+1].content.trim();if(h.match(/https?:\/\//)||!E.length||!h.endsWith(".md"))continue;h=r(h),f.attrs[0][1]=s(h),b.push({elementId:f.attrGet("id")||"",text:E,link:h,parentToken:u,token:f})}}else f.children&&f.children.length&&o(f.children,f,b,S+1)}return b},l=o(a,null,[],0),d=new Set,c=n.mentions;for(let p in c)this.referenceMap.deleteReferences(p,n.filePath);for(let p=0;p<l.length;p++){let{link:u}=l[p];d[u]=!0,this.referenceMap.addReference(u,n.filePath,l[p])}this.referenceMap.addReference(n.filePath,n.filePath,void 0),n.mentions=d}async getNote(t,n=!1){if(t=this.resolveNoteRelativePath(t),!n&&t in this.notes)return this.notes[t];let a=this.resolveNoteAbsolutePath(t),r;try{r=await this.fs.stat(a)}catch{return null}if(r.isFile()&&this.config.markdownFileExtensions.includes(W.extname(t))){let s=await this.fs.readFile(a),o={createdAt:new Date(r.ctimeMs),modifiedAt:new Date(r.mtimeMs),aliases:[]};try{let p=Ea(s),u=Object.assign({},p.data);if(p.data.created&&(o.createdAt=new Date(p.data.created),delete u.created),p.data.modified&&(o.modifiedAt=new Date(p.data.modified),delete u.modified),p.data.pinned&&(o.pinned=p.data.pinned,delete u.pinned),p.data.favorited&&(o.favorited=p.data.favorited,delete u.favorited),p.data.icon&&(o.icon=p.data.icon,delete u.icon),p.data.aliases){let b=p.data.aliases||[];typeof b=="string"?o.aliases=b.split(",").map(S=>S.trim()):o.aliases=b,delete u.aliases}s=Sa(p.content,u)}catch{s=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
323
+ ${e}`}var ve=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};var ya=N(require("minisearch"));function Fr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var Ee=class{constructor(){this.miniSearch=new ya.default({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>Fr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var Ur={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0},vt=class e{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new ve;this.refreshNotesIfNotLoadedMutex=new ka.Mutex;this.search=new Ee;this.markdownEngines={}}async init({notebookPath:t,config:n={},fs:a}){let r=rt.URI.parse(t);if(!W.isAbsolute(r.fsPath)||r.path.startsWith("/./"))throw new Error(`\`notebookPath\`: "${t}" must be an absolute path`);this.notebookPath=r,this.initFs(a),await this.initConfig(n),this.initMarkdownIt(),this.updateConfig({})}static async init(t){let n=new e;return await n.init(t),n}async initConfig(t){let n=await tt(W.join(this.notebookPath.fsPath,"./.crossnote"),this.fs);this.config={...pe(),...n,...t}}initMarkdownIt(){this.md=new Ta.default(Ur),this.md.use(_a.default),this.md.use(Ia.default),this.md.use(va.default),this.md.use(Aa.default),this.md.use(wa.default),this.md.use(Ra.default),ia(this.md),oa(this.md,this),ca(this.md,this),ua(this.md,this),fa(this.md,this),ba(this.md,this),ra(this.md)}initFs(t){if(t)this.fs=t;else if(It)this.fs=nt();else throw new Error("`fs` is required")}updateConfig(t){this.config={...this.config,...t},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){var a,r,s,o;let t=/\${\s*(\w+?)\s*}/g,n={projectDir:this.notebookPath,workspaceFolder:this.notebookPath};this.config.imageFolderPath=(a=this.config.imageFolderPath)==null?void 0:a.replace(t,(l,d)=>n[d]||l),this.config.imageMagickPath=(r=this.config.imageMagickPath)==null?void 0:r.replace(t,(l,d)=>n[d]||l),this.config.chromePath=(s=this.config.chromePath)==null?void 0:s.replace(t,(l,d)=>n[d]||l),this.config.plantumlJarPath=(o=this.config.plantumlJarPath)==null?void 0:o.replace(t,(l,d)=>n[d]||l)}async getBacklinkedNotes(t){if(t=this.resolveNoteRelativePath(t),t in this.referenceMap.map){let n=this.referenceMap.map[t],a={};for(let r in n){if(r===t)continue;let s=await this.getNote(r);s&&(a[r]=s)}return a}else return{}}async getNoteBacklinks(t){let n=await this.getBacklinkedNotes(t),a=[],r=Object.keys(n);for(let s of r){let o=n[s],l=await this.getReferences(t,s);a.push({note:{notebookPath:o.notebookPath,filePath:o.filePath,title:o.title,config:o.config},references:l,referenceHtmls:l.map(d=>{let c=[d.parentToken??d.token];return this.md.renderer.render(c,this.md.options,{})})})}return a}async getReferences(t,n){return this.referenceMap.getReferences(this.resolveNoteRelativePath(t),this.resolveNoteRelativePath(n))}async processNoteMentionsAndMentionedBy(t){let n=await this.getNote(t);if(!n)return;let a=this.md.parse(n.markdown,{}),r=p=>(p.endsWith(".md")||(p=p+".md"),p.startsWith("/")?W.relative(this.notebookPath.fsPath,W.join(this.notebookPath.fsPath,"."+p)):W.relative(this.notebookPath.fsPath,W.join(W.dirname(W.join(this.notebookPath.fsPath,n.filePath)),p))),s=p=>rt.Utils.joinPath(this.notebookPath,p).toString(),o=(p,u,b,S)=>{var g;for(let m=0;m<p.length;m++){let f=p[m];if(f.type==="wikilink"){let h=f.content.split("|"),E,A;if(this.config.useGitHubStylePipedLink?(E=h[0].trim(),A=(h.length>1?h[1]:h[0]).trim()):(E=(h.length>1?h[1]:h[0]).trim(),A=h[0].trim()),A.match(/https?:\/\//))continue;A=r(A),this.config.useGitHubStylePipedLink?f.content=`${E} | ${s(A)}`:f.content=`${s(A)} | ${E}`,b.push({elementId:f.attrGet("id")||"",text:E,link:A,parentToken:u,token:f})}else if(f.type==="tag"){let h=f.content.trim(),E=f.content.trim();b.push({elementId:f.attrGet("id")||"",text:h,link:r(E),parentToken:u,token:f})}else if(f.type==="link_open"&&p[m+1]&&p[m+1].type==="text"){if((g=f.attrs)!=null&&g.length&&f.attrs[0][0]==="href"){let h=decodeURI(f.attrs[0][1]),E=p[m+1].content.trim();if(h.match(/https?:\/\//)||!E.length||!h.endsWith(".md"))continue;h=r(h),f.attrs[0][1]=s(h),b.push({elementId:f.attrGet("id")||"",text:E,link:h,parentToken:u,token:f})}}else f.children&&f.children.length&&o(f.children,f,b,S+1)}return b},l=o(a,null,[],0),d=new Set,c=n.mentions;for(let p in c)this.referenceMap.deleteReferences(p,n.filePath);for(let p=0;p<l.length;p++){let{link:u}=l[p];d[u]=!0,this.referenceMap.addReference(u,n.filePath,l[p])}this.referenceMap.addReference(n.filePath,n.filePath,void 0),n.mentions=d}async getNote(t,n=!1){if(t=this.resolveNoteRelativePath(t),!n&&t in this.notes)return this.notes[t];let a=this.resolveNoteAbsolutePath(t),r;try{r=await this.fs.stat(a)}catch{return null}if(r.isFile()&&this.config.markdownFileExtensions.includes(W.extname(t))){let s=await this.fs.readFile(a),o={createdAt:new Date(r.ctimeMs),modifiedAt:new Date(r.mtimeMs),aliases:[]};try{let p=Ea(s),u=Object.assign({},p.data);if(p.data.created&&(o.createdAt=new Date(p.data.created),delete u.created),p.data.modified&&(o.modifiedAt=new Date(p.data.modified),delete u.modified),p.data.pinned&&(o.pinned=p.data.pinned,delete u.pinned),p.data.favorited&&(o.favorited=p.data.favorited,delete u.favorited),p.data.icon&&(o.icon=p.data.icon,delete u.icon),p.data.aliases){let b=p.data.aliases||[];typeof b=="string"?o.aliases=b.split(",").map(S=>S.trim()):o.aliases=b,delete u.aliases}s=Sa(p.content,u)}catch{s=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
324
324
 
325
- `+s}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let c={notebookPath:this.notebookPath,filePath:W.relative(this.notebookPath.fsPath,a),title:W.basename(a).replace(/\.md$/,""),markdown:s,config:o,mentions:l};return n&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases),await this.processNoteMentionsAndMentionedBy(c.filePath)),c}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new Ie,this.search=new he);let r=[];try{r=await this.fs.readdir(W.resolve(this.notebookPath.fsPath,t))}catch(o){console.error(o),r=[]}let s=[];for(let o=0;o<r.length;o++){let l=r[o];if(l.match(/^(node_modules|\.git)$/))continue;let d=W.resolve(this.notebookPath.fsPath,t,l),c=await this.getNote(W.relative(this.notebookPath.fsPath,d));c&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases));let p;try{p=await this.fs.stat(d)}catch(u){console.error(u)}p&&p.isDirectory()&&n&&s.push(this.refreshNotes({dir:W.relative(this.notebookPath.fsPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(s),a)for(let o in this.notes)await this.processNoteMentionsAndMentionedBy(o);return this.notes}async removeNoteRelations(t){let n=await this.getNote(t);if(!n)return;let a=n.mentions;for(let r in a)this.referenceMap.deleteReferences(r,n.filePath);delete this.notes[n.filePath]}async deleteNote(t,n=!1){let a=this.resolveNoteAbsolutePath(t);(n||await this.fs.exists(a))&&(await this.fs.unlink(a),await this.removeNoteRelations(t),this.search.remove(t))}resolveNoteAbsolutePath(t){return W.isAbsolute(t)?t:W.resolve(this.notebookPath.fsPath,t)}resolveNoteRelativePath(t){return W.isAbsolute(t)?W.relative(this.notebookPath.fsPath,t):t}getNoteMarkdownEngine(t){return t=this.resolveNoteRelativePath(t),t in this.markdownEngines||(this.markdownEngines[t]=new ve({notebook:this,filePath:this.resolveNoteAbsolutePath(t)})),this.markdownEngines[t]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let t in this.markdownEngines)this.markdownEngines[t].clearCaches()}};var La=require("html-escaper");var Mr={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function Na(e){return e=e.toLowerCase(),Mr[e]||e}function Ca(e){e.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function Oa(e){e.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var Ee=N(xa());Ee.default.hooks.add("wrap",e=>{e.type==="keyword"&&e.classes.push(`keyword-${e.content}`)});Oa(Ee.default);Ca(Ee.default);async function Nt(e){e("pre>code").each((t,n)=>{let a=e(n),r=a.text(),s=a.parent();a.replaceWith((0,La.escape)(r)),s.addClass("language-text")}),e('[data-role="codeBlock"]').each((t,n)=>{let a=e(n);if(a.data("hiddenByEnhancer")||a.data("normalizedInfo").attributes.hide===!0){a.remove();return}let s=a.text(),o=a.data("normalizedInfo"),l=Ur(Na(o.language),s);try{let d=Ee.default.highlight(s,Ee.default.languages[l],l);a.html(d)}catch{a.empty().append(e("<code></code>").text(s))}a.addClass(`language-${l}`),o.attributes.class&&(a.addClass(o.attributes.class),Br(a,s)),o.attributes.highlight&&$r(a,s,o.attributes.highlight),a.removeAttr("data-parsed-info"),a.removeAttr("data-normalized-info")})}function Ur(e,t){return e==="vega"||e==="vega-lite"?(t.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":e}function Br(e,t){if(e.hasClass("numberLines")&&(e.addClass("line-numbers"),e.removeClass("numberLines")),e.hasClass("line-numbers")){if(!t.trim().length)return;let n=t.match(/\n(?!$)/g),a=n?n.length+1:1,r="";for(let s=0;s<a;s++)r+="<span></span>";e.append(`<span aria-hidden="true" class="line-numbers-rows">${r}</span>`)}}function $r(e,t,n){if(!t.trim().length)return;typeof n=="number"?n=[n.toString()]:typeof n=="string"&&(n=n.split(","));let a=t.match(/\n(?!$)/g),r=a?a.length+1:1,s=[];n.forEach(o=>{if(o=o.toString(),o.indexOf("-")>0){let[l,d]=o.split("-").map(u=>parseInt(u,10));if(isNaN(l)||isNaN(d)||l<0||d<0||(l>d&&([l,d]=[d,l]),d>r))return;let c="";for(let u=l;u<=d;u++)c+=`
325
+ `+s}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let c={notebookPath:this.notebookPath,filePath:W.relative(this.notebookPath.fsPath,a),title:W.basename(a).replace(/\.md$/,""),markdown:s,config:o,mentions:l};return n&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases),await this.processNoteMentionsAndMentionedBy(c.filePath)),c}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new ve,this.search=new Ee);let r=[];try{r=await this.fs.readdir(W.resolve(this.notebookPath.fsPath,t))}catch(o){console.error(o),r=[]}let s=[];for(let o=0;o<r.length;o++){let l=r[o];if(l.match(/^(node_modules|\.git)$/))continue;let d=W.resolve(this.notebookPath.fsPath,t,l),c=await this.getNote(W.relative(this.notebookPath.fsPath,d));c&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases));let p;try{p=await this.fs.stat(d)}catch(u){console.error(u)}p&&p.isDirectory()&&n&&s.push(this.refreshNotes({dir:W.relative(this.notebookPath.fsPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(s),a)for(let o in this.notes)await this.processNoteMentionsAndMentionedBy(o);return this.notes}async removeNoteRelations(t){let n=await this.getNote(t);if(!n)return;let a=n.mentions;for(let r in a)this.referenceMap.deleteReferences(r,n.filePath);delete this.notes[n.filePath]}async deleteNote(t,n=!1){let a=this.resolveNoteAbsolutePath(t);(n||await this.fs.exists(a))&&(await this.fs.unlink(a),await this.removeNoteRelations(t),this.search.remove(t))}resolveNoteAbsolutePath(t){return W.isAbsolute(t)?t:W.resolve(this.notebookPath.fsPath,t)}resolveNoteRelativePath(t){return W.isAbsolute(t)?W.relative(this.notebookPath.fsPath,t):t}getNoteMarkdownEngine(t){return t=this.resolveNoteRelativePath(t),t in this.markdownEngines||(this.markdownEngines[t]=new Ne({notebook:this,filePath:this.resolveNoteAbsolutePath(t)})),this.markdownEngines[t]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let t in this.markdownEngines)this.markdownEngines[t].clearCaches()}};var La=require("html-escaper");var Br={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function Na(e){return e=e.toLowerCase(),Br[e]||e}function Ca(e){e.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function Oa(e){e.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var Se=N(xa());Se.default.hooks.add("wrap",e=>{e.type==="keyword"&&e.classes.push(`keyword-${e.content}`)});Oa(Se.default);Ca(Se.default);async function Nt(e){e("pre>code").each((t,n)=>{let a=e(n),r=a.text(),s=a.parent();a.replaceWith((0,La.escape)(r)),s.addClass("language-text")}),e('[data-role="codeBlock"]').each((t,n)=>{let a=e(n);if(a.data("hiddenByEnhancer")||a.data("normalizedInfo").attributes.hide===!0){a.remove();return}let s=a.text(),o=a.data("normalizedInfo"),l=Gr(Na(o.language),s);try{let d=Se.default.highlight(s,Se.default.languages[l],l);a.html(d)}catch{a.empty().append(e("<code></code>").text(s))}a.addClass(`language-${l}`),o.attributes.class&&(a.addClass(o.attributes.class),zr(a,s)),o.attributes.highlight&&Hr(a,s,o.attributes.highlight),a.removeAttr("data-parsed-info"),a.removeAttr("data-normalized-info")})}function Gr(e,t){return e==="vega"||e==="vega-lite"?(t.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":e}function zr(e,t){if(e.hasClass("numberLines")&&(e.addClass("line-numbers"),e.removeClass("numberLines")),e.hasClass("line-numbers")){if(!t.trim().length)return;let n=t.match(/\n(?!$)/g),a=n?n.length+1:1,r="";for(let s=0;s<a;s++)r+="<span></span>";e.append(`<span aria-hidden="true" class="line-numbers-rows">${r}</span>`)}}function Hr(e,t,n){if(!t.trim().length)return;typeof n=="number"?n=[n.toString()]:typeof n=="string"&&(n=n.split(","));let a=t.match(/\n(?!$)/g),r=a?a.length+1:1,s=[];n.forEach(o=>{if(o=o.toString(),o.indexOf("-")>0){let[l,d]=o.split("-").map(u=>parseInt(u,10));if(isNaN(l)||isNaN(d)||l<0||d<0||(l>d&&([l,d]=[d,l]),d>r))return;let c="";for(let u=l;u<=d;u++)c+=`
326
326
  `;let p="";for(let u=0;u<l-1;u++)p+=`
327
327
  `;s.push(`<div class="line-highlight-wrapper">${p}<div aria-hidden="true" class="line-highlight" data-range="${l}-${d}" data-start="${l}" data-end="${d}">${c}</div></div>`)}else{let l="",d=parseInt(o,10);if(isNaN(d)||d<0||d>r)return;for(let c=0;c<d-1;c++)l+=`
328
328
  `;s.push(`<div class="line-highlight-wrapper">${l}<div aria-hidden="true" class="line-highlight" data-range="${o}" data-start="${o}">
329
- </div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}var Da=require("path");async function it(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=ee(l),l=l.replace(/\?(\.|\d)+$/,"");let c=(0,Da.extname)(l).slice(1);if(c==="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/${c};charset=utf-8;base64,${u}`),p(u))).catch(u=>(console.error(u),p(null)))}))}}),await Promise.all(a)}var Pa=require("path");async function Ct(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=ee(l),l=l.replace(/\?(\.|\d)+$/,""),(0,Pa.extname)(l).slice(1)!=="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${u}`),p(u))).catch(()=>p(null))}))}}),await Promise.all(a)}async function Ot(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,c)=>{e(c).children().each((u,b)=>{let S=e(b);S.children().each((g,m)=>{let f=e(m),h=f.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[g]);E.length&&t.push([E,f])}else if(h.trim()===">"){let E=f.next();E.length&&n.push([f,E])}}else{let E=f.prev();E.length&&a.push([E,f])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}var Ma=require("html-escaper");async function xt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let c=d.data("normalizedInfo");c.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Gr(d,c,e,t,s,n,a)))}),await Promise.all(r)}async function Gr(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,c=ke(t),p=["js","javascript"].indexOf(c)!==-1,u=n('<div class="code-chunk"></div>');u.attr("data-id",d),u.attr("data-cmd",c),p&&u.attr("data-code",l),e.replaceWith(u);let b=n('<div class="input-div"/>');b.append(e),u.append(b);let S=a[d],g=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=g):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:g,next:null},a[d]=S),g&&a[g]&&(a[g].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await ot(d,a,o);let m=S.result;!m&&S.normalizedInfo.attributes.element&&(m=S.normalizedInfo.attributes.element,S.result=m),S.running&&u.addClass("running");let f='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${m}</div>`;!s.isForPreview&&p&&(E+=`<script>${l}</script>`,m=S.normalizedInfo.attributes.element||""),b.append(h),b.append(f),t.attributes.output_first===!0?u.prepend(E):u.append(E)}async function ot(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:c}=n,p=t[e];if(!p||p.running)return"";let u=[p.code],b=p;for(;b.normalizedInfo.attributes.continue;){let E=b.normalizedInfo.attributes.continue;if(E===!0&&(E=b.prev),b=t[E],!b)break;u.unshift(b.code)}let S=u.join(`
330
- `),g=ke(p.normalizedInfo);p.running=!0;let m,f="text",h=p.normalizedInfo.attributes.modify_source;try{let E=p.normalizedInfo.attributes;if(g==="toc")m=me(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,f="markdown",h=!0;else{if(!r)return"";m=await An(S,o,g,p.normalizedInfo.attributes,l)}if(p.plainResult=m,h&&"code_chunk_offset"in p.normalizedInfo.attributes)return p.result="",d(p,m,s);if(g.match(/(la)?tex/)||g==="pdflatex"||g.match(/python/)&&(E.matplotlib||E.mpl)?f="markdown":p.normalizedInfo.attributes.output&&(f=p.normalizedInfo.attributes.output),!m)m="";else if(f!=="html")if(f==="png")m=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(m).toString("base64")}">`;else if(f==="markdown"){let{html:A}=await c(m,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});m=A}else f==="none"?m="":m=`<pre class="language-text">${(0,Ma.escape)(m)}</pre>`}catch(E){m=`<pre class="language-text">${E}</pre>`}return p.result=m,p.running=!1,m}async function Lt(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(ot(a,e,t));return Promise.all(n)}var Fa=N(require("cross-fetch")),Ua=require("html-escaper"),Ba=N(require("yaml"));var st=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},zr=["mermaid","puml","plantuml","wavedrom","graphviz","viz","dot","vega","vega-lite"];async function Dt({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,c)=>{let p=e(c);if(p.data("executor"))return;let u=p.data("normalizedInfo"),b=!!u.attributes.kroki;u.attributes.literate===!1||u.attributes.cmd===!1||zr.indexOf(u.language)===-1&&!b||(p.data("executor","fenced-diagrams"),u.attributes.literate!==!1&&l.push(Hr({$container:p,normalizedInfo:u,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:b,kirokiServer:o})))}),await Promise.all(l)}async function Hr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let c=null,p=e.text(),u=Z(JSON.stringify(t)+p),b=a[u];if(l)if(b)c=b;else{let S=d||"https://kroki.io",g=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let f=await(await(0,Fa.default)(`${S}/${g}/${t.attributes.output??"svg"}`,{method:"POST",body:p,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();c=`<div ${Y(st(t.attributes,t.language))}>${f}</div>`,a[u]=c}catch(m){c=`<pre class="language-text">${m}</pre>`}}else try{switch(t.language){case"mermaid":{c=`<div ${Y(st(t.attributes,t.language))}>${(0,Ua.escape)(p)}</div>`;break}case"wavedrom":{c=`<div ${Y(st(t.attributes,t.language))}><script type="WaveDrom">${p}</script></div>`;break}case"puml":case"plantuml":{let S=b;S||(S=await $e({content:p,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=b;if(!S){let g=t.attributes.engine||"dot";S=await je(p,{engine:g}),a[u]=S}c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=p.trim(),g;S[0]!=="{"?g=Ba.parse(S):g=JSON.parse(S),c=jr(JSON.stringify(g).replace("<","&lt;"),t.attributes,t.language)}else{let S=b;S||(S=await(t.language==="vega"?fe:ze)(p,r),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`}break}}}catch(S){c=n(`<pre class="language-text">${S.toString()}</pre>`)}c!==null&&(t.attributes.output_first===!0?e.before(c):e.after(c)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var jr=(e,t,n)=>`<p ${Y(st(t,n))}><span style="display: none">${e}</span></p>`;var Wr=["math"];async function Pt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Wr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),c=Vr(d,l,t,n,a);l.attributes.output_first===!0?o.before(c):o.after(c),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var Vr=(e,t,n,a,r)=>{let s=null;try{let o=Ye({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${Y(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text">${o.toString()}</pre>`}return s};async function Mt(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let c=parseInt(l.parent().prev().attr("data-line"),10);c&&l.parent().after(`<p data-line="${c+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),c=d.prev();c.addClass(o),c.attr("id",encodeURIComponent(l)),d.remove()})}var $a=[{key:"vega-embed",version:"6.22.2"}],pe=class pe{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??ce().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Ut.default.AES.decrypt(n,"crossnote").toString(Ut.default.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${V(R.resolve(B(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
329
+ </div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}var Da=require("path");async function ot(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=ee(l),l=l.replace(/\?(\.|\d)+$/,"");let c=(0,Da.extname)(l).slice(1);if(c==="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/${c};charset=utf-8;base64,${u}`),p(u))).catch(u=>(console.error(u),p(null)))}))}}),await Promise.all(a)}var Pa=require("path");async function Ct(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=ee(l),l=l.replace(/\?(\.|\d)+$/,""),(0,Pa.extname)(l).slice(1)!=="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(u=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${u}`),p(u))).catch(()=>p(null))}))}}),await Promise.all(a)}async function Ot(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,c)=>{e(c).children().each((u,b)=>{let S=e(b);S.children().each((g,m)=>{let f=e(m),h=f.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[g]);E.length&&t.push([E,f])}else if(h.trim()===">"){let E=f.next();E.length&&n.push([f,E])}}else{let E=f.prev();E.length&&a.push([E,f])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}var Ma=require("html-escaper");async function xt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let c=d.data("normalizedInfo");c.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(jr(d,c,e,t,s,n,a)))}),await Promise.all(r)}async function jr(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,c=ke(t),p=["js","javascript"].indexOf(c)!==-1,u=n('<div class="code-chunk"></div>');u.attr("data-id",d),u.attr("data-cmd",c),p&&u.attr("data-code",l),e.replaceWith(u);let b=n('<div class="input-div"/>');b.append(e),u.append(b);let S=a[d],g=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=g):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:g,next:null},a[d]=S),g&&a[g]&&(a[g].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await st(d,a,o);let m=S.result;!m&&S.normalizedInfo.attributes.element&&(m=S.normalizedInfo.attributes.element,S.result=m),S.running&&u.addClass("running");let f='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${m}</div>`;!s.isForPreview&&p&&(E+=`<script>${l}</script>`,m=S.normalizedInfo.attributes.element||""),b.append(h),b.append(f),t.attributes.output_first===!0?u.prepend(E):u.append(E)}async function st(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:c}=n,p=t[e];if(!p||p.running)return"";let u=[p.code],b=p;for(;b.normalizedInfo.attributes.continue;){let E=b.normalizedInfo.attributes.continue;if(E===!0&&(E=b.prev),b=t[E],!b)break;u.unshift(b.code)}let S=u.join(`
330
+ `),g=ke(p.normalizedInfo);p.running=!0;let m,f="text",h=p.normalizedInfo.attributes.modify_source;try{let E=p.normalizedInfo.attributes;if(g==="toc")m=fe(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,f="markdown",h=!0;else{if(!r)return"";m=await An(S,o,g,p.normalizedInfo.attributes,l)}if(p.plainResult=m,h&&"code_chunk_offset"in p.normalizedInfo.attributes)return p.result="",d(p,m,s);if(g.match(/(la)?tex/)||g==="pdflatex"||g.match(/python/)&&(E.matplotlib||E.mpl)?f="markdown":p.normalizedInfo.attributes.output&&(f=p.normalizedInfo.attributes.output),!m)m="";else if(f!=="html")if(f==="png")m=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(m).toString("base64")}">`;else if(f==="markdown"){let{html:A}=await c(m,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});m=A}else f==="none"?m="":m=`<pre class="language-text">${(0,Ma.escape)(m)}</pre>`}catch(E){m=`<pre class="language-text">${E}</pre>`}return p.result=m,p.running=!1,m}async function Lt(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(st(a,e,t));return Promise.all(n)}var $a=N(require("cross-fetch")),Ga=require("html-escaper"),za=N(require("yaml"));var Fa=N(require("bit-field/lib/render")),Ua=N(require("onml"));async function Ba(e,t){try{let n=Te(e),a=(0,Fa.default)(n,t);return Ua.default.stringify(a)}catch(n){return`<pre>${n}</pre>`}}var lt=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},Wr=["mermaid","puml","plantuml","wavedrom","bitfield","bit-field","graphviz","viz","dot","vega","vega-lite"];async function Dt({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,c)=>{let p=e(c);if(p.data("executor"))return;let u=p.data("normalizedInfo"),b=!!u.attributes.kroki;u.attributes.literate===!1||u.attributes.cmd===!1||Wr.indexOf(u.language)===-1&&!b||(p.data("executor","fenced-diagrams"),u.attributes.literate!==!1&&l.push(Vr({$container:p,normalizedInfo:u,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:b,kirokiServer:o})))}),await Promise.all(l)}async function Vr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let c=null,p=e.text(),u=Z(JSON.stringify(t)+p),b=a[u];if(l)if(b)c=b;else{let S=d||"https://kroki.io",g=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let f=await(await(0,$a.default)(`${S}/${g}/${t.attributes.output??"svg"}`,{method:"POST",body:p,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();c=`<div ${Y(lt(t.attributes,t.language))}>${f}</div>`,a[u]=c}catch(m){c=`<pre class="language-text">${m}</pre>`}}else try{switch(t.language){case"mermaid":{c=`<div ${Y(lt(t.attributes,t.language))}>${(0,Ga.escape)(p)}</div>`;break}case"wavedrom":{c=`<div ${Y(lt(t.attributes,t.language))}><script type="WaveDrom">${p}</script></div>`;break}case"puml":case"plantuml":{let S=b;S||(S=await Ge({content:p,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"bitfield":case"bit-field":{let S=b;S||(S=await Ba(p,t.attributes),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=b;if(!S){let g=t.attributes.engine||"dot";S=await We(p,{engine:g}),a[u]=S}c=`<p ${Y(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=p.trim(),g;S[0]!=="{"?g=za.parse(S):g=JSON.parse(S),c=qr(JSON.stringify(g).replace("<","&lt;"),t.attributes,t.language)}else{let S=b;S||(S=await(t.language==="vega"?be:He)(p,r),a[u]=S),c=`<p ${Y(t.attributes)}>${S}</p>`}break}}}catch(S){c=n(`<pre class="language-text">${S.toString()}</pre>`)}c!==null&&(t.attributes.output_first===!0?e.before(c):e.after(c)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var qr=(e,t,n)=>`<p ${Y(lt(t,n))}><span style="display: none">${e}</span></p>`;var Yr=["math"];async function Pt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Yr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),c=Kr(d,l,t,n,a);l.attributes.output_first===!0?o.before(c):o.after(c),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var Kr=(e,t,n,a,r)=>{let s=null;try{let o=Ke({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${Y(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text">${o.toString()}</pre>`}return s};async function Mt(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let c=parseInt(l.parent().prev().attr("data-line"),10);c&&l.parent().after(`<p data-line="${c+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),c=d.prev();c.addClass(o),c.attr("id",encodeURIComponent(l)),d.remove()})}var Ha=[{key:"vega-embed",version:"6.22.2"}],ue=class ue{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??pe().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Ut.default.AES.decrypt(n,"crossnote").toString(Ut.default.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${V(R.resolve(B(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
331
331
  import zenuml from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
332
332
  await mermaid.registerExternalDiagrams([zenuml]);
333
333
  </script>`,r+=`<script type="text/javascript" src="${V(R.resolve(B(),"./dependencies/wavedrom/default.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${V(R.resolve(B(),"./dependencies/wavedrom/wavedrom.min.js"),a)}" charset="UTF-8"></script>`,this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let o=(0,Ft.copy)({...this.notebook.config.mathjaxConfig});o.tex=o.tex||{},o.tex.inlineMath=this.notebook.config.mathInlineDelimiters,o.tex.displayMath=this.notebook.config.mathBlockDelimiters,o.startup=o.startup||{},t||(o.startup.typeset=!1,o.startup.elements=[".hidden-preview"]),r+=`<script type="text/javascript"> window.MathJax = (${JSON.stringify(o)}); </script>`,r+=`<script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}" charset="UTF-8"></script>`}let s="";if(t){r+=`<script src='${V(R.resolve(B(),"./dependencies/reveal/js/reveal.js"),a)}'></script>`;let o=n.presentation||{};typeof o!="object"&&(o={});let l=o.dependencies||[];l instanceof Array||(l=[]),o.dependencies=l,s+=`
@@ -364,7 +364,7 @@ if (typeof(window['Reveal']) !== 'undefined') {
364
364
  }
365
365
  </script>`,t&&(s+=`
366
366
  WaveDrom.ProcessAll()
367
- `),$a.forEach(({key:o})=>{r+=`<script src="${V(R.resolve(B(),`./dependencies/${o}/${o}.min.js`),a)}" charset="UTF-8"></script>`}),t&&(s+=`
367
+ `),Ha.forEach(({key:o})=>{r+=`<script src="${V(R.resolve(B(),`./dependencies/${o}/${o}.min.js`),a)}" charset="UTF-8"></script>`}),t&&(s+=`
368
368
  var vegaEls = document.querySelectorAll('.vega, .vega-lite');
369
369
  function reportVegaError(el, error) {
370
370
  el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
@@ -384,11 +384,11 @@ if (typeof(window['Reveal']) !== 'undefined') {
384
384
  window["initRevealPresentation"] = async function() {
385
385
  ${s}
386
386
  }
387
- </script>`,r+s}getPrismTheme(t=!1,n={}){if(this.notebook.config.codeBlockTheme==="auto.css")if(t){let a=n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme;return pe.AutoPrismThemeMapForPresentation[a]||"default.css"}else return pe.AutoPrismThemeMap[this.notebook.config.previewTheme]||"default.css";else return this.notebook.config.codeBlockTheme}generateStylesForPreview(t=!1,n={},a=null){let r="";return this.notebook.config.mathRenderingOption==="KaTeX"&&!this.notebook.config.usePandocParser&&(r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/katex/katex.min.css"),a)}">`),r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/font-awesome/css/font-awesome.min.css"),a)}">`,t?(r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/reveal/css/reveal.css"),a)}" >`,r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./dependencies/reveal/css/theme/${n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme}`),a)}" >`):r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./styles/preview_theme/${this.notebook.config.previewTheme}`),a)}">`,r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./styles/prism_theme/${this.getPrismTheme(t,n)}`),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${V(R.resolve(B(),"./styles/style-template.css"),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${V(R.resolve(B(),"./styles/markdown-it-admonition.css"),a)}">`,r+=`<style>${this.notebook.config.globalCss}</style>`,r}generateJSAndCssFilesForPreview(t=[],n=null){let a="";return t.forEach(r=>{let s=r;r[0]==="/"?s=V(R.resolve(this.projectDirectoryPath.fsPath,"."+r),n):r.match(/^file:\/\//)||r.match(/^https?:\/\//)||(s=V(R.resolve(this.fileDirectoryPath,r),n)),s.endsWith(".js")?a+=`<script type="text/javascript" src="${s}"></script>`:a+=`<link rel="stylesheet" href="${s}">`}),a}async generateHTMLTemplateForPreview({inputString:t="",body:n="",webviewScript:a="",scripts:r="",styles:s="",head:o=`<base href="${this.filePath}">`,config:l,vscodePreviewPanel:d=null,contentSecurityPolicy:c="",isVSCodeWebExtension:p}){t||(t=await this.fs.readFile(this.filePath));let u="";a||(a=V(R.resolve(B(),"./webview/preview.js"),d),u=V(R.resolve(B(),"./webview/preview.css"),d)),n||(n="");let{yamlConfig:b,JSAndCssFiles:S,html:g}=await this.parseMD(t,{isForPreview:!0,useRelativeFilePath:!1,hideFrontMatter:!1,vscodePreviewPanel:d}),m=b.isPresentationMode;return`<!DOCTYPE html>
387
+ </script>`,r+s}getPrismTheme(t=!1,n={}){if(this.notebook.config.codeBlockTheme==="auto.css")if(t){let a=n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme;return ue.AutoPrismThemeMapForPresentation[a]||"default.css"}else return ue.AutoPrismThemeMap[this.notebook.config.previewTheme]||"default.css";else return this.notebook.config.codeBlockTheme}generateStylesForPreview(t=!1,n={},a=null){let r="";return this.notebook.config.mathRenderingOption==="KaTeX"&&!this.notebook.config.usePandocParser&&(r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/katex/katex.min.css"),a)}">`),r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/font-awesome/css/font-awesome.min.css"),a)}">`,t?(r+=`<link rel="stylesheet" href="${V(R.resolve(B(),"./dependencies/reveal/css/reveal.css"),a)}" >`,r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./dependencies/reveal/css/theme/${n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme}`),a)}" >`):r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./styles/preview_theme/${this.notebook.config.previewTheme}`),a)}">`,r+=`<link rel="stylesheet" href="${V(R.resolve(B(),`./styles/prism_theme/${this.getPrismTheme(t,n)}`),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${V(R.resolve(B(),"./styles/style-template.css"),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${V(R.resolve(B(),"./styles/markdown-it-admonition.css"),a)}">`,r+=`<style>${this.notebook.config.globalCss}</style>`,r}generateJSAndCssFilesForPreview(t=[],n=null){let a="";return t.forEach(r=>{let s=r;r[0]==="/"?s=V(R.resolve(this.projectDirectoryPath.fsPath,"."+r),n):r.match(/^file:\/\//)||r.match(/^https?:\/\//)||(s=V(R.resolve(this.fileDirectoryPath,r),n)),s.endsWith(".js")?a+=`<script type="text/javascript" src="${s}"></script>`:a+=`<link rel="stylesheet" href="${s}">`}),a}async generateHTMLTemplateForPreview({inputString:t="",body:n="",webviewScript:a="",scripts:r="",styles:s="",head:o=`<base href="${this.filePath}">`,config:l,vscodePreviewPanel:d=null,contentSecurityPolicy:c="",isVSCodeWebExtension:p}){t||(t=await this.fs.readFile(this.filePath));let u="";a||(a=V(R.resolve(B(),"./webview/preview.js"),d),u=V(R.resolve(B(),"./webview/preview.css"),d)),n||(n="");let{yamlConfig:b,JSAndCssFiles:S,html:g}=await this.parseMD(t,{isForPreview:!0,useRelativeFilePath:!1,hideFrontMatter:!1,vscodePreviewPanel:d}),m=b.isPresentationMode;return`<!DOCTYPE html>
388
388
  <html>
389
389
  <head>
390
390
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
391
- <meta id="crossnote-data" data-config="${(0,Se.escape)(JSON.stringify({...this.notebook.config,...l}))}" data-time="${Date.now()}">
391
+ <meta id="crossnote-data" data-config="${(0,se.escape)(JSON.stringify({...this.notebook.config,...l}))}" data-time="${Date.now()}">
392
392
  <meta charset="UTF-8">
393
393
  ${c?`<meta
394
394
  http-equiv="Content-Security-Policy"
@@ -401,7 +401,7 @@ window["initRevealPresentation"] = async function() {
401
401
  ${this.generateJSAndCssFilesForPreview(S,d)}
402
402
  ${o}
403
403
  </head>
404
- <body class="preview-container ${p?"vscode-web-extension":""}" data-html="${(0,Se.escape)(g)}" ${m?"data-presentation-mode":""}>
404
+ <body class="preview-container ${p?"vscode-web-extension":""}" data-html="${(0,se.escape)(g)}" ${m?"data-presentation-mode":""}>
405
405
  ${n}
406
406
  </body>
407
407
  ${this.generateScriptsForPreview(m,b,d)}
@@ -454,7 +454,7 @@ if (typeof(window['Reveal']) !== 'undefined') {
454
454
  nodes: document.querySelectorAll('.mermaid')
455
455
  })
456
456
  }
457
- </script>`);let p="",u="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(p+=`<script type="text/javascript" src="file:///${R.resolve(B(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,p+=`<script type="text/javascript" src="file:///${R.resolve(B(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),u="<script>WaveDrom.ProcessAll()</script>");let b="",S="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&($a.forEach(({key:O,version:v})=>{b+=a.offline?`<script type="text/javascript" src="file:///${R.resolve(B(),`./dependencies/${O}/${O}.min.js`)}" charset="UTF-8"></script>`:`<script type="text/javascript" src="https://${this.notebook.config.jsdelivrCdnHost}/npm/${O}@${v}/build/${O}.js"></script>`}),S+=`<script>
457
+ </script>`);let p="",u="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(p+=`<script type="text/javascript" src="file:///${R.resolve(B(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,p+=`<script type="text/javascript" src="file:///${R.resolve(B(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),u="<script>WaveDrom.ProcessAll()</script>");let b="",S="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&(Ha.forEach(({key:O,version:v})=>{b+=a.offline?`<script type="text/javascript" src="file:///${R.resolve(B(),`./dependencies/${O}/${O}.min.js`)}" charset="UTF-8"></script>`:`<script type="text/javascript" src="https://${this.notebook.config.jsdelivrCdnHost}/npm/${O}@${v}/build/${O}.js"></script>`}),S+=`<script>
458
458
  var vegaEls = document.querySelectorAll('.vega, .vega-lite');
459
459
  function reportVegaError(el, error) {
460
460
  el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
@@ -528,7 +528,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
528
528
  ${S}
529
529
  ${k}
530
530
  </html>
531
- `,a.embedLocalImages||a.embedSVG){let O=oe.load(t);a.embedLocalImages&&await it(O,this.notebook,this.resolveFilePath.bind(this)),a.embedSVG&&await Ct(O,this.notebook,this.resolveFilePath.bind(this)),t=O.html()}return t.trim()}async openInBrowser({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath),a,r;({html:a,yamlConfig:r}=await this.parseMD(n,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t})),a=await this.generateHTMLTemplateForExport(a,r,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let s=await Q({prefix:"crossnote",suffix:".html"});K.writeFileSync(s.fd,a),le(s.path)}async htmlExport({offline:t=!1,runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let o=s.html||{};"offline"in o&&(t=o.offline);let l=o.embed_local_images,d=!0;"embed_svg"in o&&(d=o.embed_svg);let c=this.filePath,p=R.extname(c);if(c=c.replace(new RegExp(p+"$"),".html"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!1,isForPrince:!1,embedLocalImages:l,offline:t,embedSVG:d}),!t&&r.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let u=R.resolve(R.dirname(c),"revealjs_deps");K.existsSync(u)||K.mkdirSync(u),K.createReadStream(R.resolve(B(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(K.createWriteStream(R.resolve(u,"notes.js"))),K.createReadStream(R.resolve(B(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(K.createWriteStream(R.resolve(u,"notes.html")))}return await this.fs.writeFile(c,r),c}async chromeExport({fileType:t="pdf",runAllCodeChunks:n=!1,openFileAfterGeneration:a=!1}){let r=await this.fs.readFile(this.filePath),s,o;({html:s,yamlConfig:o}=await this.parseMD(r,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t),s=await this.generateHTMLTemplateForExport(s,o,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let c="";try{if(c=this.notebook.config.chromePath,!c){let h=(await import("chrome-paths")).default;c=h.chrome||h.chromeCanary||h.chromium}}catch{c=""}if(!c)throw new Error("Chrome executable path is not set.");let u=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:c,headless:!0}),b=await Q({prefix:"crossnote",suffix:".html"});K.writeFileSync(b.fd,s);let S=await u.newPage(),g="file:///"+b.path+(o.isPresentationMode?"?print-pdf":"");await S.goto(g);let m={path:l,...o.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...o.chrome||o.puppeteer||{}},f=0;return o.chrome&&o.chrome.timeout?f=o.chrome.timeout:o.puppeteer&&o.puppeteer.timeout&&(f=o.puppeteer.timeout),f&&typeof f=="number"?await S.waitForTimeout(f):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await S.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),t==="pdf"?await S.pdf(m):(m.fullPage=!0,await S.screenshot(m)),u.close(),a&&le(l),l}async princeExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t}));let o=this.filePath,l=R.extname(o);o=o.replace(new RegExp(l+"$"),".pdf"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let d=await Q({prefix:"crossnote",suffix:".html"});return K.writeFileSync(d.fd,r),s.isPresentationMode?"file:///"+d.path+"?print-pdf":(await aa(d.path,o),n&&le(o),o)}async eBookDownloadImages(t,n){let a=[];(R.extname(n)===".epub"||R.extname("dest")===".mobi")&&t("img").each((s,o)=>{let l=t(o);(l.attr("src")||"").match(/^https?:\/\//)&&a.push(l)});let r=a.map(s=>new Promise(o=>{let l=s.attr("src"),d=Math.random().toString(36).substr(2,9)+"_"+R.basename(l);d=R.resolve(this.fileDirectoryPath,d),(0,za.default)(l).pipe(K.createWriteStream(d)).on("finish",()=>(s.attr("src","file:///"+d),o(d)))}));return Promise.all(r)}async eBookExport({fileType:t="epub",runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r=t==="pdf",s,o;({html:s,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n,emojiToSvg:r}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t.toLowerCase());let c=o.ebook||{};if(!c)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(c.cover){let w=c.cover;c.cover=ee(this.resolveFilePath(w,!1))}let p=oe.load(`<div>${s}</div>`),u=[],b=new te,S=p("div > ul").last();if(S.length){if(c.include_toc===!1){let w=S.prev();w.length&&w[0].name.match(/^h\d$/i)&&w.remove()}p("h1, h2, h3, h4, h5, h6").each((w,C)=>{let O=p(C),v=parseInt(O[0].name.slice(1),10)-1;O.attr("ebook-toc-level-"+(v+1),""),O.attr("heading",O.html())}),g(S,0),c.include_toc===!1&&S.remove()}function g(w,C){w.children("li").each((O,v)=>{let x=p(v),G=x.children("a").first();if(!G.length){x.children().length>=1&&g(x.children().last(),C+1);return}let U=decodeURIComponent(G.attr("href")),$=G.html()??"",L=b.generateId("ebook-heading-"+$);u.push({level:C,filePath:U,heading:$,id:L}),G.attr("href","#"+L),x.children().length>1&&g(x.children().last(),C+1)})}let m=u.map(({heading:w,id:C,level:O,filePath:v},x)=>new Promise((G,U)=>{if(v=ee(v),v.match(/^https?:\/\//))return G({heading:w,id:C,level:O,filePath:v,html:"",offset:x});K.readFile(v,{encoding:"utf-8"},($,L)=>{if($)return U($.toString());let z=R.dirname(this.filePath);L=L.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(I,j,H)=>{let D=R.resolve(R.dirname(v),H),M=R.relative(z,D);return j+M}),this.parseMD(L,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:r,fileDirectoryPath:R.dirname(v)}).then(({html:I})=>G({heading:w,id:C,level:O,filePath:v,html:I,offset:x}))})})),f=p.html().replace(/^<div>(.+)<\/div>$/,"$1"),h=await Promise.all(m);h=h.sort((w,C)=>w.offset-C.offset),h.forEach(({heading:w,id:C,level:O,html:v})=>{let x=oe.load(`<div>${v}</div>`);x("a").each((G,U)=>{let $=x(U),L=$.attr("href");L.startsWith("file://")&&h.forEach(z=>{z.filePath===ee(L)&&$.attr("href","#"+z.id)})}),f+=`<div id="${C}" ebook-toc-level-${O+1} heading="${w}">${x.html()}</div>`}),p=oe.load(f);let E=await this.eBookDownloadImages(p,l);if(R.extname(l)===".html"){if(c.cover){let w=c.cover[0]==="/"?"file:///"+c.cover:c.cover;p(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${w}">`)}await it(p,this.notebook,this.resolveFilePath.bind(this))}f=p.html();let A=c.title||"no title",_="";f.indexOf('class="katex"')>0&&(R.extname(l)===".html"&&c.html&&c.html.cdn?_=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.8/dist/katex.min.css">`:_=`<link rel="stylesheet" href="file:///${R.resolve(B(),"./dependencies/katex/katex.min.css")}">`);let T="";try{T=(await Promise.all([await this.fs.readFile(R.resolve(B(),"./styles/style-template.css")),await this.fs.readFile(R.resolve(B(),`./styles/prism_theme/${pe.AutoPrismThemeMap[c.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(R.resolve(B(),"./styles/twemoji.css")),await this.fs.readFile(R.resolve(B(),`./styles/preview_theme/${c.theme||this.notebook.config.previewTheme}`)),f.indexOf("admonition")>0?await this.fs.readFile(R.resolve(B(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{T=""}let k="";try{k=this.notebook.config.globalCss}catch{}if(s=`
531
+ `,a.embedLocalImages||a.embedSVG){let O=oe.load(t);a.embedLocalImages&&await ot(O,this.notebook,this.resolveFilePath.bind(this)),a.embedSVG&&await Ct(O,this.notebook,this.resolveFilePath.bind(this)),t=O.html()}return t.trim()}async openInBrowser({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath),a,r;({html:a,yamlConfig:r}=await this.parseMD(n,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t})),a=await this.generateHTMLTemplateForExport(a,r,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let s=await Q({prefix:"crossnote",suffix:".html"});K.writeFileSync(s.fd,a),de(s.path)}async htmlExport({offline:t=!1,runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let o=s.html||{};"offline"in o&&(t=o.offline);let l=o.embed_local_images,d=!0;"embed_svg"in o&&(d=o.embed_svg);let c=this.filePath,p=R.extname(c);if(c=c.replace(new RegExp(p+"$"),".html"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!1,isForPrince:!1,embedLocalImages:l,offline:t,embedSVG:d}),!t&&r.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let u=R.resolve(R.dirname(c),"revealjs_deps");K.existsSync(u)||K.mkdirSync(u),K.createReadStream(R.resolve(B(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(K.createWriteStream(R.resolve(u,"notes.js"))),K.createReadStream(R.resolve(B(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(K.createWriteStream(R.resolve(u,"notes.html")))}return await this.fs.writeFile(c,r),c}async chromeExport({fileType:t="pdf",runAllCodeChunks:n=!1,openFileAfterGeneration:a=!1}){let r=await this.fs.readFile(this.filePath),s,o;({html:s,yamlConfig:o}=await this.parseMD(r,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t),s=await this.generateHTMLTemplateForExport(s,o,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let c="";try{if(c=this.notebook.config.chromePath,!c){let h=(await import("chrome-paths")).default;c=h.chrome||h.chromeCanary||h.chromium}}catch{c=""}if(!c)throw new Error("Chrome executable path is not set.");let u=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:c,headless:!0}),b=await Q({prefix:"crossnote",suffix:".html"});K.writeFileSync(b.fd,s);let S=await u.newPage(),g="file:///"+b.path+(o.isPresentationMode?"?print-pdf":"");await S.goto(g);let m={path:l,...o.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...o.chrome||o.puppeteer||{}},f=0;return o.chrome&&o.chrome.timeout?f=o.chrome.timeout:o.puppeteer&&o.puppeteer.timeout&&(f=o.puppeteer.timeout),f&&typeof f=="number"?await S.waitForTimeout(f):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await S.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),t==="pdf"?await S.pdf(m):(m.fullPage=!0,await S.screenshot(m)),u.close(),a&&de(l),l}async princeExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t}));let o=this.filePath,l=R.extname(o);o=o.replace(new RegExp(l+"$"),".pdf"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let d=await Q({prefix:"crossnote",suffix:".html"});return K.writeFileSync(d.fd,r),s.isPresentationMode?"file:///"+d.path+"?print-pdf":(await aa(d.path,o),n&&de(o),o)}async eBookDownloadImages(t,n){let a=[];(R.extname(n)===".epub"||R.extname("dest")===".mobi")&&t("img").each((s,o)=>{let l=t(o);(l.attr("src")||"").match(/^https?:\/\//)&&a.push(l)});let r=a.map(s=>new Promise(o=>{let l=s.attr("src"),d=Math.random().toString(36).substr(2,9)+"_"+R.basename(l);d=R.resolve(this.fileDirectoryPath,d),(0,Wa.default)(l).pipe(K.createWriteStream(d)).on("finish",()=>(s.attr("src","file:///"+d),o(d)))}));return Promise.all(r)}async eBookExport({fileType:t="epub",runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r=t==="pdf",s,o;({html:s,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n,emojiToSvg:r}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t.toLowerCase());let c=o.ebook||{};if(!c)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(c.cover){let w=c.cover;c.cover=ee(this.resolveFilePath(w,!1))}let p=oe.load(`<div>${s}</div>`),u=[],b=new te,S=p("div > ul").last();if(S.length){if(c.include_toc===!1){let w=S.prev();w.length&&w[0].name.match(/^h\d$/i)&&w.remove()}p("h1, h2, h3, h4, h5, h6").each((w,C)=>{let O=p(C),v=parseInt(O[0].name.slice(1),10)-1;O.attr("ebook-toc-level-"+(v+1),""),O.attr("heading",O.html())}),g(S,0),c.include_toc===!1&&S.remove()}function g(w,C){w.children("li").each((O,v)=>{let x=p(v),G=x.children("a").first();if(!G.length){x.children().length>=1&&g(x.children().last(),C+1);return}let U=decodeURIComponent(G.attr("href")),$=G.html()??"",L=b.generateId("ebook-heading-"+$);u.push({level:C,filePath:U,heading:$,id:L}),G.attr("href","#"+L),x.children().length>1&&g(x.children().last(),C+1)})}let m=u.map(({heading:w,id:C,level:O,filePath:v},x)=>new Promise((G,U)=>{if(v=ee(v),v.match(/^https?:\/\//))return G({heading:w,id:C,level:O,filePath:v,html:"",offset:x});K.readFile(v,{encoding:"utf-8"},($,L)=>{if($)return U($.toString());let z=R.dirname(this.filePath);L=L.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(I,j,H)=>{let D=R.resolve(R.dirname(v),H),M=R.relative(z,D);return j+M}),this.parseMD(L,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:r,fileDirectoryPath:R.dirname(v)}).then(({html:I})=>G({heading:w,id:C,level:O,filePath:v,html:I,offset:x}))})})),f=p.html().replace(/^<div>(.+)<\/div>$/,"$1"),h=await Promise.all(m);h=h.sort((w,C)=>w.offset-C.offset),h.forEach(({heading:w,id:C,level:O,html:v})=>{let x=oe.load(`<div>${v}</div>`);x("a").each((G,U)=>{let $=x(U),L=$.attr("href");L.startsWith("file://")&&h.forEach(z=>{z.filePath===ee(L)&&$.attr("href","#"+z.id)})}),f+=`<div id="${C}" ebook-toc-level-${O+1} heading="${w}">${x.html()}</div>`}),p=oe.load(f);let E=await this.eBookDownloadImages(p,l);if(R.extname(l)===".html"){if(c.cover){let w=c.cover[0]==="/"?"file:///"+c.cover:c.cover;p(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${w}">`)}await ot(p,this.notebook,this.resolveFilePath.bind(this))}f=p.html();let A=c.title||"no title",_="";f.indexOf('class="katex"')>0&&(R.extname(l)===".html"&&c.html&&c.html.cdn?_=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.8/dist/katex.min.css">`:_=`<link rel="stylesheet" href="file:///${R.resolve(B(),"./dependencies/katex/katex.min.css")}">`);let T="";try{T=(await Promise.all([await this.fs.readFile(R.resolve(B(),"./styles/style-template.css")),await this.fs.readFile(R.resolve(B(),`./styles/prism_theme/${ue.AutoPrismThemeMap[c.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(R.resolve(B(),"./styles/twemoji.css")),await this.fs.readFile(R.resolve(B(),`./styles/preview_theme/${c.theme||this.notebook.config.previewTheme}`)),f.indexOf("admonition")>0?await this.fs.readFile(R.resolve(B(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{T=""}let k="";try{k=this.notebook.config.globalCss}catch{}if(s=`
532
532
  <!DOCTYPE html>
533
533
  <html>
534
534
  <head>
@@ -548,10 +548,10 @@ sidebarTOCBtn.addEventListener('click', function(event) {
548
548
  </body>
549
549
  </html>
550
550
  `,R.extname(l)===".html")return await this.fs.writeFile(l,s),l;function y(){E.forEach(w=>{K.unlink(w,()=>{})})}try{let w=await Q({prefix:"crossnote",suffix:".html"});return K.writeFileSync(w.fd,s),await Qt(w.path,l,c),y(),l}catch(w){throw y(),w}}async pandocExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath);this.notebook.config.parserConfig.onWillParseMarkdown&&(a=await this.notebook.config.parserConfig.onWillParseMarkdown(a)),t&&await this.parseMD(a,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let r={};if(a.startsWith("---")){let o=a.indexOf(`
551
- ---`);if(o>0){let l=a.slice(0,o+4);r=this.processFrontMatter(l,!1).data}}let s=await ta(a,{fileDirectoryPath:this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,sourceFilePath:this.filePath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r);return n&&le(s),s}async markdownExport({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath);t&&await this.parseMD(n,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let a={};if(n.startsWith("---")){let s=n.indexOf(`
551
+ ---`);if(o>0){let l=a.slice(0,o+4);r=this.processFrontMatter(l,!1).data}}let s=await ta(a,{fileDirectoryPath:this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,sourceFilePath:this.filePath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r);return n&&de(s),s}async markdownExport({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath);t&&await this.parseMD(n,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let a={};if(n.startsWith("---")){let s=n.indexOf(`
552
552
  ---`);if(s>0){let o=n.slice(0,s+4);n=n.replace(o,""),a=this.processFrontMatter(o,!1).data}}let r={};return a.markdown&&(r={...a.markdown}),r.image_dir||(r.image_dir=this.notebook.config.imageFolderPath),r.path||(this.filePath.match(/\.src\./)?r.path=this.filePath.replace(/\.src\./,"."):r.path=this.filePath.replace(new RegExp(R.extname(this.filePath)),"_"+R.extname(this.filePath)),r.path=R.basename(r.path)),(r.ignore_from_front_matter||!("ignore_from_front_matter"in r))&&delete a.markdown,a.export_on_save&&delete a.export_on_save,Object.keys(a).length&&(n=`---
553
- `+Ha.stringify(a)+`---
554
- `+n),await Zn(n,{projectDirectoryPath:this.projectDirectoryPath.fsPath,fileDirectoryPath:this.fileDirectoryPath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r)}exportOnSave(t){let n=gt();for(let a in t)if(a==="html")this.htmlExport({});else if(!n&&a==="prince")this.princeExport({openFileAfterGeneration:!1});else if(!n&&a==="puppeteer"||a==="chrome"){let r=t[a],s=this.chromeExport;s=s.bind(this),r===!0?s({fileType:"pdf",openFileAfterGeneration:!1}):typeof r=="string"?s({fileType:r,openFileAfterGeneration:!1}):r instanceof Array&&r.forEach(o=>{s({fileType:o,openFileAfterGeneration:!1})})}else if(!n&&a==="pandoc")this.pandocExport({openFileAfterGeneration:!1});else if(!n&&a==="ebook"){let r=t[a];r===!0?this.eBookExport({fileType:"epub"}):typeof r=="string"?this.eBookExport({fileType:r}):r instanceof Array&&r.forEach(s=>{this.eBookExport({fileType:s})})}}resolveFilePath(t="",n,a=""){return t.match(this.protocolsWhiteListRegExp)||t.startsWith("data:image/")||t[0]==="#"?t:t[0]==="/"?n?R.relative(a||this.fileDirectoryPath,R.resolve(this.projectDirectoryPath.fsPath,"."+t)):V(R.resolve(this.projectDirectoryPath.fsPath,"."+t),this.vscodePreviewPanel):n?t:V(R.resolve(a||this.fileDirectoryPath,t),this.vscodePreviewPanel)}clearCaches(){this.filesCache={},this.codeChunksData={},this.graphsCache={}}frontMatterToTable(t){if(t instanceof Array){let n="<tbody><tr>";return t.forEach(a=>n+=`<td>${this.frontMatterToTable(a)}</td>`),n+="</tr></tbody>",`<table>${n}</table>`}else if(typeof t=="object"){let n="<thead><tr>",a="<tbody><tr>";for(let r in t)t.hasOwnProperty(r)&&(n+=`<th>${r}</th>`,a+=`<td>${this.frontMatterToTable(t[r])}</td>`);return n+="</tr></thead>",a+="</tr></tbody>",`<table>${n}${a}</table>`}else return t}processFrontMatter(t,n=!1){if(t){let a=xe(t);if(this.notebook.config.usePandocParser)return{content:t,table:"",data:a||{}};if(n||(this.notebook.config.frontMatterRenderingOption??"")[0]==="n")return{content:"",table:"",data:a};if((this.notebook.config.frontMatterRenderingOption??"")[0]==="t"){let r;return typeof a=="object"?r=this.frontMatterToTable(a):r="<pre>Failed to parse YAML.</pre>",{content:"",table:r,data:a}}else return{content:t.replace(/^---/,"```yaml").replace(/\n---$/,"\n```\n"),table:"",data:a}}else return{content:t,table:"",data:{}}}parseSlides(t,n,a){let r=t.split("<p>[CROSSNOTESLIDE]</p>"),s=r[0];r=r.slice(1);let o="",l=0,d=-1,c=0;for(;l<r.length;){let u=r[l],b=n[l];"data-background-image"in b&&(b["data-background-image"]=this.resolveFilePath(b["data-background-image"],a)),"data-background-video"in b&&(b["data-background-video"]=this.resolveFilePath(b["data-background-video"],a)),"data-background-iframe"in b&&(b["data-background-iframe"]=this.resolveFilePath(b["data-background-iframe"],a));let S=Y(b,!1),g=b.class||"",m=b.id?`id="${b.id}"`:"";b.vertical?c+=1:(d+=1,l>0&&n[l-1].vertical&&(o+="</section>",c=0),l<r.length-1&&n[l+1].vertical&&(o+="<section>")),o+=`<section ${S} ${m} class="slide ${g}" data-line="${b.lineNo}" data-h="${d}" data-v="${c}">${u}</section>`,l+=1}l>0&&n[l-1].vertical&&(o+="</section>");let p=oe.load(o);return p("li").each((u,b)=>{let S=p(b),m=(S.html()??"").trim().split(`
553
+ `+Va.stringify(a)+`---
554
+ `+n),await Zn(n,{projectDirectoryPath:this.projectDirectoryPath.fsPath,fileDirectoryPath:this.fileDirectoryPath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r)}exportOnSave(t){let n=mt();for(let a in t)if(a==="html")this.htmlExport({});else if(!n&&a==="prince")this.princeExport({openFileAfterGeneration:!1});else if(!n&&a==="puppeteer"||a==="chrome"){let r=t[a],s=this.chromeExport;s=s.bind(this),r===!0?s({fileType:"pdf",openFileAfterGeneration:!1}):typeof r=="string"?s({fileType:r,openFileAfterGeneration:!1}):r instanceof Array&&r.forEach(o=>{s({fileType:o,openFileAfterGeneration:!1})})}else if(!n&&a==="pandoc")this.pandocExport({openFileAfterGeneration:!1});else if(!n&&a==="ebook"){let r=t[a];r===!0?this.eBookExport({fileType:"epub"}):typeof r=="string"?this.eBookExport({fileType:r}):r instanceof Array&&r.forEach(s=>{this.eBookExport({fileType:s})})}}resolveFilePath(t="",n,a=""){return t.match(this.protocolsWhiteListRegExp)||t.startsWith("data:image/")||t[0]==="#"?t:t[0]==="/"?n?R.relative(a||this.fileDirectoryPath,R.resolve(this.projectDirectoryPath.fsPath,"."+t)):V(R.resolve(this.projectDirectoryPath.fsPath,"."+t),this.vscodePreviewPanel):n?t:V(R.resolve(a||this.fileDirectoryPath,t),this.vscodePreviewPanel)}clearCaches(){this.filesCache={},this.codeChunksData={},this.graphsCache={}}frontMatterToTable(t){if(t instanceof Array){let n="<tbody><tr>";return t.forEach(a=>n+=`<td>${this.frontMatterToTable(a)}</td>`),n+="</tr></tbody>",`<table>${n}</table>`}else if(typeof t=="object"){let n="<thead><tr>",a="<tbody><tr>";for(let r in t)t.hasOwnProperty(r)&&(n+=`<th>${(0,se.escape)(r)}</th>`,a+=`<td>${this.frontMatterToTable(t[r])}</td>`);return n+="</tr></thead>",a+="</tr></tbody>",`<table>${n}${a}</table>`}else return(0,se.escape)(t)}processFrontMatter(t,n=!1){if(t){let a=Le(t);if(this.notebook.config.usePandocParser)return{content:t,table:"",data:a||{}};if(n||(this.notebook.config.frontMatterRenderingOption??"")[0]==="n")return{content:"",table:"",data:a};if((this.notebook.config.frontMatterRenderingOption??"")[0]==="t"){let r;return typeof a=="object"?r=this.frontMatterToTable(a):r="<pre>Failed to parse YAML.</pre>",{content:"",table:r,data:a}}else return{content:t.replace(/^---/,"```yaml").replace(/\n---$/,"\n```\n"),table:"",data:a}}else return{content:t,table:"",data:{}}}parseSlides(t,n,a){let r=t.split("<p>[CROSSNOTESLIDE]</p>"),s=r[0];r=r.slice(1);let o="",l=0,d=-1,c=0;for(;l<r.length;){let u=r[l],b=n[l];"data-background-image"in b&&(b["data-background-image"]=this.resolveFilePath(b["data-background-image"],a)),"data-background-video"in b&&(b["data-background-video"]=this.resolveFilePath(b["data-background-video"],a)),"data-background-iframe"in b&&(b["data-background-iframe"]=this.resolveFilePath(b["data-background-iframe"],a));let S=Y(b,!1),g=b.class||"",m=b.id?`id="${b.id}"`:"";b.vertical?c+=1:(d+=1,l>0&&n[l-1].vertical&&(o+="</section>",c=0),l<r.length-1&&n[l+1].vertical&&(o+="<section>")),o+=`<section ${S} ${m} class="slide ${g}" data-line="${b.lineNo}" data-h="${d}" data-v="${c}">${u}</section>`,l+=1}l>0&&n[l-1].vertical&&(o+="</section>");let p=oe.load(o);return p("li").each((u,b)=>{let S=p(b),m=(S.html()??"").trim().split(`
555
555
  `)[0].match(/<!--(.+?)-->/);if(m){let f=m[1].replace(/\.element:/,"").trim(),h=ne(f);for(let E in h)h.hasOwnProperty(E)&&S.attr(E,h[E])}}),`
556
556
  <div style="display:none;">${s}</div>
557
557
  <div class="reveal">
@@ -560,12 +560,12 @@ sidebarTOCBtn.addEventListener('click', function(event) {
560
560
  </div>
561
561
  </div>
562
562
  `}async pandocRender(t="",n){let a;switch(this.notebook.config.mathRenderingOption){case"MathJax":a="--mathjax";break;case"KaTeX":a="--katex";break;default:a=""}n=n||[],n=["--from="+this.notebook.config.pandocMarkdownFlavor,"--to=html",a].concat(n).filter(p=>p.length);let r="",s=t.split(`
563
- `),o=0,l=!1,d=0;for(;o<s.length;){let p=s[o],u=p.match(/(^\s*)```/);if(u){if(l=!l,l){let b=p.slice(u[0].length).trim();b||(b="text");let S=qe(b),g=Ve(S);d=u[1].length,r+=`${u[1]}\`\`\`{.text data-role="codeBlock" data-info="${(0,Se.escape)(b)}" data-parsed-info="${(0,Se.escape)(JSON.stringify(S))}" data-normalized-info="${(0,Se.escape)(JSON.stringify(g))}"}
563
+ `),o=0,l=!1,d=0;for(;o<s.length;){let p=s[o],u=p.match(/(^\s*)```/);if(u){if(l=!l,l){let b=p.slice(u[0].length).trim();b||(b="text");let S=Ye(b),g=qe(S);d=u[1].length,r+=`${u[1]}\`\`\`{.text data-role="codeBlock" data-info="${(0,se.escape)(b)}" data-parsed-info="${(0,se.escape)(JSON.stringify(S))}" data-normalized-info="${(0,se.escape)(JSON.stringify(g))}"}
564
564
  `}else u[1].length===d?r+=`${u[1]}\`\`\`
565
565
  `:(l=!l,r+=p+`
566
566
  `);o+=1;continue}p.match(/^\[toc\]/i)&&!l&&(p="[CROSSNOTETOC]"),r+=p+`
567
- `,o+=1}let c=this.notebook.config.pandocPath;return await new Promise((p,u)=>{var b;try{(b=(0,Ga.execFile)(c,n,{cwd:this.fileDirectoryPath,maxBuffer:1/0},(g,m,f)=>g?u(g):p(f?"<pre>"+f+"</pre>"+m:m)).stdin)==null||b.end(r,"utf-8")}catch(S){let g=S.toString();return g.indexOf("Error: write EPIPE")>=0&&(g=`"pandoc" is required to be installed.
568
- Check "http://pandoc.org/installing.html" website.`),u(g)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,s,o,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:s,JSAndCssFiles:o,headings:l,frontMatterString:d}=await de(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let c=this.processFrontMatter(d,n.hideFrontMatter),p=c.table,u=c.data||{};typeof u!="object"&&(u={}),a=c.content+a;let b;if(this.notebook.config.usePandocParser)try{let E=u.pandoc_args||[];E instanceof Array||(E=[]),E.find(_=>_.includes("pandoc-citeproc")||_.includes("--defaults"))===void 0&&(u.bibliography||u.references)&&E.push("--citeproc"),E=this.notebook.config.pandocArguments.concat(E),b=await this.pandocRender(a,E)}catch(E){b=`<pre>${E}</pre>`}else b=this.notebook.md.render(a);let S=u.toc||{},g=S.depth_from||1,m=S.depth_to||6,f=S.ordered;this.tocHTML=an(l,this.notebook.md.render.bind(this.notebook.md),{ordered:f,depthFrom:g,depthTo:m,tab:" "}),this.headings=l,s&&(b=b.replace(/^\s*<p>\[CROSSNOTETOC\]<\/p>\s*/gm,this.tocHTML));let h=oe.load(b);return await Pt(h,this.notebook.config.mathRenderingOption,this.notebook.config.mathBlockDelimiters,this.notebook.config.katexConfig),await Dt({$:h,graphsCache:this.graphsCache,fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,imageDirectoryPath:ee(this.resolveFilePath(this.notebook.config.imageFolderPath,!1)),plantumlServer:this.notebook.config.plantumlServer,plantumlJarPath:this.notebook.config.plantumlJarPath,kirokiServer:this.notebook.config.krokiServer}),await xt(h,this.codeChunksData,n,this.generateRunOptions()),await Nt(h),await Mt(h,n,this.resolveFilePath.bind(this),this.notebook.config.usePandocParser),this.notebook.config.enableExtendedTableSyntax&&await Ot(h),b=p+h("head").html()+h("body").html(),r.length&&(b=this.parseSlides(b,r,n.useRelativeFilePath),u&&(u.isPresentationMode=!0)),this.notebook.config.parserConfig.onDidParseMarkdown&&(b=await this.notebook.config.parserConfig.onDidParseMarkdown(b)),n.runAllCodeChunks?(await Lt(this.codeChunksData,this.generateRunOptions()),n.runAllCodeChunks=!1,this.parseMD(t,n)):(n.isForPreview&&(this.isPreviewInPresentationMode=!!r.length),n.triggeredBySave&&u.export_on_save&&this.exportOnSave(u.export_on_save),this.notebook.config.enableScriptExecution||(o=[]),{html:b,markdown:t,tocHTML:this.tocHTML,yamlConfig:u,JSAndCssFiles:o})}runCodeChunks(){return Lt(this.codeChunksData,this.generateRunOptions())}runCodeChunk(t){return ot(t,this.codeChunksData,this.generateRunOptions())}async modifySource(t,n,a){let r=()=>(t.running=!1,n),s=await this.notebook.fs.readFile(a);if(!s)return r();let o=async(u,b)=>{let S=b.length,g=0;for(let m=u+1;m<u+6&&m<S;m++)if(b[m].startsWith("<!-- code_chunk_output -->")){g=m;break}if(g){let m=g+1;for(;m<S&&!b[m].startsWith("<!-- /code_chunk_output -->");)m+=1;let f="";for(let E=g+2;E<m-1;E++)f+=b[E]+`
567
+ `,o+=1}let c=this.notebook.config.pandocPath;return await new Promise((p,u)=>{var b;try{(b=(0,ja.execFile)(c,n,{cwd:this.fileDirectoryPath,maxBuffer:1/0},(g,m,f)=>g?u(g):p(f?"<pre>"+f+"</pre>"+m:m)).stdin)==null||b.end(r,"utf-8")}catch(S){let g=S.toString();return g.indexOf("Error: write EPIPE")>=0&&(g=`"pandoc" is required to be installed.
568
+ Check "http://pandoc.org/installing.html" website.`),u(g)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,s,o,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:s,JSAndCssFiles:o,headings:l,frontMatterString:d}=await ce(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let c=this.processFrontMatter(d,n.hideFrontMatter),p=c.table,u=c.data||{};typeof u!="object"&&(u={}),a=c.content+a;let b;if(this.notebook.config.usePandocParser)try{let E=u.pandoc_args||[];E instanceof Array||(E=[]),E.find(_=>_.includes("pandoc-citeproc")||_.includes("--defaults"))===void 0&&(u.bibliography||u.references)&&E.push("--citeproc"),E=this.notebook.config.pandocArguments.concat(E),b=await this.pandocRender(a,E)}catch(E){b=`<pre>${E}</pre>`}else b=this.notebook.md.render(a);let S=u.toc||{},g=S.depth_from||1,m=S.depth_to||6,f=S.ordered;this.tocHTML=an(l,this.notebook.md.render.bind(this.notebook.md),{ordered:f,depthFrom:g,depthTo:m,tab:" "}),this.headings=l,s&&(b=b.replace(/^\s*<p>\[CROSSNOTETOC\]<\/p>\s*/gm,this.tocHTML));let h=oe.load(b);return await Pt(h,this.notebook.config.mathRenderingOption,this.notebook.config.mathBlockDelimiters,this.notebook.config.katexConfig),await Dt({$:h,graphsCache:this.graphsCache,fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,imageDirectoryPath:ee(this.resolveFilePath(this.notebook.config.imageFolderPath,!1)),plantumlServer:this.notebook.config.plantumlServer,plantumlJarPath:this.notebook.config.plantumlJarPath,kirokiServer:this.notebook.config.krokiServer}),await xt(h,this.codeChunksData,n,this.generateRunOptions()),await Nt(h),await Mt(h,n,this.resolveFilePath.bind(this),this.notebook.config.usePandocParser),this.notebook.config.enableExtendedTableSyntax&&await Ot(h),b=p+h("head").html()+h("body").html(),r.length&&(b=this.parseSlides(b,r,n.useRelativeFilePath),u&&(u.isPresentationMode=!0)),this.notebook.config.parserConfig.onDidParseMarkdown&&(b=await this.notebook.config.parserConfig.onDidParseMarkdown(b)),n.runAllCodeChunks?(await Lt(this.codeChunksData,this.generateRunOptions()),n.runAllCodeChunks=!1,this.parseMD(t,n)):(n.isForPreview&&(this.isPreviewInPresentationMode=!!r.length),n.triggeredBySave&&u.export_on_save&&this.exportOnSave(u.export_on_save),this.notebook.config.enableScriptExecution||(o=[]),{html:b,markdown:t,tocHTML:this.tocHTML,yamlConfig:u,JSAndCssFiles:o})}runCodeChunks(){return Lt(this.codeChunksData,this.generateRunOptions())}runCodeChunk(t){return st(t,this.codeChunksData,this.generateRunOptions())}async modifySource(t,n,a){let r=()=>(t.running=!1,n),s=await this.notebook.fs.readFile(a);if(!s)return r();let o=async(u,b)=>{let S=b.length,g=0;for(let m=u+1;m<u+6&&m<S;m++)if(b[m].startsWith("<!-- code_chunk_output -->")){g=m;break}if(g){let m=g+1;for(;m<S&&!b[m].startsWith("<!-- /code_chunk_output -->");)m+=1;let f="";for(let E=g+2;E<m-1;E++)f+=b[E]+`
569
569
  `;if(f===n+`
570
570
  `)return"";let h=[...b.slice(0,g+2),n,...b.slice(m-1)];return await this.notebook.fs.writeFile(a,h.join(`
571
571
  `)),""}else{let m=[...b.slice(0,u+1),`
@@ -576,4 +576,4 @@ ${n}
576
576
  <!-- /code_chunk_output -->
577
577
  `,...b.slice(u+1)];return await this.notebook.fs.writeFile(a,m.join(`
578
578
  `)),""}},l=s.split(`
579
- `)||[],d=l.length,c=0,p=t.normalizedInfo.attributes.code_chunk_offset;for(let u=0;u<d;u++){let b=l[u];if(b.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(c===p){for(u=u+1;u<d&&!l[u].match(/^```\s*/);)u+=1;await o(u,l);break}else c++;else if(b.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(c===p){await o(u,l);break}else c++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};pe.AutoPrismThemeMap={"atom-dark.css":"atom-dark.css","atom-light.css":"atom-light.css","atom-material.css":"atom-material.css","github-dark.css":"github-dark.css","github-light.css":"github.css","gothic.css":"github.css","medium.css":"github.css","monokai.css":"monokai.css","newsprint.css":"pen-paper-coffee.css","night.css":"darcula.css","one-dark.css":"one-dark.css","one-light.css":"one-light.css","solarized-light.css":"solarized-light.css","solarized-dark.css":"solarized-dark.css","vue.css":"vue.css"},pe.AutoPrismThemeMapForPresentation={"beige.css":"pen-paper-coffee.css","black.css":"one-dark.css","blood.css":"monokai.css","league.css":"okaidia.css","moon.css":"funky.css","night.css":"atom-dark.css","serif.css":"github.css","simple.css":"github.css","sky.css":"default.css","solarized.css":"solarized-light.css","white.css":"default.css"};var ve=pe;var qr={addFileProtocol:V,getCrossnoteBuildDirectory:B,openFile:le,setCrossnoteBuildDirectory:Vt,useExternalAddFileProtocolFunction:qt,uploadImage:ct};0&&(module.exports={IS_NODE,MarkdownEngine,Notebook,getDefaultKatexConfig,getDefaultMathjaxConfig,getDefaultMermaidConfig,getDefaultNotebookConfig,getDefaultParserConfig,loadConfigsInDirectory,utility,wrapNodeFSAsApi});
579
+ `)||[],d=l.length,c=0,p=t.normalizedInfo.attributes.code_chunk_offset;for(let u=0;u<d;u++){let b=l[u];if(b.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(c===p){for(u=u+1;u<d&&!l[u].match(/^```\s*/);)u+=1;await o(u,l);break}else c++;else if(b.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(c===p){await o(u,l);break}else c++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};ue.AutoPrismThemeMap={"atom-dark.css":"atom-dark.css","atom-light.css":"atom-light.css","atom-material.css":"atom-material.css","github-dark.css":"github-dark.css","github-light.css":"github.css","gothic.css":"github.css","medium.css":"github.css","monokai.css":"monokai.css","newsprint.css":"pen-paper-coffee.css","night.css":"darcula.css","one-dark.css":"one-dark.css","one-light.css":"one-light.css","solarized-light.css":"solarized-light.css","solarized-dark.css":"solarized-dark.css","vue.css":"vue.css"},ue.AutoPrismThemeMapForPresentation={"beige.css":"pen-paper-coffee.css","black.css":"one-dark.css","blood.css":"monokai.css","league.css":"okaidia.css","moon.css":"funky.css","night.css":"atom-dark.css","serif.css":"github.css","simple.css":"github.css","sky.css":"default.css","solarized.css":"solarized-light.css","white.css":"default.css"};var Ne=ue;var Zr={addFileProtocol:V,getCrossnoteBuildDirectory:B,openFile:de,setCrossnoteBuildDirectory:Vt,useExternalAddFileProtocolFunction:qt,uploadImage:pt};0&&(module.exports={IS_NODE,MarkdownEngine,Notebook,getDefaultKatexConfig,getDefaultMathjaxConfig,getDefaultMermaidConfig,getDefaultNotebookConfig,getDefaultParserConfig,loadConfigsInDirectory,utility,wrapNodeFSAsApi});