@dogsbay/render 0.2.0-beta.129 → 0.2.0-beta.130
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/README.md +29 -3
- package/dist/bin.mjs +1 -1
- package/dist/chunks/{chunk-YC7BAVNG.mjs → chunk-IFOG5DZX.mjs} +624 -246
- package/dist/chunks/{chunk-4WDV4LZ6.mjs → chunk-O6GUJ4JT.mjs} +2 -2
- package/dist/chunks/chunk-PISZYHIF.mjs +10 -0
- package/dist/chunks/{highlight-FVJ3DT6L.mjs → highlight-RH4Q5TXN.mjs} +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/types/document.d.ts +36 -0
- package/dist/types/exportable.d.ts +11 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/report.d.ts +22 -3
- package/package.json +7 -6
- package/skills/dogsbay-documents/SKILL.md +9 -2
- package/skills/dogsbay-documents/artifact.md +108 -0
- package/dist/chunks/chunk-2WIDSLTD.mjs +0 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as c,b as g,
|
|
1
|
+
import{a as c,b as g,d as v}from"./chunk-IFOG5DZX.mjs";import{lstatSync as L,readFileSync as h,realpathSync as k,writeFileSync as b}from"node:fs";import{dirname as M,extname as $,isAbsolute as x,resolve as j,sep as R}from"node:path";var p=`dogsbay-render ${g}: render one Dogsbay Markdown file to one self-contained HTML file
|
|
2
2
|
|
|
3
3
|
Usage: dogsbay-render <in.md | -> [-o out.html] [options]
|
|
4
4
|
|
|
@@ -14,7 +14,7 @@ Usage: dogsbay-render <in.md | -> [-o out.html] [options]
|
|
|
14
14
|
-h, --help this text
|
|
15
15
|
-v, --version the version
|
|
16
16
|
|
|
17
|
-
The report is JSON: { schemaVersion, warnings: [{ code, message }], sizes, elements }.`,S={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".avif":"image/avif"};function T(a){let t=k(a);return i=>{let n;try{n=decodeURIComponent(i.split(/[?#]/)[0])}catch{return}if(!n||x(n)||/^[a-z]+:/i.test(n))return;let l=S[$(n).toLowerCase()];if(!l)return;let d=j(t,n),s=r=>r===t||r.startsWith(t+R);if(s(d))try{let r=k(d),u=L(r);return!s(r)||!u.isFile()||u.nlink>1||S[$(r).toLowerCase()]!==l?void 0:{bytes:new Uint8Array(h(r)),mime:l}}catch{return}}}var m=class extends Error{constructor(i,n){super(i);this.code=n}};function o(a,t=1){throw new m(a,t)}async function F(a){try{return await A(a),0}catch(t){let i=t instanceof m?t.code:1,n=t instanceof Error?t.message:String(t);return process.stderr.write(n.startsWith("dogsbay-render ")?`${n}
|
|
17
|
+
The report is JSON: { schemaVersion, warnings: [{ code, message, line? }], sizes, elements }.`,S={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".avif":"image/avif"};function T(a){let t=k(a);return i=>{let n;try{n=decodeURIComponent(i.split(/[?#]/)[0])}catch{return}if(!n||x(n)||/^[a-z]+:/i.test(n))return;let l=S[$(n).toLowerCase()];if(!l)return;let d=j(t,n),s=r=>r===t||r.startsWith(t+R);if(s(d))try{let r=k(d),u=L(r);return!s(r)||!u.isFile()||u.nlink>1||S[$(r).toLowerCase()]!==l?void 0:{bytes:new Uint8Array(h(r)),mime:l}}catch{return}}}var m=class extends Error{constructor(i,n){super(i);this.code=n}};function o(a,t=1){throw new m(a,t)}async function F(a){try{return await A(a),0}catch(t){let i=t instanceof m?t.code:1,n=t instanceof Error?t.message:String(t);return process.stderr.write(n.startsWith("dogsbay-render ")?`${n}
|
|
18
18
|
`:`dogsbay-render: ${n}
|
|
19
19
|
`),i}}async function A(a){let t=[...a],i,n,l,d,s={},r=e=>t.shift()??o(`${e} needs a value`,2);for(;t.length;){let e=t.shift();if(e==="-h"||e==="--help")return void process.stdout.write(p+`
|
|
20
20
|
`);if(e==="-v"||e==="--version")return void process.stdout.write(g+`
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var b={"&":"&","<":"<",">":">",'"':""","'":"'"};function d(t){return String(t??"").replace(/[&<>"']/g,n=>b[n])}function j(t){let n="";for(let[s,e]of Object.entries(t))e==null||e===!1||e===""&&s!=="alt"||(n+=e===!0?` ${s}`:` ${s}="${d(e)}"`);return n}function w(t,n){let s={},e=[n,t?.class].filter(Boolean).join(" ");if(e&&(s.class=e),!t)return s;for(let[o,r]of Object.entries(t))(o==="id"||o==="style"||o.startsWith("data-")||o.startsWith("aria-"))&&(s[o]=r);return s}function A(t){return t.toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g,"").replace(/<[^>]*>/g,"").replace(/[^\p{L}\p{N}\s_-]/gu,"").trim().replace(/[\s_]+/g,"-").replace(/-+/g,"-")||"section"}function O(t){return t.replace(/&(amp|lt|gt|quot|#39|#x27|apos);/g,(n,s)=>({amp:"&",lt:"<",gt:">",quot:'"',"#39":"'","#x27":"'",apos:"'"})[s])}var E="<!--db-foreign-->",L="<!--/db-foreign-->";var g=/[ \t]*(?:\/\/|#|--|<!--|\/\*|;)[ \t]*\[!code[^\]]*\](?:[ \t]*(?:-->|\*\/))?/g,h=/[ \t]*\[!code[^\]]*\]/g;function m(t,n){return t.includes("[!code")?t.split(`
|
|
2
|
+
`).map(s=>{if(n)return s.replace(g,"").replace(h,"");let e="",o=0;for(let r of s.matchAll(g)){let c=r.index+r[0].length;if(s.slice(c).trim()==="")break;e+=s.slice(o,r.index),o=c}return e+s.slice(o)}).join(`
|
|
3
|
+
`):t}function _(t){return t.replace(g,"").replace(h,"").replace(/\s*\/\/\s*![a-z]+.*$/gm,"").trim()}var $=new Set(["","text","txt","plain","plaintext","none","output","log","code","codeblock"]);function B(t){if(t==null)return[];let n=[];for(let s of String(t).replace(/[{}]/g,"").split(/[,\s]+/)){let e=/^(\d+)(?:-(\d+))?$/.exec(s);if(!e)continue;let o=Number(e[1]),r=e[2]?Number(e[2]):o;for(let c=o;c<=Math.min(r,o+5e3);c++)n.push(c)}return n}function S(t){let n=[...new Set(t)].filter(e=>e>0).sort((e,o)=>e-o),s=[];for(let e of n){let o=s[s.length-1];o&&e===o[1]+1?o[1]=e:s.push([e,e])}return s}function C(t,n,s){let e=t.indexOf("<code>"),o=t.lastIndexOf("</code>");if(e<0||o<e||!n.length)return t;let r=t.slice(e+6,o).split(`
|
|
4
|
+
`);for(let[c,p]of S(n).reverse()){if(c>r.length)continue;let l=Math.min(p,r.length),i=`<span class="code-collapse"><label class="code-collapse-label" data-pagefind-ignore><input type="checkbox" class="code-collapse-toggle">${s(l-c+1)}</label><span class="code-collapse-lines">${r.slice(c-1,l).join(`
|
|
5
|
+
`)}</span></span>`;r.splice(c-1,l-c+1,i)}return t.slice(0,e+6)+r.join(`
|
|
6
|
+
`)+t.slice(o)}function k(t,n,s,e){if(!s&&!e)return"";let o=[];return s&&o.push(String(t).padStart(3)),e&&o.push(n==="add"?"+":n==="remove"?"\u2212":" "),`<span class="gutter${n?` ${n}`:""}" data-pagefind-ignore>${o.join(" ")}</span>`}function N(t,n={}){let s=new Set(n.highlights??[]),e=new Set(n.diffAdd??[]),o=new Set(n.diffRemove??[]),r=n.lineNumbers?" line-numbers":"",c=e.size>0||o.size>0,p=t.split(`
|
|
7
|
+
`).map((l,i)=>{let a=i+1,f=e.has(a)?"add":o.has(a)?"remove":"";return`<span class="${["line",s.has(a)&&"highlighted",f&&`diff ${f}`].filter(Boolean).join(" ")}">${k(a,f,!!n.lineNumbers,c)}${d(l)}</span>`});return`<pre class="shiki shiki-plain${r}" tabindex="0"><code>${p.join(`
|
|
8
|
+
`)}</code></pre>`}var x=/[ \t]*(?:(?:\/\/|#|--|<!--|\/\*|;)[ \t]*)?\[!code (\+\+|--|highlight|hl)(?::(\d+))?\](?:[ \t]*(?:-->|\*\/))?/;function R(t,n={}){if(!t.includes("[!code"))return{code:t,opts:n};let s=new Set(n.highlights??[]),e=new Set(n.diffAdd??[]),o=new Set(n.diffRemove??[]),r=[],c,p=(l,i)=>(i==="++"?e:i==="--"?o:s).add(l);for(let l of t.split(`
|
|
9
|
+
`)){let i=x.exec(l),a=i?l.replace(x,""):l;if(i&&a.trim()===""){c={kind:i[1],left:Number(i[2]??1)};continue}r.push(a);let f=r.length;if(c&&c.left>0&&(p(f,c.kind),--c.left===0&&(c=void 0)),i){let u=Number(i[2]??1);p(f,i[1]),u>1&&(c={kind:i[1],left:u-1})}}return{code:r.join(`
|
|
10
|
+
`),opts:{...n,highlights:[...s].sort((l,i)=>l-i),diffAdd:[...e].sort((l,i)=>l-i),diffRemove:[...o].sort((l,i)=>l-i)}}}function v(){let t=s=>{let e=(s??"").toLowerCase().trim();return $.has(e)?"text":e},n=(s,e,o={})=>{let r=R(s.replace(/\n$/,""),o);return N(m(r.code,!0),r.opts)};return{resolve:t,render:n,code:n,has:()=>!1,prime:()=>{},cacheStats:()=>({entries:0,chars:0,hits:0,misses:0})}}var F=v();export{d as a,j as b,w as c,A as d,O as e,E as f,L as g,m as h,_ as i,$ as j,B as k,C as l,N as m,F as n};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as qn,h as Dt,j as Vn,k as Ls,l as jt}from"./chunk-2WIDSLTD.mjs";import{b as Ts}from"./chunk-2V77MTNA.mjs";var I=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function Ps(e){return Jt(e)}function Jt(e){return Array.isArray(e)?Ms(e):e instanceof RegExp?e:typeof e=="object"?$s(e):e}function Ms(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=Jt(e[n]);return t}function $s(e){let t={};for(let n in e)t[n]=Jt(e[n]);return t}function nr(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function rr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?rr(e.substring(0,e.length-1)):e.substr(~t+1)}var Ht=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ze=class{static hasCaptures(e){return e===null?!1:(Ht.lastIndex=0,Ht.test(e))}static replaceCaptures(e,t,n){return e.replace(Ht,(r,o,s,i)=>{let a=n[parseInt(o||s,10)];if(a){let l=t.substring(a.start,a.end);for(;l[0]===".";)l=l.substring(1);switch(i){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function or(e,t){return e<t?-1:e>t?1:0}function sr(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let o=0;o<n;o++){let s=or(e[o],t[o]);if(s!==0)return s}return 0}return n-r}function Xn(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function ir(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ar=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},he=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Gs(e),t)}static createFromParsedTheme(e,t){return js(e,t)}_cachedMatchRoot=new ar(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>Fs(e.parent,o.parentScopes));return r?new lr(r.fontStyle,r.foreground,r.background):null}},Ut=class et{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(let r of n)t=new et(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new et(n,t[r]);return n}push(t){return new et(this,t)}getSegments(){let t=this,n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let n=[],r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function Fs(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],o=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],o=!0}for(;e&&!Os(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Os(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var lr=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Gs(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let o=0,s=t.length;o<s;o++){let i=t[o];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let d=i.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),a=d.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let l=-1;if(typeof i.settings.fontStyle=="string"){l=0;let d=i.settings.fontStyle.split(" ");for(let h=0,f=d.length;h<f;h++)switch(d[h]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let c=null;typeof i.settings.foreground=="string"&&Xn(i.settings.foreground)&&(c=i.settings.foreground);let u=null;typeof i.settings.background=="string"&&Xn(i.settings.background)&&(u=i.settings.background);for(let d=0,h=a.length;d<h;d++){let g=a[d].trim().split(" "),m=g[g.length-1],y=null;g.length>1&&(y=g.slice(0,g.length-1),y.reverse()),n[r++]=new Ds(m,y,o,l,c,u)}}return n}var Ds=class{constructor(e,t,n,r,o,s){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=o,this.background=s}},O=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(O||{});function js(e,t){e.sort((l,c)=>{let u=or(l.scope,c.scope);return u!==0||(u=sr(l.parentScopes,c.parentScopes),u!==0)?u:l.index-c.index});let n=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(n=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let s=new Hs(t),i=new lr(n,s.getId(r),s.getId(o)),a=new Ws(new zt(0,null,-1,0,0),[]);for(let l=0,c=e.length;l<c;l++){let u=e[l];a.insert(0,u.scope,u.parentScopes,u.fontStyle,s.getId(u.foreground),s.getId(u.background))}return new he(s,i,a)}var Hs=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Us=Object.freeze([]),zt=class cr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,n,r,o,s){this.scopeDepth=t,this.parentScopes=n||Us,this.fontStyle=r,this.foreground=o,this.background=s}clone(){return new cr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,o=t.length;r<o;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Ws=class qt{constructor(t,n=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=n.parentScopes.length);){let s=n.parentScopes[o].length-t.parentScopes[r].length;if(s!==0)return s;r++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,s;if(r===-1?(o=t,s=""):(o=t.substring(0,r),s=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(s)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(qt._cmpBySpecificity),n}insert(t,n,r,o,s,i){if(n===""){this._doInsertHere(t,r,o,s,i);return}let a=n.indexOf("."),l,c;a===-1?(l=n,c=""):(l=n.substring(0,a),c=n.substring(a+1));let u;this._children.hasOwnProperty(l)?u=this._children[l]:(u=new qt(this._mainRule.clone(),zt.cloneArr(this._rulesWithParentScopes)),this._children[l]=u),u.insert(t+1,c,r,o,s,i)}_doInsertHere(t,n,r,o,s){if(n===null){this._mainRule.acceptOverwrite(t,r,o,s);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let l=this._rulesWithParentScopes[i];if(sr(l.parentScopes,n)===0){l.acceptOverwrite(t,r,o,s);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new zt(t,n,r,o,s))}},ie=class q{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let n=q.getLanguageId(t),r=q.getTokenType(t),o=q.getFontStyle(t),s=q.getForeground(t),i=q.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:o,foreground:s,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,o,s,i,a){let l=q.getLanguageId(t),c=q.getTokenType(t),u=q.containsBalancedBrackets(t)?1:0,d=q.getFontStyle(t),h=q.getForeground(t),f=q.getBackground(t);return n!==0&&(l=n),r!==8&&(c=r),o!==null&&(u=o?1:0),s!==-1&&(d=s),i!==0&&(h=i),a!==0&&(f=a),(l<<0|c<<8|u<<10|d<<11|h<<15|f<<24)>>>0}};function nt(e,t){let n=[],r=zs(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let c=i();if(n.push({matcher:c,priority:l}),o!==",")break;o=r.next()}return n;function s(){if(o==="-"){o=r.next();let l=s();return c=>!!l&&!l(c)}if(o==="("){o=r.next();let l=a();return o===")"&&(o=r.next()),l}if(Yn(o)){let l=[];do l.push(o),o=r.next();while(Yn(o));return c=>t(l,c)}return null}function i(){let l=[],c=s();for(;c;)l.push(c),c=s();return u=>l.every(d=>d(u))}function a(){let l=[],c=i();for(;c&&(l.push(c),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");c=i()}return u=>l.some(d=>d(u))}}function Yn(e){return!!e&&!!e.match(/[\w\.:]+/)}function zs(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function ur(e){typeof e.dispose=="function"&&e.dispose()}var $e=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},qs=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Vs=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Xs=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new $e(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Vs;for(let n of e)Ys(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof $e){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function Ys(e,t,n,r){let o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=n.lookup(t);e instanceof $e?tt({baseGrammar:s,selfGrammar:o},r):Vt(e.ruleName,{baseGrammar:s,selfGrammar:o,repository:o.repository},r);let i=n.injections(e.scopeName);if(i)for(let a of i)r.add(new $e(a))}function Vt(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];rt([r],t,n)}}function tt(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&rt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&rt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function rt(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let o=r.repository?nr({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&rt(r.patterns,{...t,repository:o},n);let s=r.include;if(!s)continue;let i=dr(s);switch(i.kind){case 0:tt({...t,selfGrammar:t.baseGrammar},n);break;case 1:tt(t,n);break;case 2:Vt(i.ruleName,{...t,repository:o},n);break;case 3:case 4:let a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){let l={baseGrammar:t.baseGrammar,selfGrammar:a,repository:o};i.kind===4?Vt(i.ruleName,l,n):tt(l,n)}else i.kind===4?n.add(new qs(i.scopeName,i.ruleName)):n.add(new $e(i.scopeName));break}}}var Ks=class{kind=0},Js=class{kind=1},Qs=class{constructor(e){this.ruleName=e}kind=2},Zs=class{constructor(e){this.scopeName=e}kind=3},ei=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function dr(e){if(e==="$base")return new Ks;if(e==="$self")return new Js;let t=e.indexOf("#");if(t===-1)return new Zs(e);if(t===0)return new Qs(e.substring(1));{let n=e.substring(0,t),r=e.substring(t+1);return new ei(n,r)}}var ti=/\\(\d+)/,Kn=/\\(\d+)/g,Xc=Symbol("RuleId"),ni=-1,fr=-2;var Ge=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=Ze.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ze.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${rr(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ze.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ze.replaceCaptures(this._contentName,e,t)}},ri=class extends Ge{retokenizeCapturedWithRuleId;constructor(e,t,n,r,o){super(e,t,n,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},oi=class extends Ge{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,o){super(e,t,n,null),this._match=new Fe(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Jn=class extends Ge{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,o){super(e,t,n,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Xt=class extends Ge{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,o,s,i,a,l,c){super(e,t,n,r),this._begin=new Fe(o,this.id),this.beginCaptures=s,this._end=new Fe(i||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=a,this.applyEndPatternLast=l||!1,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Oe;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},ot=class extends Ge{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,o,s,i,a,l){super(e,t,n,r),this._begin=new Fe(o,this.id),this.beginCaptures=s,this.whileCaptures=a,this._while=new Fe(i,fr),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Oe;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Oe,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},hr=class G{static createCaptureRule(t,n,r,o,s){return t.registerRule(i=>new ri(n,i,r,o,s))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new oi(t.$vscodeTextmateLocation,t.id,t.name,t.match,G._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=nr({},r,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Jn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,G._compilePatterns(s,n,r))}return t.while?new ot(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,G._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,G._compileCaptures(t.whileCaptures||t.captures,n,r),G._compilePatterns(t.patterns,n,r)):new Xt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,G._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,G._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,G._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let o=[];if(t){let s=0;for(let i in t){if(i==="$vscodeTextmateLocation")continue;let a=parseInt(i,10);a>s&&(s=a)}for(let i=0;i<=s;i++)o[i]=null;for(let i in t){if(i==="$vscodeTextmateLocation")continue;let a=parseInt(i,10),l=0;t[i].patterns&&(l=G.getCompiledRuleId(t[i],n,r)),o[a]=G.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,l)}}return o}static _compilePatterns(t,n,r){let o=[];if(t)for(let s=0,i=t.length;s<i;s++){let a=t[s],l=-1;if(a.include){let c=dr(a.include);switch(c.kind){case 0:case 1:l=G.getCompiledRuleId(r[a.include],n,r);break;case 2:let u=r[c.ruleName];u&&(l=G.getCompiledRuleId(u,n,r));break;case 3:case 4:let d=c.scopeName,h=c.kind===4?c.ruleName:null,f=n.getExternalGrammar(d,r);if(f)if(h){let g=f.repository[h];g&&(l=G.getCompiledRuleId(g,n,f.repository))}else l=G.getCompiledRuleId(f.repository.$self,n,f.repository);break}}else l=G.getCompiledRuleId(a,n,r);if(l!==-1){let c=n.getRule(l),u=!1;if((c instanceof Jn||c instanceof Xt||c instanceof ot)&&c.hasMissingPatterns&&c.patterns.length===0&&(u=!0),u)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Fe=class gr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,n){if(t&&typeof t=="string"){let r=t.length,o=0,s=[],i=!1;for(let a=0;a<r;a++)if(t.charAt(a)==="\\"&&a+1<r){let c=t.charAt(a+1);c==="z"?(s.push(t.substring(o,a)),s.push("$(?!\\n)(?<!\\n)"),o=a+2):(c==="A"||c==="G")&&(i=!0),a++}this.hasAnchor=i,o===0?this.source=t:(s.push(t.substring(o,r)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=ti.test(this.source):this.hasBackReferences=!1}clone(){return new gr(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(o=>t.substring(o.start,o.end));return Kn.lastIndex=0,this.source.replace(Kn,(o,s)=>ir(r[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],o=[],s,i,a,l;for(s=0,i=this.source.length;s<i;s++)a=this.source.charAt(s),t[s]=a,n[s]=a,r[s]=a,o[s]=a,a==="\\"&&s+1<i&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",n[s+1]="\uFFFF",r[s+1]="A",o[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",n[s+1]="G",r[s+1]="\uFFFF",o[s+1]="G"):(t[s+1]=l,n[s+1]=l,r[s+1]=l,o[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Oe=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Qn(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(o=>o.resolveAnchors(t,n));return new Qn(e,r,this._items.map(o=>o.ruleId))}},Qn=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
1
|
+
import{a as qn,h as Dt,j as Vn,k as Ls,m as jt}from"./chunk-PISZYHIF.mjs";import{b as Ts}from"./chunk-2V77MTNA.mjs";var I=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function Ps(e){return Jt(e)}function Jt(e){return Array.isArray(e)?Ms(e):e instanceof RegExp?e:typeof e=="object"?$s(e):e}function Ms(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=Jt(e[n]);return t}function $s(e){let t={};for(let n in e)t[n]=Jt(e[n]);return t}function nr(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function rr(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?rr(e.substring(0,e.length-1)):e.substr(~t+1)}var Ht=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ze=class{static hasCaptures(e){return e===null?!1:(Ht.lastIndex=0,Ht.test(e))}static replaceCaptures(e,t,n){return e.replace(Ht,(r,o,s,i)=>{let a=n[parseInt(o||s,10)];if(a){let l=t.substring(a.start,a.end);for(;l[0]===".";)l=l.substring(1);switch(i){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function or(e,t){return e<t?-1:e>t?1:0}function sr(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let o=0;o<n;o++){let s=or(e[o],t[o]);if(s!==0)return s}return 0}return n-r}function Xn(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function ir(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ar=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},he=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(Gs(e),t)}static createFromParsedTheme(e,t){return js(e,t)}_cachedMatchRoot=new ar(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>Fs(e.parent,o.parentScopes));return r?new lr(r.fontStyle,r.foreground,r.background):null}},Ut=class et{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(let r of n)t=new et(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new et(n,t[r]);return n}push(t){return new et(this,t)}getSegments(){let t=this,n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let n=[],r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function Fs(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],o=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],o=!0}for(;e&&!Os(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Os(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var lr=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function Gs(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let o=0,s=t.length;o<s;o++){let i=t[o];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let d=i.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),a=d.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let l=-1;if(typeof i.settings.fontStyle=="string"){l=0;let d=i.settings.fontStyle.split(" ");for(let h=0,f=d.length;h<f;h++)switch(d[h]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let c=null;typeof i.settings.foreground=="string"&&Xn(i.settings.foreground)&&(c=i.settings.foreground);let u=null;typeof i.settings.background=="string"&&Xn(i.settings.background)&&(u=i.settings.background);for(let d=0,h=a.length;d<h;d++){let g=a[d].trim().split(" "),m=g[g.length-1],y=null;g.length>1&&(y=g.slice(0,g.length-1),y.reverse()),n[r++]=new Ds(m,y,o,l,c,u)}}return n}var Ds=class{constructor(e,t,n,r,o,s){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=o,this.background=s}},O=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(O||{});function js(e,t){e.sort((l,c)=>{let u=or(l.scope,c.scope);return u!==0||(u=sr(l.parentScopes,c.parentScopes),u!==0)?u:l.index-c.index});let n=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(n=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let s=new Hs(t),i=new lr(n,s.getId(r),s.getId(o)),a=new Ws(new zt(0,null,-1,0,0),[]);for(let l=0,c=e.length;l<c;l++){let u=e[l];a.insert(0,u.scope,u.parentScopes,u.fontStyle,s.getId(u.foreground),s.getId(u.background))}return new he(s,i,a)}var Hs=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Us=Object.freeze([]),zt=class cr{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,n,r,o,s){this.scopeDepth=t,this.parentScopes=n||Us,this.fontStyle=r,this.foreground=o,this.background=s}clone(){return new cr(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,o=t.length;r<o;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Ws=class qt{constructor(t,n=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=n.parentScopes.length);){let s=n.parentScopes[o].length-t.parentScopes[r].length;if(s!==0)return s;r++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,s;if(r===-1?(o=t,s=""):(o=t.substring(0,r),s=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(s)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(qt._cmpBySpecificity),n}insert(t,n,r,o,s,i){if(n===""){this._doInsertHere(t,r,o,s,i);return}let a=n.indexOf("."),l,c;a===-1?(l=n,c=""):(l=n.substring(0,a),c=n.substring(a+1));let u;this._children.hasOwnProperty(l)?u=this._children[l]:(u=new qt(this._mainRule.clone(),zt.cloneArr(this._rulesWithParentScopes)),this._children[l]=u),u.insert(t+1,c,r,o,s,i)}_doInsertHere(t,n,r,o,s){if(n===null){this._mainRule.acceptOverwrite(t,r,o,s);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let l=this._rulesWithParentScopes[i];if(sr(l.parentScopes,n)===0){l.acceptOverwrite(t,r,o,s);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new zt(t,n,r,o,s))}},ie=class q{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let n=q.getLanguageId(t),r=q.getTokenType(t),o=q.getFontStyle(t),s=q.getForeground(t),i=q.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:o,foreground:s,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,o,s,i,a){let l=q.getLanguageId(t),c=q.getTokenType(t),u=q.containsBalancedBrackets(t)?1:0,d=q.getFontStyle(t),h=q.getForeground(t),f=q.getBackground(t);return n!==0&&(l=n),r!==8&&(c=r),o!==null&&(u=o?1:0),s!==-1&&(d=s),i!==0&&(h=i),a!==0&&(f=a),(l<<0|c<<8|u<<10|d<<11|h<<15|f<<24)>>>0}};function nt(e,t){let n=[],r=zs(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let c=i();if(n.push({matcher:c,priority:l}),o!==",")break;o=r.next()}return n;function s(){if(o==="-"){o=r.next();let l=s();return c=>!!l&&!l(c)}if(o==="("){o=r.next();let l=a();return o===")"&&(o=r.next()),l}if(Yn(o)){let l=[];do l.push(o),o=r.next();while(Yn(o));return c=>t(l,c)}return null}function i(){let l=[],c=s();for(;c;)l.push(c),c=s();return u=>l.every(d=>d(u))}function a(){let l=[],c=i();for(;c&&(l.push(c),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");c=i()}return u=>l.some(d=>d(u))}}function Yn(e){return!!e&&!!e.match(/[\w\.:]+/)}function zs(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function ur(e){typeof e.dispose=="function"&&e.dispose()}var $e=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},qs=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Vs=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Xs=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new $e(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Vs;for(let n of e)Ys(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof $e){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function Ys(e,t,n,r){let o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=n.lookup(t);e instanceof $e?tt({baseGrammar:s,selfGrammar:o},r):Vt(e.ruleName,{baseGrammar:s,selfGrammar:o,repository:o.repository},r);let i=n.injections(e.scopeName);if(i)for(let a of i)r.add(new $e(a))}function Vt(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];rt([r],t,n)}}function tt(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&rt(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&rt(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function rt(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let o=r.repository?nr({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&rt(r.patterns,{...t,repository:o},n);let s=r.include;if(!s)continue;let i=dr(s);switch(i.kind){case 0:tt({...t,selfGrammar:t.baseGrammar},n);break;case 1:tt(t,n);break;case 2:Vt(i.ruleName,{...t,repository:o},n);break;case 3:case 4:let a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){let l={baseGrammar:t.baseGrammar,selfGrammar:a,repository:o};i.kind===4?Vt(i.ruleName,l,n):tt(l,n)}else i.kind===4?n.add(new qs(i.scopeName,i.ruleName)):n.add(new $e(i.scopeName));break}}}var Ks=class{kind=0},Js=class{kind=1},Qs=class{constructor(e){this.ruleName=e}kind=2},Zs=class{constructor(e){this.scopeName=e}kind=3},ei=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function dr(e){if(e==="$base")return new Ks;if(e==="$self")return new Js;let t=e.indexOf("#");if(t===-1)return new Zs(e);if(t===0)return new Qs(e.substring(1));{let n=e.substring(0,t),r=e.substring(t+1);return new ei(n,r)}}var ti=/\\(\d+)/,Kn=/\\(\d+)/g,Xc=Symbol("RuleId"),ni=-1,fr=-2;var Ge=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=Ze.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ze.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${rr(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ze.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ze.replaceCaptures(this._contentName,e,t)}},ri=class extends Ge{retokenizeCapturedWithRuleId;constructor(e,t,n,r,o){super(e,t,n,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},oi=class extends Ge{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,o){super(e,t,n,null),this._match=new Fe(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Jn=class extends Ge{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,o){super(e,t,n,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Oe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Xt=class extends Ge{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,o,s,i,a,l,c){super(e,t,n,r),this._begin=new Fe(o,this.id),this.beginCaptures=s,this._end=new Fe(i||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=a,this.applyEndPatternLast=l||!1,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Oe;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},ot=class extends Ge{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,o,s,i,a,l){super(e,t,n,r),this._begin=new Fe(o,this.id),this.beginCaptures=s,this.whileCaptures=a,this._while=new Fe(i,fr),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Oe;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Oe,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},hr=class G{static createCaptureRule(t,n,r,o,s){return t.registerRule(i=>new ri(n,i,r,o,s))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new oi(t.$vscodeTextmateLocation,t.id,t.name,t.match,G._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=nr({},r,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Jn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,G._compilePatterns(s,n,r))}return t.while?new ot(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,G._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,G._compileCaptures(t.whileCaptures||t.captures,n,r),G._compilePatterns(t.patterns,n,r)):new Xt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,G._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,G._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,G._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let o=[];if(t){let s=0;for(let i in t){if(i==="$vscodeTextmateLocation")continue;let a=parseInt(i,10);a>s&&(s=a)}for(let i=0;i<=s;i++)o[i]=null;for(let i in t){if(i==="$vscodeTextmateLocation")continue;let a=parseInt(i,10),l=0;t[i].patterns&&(l=G.getCompiledRuleId(t[i],n,r)),o[a]=G.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,l)}}return o}static _compilePatterns(t,n,r){let o=[];if(t)for(let s=0,i=t.length;s<i;s++){let a=t[s],l=-1;if(a.include){let c=dr(a.include);switch(c.kind){case 0:case 1:l=G.getCompiledRuleId(r[a.include],n,r);break;case 2:let u=r[c.ruleName];u&&(l=G.getCompiledRuleId(u,n,r));break;case 3:case 4:let d=c.scopeName,h=c.kind===4?c.ruleName:null,f=n.getExternalGrammar(d,r);if(f)if(h){let g=f.repository[h];g&&(l=G.getCompiledRuleId(g,n,f.repository))}else l=G.getCompiledRuleId(f.repository.$self,n,f.repository);break}}else l=G.getCompiledRuleId(a,n,r);if(l!==-1){let c=n.getRule(l),u=!1;if((c instanceof Jn||c instanceof Xt||c instanceof ot)&&c.hasMissingPatterns&&c.patterns.length===0&&(u=!0),u)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Fe=class gr{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,n){if(t&&typeof t=="string"){let r=t.length,o=0,s=[],i=!1;for(let a=0;a<r;a++)if(t.charAt(a)==="\\"&&a+1<r){let c=t.charAt(a+1);c==="z"?(s.push(t.substring(o,a)),s.push("$(?!\\n)(?<!\\n)"),o=a+2):(c==="A"||c==="G")&&(i=!0),a++}this.hasAnchor=i,o===0?this.source=t:(s.push(t.substring(o,r)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=ti.test(this.source):this.hasBackReferences=!1}clone(){return new gr(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(o=>t.substring(o.start,o.end));return Kn.lastIndex=0,this.source.replace(Kn,(o,s)=>ir(r[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],o=[],s,i,a,l;for(s=0,i=this.source.length;s<i;s++)a=this.source.charAt(s),t[s]=a,n[s]=a,r[s]=a,o[s]=a,a==="\\"&&s+1<i&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",n[s+1]="\uFFFF",r[s+1]="A",o[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",n[s+1]="G",r[s+1]="\uFFFF",o[s+1]="G"):(t[s+1]=l,n[s+1]=l,r[s+1]=l,o[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Oe=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Qn(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(o=>o.resolveAnchors(t,n));return new Qn(e,r,this._items.map(o=>o.ruleId))}},Qn=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
2
2
|
`)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Wt=class{constructor(e,t){this.languageId=e,this.tokenType=t}},si=class Yt{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,n){this._defaultAttributes=new Wt(t,8),this._embeddedLanguagesMatcher=new ii(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Yt._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Wt(0,0);_getBasicScopeAttributes=new ar(t=>{let n=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Wt(n,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let n=t.match(Yt.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},ii=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([n,r])=>ir(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Yc={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},pr=!1,Zn=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function mr(e,t,n,r,o,s,i,a){let l=t.content.length,c=!1,u=-1;if(i){let f=ai(e,t,n,r,o,s);o=f.stack,r=f.linePos,n=f.isFirstLine,u=f.anchorPosition}let d=Date.now();for(;!c;){if(a!==0&&Date.now()-d>a)return new Zn(o,!0);h()}return new Zn(o,!1);function h(){let f=li(e,t,n,r,o,u);if(!f){s.produce(o,l),c=!0;return}let g=f.captureIndices,m=f.matchedRuleId,y=g&&g.length>0?g[0].end>r:!1;if(m===ni){let b=o.getRule(e);s.produce(o,g[0].start),o=o.withContentNameScopesList(o.nameScopesList),Pe(e,t,n,o,s,b.endCaptures,g),s.produce(o,g[0].end);let p=o;if(o=o.parent,u=p.getAnchorPos(),!y&&p.getEnterPos()===r){o=p,s.produce(o,l),c=!0;return}}else{let b=e.getRule(m);s.produce(o,g[0].start);let p=o,w=b.getName(t.content,g),C=o.contentNameScopesList.pushAttributed(w,e);if(o=o.push(m,r,u,g[0].end===l,null,C,C),b instanceof Xt){let S=b;Pe(e,t,n,o,s,S.beginCaptures,g),s.produce(o,g[0].end),u=g[0].end;let E=S.getContentName(t.content,g),R=C.pushAttributed(E,e);if(o=o.withContentNameScopesList(R),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,g))),!y&&p.hasSameRuleAs(o)){o=o.pop(),s.produce(o,l),c=!0;return}}else if(b instanceof ot){let S=b;Pe(e,t,n,o,s,S.beginCaptures,g),s.produce(o,g[0].end),u=g[0].end;let E=S.getContentName(t.content,g),R=C.pushAttributed(E,e);if(o=o.withContentNameScopesList(R),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,g))),!y&&p.hasSameRuleAs(o)){o=o.pop(),s.produce(o,l),c=!0;return}}else if(Pe(e,t,n,o,s,b.captures,g),s.produce(o,g[0].end),o=o.pop(),!y){o=o.safePop(),s.produce(o,l),c=!0;return}}g[0].end>r&&(r=g[0].end,n=!1)}}function ai(e,t,n,r,o,s){let i=o.beginRuleCapturedEOL?0:-1,a=[];for(let l=o;l;l=l.pop()){let c=l.getRule(e);c instanceof ot&&a.push({rule:c,stack:l})}for(let l=a.pop();l;l=a.pop()){let{ruleScanner:c,findOptions:u}=di(l.rule,e,l.stack.endRule,n,r===i),d=c.findNextMatchSync(t,r,u);if(d){if(d.ruleId!==fr){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Pe(e,t,n,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),i=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,n=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:i,isFirstLine:n}}function li(e,t,n,r,o,s){let i=ci(e,t,n,r,o,s),a=e.getInjections();if(a.length===0)return i;let l=ui(a,e,t,n,r,o,s);if(!l)return i;if(!i)return l;let c=i.captureIndices[0].start,u=l.captureIndices[0].start;return u<c||l.priorityMatch&&u===c?l:i}function ci(e,t,n,r,o,s){let i=o.getRule(e),{ruleScanner:a,findOptions:l}=br(i,e,o.endRule,n,r===s),c=a.findNextMatchSync(t,r,l);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function ui(e,t,n,r,o,s,i){let a=Number.MAX_VALUE,l=null,c,u=0,d=s.contentNameScopesList.getScopeNames();for(let h=0,f=e.length;h<f;h++){let g=e[h];if(!g.matcher(d))continue;let m=t.getRule(g.ruleId),{ruleScanner:y,findOptions:b}=br(m,t,null,r,o===i),p=y.findNextMatchSync(n,o,b);if(!p)continue;let w=p.captureIndices[0].start;if(!(w>=a)&&(a=w,l=p.captureIndices,c=p.ruleId,u=g.priority,a===o))break}return l?{priorityMatch:u===-1,captureIndices:l,matchedRuleId:c}:null}function br(e,t,n,r,o){if(pr){let i=e.compile(t,n),a=yr(r,o);return{ruleScanner:i,findOptions:a}}return{ruleScanner:e.compileAG(t,n,r,o),findOptions:0}}function di(e,t,n,r,o){if(pr){let i=e.compileWhile(t,n),a=yr(r,o);return{ruleScanner:i,findOptions:a}}return{ruleScanner:e.compileWhileAG(t,n,r,o),findOptions:0}}function yr(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function Pe(e,t,n,r,o,s,i){if(s.length===0)return;let a=t.content,l=Math.min(s.length,i.length),c=[],u=i[0].end;for(let d=0;d<l;d++){let h=s[d];if(h===null)continue;let f=i[d];if(f.length===0)continue;if(f.start>u)break;for(;c.length>0&&c[c.length-1].endPos<=f.start;)o.produceFromScopes(c[c.length-1].scopes,c[c.length-1].endPos),c.pop();if(c.length>0?o.produceFromScopes(c[c.length-1].scopes,f.start):o.produce(r,f.start),h.retokenizeCapturedWithRuleId){let m=h.getName(a,i),y=r.contentNameScopesList.pushAttributed(m,e),b=h.getContentName(a,i),p=y.pushAttributed(b,e),w=r.push(h.retokenizeCapturedWithRuleId,f.start,-1,!1,null,y,p),C=e.createOnigString(a.substring(0,f.end));mr(e,C,n&&f.start===0,f.start,w,o,!1,0),ur(C);continue}let g=h.getName(a,i);if(g!==null){let y=(c.length>0?c[c.length-1].scopes:r.contentNameScopesList).pushAttributed(g,e);c.push(new fi(y,f.end))}}for(;c.length>0;)o.produceFromScopes(c[c.length-1].scopes,c[c.length-1].endPos),c.pop()}var fi=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function hi(e,t,n,r,o,s,i,a){return new pi(e,t,n,r,o,s,i,a)}function er(e,t,n,r,o){let s=nt(t,st),i=hr.getCompiledRuleId(n,r,o.repository);for(let a of s)e.push({debugSelector:t,matcher:a.matcher,ruleId:i,grammar:o,priority:a.priority})}function st(e,t){if(t.length<e.length)return!1;let n=0;return e.every(r=>{for(let o=n;o<t.length;o++)if(gi(t[o],r))return n=o+1,!0;return!1})}function gi(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var pi=class{constructor(e,t,n,r,o,s,i,a){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=a,this._basicScopeAttributesProvider=new si(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=i,this._grammar=tr(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let c=nt(l,st);for(let u of c)this._tokenTypeMatchers.push({matcher:u.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let o=r.injections;if(o)for(let i in o)er(t,i,o[i],this,r);let s=this._grammarRepository.injections(n);s&&s.forEach(i=>{let a=this.getExternalGrammar(i);if(a){let l=a.injectionSelector;l&&er(t,l,a,this,a)}})}return t.sort((o,s)=>o.priority-s.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=tr(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=hr.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Kt.NULL){o=!0;let c=this._basicScopeAttributesProvider.getDefaultAttributes(),u=this.themeProvider.getDefaults(),d=ie.set(0,c.languageId,c.tokenType,null,u.fontStyle,u.foregroundId,u.backgroundId),h=this.getRule(this._rootId).getName(null,null),f;h?f=Me.createRootAndLookUpScopeName(h,d,this):f=Me.createRoot("unknown",d),t=new Kt(null,this._rootId,-1,-1,!1,null,f,f)}else o=!1,t.reset();e=e+`
|
|
3
3
|
`;let s=this.createOnigString(e),i=s.content.length,a=new bi(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=mr(this,s,o,0,t,a,!0,r);return ur(s),{lineLength:i,lineTokens:a,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function tr(e,t){return e=Ps(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Me=class J{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}static fromExtension(t,n){let r=t,o=t?.scopePath??null;for(let s of n)o=Ut.push(o,s.scopeNames),r=new J(r,o,s.encodedTokenAttributes);return r}static createRoot(t,n){return new J(null,new Ut(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let o=r.getMetadataForScope(t),s=new Ut(null,t),i=r.themeProvider.themeMatch(s),a=J.mergeAttributes(n,o,i);return new J(null,s,a)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return J.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,r){let o=-1,s=0,i=0;return r!==null&&(o=r.fontStyle,s=r.foregroundId,i=r.backgroundId),ie.set(t,n.languageId,n.tokenType,null,o,s,i)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return J._pushAttributed(this,t,n);let r=t.split(/ /g),o=this;for(let s of r)o=J._pushAttributed(o,s,n);return o}static _pushAttributed(t,n,r){let o=r.getMetadataForScope(n),s=t.scopePath.push(n),i=r.themeProvider.themeMatch(s),a=J.mergeAttributes(t.tokenAttributes,o,i);return new J(t,s,a)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let n=[],r=this;for(;r&&r!==t;)n.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?n.reverse():void 0}},Kt=class fe{constructor(t,n,r,o,s,i,a,l){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=s,this.endRule=i,this.nameScopesList=a,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new fe(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:fe._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?Me.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){fe._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,o,s,i,a){return new fe(this,t,n,r,o,s,i,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new fe(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=Me.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new fe(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Me.fromExtension(r,n.contentNameScopesList))}},mi=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):nt(n,st).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>nt(n,st).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},bi=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let s=e?.getScopeNames()??[];for(let i of this._tokenTypeOverrides)i.matcher(s)&&(r=ie.set(r,0,i.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(s))}if(o&&(r=ie.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)n[r]=this._binaryTokens[r];return n}},yi=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,o){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,hi(e,s,t,n,r,o,this,this._onigLib))}return this._grammars.get(e)}},kr=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new yi(he.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(he.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new mi(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,o){let s=new Xs(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(i=>this._loadSingleGrammar(i.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,n,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,o)}},xe=Kt.NULL;function ge(e,t){let n=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?n[o]=s:o===r&&Object.assign(n,s);return n}function U(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function _r(e){return Array.isArray(e)?e:[e]}async function Qt(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function je(e){return!e||["plaintext","txt","text","plain"].includes(e)}function xr(e){return e==="ansi"||je(e)}function He(e){return e==="none"}function Er(e){return He(e)}var ki=/(\r?\n)/g;function ae(e,t=!1){if(e.length===0)return[["",0]];let n=e.split(ki),r=0,o=[];for(let s=0;s<n.length;s+=2){let i=t?n[s]+(n[s+1]||""):n[s];o.push([i,r]),r+=n[s].length,r+=n[s+1]?.length||0}return o}var wr={light:"#333333",dark:"#bbbbbb"},Cr={light:"#fffffe",dark:"#1e1e1e"},Sr="__shiki_resolved";function it(e){if(e?.[Sr])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let a=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;a?.settings?.foreground&&(r=a.settings.foreground),a?.settings?.background&&(n=a.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),r||(r=t.type==="light"?wr.light:wr.dark),n||(n=t.type==="light"?Cr.light:Cr.dark),t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,s=new Map;function i(a){if(s.has(a))return s.get(a);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?i(a):(s.set(a,l),l)}t.settings=t.settings.map(a=>{let l=a.settings?.foreground&&!a.settings.foreground.startsWith("#"),c=a.settings?.background&&!a.settings.background.startsWith("#");if(!l&&!c)return a;let u={...a,settings:{...a.settings}};if(l){let d=i(a.settings.foreground);t.colorReplacements[d]=a.settings.foreground,u.settings.foreground=d}if(c){let d=i(a.settings.background);t.colorReplacements[d]=a.settings.background,u.settings.background=d}return u});for(let a of Object.keys(t.colors||{}))if((a==="editor.foreground"||a==="editor.background"||a.startsWith("terminal.ansi"))&&!t.colors[a]?.startsWith("#")){let l=i(t.colors[a]);t.colorReplacements[l]=t.colors[a],t.colors[a]=l}return Object.defineProperty(t,Sr,{enumerable:!1,writable:!1,value:!0}),t}async function Ir(e){return[...new Set((await Promise.all(e.filter(t=>!xr(t)).map(async t=>await Qt(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function Ar(e){return(await Promise.all(e.map(async t=>Er(t)?null:it(await Qt(t))))).filter(t=>!!t)}function Rr(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new I(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);n.add(e)}}return e}var wi=class extends kr{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(o=>this.loadTheme(o)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=it(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=he.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=Rr(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(o=>o.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(o=>{this._alias[o]=e.name}),this._loadedLanguagesCache=null,t.size)for(let o of t)this._resolvedGrammars.delete(o.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(o.scopeName),this._syncRegistry?._grammars?.delete(o.scopeName),this.loadLanguage(this._langMap.get(o.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let r of e)this.resolveEmbeddedLanguages(r);let t=[...this._langGraph.entries()],n=t.filter(([r,o])=>!o);if(n.length){let r=t.filter(([o,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(i=>n.map(([a])=>a).includes(i)):!1).filter(o=>!n.includes(o));throw new I(`Missing languages ${n.map(([o])=>`\`${o}\``).join(", ")}, required by ${r.map(([o])=>`\`${o}\``).join(", ")}`)}for(let[r,o]of t)this._resolver.addLanguage(o);for(let[r,o]of t)this.loadLanguage(o)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let n of t)this._langGraph.set(n,this._langMap.get(n))}},Ci=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),n=[];for(let r=1;r<=t.length;r++){let o=t.slice(0,r).join(".");n=[...n,...this._injections.get(o)||[]]}return n}},De=0;function Zt(e){De+=1,e.warnings!==!1&&De>=10&&De%10===0&&console.warn(`[Shiki] ${De} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new I("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(it),o=new wi(new Ci(e.engine,n),r,n,e.langAlias),s;function i(p){return Rr(p,e.langAlias)}function a(p){y();let w=o.getGrammar(typeof p=="string"?p:p.name);if(!w)throw new I(`Language \`${p}\` not found, you may need to load it first`);return w}function l(p){if(p==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};y();let w=o.getTheme(p);if(!w)throw new I(`Theme \`${p}\` not found, you may need to load it first`);return w}function c(p){y();let w=l(p);return s!==p&&(o.setTheme(w),s=p),{theme:w,colorMap:o.getColorMap()}}function u(){return y(),o.getLoadedThemes()}function d(){return y(),o.getLoadedLanguages()}function h(...p){y(),o.loadLanguages(p.flat(1))}async function f(...p){return h(await Ir(p))}function g(...p){y();for(let w of p.flat(1))o.loadTheme(w)}async function m(...p){return y(),g(await Ar(p))}function y(){if(t)throw new I("Shiki instance has been disposed")}function b(){t||(t=!0,o.dispose(),De-=1)}return{setTheme:c,getTheme:l,getLanguage:a,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:i,loadLanguage:f,loadLanguageSync:h,loadTheme:m,loadThemeSync:g,dispose:b,[Symbol.dispose]:b}}async function en(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([Ar(e.themes||[]),Ir(e.langs||[]),e.engine]);return Zt({...e,themes:t,langs:n,engine:r})}var Nr=new WeakMap;function Ue(e,t){Nr.set(e,t)}function Ee(e){return Nr.get(e)}var at=class Br{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new Br(Object.fromEntries(_r(n).map(r=>[r,xe])),t)}constructor(...t){if(t.length===2){let[n,r]=t;this.lang=r,this._stacks=n}else{let[n,r,o]=t;this.lang=r,this._stacks={[o]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Si(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Si(e){let t=[],n=new Set;function r(o){if(n.has(o))return;n.add(o);let s=o?.nameScopesList?.scopeName;s&&t.push(s),o.parent&&r(o.parent)}return r(e),t}function vi(e,t){if(!(e instanceof at))throw new I("Invalid grammar state");return e.getInternalStack(t)}var _i=/,/,xi=/ /;function tn(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(je(e.resolveLangAlias(n.lang||"text"))||He(r))return ae(t).map(a=>[{content:a[0],offset:a[1]}]);let{theme:o,colorMap:s}=e.setTheme(r),i=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==i.name)throw new I(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${i.name}"`);if(!n.grammarState.themes.includes(o.name))throw new I(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${o.name}"`)}return Lr(t,i,o,s,n)}function Tr(...e){if(e.length===2)return Ee(e[1]);let[t,n,r={}]=e,{lang:o="text",theme:s=t.getLoadedThemes()[0]}=r;if(je(o)||He(s))throw new I("Plain language does not have grammar state");if(o==="ansi")throw new I("ANSI language does not have grammar state");let{theme:i,colorMap:a}=t.setTheme(s),l=t.getLanguage(o);return new at(nn(n,l,i,a,r).stateStack,l.name,i.name)}function Lr(e,t,n,r,o){let s=nn(e,t,n,r,o),i=new at(s.stateStack,t.name,n.name);return Ue(s.tokens,i),s.tokens}function nn(e,t,n,r,o){let s=ge(n,o),{tokenizeMaxLineLength:i=0,tokenizeTimeLimit:a=500,includeExplanation:l=!1}=o,c=ae(e),u=o.grammarState?vi(o.grammarState,n.name)??xe:o.grammarContextCode!=null?nn(o.grammarContextCode,t,n,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:xe,d=[],h=[];for(let f=0,g=c.length;f<g;f++){let[m,y]=c[f];if(m===""){d=[],h.push([]);continue}if(i>0&&m.length>=i){d=[],h.push([{content:m,offset:y,color:"",fontStyle:0}]);continue}let b,p,w;l&&l!=="tokenType"&&(b=t.tokenizeLine(m,u,a),p=b.tokens,w=0);let C=t.tokenizeLine2(m,u,a),S=C.tokens.length/2;for(let E=0;E<S;E++){let R=C.tokens[2*E],F=E+1<S?C.tokens[2*E+2]:m.length;if(R===F)continue;let N=C.tokens[2*E+1],K=U(r[ie.getForeground(N)],s),D=ie.getFontStyle(N),A={content:m.substring(R,F),offset:y+R,color:K,fontStyle:D};if(l==="tokenType")A.type=ie.getTokenType(N);else if(l){let ve=[];if(l!=="scopeName")for(let z of n.settings){let _e;switch(typeof z.scope){case"string":_e=z.scope.split(_i).map(Gt=>Gt.trim());break;case"object":_e=z.scope;break;default:continue}ve.push({settings:z,selectors:_e.map(Gt=>Gt.split(xi))})}A.explanation=[];let Le=0;for(;R+Le<F;){let z=p[w],_e=m.substring(z.startIndex,z.endIndex);Le+=_e.length,A.explanation.push({content:_e,scopes:l==="scopeName"?Ei(z.scopes):Ii(ve,z.scopes)}),w+=1}}d.push(A)}h.push(d),d=[],u=C.ruleStack}return{tokens:h,stateStack:u}}function Ei(e){return e.map(t=>({scopeName:t}))}function Ii(e,t){let n=[];for(let r=0,o=t.length;r<o;r++){let s=t[r];n[r]={scopeName:s,themeMatches:Ri(e,s,t.slice(0,r))}}return n}function vr(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Ai(e,t,n){if(!vr(e.at(-1),t))return!1;let r=e.length-2,o=n.length-1;for(;r>=0&&o>=0;)vr(e[r],n[o])&&(r-=1),o-=1;return r===-1}function Ri(e,t,n){let r=[];for(let{selectors:o,settings:s}of e)for(let i of o)if(Ai(i,t,n)){r.push(s);break}return r}function lt(e,t,n,r=tn){let o=Object.entries(n.themes).filter(c=>c[1]).map(c=>({color:c[0],theme:c[1]})),s=o.map(c=>{let u=r(e,t,{...n,theme:c.theme});return{tokens:u,state:Ee(u),theme:typeof c.theme=="string"?c.theme:c.theme.name}}),i=Ni(...s.map(c=>c.tokens)),a=i[0].map((c,u)=>c.map((d,h)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in n&&n.includeExplanation&&(f.explanation=d.explanation),i.forEach((g,m)=>{let{content:y,explanation:b,offset:p,...w}=g[u][h];f.variants[o[m].color]=w}),f})),l=s[0].state?new at(Object.fromEntries(s.map(c=>[c.theme,c.state?.getInternalStack(c.theme)])),s[0].state.lang):void 0;return l&&Ue(a,l),a}function Ni(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),s=t.map(()=>[]);t.forEach((l,c)=>l.push(s[c]));let i=o.map(()=>0),a=o.map(l=>l[0]);for(;a.every(l=>l);){let l=Math.min(...a.map(c=>c.content.length));for(let c=0;c<n;c++){let u=a[c];u.content.length===l?(s[c].push(u),i[c]+=1,a[c]=o[c][i[c]]):(s[c].push({...u,content:u.content.slice(0,l)}),a[c]={...u,content:u.content.slice(l),offset:u.offset+l})}}}return t}var Pr=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];var Q=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Q.prototype.normal={};Q.prototype.property={};Q.prototype.space=void 0;function rn(e,t){let n={},r={};for(let o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new Q(n,r,t)}function We(e){return e.toLowerCase()}var $=class{constructor(t,n){this.attribute=n,this.property=t}};$.prototype.attribute="";$.prototype.booleanish=!1;$.prototype.boolean=!1;$.prototype.commaOrSpaceSeparated=!1;$.prototype.commaSeparated=!1;$.prototype.defined=!1;$.prototype.mustUseProperty=!1;$.prototype.number=!1;$.prototype.overloadedBoolean=!1;$.prototype.property="";$.prototype.spaceSeparated=!1;$.prototype.space=void 0;var ze={};Ts(ze,{boolean:()=>v,booleanish:()=>B,commaOrSpaceSeparated:()=>j,commaSeparated:()=>Z,number:()=>k,overloadedBoolean:()=>ct,spaceSeparated:()=>x});var Bi=0,v=pe(),B=pe(),ct=pe(),k=pe(),x=pe(),Z=pe(),j=pe();function pe(){return 2**++Bi}var on=Object.keys(ze),me=class extends ${constructor(t,n,r,o){let s=-1;if(super(t,n),Mr(this,"space",o),typeof r=="number")for(;++s<on.length;){let i=on[s];Mr(this,on[s],(r&ze[i])===ze[i])}}};me.prototype.defined=!0;function Mr(e,t,n){n&&(e[t]=n)}function V(e){let t={},n={};for(let[r,o]of Object.entries(e.properties)){let s=new me(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[We(r)]=r,n[We(s.attribute)]=r}return new Q(t,n,e.space)}var sn=V({properties:{ariaActiveDescendant:null,ariaAtomic:B,ariaAutoComplete:null,ariaBusy:B,ariaChecked:B,ariaColCount:k,ariaColIndex:k,ariaColSpan:k,ariaControls:x,ariaCurrent:null,ariaDescribedBy:x,ariaDetails:null,ariaDisabled:B,ariaDropEffect:x,ariaErrorMessage:null,ariaExpanded:B,ariaFlowTo:x,ariaGrabbed:B,ariaHasPopup:null,ariaHidden:B,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:x,ariaLevel:k,ariaLive:null,ariaModal:B,ariaMultiLine:B,ariaMultiSelectable:B,ariaOrientation:null,ariaOwns:x,ariaPlaceholder:null,ariaPosInSet:k,ariaPressed:B,ariaReadOnly:B,ariaRelevant:null,ariaRequired:B,ariaRoleDescription:x,ariaRowCount:k,ariaRowIndex:k,ariaRowSpan:k,ariaSelected:B,ariaSetSize:k,ariaSort:null,ariaValueMax:k,ariaValueMin:k,ariaValueNow:k,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function ut(e,t){return t in e?e[t]:t}function dt(e,t){return ut(e,t.toLowerCase())}var $r=V({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Z,acceptCharset:x,accessKey:x,action:null,allow:null,allowFullScreen:v,allowPaymentRequest:v,allowUserMedia:v,alpha:v,alt:null,as:null,async:v,autoCapitalize:null,autoComplete:x,autoFocus:v,autoPlay:v,blocking:x,capture:null,charSet:null,checked:v,cite:null,className:x,closedBy:null,colorSpace:null,cols:k,colSpan:k,command:null,commandFor:null,content:null,contentEditable:B,controls:v,controlsList:x,coords:k|Z,crossOrigin:null,data:null,dateTime:null,decoding:null,default:v,defer:v,dir:null,dirName:null,disabled:v,download:ct,draggable:B,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:v,formTarget:null,headers:x,height:k,hidden:ct,high:k,href:null,hrefLang:null,htmlFor:x,httpEquiv:x,id:null,imageSizes:null,imageSrcSet:null,inert:v,inputMode:null,integrity:null,is:null,isMap:v,itemId:null,itemProp:x,itemRef:x,itemScope:v,itemType:x,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:v,low:k,manifest:null,max:null,maxLength:k,media:null,method:null,min:null,minLength:k,multiple:v,muted:v,name:null,nonce:null,noModule:v,noValidate:v,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:v,optimum:k,pattern:null,ping:x,placeholder:null,playsInline:v,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:v,referrerPolicy:null,rel:x,required:v,reversed:v,rows:k,rowSpan:k,sandbox:x,scope:null,scoped:v,seamless:v,selected:v,shadowRootClonable:v,shadowRootCustomElementRegistry:v,shadowRootDelegatesFocus:v,shadowRootMode:null,shadowRootSerializable:v,shape:null,size:k,sizes:null,slot:null,span:k,spellCheck:B,src:null,srcDoc:null,srcLang:null,srcSet:null,start:k,step:null,style:null,tabIndex:k,target:null,title:null,translate:null,type:null,typeMustMatch:v,useMap:null,value:B,width:k,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:x,axis:null,background:null,bgColor:null,border:k,borderColor:null,bottomMargin:k,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:v,declare:v,event:null,face:null,frame:null,frameBorder:null,hSpace:k,leftMargin:k,link:null,longDesc:null,lowSrc:null,marginHeight:k,marginWidth:k,noResize:v,noHref:v,noShade:v,noWrap:v,object:null,profile:null,prompt:null,rev:null,rightMargin:k,rules:null,scheme:null,scrolling:B,standby:null,summary:null,text:null,topMargin:k,valueType:null,version:null,vAlign:null,vLink:null,vSpace:k,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:v,disablePictureInPicture:v,disableRemotePlayback:v,exportParts:Z,part:x,prefix:null,property:null,results:k,security:null,unselectable:null},space:"html",transform:dt});var Fr=V({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:j,accentHeight:k,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:k,amplitude:k,arabicForm:null,ascent:k,attributeName:null,attributeType:null,azimuth:k,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:k,by:null,calcMode:null,capHeight:k,className:x,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:k,diffuseConstant:k,direction:null,display:null,dur:null,divisor:k,dominantBaseline:null,download:v,dx:null,dy:null,edgeMode:null,editable:null,elevation:k,enableBackground:null,end:null,event:null,exponent:k,externalResourcesRequired:null,fill:null,fillOpacity:k,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Z,g2:Z,glyphName:Z,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:k,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:k,horizOriginX:k,horizOriginY:k,id:null,ideographic:k,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:k,k,k1:k,k2:k,k3:k,k4:k,kernelMatrix:j,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:k,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:k,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:k,overlineThickness:k,paintOrder:null,panose1:null,path:null,pathLength:k,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:x,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:k,pointsAtY:k,pointsAtZ:k,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:j,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:j,rev:j,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:j,requiredFeatures:j,requiredFonts:j,requiredFormats:j,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:k,specularExponent:k,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:k,strikethroughThickness:k,string:null,stroke:null,strokeDashArray:j,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:k,strokeOpacity:k,strokeWidth:null,style:null,surfaceScale:k,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:j,tabIndex:k,tableValues:null,target:null,targetX:k,targetY:k,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:j,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:k,underlineThickness:k,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:k,values:null,vAlphabetic:k,vMathematical:k,vectorEffect:null,vHanging:k,vIdeographic:k,version:null,vertAdvY:k,vertOriginX:k,vertOriginY:k,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:k,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:ut});var an=V({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}});var ln=V({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:dt});var cn=V({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}});var Ti=/[A-Z]/g,Or=/-[a-z]/g,Li=/^data[-\w.:]+$/i;function un(e,t){let n=We(t),r=t,o=$;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Li.test(t)){if(t.charAt(4)==="-"){let s=t.slice(5).replace(Or,Mi);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{let s=t.slice(4);if(!Or.test(s)){let i=s.replace(Ti,Pi);i.charAt(0)!=="-"&&(i="-"+i),t="data"+i}}o=me}return new o(r,t)}function Pi(e){return"-"+e.toLowerCase()}function Mi(e){return e.charAt(1).toUpperCase()}var Gr=rn([sn,$r,an,ln,cn],"html"),ft=rn([sn,Fr,an,ln,cn],"svg");var Dr={}.hasOwnProperty;function jr(e,t){let n=t||{};function r(o,...s){let i=r.invalid,a=r.handlers;if(o&&Dr.call(o,e)){let l=String(o[e]);i=Dr.call(a,l)?a[l]:r.unknown}if(i)return i.call(this,o,...s)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var $i=/["&'<>`]/g,Fi=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Oi=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Gi=/[|\\{}()[\]^$+*?.]/g,Hr=new WeakMap;function Ur(e,t){if(e=e.replace(t.subset?Di(t.subset):$i,r),t.subset||t.escapeOnly)return e;return e.replace(Fi,n).replace(Oi,r);function n(o,s,i){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,i.charCodeAt(s+2),t)}function r(o,s,i){return t.format(o.charCodeAt(0),i.charCodeAt(s+1),t)}}function Di(e){let t=Hr.get(e);return t||(t=ji(e),Hr.set(e,t)),t}function ji(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(Gi,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Hi=/[\dA-Fa-f]/;function Wr(e,t,n){let r="&#x"+e.toString(16).toUpperCase();return n&&t&&!Hi.test(String.fromCharCode(t))?r:r+";"}var Ui=/\d/;function zr(e,t,n){let r="&#"+String(e);return n&&t&&!Ui.test(String.fromCharCode(t))?r:r+";"}var qr=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var ht={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Vr=["cent","copy","divide","gt","lt","not","para","times"];var Xr={}.hasOwnProperty,dn={},gt;for(gt in ht)Xr.call(ht,gt)&&(dn[ht[gt]]=gt);var Wi=/[^\dA-Za-z]/;function Yr(e,t,n,r){let o=String.fromCharCode(e);if(Xr.call(dn,o)){let s=dn[o],i="&"+s;return n&&qr.includes(s)&&!Vr.includes(s)&&(!r||t&&t!==61&&Wi.test(String.fromCharCode(t)))?i:i+";"}return""}function Kr(e,t,n){let r=Wr(e,t,n.omitOptionalSemicolons),o;if((n.useNamedReferences||n.useShortestReferences)&&(o=Yr(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!o)&&n.useShortestReferences){let s=zr(e,t,n.omitOptionalSemicolons);s.length<r.length&&(r=s)}return o&&(!n.useShortestReferences||o.length<r.length)?o:r}function ee(e,t){return Ur(e,Object.assign({format:Kr},t))}var zi=/^>|^->|<!--|-->|--!>|<!-$/g,qi=[">"],Vi=["<",">"];function Jr(e,t,n,r){return r.settings.bogusComments?"<?"+ee(e.value,Object.assign({},r.settings.characterReferences,{subset:qi}))+">":"<!--"+e.value.replace(zi,o)+"-->";function o(s){return ee(s,Object.assign({},r.settings.characterReferences,{subset:Vi}))}}function Qr(e,t,n,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}function fn(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(t);for(;o!==-1;)r++,o=n.indexOf(t,o+t.length);return r}function Zr(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function eo(e){return e.join(" ").trim()}var Xi=/[ \t\n\f\r]/g;function be(e){return typeof e=="object"?e.type==="text"?to(e.value):!1:to(e)}function to(e){return e.replace(Xi,"")===""}var T=no(1),hn=no(-1),Yi=[];function no(e){return t;function t(n,r,o){let s=n?n.children:Yi,i=(r||0)+e,a=s[i];if(!o)for(;a&&be(a);)i+=e,a=s[i];return a}}var Ki={}.hasOwnProperty;function pt(e){return t;function t(n,r,o){return Ki.call(e,n.tagName)&&e[n.tagName](n,r,o)}}var qe=pt({body:Qi,caption:gn,colgroup:gn,dd:na,dt:ta,head:gn,html:Ji,li:ea,optgroup:ra,option:oa,p:Zi,rp:ro,rt:ro,tbody:ia,td:oo,tfoot:aa,th:oo,thead:sa,tr:la});function gn(e,t,n){let r=T(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&be(r.value.charAt(0)))}function Ji(e,t,n){let r=T(n,t);return!r||r.type!=="comment"}function Qi(e,t,n){let r=T(n,t);return!r||r.type!=="comment"}function Zi(e,t,n){let r=T(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function ea(e,t,n){let r=T(n,t);return!r||r.type==="element"&&r.tagName==="li"}function ta(e,t,n){let r=T(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function na(e,t,n){let r=T(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function ro(e,t,n){let r=T(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function ra(e,t,n){let r=T(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function oa(e,t,n){let r=T(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function sa(e,t,n){let r=T(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function ia(e,t,n){let r=T(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function aa(e,t,n){return!T(n,t)}function la(e,t,n){let r=T(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function oo(e,t,n){let r=T(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var so=pt({body:da,colgroup:fa,head:ua,html:ca,tbody:ha});function ca(e){let t=T(e,-1);return!t||t.type!=="comment"}function ua(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let n=e.children[0];return!n||n.type==="element"}function da(e){let t=T(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&be(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function fa(e,t,n){let r=hn(n,t),o=T(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&qe(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function ha(e,t,n){let r=hn(n,t),o=T(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&qe(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var mt={name:[[`
|
|
4
4
|
\f\r &/=>`.split(""),`
|
package/dist/cli.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./chunks/chunk-
|
|
1
|
+
import{a,b}from"./chunks/chunk-O6GUJ4JT.mjs";import"./chunks/chunk-IFOG5DZX.mjs";import"./chunks/chunk-PISZYHIF.mjs";import"./chunks/chunk-2V77MTNA.mjs";export{a as containedReader,b as runCli};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,b as r,c as t}from"./chunks/chunk-
|
|
1
|
+
import{a as e,b as r,c as t,d as n}from"./chunks/chunk-IFOG5DZX.mjs";import"./chunks/chunk-PISZYHIF.mjs";import"./chunks/chunk-2V77MTNA.mjs";export{r as VERSION,n as renderDocument,t as scriptHashes,e as themeNames};
|
package/dist/types/document.d.ts
CHANGED
|
@@ -22,10 +22,46 @@ export interface RenderOptions {
|
|
|
22
22
|
bytes: Uint8Array;
|
|
23
23
|
mime: string;
|
|
24
24
|
} | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Write each block's source line (1-based) as `data-line` on its first element and on list
|
|
27
|
+
* items, so a host can map the page back to the document: the artifact viewer anchors comments
|
|
28
|
+
* to source lines with it. Default false.
|
|
29
|
+
*/
|
|
30
|
+
sourceLines?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* The document as it was before an edit. The page then shows the edit: added and removed
|
|
33
|
+
* blocks, changed blocks with their changed words, changed code as one merged block. The
|
|
34
|
+
* report's `changes` counts them. Removed blocks carry no source line.
|
|
35
|
+
*/
|
|
36
|
+
compareWith?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The body for an HTML-to-Markdown converter rather than a reader (`parts.body`): implies
|
|
39
|
+
* `js: "none"` (every tab, step and collapsed section open, tab labels as text), plain code
|
|
40
|
+
* blocks, no ¶ heading links, no web images; always sanitized. The artifact viewer's export
|
|
41
|
+
* copy. NOT balanced: a host that puts it inside its own HTML must re-parse it with a spec HTML
|
|
42
|
+
* parser (the viewer's pack does, with parse5). Default false.
|
|
43
|
+
*/
|
|
44
|
+
exportable?: boolean;
|
|
25
45
|
}
|
|
26
46
|
export interface RenderResult {
|
|
27
47
|
html: string;
|
|
28
48
|
report: RenderReport;
|
|
49
|
+
/**
|
|
50
|
+
* The page's parts, for a host that assembles its own page (the artifact viewer's export copy): the article's
|
|
51
|
+
* inner HTML, the stylesheet (already safe inside `<style>`), and the scripts of the custom
|
|
52
|
+
* elements it uses, one per element.
|
|
53
|
+
*/
|
|
54
|
+
parts: {
|
|
55
|
+
body: string;
|
|
56
|
+
css: string;
|
|
57
|
+
scripts: string[];
|
|
58
|
+
};
|
|
29
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* The sha256 hash (base64) of every inline script a page can carry: the theme boot and each
|
|
62
|
+
* element's script. A page uses a subset; a host that serves pages under a fixed CSP lists these
|
|
63
|
+
* instead of allowing 'unsafe-inline'.
|
|
64
|
+
*/
|
|
65
|
+
export declare function scriptHashes(): Promise<string[]>;
|
|
30
66
|
export declare function renderDocument(markdown: string, options?: RenderOptions): Promise<RenderResult>;
|
|
31
67
|
export type { Warn };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rendered body made plain for an HTML-to-Markdown converter: claude.ai's copy as Markdown
|
|
3
|
+
* and export read a page's static HTML and convert it. That converter treats an element it does
|
|
4
|
+
* not know as inline: a code block inside <db-code-block> came out as one line of inline code
|
|
5
|
+
* (checked 2026-10-20). So each code block becomes a bare <pre><code class="language-x"> with its
|
|
6
|
+
* title as a paragraph before it, the headings lose their ¶ links, and images from the web lose
|
|
7
|
+
* their src (a page's CSP never loads them, but an export would carry the URL).
|
|
8
|
+
*
|
|
9
|
+
* Applied to render's own sanitized output, never to arbitrary HTML.
|
|
10
|
+
*/
|
|
11
|
+
export declare function plainForExport(body: string): string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
*
|
|
7
7
|
* See README.md for options, the report's warning codes, and the security defaults.
|
|
8
8
|
*/
|
|
9
|
-
export { renderDocument, VERSION, type RenderOptions, type RenderResult } from "./document.js";
|
|
9
|
+
export { renderDocument, scriptHashes, VERSION, type RenderOptions, type RenderResult } from "./document.js";
|
|
10
10
|
export type { RenderReport, RenderWarning, WarningCode } from "./report.js";
|
|
11
11
|
export { themeNames } from "./css.js";
|
package/dist/types/report.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The report a render returns: what it wrote and every loss, named. Agents act
|
|
3
3
|
* on `warnings[].code`; the codes and the shape are a contract (schemaVersion).
|
|
4
|
+
*
|
|
5
|
+
* The `syntax-*` codes are the parser's own diagnostics (format-dogsbay-md
|
|
6
|
+
* diagnostics.ts): Markdown it recovered from without a word, each with the
|
|
7
|
+
* source line. They were added to schemaVersion 1 without bumping it: a new
|
|
8
|
+
* code and an optional `line` leave every v1 reader working.
|
|
4
9
|
*/
|
|
5
|
-
export type WarningCode = "link-unresolvable" | "anchor-missing" | "image-missing" | "image-remote" | "image-large" | "image-type" | "node-unsupported" | "icon-unknown" | "math-raw" | "diagram-raw" | "template-raw" | "tokens-external" | "html-sanitized" | "attribute-dropped" | "unsafe-url";
|
|
10
|
+
export type WarningCode = "link-unresolvable" | "anchor-missing" | "image-missing" | "image-remote" | "image-large" | "image-type" | "node-unsupported" | "icon-unknown" | "math-raw" | "diagram-raw" | "template-raw" | "tokens-external" | "html-sanitized" | "attribute-dropped" | "unsafe-url" | "syntax-unclosed-container" | "syntax-stray-closer" | "syntax-closer-mismatch" | "syntax-unknown-container" | "syntax-unknown-inline" | "syntax-block-directive-inline" | "syntax-leaf-as-block" | "syntax-bad-attributes" | "syntax-dropped-attributes" | "syntax-missing-label" | "syntax-nesting-unchecked";
|
|
6
11
|
export interface RenderWarning {
|
|
7
12
|
code: WarningCode;
|
|
8
13
|
message: string;
|
|
14
|
+
/** 1-based line in the source (front matter counted), when the warning has one. */
|
|
15
|
+
line?: number;
|
|
9
16
|
}
|
|
10
|
-
export type Warn = (code: WarningCode, message: string) => void;
|
|
17
|
+
export type Warn = (code: WarningCode, message: string, line?: number) => void;
|
|
11
18
|
export interface RenderReport {
|
|
12
19
|
schemaVersion: 1;
|
|
13
20
|
warnings: RenderWarning[];
|
|
@@ -20,8 +27,20 @@ export interface RenderReport {
|
|
|
20
27
|
};
|
|
21
28
|
/** The custom elements the page uses, whose scripts it carries. */
|
|
22
29
|
elements: string[];
|
|
30
|
+
/**
|
|
31
|
+
* With `compareWith` only: what changed since that version (sections added, removed, changed
|
|
32
|
+
* or moved; blocks changed). An additive field: schemaVersion stays 1.
|
|
33
|
+
*/
|
|
34
|
+
changes?: {
|
|
35
|
+
unchanged: boolean;
|
|
36
|
+
sectionsAdded: number;
|
|
37
|
+
sectionsRemoved: number;
|
|
38
|
+
sectionsChanged: number;
|
|
39
|
+
sectionsMoved: number;
|
|
40
|
+
blocksChanged: number;
|
|
41
|
+
};
|
|
23
42
|
}
|
|
24
|
-
/** Collects warnings, once per distinct message. */
|
|
43
|
+
/** Collects warnings, once per distinct message and line. */
|
|
25
44
|
export declare function collector(): {
|
|
26
45
|
warn: Warn;
|
|
27
46
|
warnings: RenderWarning[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dogsbay/render",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.130",
|
|
4
4
|
"description": "Render one Dogsbay Markdown file to one self-contained HTML page: themed, light and dark, accessible, nothing external. A single bundled file with no dependencies, for people and agents (npx -y @dogsbay/render doc.md -o doc.html)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.mjs",
|
|
@@ -34,11 +34,12 @@
|
|
|
34
34
|
"tailwindcss": "4.3.2",
|
|
35
35
|
"typescript": "^5.9.3",
|
|
36
36
|
"vitest": "^4.1.10",
|
|
37
|
-
"@dogsbay/elements": "0.2.0-beta.
|
|
38
|
-
"@dogsbay/format-dogsbay-md": "0.2.0-beta.
|
|
39
|
-
"@dogsbay/
|
|
40
|
-
"@dogsbay/
|
|
41
|
-
"@dogsbay/
|
|
37
|
+
"@dogsbay/elements": "0.2.0-beta.130",
|
|
38
|
+
"@dogsbay/format-dogsbay-md": "0.2.0-beta.130",
|
|
39
|
+
"@dogsbay/tree-diff": "0.2.0-beta.130",
|
|
40
|
+
"@dogsbay/highlight": "0.2.0-beta.130",
|
|
41
|
+
"@dogsbay/render-html": "0.2.0-beta.130",
|
|
42
|
+
"@dogsbay/types": "0.2.0-beta.130"
|
|
42
43
|
},
|
|
43
44
|
"license": "MIT",
|
|
44
45
|
"repository": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dogsbay-documents
|
|
3
|
-
description: Write a document (report, release notes, runbook, minutes, explainer, handout) as Dogsbay Markdown and render it to one self-contained HTML page with `npx -y @dogsbay/render
|
|
3
|
+
description: Write a document (report, release notes, runbook, minutes, explainer, handout) as Dogsbay Markdown and render it to one self-contained HTML page with `npx -y @dogsbay/render`, or publish it as a claude.ai Artifact that people can comment on and review. Use instead of hand-writing HTML when the deliverable is a document someone reads, not an interactive app.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Documents in Dogsbay Markdown
|
|
@@ -30,7 +30,9 @@ forms; write HTML for those.
|
|
|
30
30
|
```
|
|
31
31
|
In a Dogsbay project, `dogsbay render` is the same command.
|
|
32
32
|
3. Read the JSON report on stderr. `warnings` lists every problem, each with a `code`.
|
|
33
|
-
Fix the Markdown and render again until `warnings` is empty.
|
|
33
|
+
Fix the Markdown and render again until `warnings` is empty. A `syntax-*` warning
|
|
34
|
+
carries the source `line` and comes first: fix those first, since they often cause
|
|
35
|
+
the others (an unclosed `:::` swallows everything after it). The common codes:
|
|
34
36
|
|
|
35
37
|
| Code | Fix |
|
|
36
38
|
|---|---|
|
|
@@ -40,9 +42,14 @@ forms; write HTML for those.
|
|
|
40
42
|
| `icon-unknown` | use an icon from the list below |
|
|
41
43
|
| `node-unsupported` | use a directive from this skill |
|
|
42
44
|
| `template-raw` | write the value out; `{{ }}` and `{% %}` are not run |
|
|
45
|
+
| `syntax-unclosed-container` / `syntax-stray-closer` | give each `:::` block exactly one closer of its own |
|
|
46
|
+
| `syntax-unknown-container` / `syntax-unknown-inline` | correct the directive name |
|
|
43
47
|
|
|
44
48
|
Exit code 0 means the page was written (warnings or not); 1 is an error; 2 is a usage
|
|
45
49
|
error.
|
|
50
|
+
4. **To publish it on claude.ai** (to share, comment on and review), read `artifact.md`
|
|
51
|
+
beside this file: publish the Markdown with a viewer, not the rendered HTML, so later
|
|
52
|
+
edits change only the `.md`.
|
|
46
53
|
|
|
47
54
|
## Text
|
|
48
55
|
|