likec4 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/__app__ → __app__}/react/likec4.tsx +9 -26
- package/{dist/__app__/src/chunks/-index-overview-DNT3FQkn.js → __app__/src/chunks/-index-overview-CBnvpD1d.js} +12 -12
- package/{dist/__app__/src/chunks/likec4-CLNXvKhh.js → __app__/src/chunks/likec4-DslTxitT.js} +50 -41
- package/{dist/__app__/src/chunks/main-Beyl8kQ7.js → __app__/src/chunks/main-ByUdz_Be.js} +14236 -13301
- package/{dist/__app__/src/chunks/mantine-CdYQpHSU.js → __app__/src/chunks/mantine-oFa3ZrEq.js} +1731 -713
- package/{dist/__app__/src/chunks/tanstack-router-DJI32bwX.js → __app__/src/chunks/tanstack-router-BWjXKr0n.js} +1 -1
- package/{dist/__app__ → __app__}/src/main.js +1 -1
- package/{dist/__app__ → __app__}/src/style.css +1 -1
- package/{dist/__app__ → __app__}/webcomponent/webcomponent.js +30987 -28447
- package/dist/chunks/prompt.mjs +3 -3
- package/dist/cli/index.mjs +210 -179
- package/dist/index.d.mts +1785 -722
- package/dist/index.d.ts +1785 -722
- package/dist/index.mjs +1 -1
- package/dist/shared/likec4.lgHXhASw.mjs +1832 -0
- package/package.json +37 -37
- package/react/index.d.ts +896 -423
- package/react/index.mjs +32935 -29389
- package/react/style.css +1 -1
- package/dist/shared/likec4.D5WUQlNc.mjs +0 -1824
- /package/{dist/__app__ → __app__}/favicon.ico +0 -0
- /package/{dist/__app__ → __app__}/favicon.svg +0 -0
- /package/{dist/__app__ → __app__}/index.html +0 -0
- /package/{dist/__app__ → __app__}/robots.txt +0 -0
- /package/{dist/__app__ → __app__}/src/chunks/-view-lazy-data-WZmbIsHq.js +0 -0
- /package/{dist/__app__ → __app__}/src/chunks/index-CIsxIzOH.js +0 -0
- /package/{dist/__app__ → __app__}/src/const.js +0 -0
- /package/{dist/__app__ → __app__}/src/icons.js +0 -0
|
@@ -1,1824 +0,0 @@
|
|
|
1
|
-
import*as H0 from"node:fs";import{lstatSync as w2,readlinkSync as b2,writeFileSync as V0,statSync as E2,readFileSync as mm,appendFileSync as D2,createReadStream as K0,createWriteStream as Y0,existsSync as T2}from"node:fs";import Jr,{sep as R2,dirname as S2,resolve as X0,basename as k2}from"node:path";import{fileURLToPath as gm,pathToFileURL as $2}from"node:url";import{isatty as C2}from"tty";import*as _2 from"node:util";import{formatWithOptions as A2,debuglog as x2,stripVTControlCharacters as I2,inspect as J0,promisify as P2,callbackify as Do,aborted as N2}from"node:util";import*as O2 from"util";import*as L2 from"path";import*as F2 from"os";import*as M2 from"crypto";import*as z2 from"net";import*as B2 from"url";import*as q2 from"fs";import*as j2 from"child_process";import{readdir as U2}from"node:fs/promises";import{Graphviz as ym}from"@hpcc-js/wasm-graphviz";import Oe,{platform as G2,hrtime as vd,execPath as W2,execArgv as H2}from"node:process";import*as vm from"node:tty";import Z0 from"node:tty";import{ChildProcess as Q0,spawnSync as V2,spawn as K2}from"node:child_process";import{StringDecoder as eE}from"node:string_decoder";import{setTimeout as tE,scheduler as nE,setImmediate as Y2}from"node:timers/promises";import{constants as bs}from"node:os";import{once as vn,addAbortListener as rE,EventEmitter as X2,on as wd,setMaxListeners as J2}from"node:events";import{serialize as Z2}from"node:v8";import{Transform as Q2,getDefaultHighWaterMark as bd,PassThrough as iE,Readable as Es,Writable as wm,Duplex as bm}from"node:stream";import{Buffer as Em}from"node:buffer";import{finished as Pi}from"node:stream/promises";import{createLogger as eO}from"vite";import{Buffer as Dm}from"buffer";function tO(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function jn(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return tO(t,e,n);throw new Error("Wrong number of arguments")}function nO(t){return e=>!t(e)}function Ni(t){return t==null}function sE(t){return Array.isArray(t)}function rO(...t){return jn(iO,t)}var iO=(t,e)=>e.every(n=>n(t));function sO(...t){return jn(oO,t)}var oO=(t,e)=>e.some(n=>n(t));function et(t,e){if(typeof t>"u"||t==null)throw new Error(e??`Expected defined value, but received ${t}`);return t}function we(t,e){if(!t)throw new Error(e??"Invariant failed")}function Ie(t){throw new Error(`NonExhaustive value: ${t}`)}function aO(t,e){return e?e+"."+t:t}const cO=["solid","dashed","dotted","none"];var To;(t=>{t.Group="@group"})(To||(To={}));const uO=["rectangle","person","browser","mobile","cylinder","storage","queue"],Oa="primary",Tm="rectangle";function oE(t){return"element"in t}function aE(t){return"expanded"in t}function cE(t){return"custom"in t&&(Ed(t.custom.expr)||Rm(t.custom.expr))}function uE(t){return"wildcard"in t}function lE(t){return"elementKind"in t&&"isEqual"in t}function dE(t){return"elementTag"in t&&"isEqual"in t}function Ed(t){return oE(t)||uE(t)||lE(t)||dE(t)||aE(t)}function Rm(t){return"where"in t&&Ed(t.where.expr)}function fE(t){return Ed(t)||Rm(t)||cE(t)}function hE(t){return"source"in t&&"target"in t}function pE(t){return"inout"in t}function mE(t){return"incoming"in t}function gE(t){return"outgoing"in t}function Sm(t){return hE(t)||pE(t)||mE(t)||gE(t)}function yE(t){return"where"in t&&Sm(t.where.expr)}function vE(t){return"customRelation"in t}function lO(t){return Sm(t)||yE(t)||vE(t)}const ye={__proto__:null,isCustomElement:cE,isCustomRelationExpr:vE,isElement:Ed,isElementKindExpr:lE,isElementPredicateExpr:fE,isElementRef:oE,isElementTagExpr:dE,isElementWhere:Rm,isExpandedElementExpr:aE,isInOut:pE,isIncoming:mE,isOutgoing:gE,isRelation:hE,isRelationExpression:Sm,isRelationPredicateExpr:lO,isRelationWhere:yE,isWildcard:uE},dO=t=>"tag"in t,fO=t=>"kind"in t,hO=t=>"not"in t,km=t=>"and"in t,$m=t=>"or"in t;function Ds(t){switch(!0){case dO(t):{if("eq"in t.tag){const n=t.tag.eq;return r=>Array.isArray(r.tags)&&r.tags.includes(n)}const e=t.tag.neq;return n=>!Array.isArray(n.tags)||!n.tags.includes(e)}case fO(t):{if("eq"in t.kind){const n=t.kind.eq;return r=>r.kind===n}const e=t.kind.neq;return n=>Ni(n.kind)||n.kind!==e}case hO(t):{const e=Ds(t.not);return nO(e)}case km(t):{const e=t.and.map(Ds);return rO(e)}case $m(t):{const e=t.or.map(Ds);return sO(e)}default:Ie(t)}}const wE="dashed",Ro="normal",Ts="gray",pO=["amber","blue","gray","slate","green","indigo","muted","primary","red","secondary","sky"];function bE(t){return t in pO}function EE(t){return"include"in t&&Array.isArray(t.include)||"exclude"in t&&Array.isArray(t.exclude)}function DE(t){return"predicateId"in t}function mO(t){return"style"in t&&"targets"in t}function TE(t){return"styleId"in t}function gO(t){return t==="TB"||t==="BT"||t==="LR"||t==="RL"}function RE(t){return"direction"in t}function Cm(t){return"title"in t&&"groupRules"in t&&Array.isArray(t.groupRules)}function yO(t){return"include"in t&&Array.isArray(t.include)}function vO(t){return"__parallel"in t&&sE(t.__parallel)}function Dd(t){return Ni(t.__)||t.__==="element"}function SE(t){return Dd(t)&&"extends"in t}function _m(t){return Dd(t)&&"viewOf"in t}function kE(t,e){const n=`step-${String(t).padStart(2,"0")}`;return e?`${n}.${e}`:n}function $E(t){return t.startsWith("step-")}function CE(t){if(!$E(t))throw new Error(`Invalid step edge id: ${t}`);return parseFloat(t.slice(5))}var Td;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(Td||(Td={}));function Am(t){return t.__==="dynamic"}function wO(t){return Ni(t.__)||t.__==="element"}var _E;(t=>{function e(n){return n.kind===To.Group}t.isNodesGroup=e})(_E||(_E={}));function xm(t){if(t===null||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e!==null&&e!==Object.prototype&&Object.getPrototypeOf(e)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function Im(t,e,n=".",r){if(!xm(e))return Im(t,{},n,r);const i=Object.assign({},e);for(const s in t){if(s==="__proto__"||s==="constructor")continue;const o=t[s];o!=null&&(r&&r(i,s,o,n)||(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:xm(o)&&xm(i[s])?i[s]=Im(o,i[s],(n?`${n}.`:"")+s.toString(),r):i[s]=o))}return i}function bO(t){return(...e)=>e.reduce((n,r)=>Im(n,r,"",t),{})}const La=bO();function EO(...t){return jn(DO,t,TO)}var DO=(t,e)=>t.length<e.length?t.map((n,r)=>[n,e[r]]):e.map((n,r)=>[t[r],n]),TO=t=>(e,n)=>({hasNext:!0,next:[e,t[n]],done:n>=t.length-1}),RO={done:!1,hasNext:!1};function AE(t,...e){let n=t,r=e.map(s=>"lazy"in s?SO(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!kO(n)){let c=e[i];n=c(n),i+=1;continue}let s=[];for(let c=i;c<e.length;c++){let u=r[c];if(u===void 0||(s.push(u),u.isSingle))break}let o=[];for(let c of n)if(xE(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function xE(t,e,n){if(n.length===0)return e.push(t),!1;let r=t,i=RO,s=!1;for(let[o,a]of n.entries()){let{index:c,items:u}=a;if(u.push(r),i=a(r,c,u),a.index+=1,i.hasNext){if(i.hasMany??!1){for(let l of i.next)if(xE(l,e,n.slice(o+1)))return!0;return s}r=i.next}if(!i.hasNext)break;i.done&&(s=!0)}return i.hasNext&&e.push(r),s}function SO(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function kO(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function Fa(...t){return jn(Object.values,t)}function Rd(...t){return jn($O,t)}var $O=(t,e)=>t.length>=e;function CO(...t){return jn(_O,t)}function _O(t,e){let n=[];for(let[r,i]of t.entries()){if(!e(i,r,t))break;n.push(i)}return n}function AO(...t){return jn(xO,t)}function xO(t,e){let n=[...t];return n.sort(e),n}function IO(t,e){let n=Math.ceil(t),r=Math.floor(e);if(r<n)throw new RangeError(`randomInteger: The range [${t.toString()},${e.toString()}] contains no integer`);return Math.floor(Math.random()*(r-n+1)+n)}function PO(...t){return jn(NO,t)}function NO(t,e){let n={};for(let[r,i]of Object.entries(t))e(i,r,t)&&(n[r]=i);return n}function Ma(...t){return jn(OO,t,LO)}var OO=(t,e)=>t.map(e),LO=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function FO(...t){return jn(MO,t)}function MO(t,e){let n={};for(let[r,i]of t.entries()){let[s,o]=e(i,r,t);n[s]=o}return n}function zO(...t){return jn(BO,t)}function BO(t,e){let n={};for(let[r,i]of Object.entries(t)){let s=e(i,r,t);n[r]=s}return n}function Rs(t){return typeof t=="string"}function IE(t){return!!t}function PE(t){return typeof t=="function"}function qO(t){return t!=null}function NE(...t){return jn(Object.fromEntries,t)}function jO(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Pm={exports:{}},OE;function UO(){if(OE)return Pm.exports;OE=1;var t=function(e,n){var r,i,s=1,o=0,a=0,c=String.alphabet;function u(l,d,f){if(f){for(r=d;f=u(l,r),f<76&&f>65;)++r;return+l.slice(d-1,r)}return f=c&&c.indexOf(l.charAt(d)),f>-1?f+76:(f=l.charCodeAt(d)||0,f<45||f>127?f:f<46?65:f<48?f-1:f<58?f+18:f<65?f-11:f<91?f+11:f<97?f-37:f<123?f+5:f-63)}if((e+="")!=(n+="")){for(;s;)if(i=u(e,o++),s=u(n,a++),i<76&&s<76&&i>66&&s>66&&(i=u(e,o,o),s=u(n,a,o=r),a=r),i!=s)return i<s?-1:1}return 0};try{Pm.exports=t}catch{String.naturalCompare=t}return Pm.exports}var GO=UO();const WO=jO(GO);function za(t,e){return t===e?0:Rs(t)?Rs(e)?WO(t,e):1:Rs(e)?-1:0}function Sd(t){return t!=null&&typeof t=="string"}function Ss(t){return!!t&&Array.isArray(t)&&t.length>0}function So(t){const e=t.lastIndexOf(".");return e>0?t.slice(e+1):t}function $r(...t){const e=Sd(t[0])?t[0]:t[0].id;return(Sd(t[1])?t[1]:t[1].id).startsWith(e+".")}function Ba(t,e){const n=Sd(t)?t:t.id,r=Sd(e)?e:e.id;return n===r||r.startsWith(n+".")||n.startsWith(r+".")}function HO(t){const e=t.flatMap(n=>[r=>r.id===n.id,r=>$r(n,r)]);return n=>e.some(r=>r(n))}function ks(t,e){const n=kt(t),r=kt(e);if(n===r)return n;if(!n||!r)return null;const i=t.split("."),s=e.split(".");let o=null;for(;i.length>1&&s.length>1&&i[0]&&i[0]===s[0];)o=o?`${o}.${i[0]}`:i[0],i.shift(),s.shift();return o}function kt(t){const e=t.lastIndexOf(".");return e>0?t.slice(0,e):null}function LE(t){const e=t+".";return n=>!!n.parent&&(n.parent===t||n.parent.startsWith(e))}function Zr(t){const e=t.split(".");return e.pop(),e.length===0?[]:e.reduce((n,r,i)=>i===0?(n.push(r),n):(n.unshift(`${n[0]}.${r}`),n),[])}function ko(t,e){const n=t.split(".").length,r=e.split(".").length;switch(!0){case n>r:return 1;case n<r:return-1;default:return 0}}function qa(t,e){return ko(t.id,e.id)}function VO(t){return t.map(e=>({item:e,fqn:e.id.split(".")})).sort((e,n)=>e.fqn.length-n.fqn.length).map(({item:e})=>e)}function ja(t){if(Rs(t)){const e=t;switch(!0){case e.startsWith("tag is not #"):return{tag:{neq:e.replace("tag is not #","")}};case e.startsWith("tag is #"):return{tag:{eq:e.replace("tag is #","")}};case e.startsWith("kind is not "):return{kind:{neq:e.replace("kind is not ","")}};case e.startsWith("kind is "):return{kind:{eq:e.replace("kind is ","")}};default:throw new Error(`Unknown where operator: ${t}`)}}if(t.and)return{and:Ma(t.and,ja)};if(t.or)return{or:Ma(t.or,ja)};if(t.not)return{not:ja(t.not)};throw new Error(`Unknown where operator: ${t}`)}function KO(...t){return e=>{let n=or(t[0]);const r=fE(n);if(t.length===2){const i=t[1].where?ja(t[1].where):void 0;i&&(n={where:{expr:n,condition:i}});const s=t[1].with;s&&(r?n={custom:{...s,expr:n}}:n={customRelation:{...s,relation:n}})}return e.include(n),e}}function YO(...t){return e=>{let n=or(t[0]);if(t.length===2&&t[1].where){const r=ja(t[1].where);n={where:{expr:n,condition:r}}}return e.exclude(n),e}}function or(t){if(!Rs(t))return t;if(t==="*")return{wildcard:!0};if(t.startsWith("->"))return t.endsWith("->")?{inout:or(t.replace(/->/g,"").trim())}:{incoming:or(t.replace("-> ",""))};if(t.endsWith(" ->"))return{outgoing:or(t.replace(" ->",""))};if(t.includes(" <-> ")){const[e,n]=t.split(" <-> ");return{source:or(e),target:or(n),isBidirectional:!0}}if(t.includes(" -> ")){const[e,n]=t.split(" -> ");return{source:or(e),target:or(n)}}return t.endsWith("._")?{expanded:t.replace("._","")}:t.endsWith(".*")?{element:t.replace(".*",""),isDescedants:!0}:{element:t,isDescedants:!1}}function XO(t,{notation:e,...n}){return r=>r.style({targets:(sE(t)?t:[t]).map(i=>or(i)),...e?{notation:e}:{},style:{...n}})}function JO(t){return e=>e.autoLayout(t)}function ZO(...t){return e=>t.reduce((n,r)=>r(n),e)}function FE(t,e=new Map,n=[],r=new Map,i={predicates:{},dynamicPredicates:{},styles:{}}){const s=()=>({tags:t.tags??[],elements:{...t.elements},relationships:{...t.relationships}}),o=u=>!u||!Rd(u,1)?null:Ma(u,l=>typeof l=="string"?{url:l}:l),a=u=>{const l={autoLayout(d){return u.rules.push({direction:d}),l},exclude(d){return u.rules.push({exclude:[d]}),l},include(d){return u.rules.push({include:[d]}),l},style(d){return u.rules.push(d),l}};return l},c={get Types(){throw new Error("Types are not available in runtime")},clone:()=>FE(structuredClone(t),structuredClone(e),structuredClone(n),structuredClone(r),structuredClone(i)),__model:()=>({addElement:u=>{const l=kt(u.id);if(l&&we(e.get(l),`Parent element with id "${l}" not found for element with id "${u.id}"`),e.has(u.id))throw new Error(`Element with id "${u.id}" already exists`);return e.set(u.id,u),c},addRelation(u){const l=e.get(u.source);we(l,`Element with id "${u.source}" not found`);const d=e.get(u.target);return we(d,`Element with id "${u.target}" not found`),we(!Ba(l,d),"Cannot create relationship between elements in the same hierarchy"),n.push({id:`rel${n.length+1}`,...u}),c},fqn(u){return u},addSourcelessRelation(){throw new Error("Can be called only in nested model")}}),__views:()=>({addView:u=>(_m(u)&&we(e.get(u.viewOf),`Invalid view ${u.id}, wlement with id "${u.viewOf}" not found`),r.set(u.id,u),c)}),build:()=>({specification:s(),elements:NE(Array.from(e.entries())),relations:FO(n,u=>[u.id,u]),globals:structuredClone(i),views:NE(Array.from(r.entries()))}),helpers:()=>({model:{model:(...u)=>l=>{const d=l.__model();for(const f of u)f(d);return l},rel:(u,l,d)=>f=>{const{title:h="",links:p=[],...m}=La(typeof d=="string"?{title:d}:{...d},{title:null,links:null}),g=o(p);return f.addRelation({source:u,target:l,title:h,...g&&{links:g},...m}),f},relTo:(u,l)=>d=>{const{title:f="",links:h=[],...p}=La(typeof l=="string"?{title:l}:{...l},{title:null,links:null}),m=o(h);return d.addSourcelessRelation({target:u,title:f,...m&&{links:m},...p}),d},...zO(t.elements,({style:u,...l},d)=>(f,h)=>{const p=m=>{const{links:g,icon:y,style:w,title:E,...k}=typeof h=="string"?{title:h}:{...h},A=o(g),I=y??u?.icon,x=m.fqn(f);return m.addElement({id:x,kind:d,title:E??So(x),description:null,technology:null,tags:null,color:u?.color??Oa,shape:u?.shape??Tm,style:PO({border:u?.border,opacity:u?.opacity,...w},qO),links:A,...I&&{icon:I},...l,...k}),m};return p.with=(...m)=>g=>{p(g);const y={...g,fqn:w=>`${g.fqn(f)}.${w}`,addSourcelessRelation:w=>g.addRelation({...w,source:g.fqn(f)})};for(const w of m)w(y);return g},p})},views:{views:(...u)=>l=>{const d=l.__views();for(const f of u)f(d);return l},view:(u,l,d)=>(PE(l)&&(d=l,l={}),f=>{const{links:h=[],title:p=null,...m}=typeof l=="string"?{title:l}:{...l},g=o(h),y={id:u,__:"element",title:p,description:null,tags:null,rules:[],links:g,customColorDefinitions:{},...m};return f.addView(y),d&&d(a(y)),f}),viewOf:(u,l,d,f)=>(PE(d)&&(f=d,d={}),h=>{const{links:p=[],title:m=null,...g}=typeof d=="string"?{title:d}:{...d},y=o(p),w={id:u,__:"element",viewOf:l,title:m,description:null,tags:null,rules:[],links:y,customColorDefinitions:{},...g};return h.addView(w),f&&f(a(w)),h}),$autoLayout:JO,$exclude:YO,$expr:or,$include:KO,$rules:ZO,$style:XO}}),with:(...u)=>u.reduce((l,d)=>d(l),c).clone()};return c}var Nm;(t=>{function e(n){const r=FE(n);return{...r.helpers(),builder:r}}t.forSpecification=e})(Nm||(Nm={}));const{min:QO,max:eL}=Math,$s=(t,e=0,n=1)=>QO(eL(e,t),n),Om=t=>{t._clipped=!1,t._unclipped=t.slice(0);for(let e=0;e<=3;e++)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]=$s(t[e],0,255)):e===3&&(t[e]=$s(t[e],0,1));return t},ME={};for(let t of["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"])ME[`[object ${t}]`]=t.toLowerCase();function Ae(t){return ME[Object.prototype.toString.call(t)]||"object"}const Se=(t,e=null)=>t.length>=3?Array.prototype.slice.call(t):Ae(t[0])=="object"&&e?e.split("").filter(n=>t[0][n]!==void 0).map(n=>t[0][n]):t[0].slice(0),$o=t=>{if(t.length<2)return null;const e=t.length-1;return Ae(t[e])=="string"?t[e].toLowerCase():null},{PI:kd,min:zE,max:BE}=Math,Un=t=>Math.round(t*100)/100,Lm=t=>Math.round(t*100)/100,Qr=kd*2,Fm=kd/3,tL=kd/180,nL=180/kd;function qE(t){return[...t.slice(0,3).reverse(),...t.slice(3)]}const Re={format:{},autodetect:[]};let re=class{constructor(...e){const n=this;if(Ae(e[0])==="object"&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let r=$o(e),i=!1;if(!r){i=!0,Re.sorted||(Re.autodetect=Re.autodetect.sort((s,o)=>o.p-s.p),Re.sorted=!0);for(let s of Re.autodetect)if(r=s.test(...e),r)break}if(Re.format[r]){const s=Re.format[r].apply(null,i?e:e.slice(0,-1));n._rgb=Om(s)}else throw new Error("unknown format: "+e);n._rgb.length===3&&n._rgb.push(1)}toString(){return Ae(this.hex)=="function"?this.hex():`[${this._rgb.join(",")}]`}};const rL="3.1.2",Pe=(...t)=>new re(...t);Pe.version=rL;const Co={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},iL=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,sL=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,jE=t=>{if(t.match(iL)){(t.length===4||t.length===7)&&(t=t.substr(1)),t.length===3&&(t=t.split(""),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const e=parseInt(t,16),n=e>>16,r=e>>8&255,i=e&255;return[n,r,i,1]}if(t.match(sL)){(t.length===5||t.length===9)&&(t=t.substr(1)),t.length===4&&(t=t.split(""),t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);const e=parseInt(t,16),n=e>>24&255,r=e>>16&255,i=e>>8&255,s=Math.round((e&255)/255*100)/100;return[n,r,i,s]}throw new Error(`unknown hex color: ${t}`)},{round:$d}=Math,UE=(...t)=>{let[e,n,r,i]=Se(t,"rgba"),s=$o(t)||"auto";i===void 0&&(i=1),s==="auto"&&(s=i<1?"rgba":"rgb"),e=$d(e),n=$d(n),r=$d(r);let o="000000"+(e<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let a="0"+$d(i*255).toString(16);switch(a=a.substr(a.length-2),s.toLowerCase()){case"rgba":return`#${o}${a}`;case"argb":return`#${a}${o}`;default:return`#${o}`}};re.prototype.name=function(){const t=UE(this._rgb,"rgb");for(let e of Object.keys(Co))if(Co[e]===t)return e.toLowerCase();return t},Re.format.named=t=>{if(t=t.toLowerCase(),Co[t])return jE(Co[t]);throw new Error("unknown color name: "+t)},Re.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&Co[t.toLowerCase()])return"named"}}),re.prototype.alpha=function(t,e=!1){return t!==void 0&&Ae(t)==="number"?e?(this._rgb[3]=t,this):new re([this._rgb[0],this._rgb[1],this._rgb[2],t],"rgb"):this._rgb[3]},re.prototype.clipped=function(){return this._rgb._clipped||!1};const Cr={Kn:18,labWhitePoint:"d65",Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},oL=new Map([["a",[1.0985,.35585]],["b",[1.0985,.35585]],["c",[.98074,1.18232]],["d50",[.96422,.82521]],["d55",[.95682,.92149]],["d65",[.95047,1.08883]],["e",[1,1,1]],["f2",[.99186,.67393]],["f7",[.95041,1.08747]],["f11",[1.00962,.6435]],["icc",[.96422,.82521]]]);function ei(t){const e=oL.get(String(t).toLowerCase());if(!e)throw new Error("unknown Lab illuminant "+t);Cr.labWhitePoint=t,Cr.Xn=e[0],Cr.Zn=e[1]}function Ua(){return Cr.labWhitePoint}const Mm=(...t)=>{t=Se(t,"lab");const[e,n,r]=t,[i,s,o]=aL(e,n,r),[a,c,u]=GE(i,s,o);return[a,c,u,t.length>3?t[3]:1]},aL=(t,e,n)=>{const{kE:r,kK:i,kKE:s,Xn:o,Yn:a,Zn:c}=Cr,u=(t+16)/116,l=.002*e+u,d=u-.005*n,f=l*l*l,h=d*d*d,p=f>r?f:(116*l-16)/i,m=t>s?Math.pow((t+16)/116,3):t/i,g=h>r?h:(116*d-16)/i,y=p*o,w=m*a,E=g*c;return[y,w,E]},zm=t=>{const e=Math.sign(t);return t=Math.abs(t),(t<=.0031308?t*12.92:1.055*Math.pow(t,1/2.4)-.055)*e},GE=(t,e,n)=>{const{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:s,RefWhiteRGB:o,Xn:a,Yn:c,Zn:u}=Cr,l=a*r.m00+c*r.m10+u*r.m20,d=a*r.m01+c*r.m11+u*r.m21,f=a*r.m02+c*r.m12+u*r.m22,h=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,p=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,m=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(t*r.m00+e*r.m10+n*r.m20)*(h/l),y=(t*r.m01+e*r.m11+n*r.m21)*(p/d),w=(t*r.m02+e*r.m12+n*r.m22)*(m/f),E=g*i.m00+y*i.m10+w*i.m20,k=g*i.m01+y*i.m11+w*i.m21,A=g*i.m02+y*i.m12+w*i.m22,I=zm(E*s.m00+k*s.m10+A*s.m20),x=zm(E*s.m01+k*s.m11+A*s.m21),_=zm(E*s.m02+k*s.m12+A*s.m22);return[I*255,x*255,_*255]},Bm=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=WE(e,n,r),[c,u,l]=cL(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function cL(t,e,n){const{Xn:r,Yn:i,Zn:s,kE:o,kK:a}=Cr,c=t/r,u=e/i,l=n/s,d=c>o?Math.pow(c,1/3):(a*c+16)/116,f=u>o?Math.pow(u,1/3):(a*u+16)/116,h=l>o?Math.pow(l,1/3):(a*l+16)/116;return[116*f-16,500*(d-f),200*(f-h)]}function qm(t){const e=Math.sign(t);return t=Math.abs(t),(t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4))*e}const WE=(t,e,n)=>{t=qm(t/255),e=qm(e/255),n=qm(n/255);const{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:s,Xn:o,Yn:a,Zn:c,As:u,Bs:l,Cs:d}=Cr;let f=t*r.m00+e*r.m10+n*r.m20,h=t*r.m01+e*r.m11+n*r.m21,p=t*r.m02+e*r.m12+n*r.m22;const m=o*i.m00+a*i.m10+c*i.m20,g=o*i.m01+a*i.m11+c*i.m21,y=o*i.m02+a*i.m12+c*i.m22;let w=f*i.m00+h*i.m10+p*i.m20,E=f*i.m01+h*i.m11+p*i.m21,k=f*i.m02+h*i.m12+p*i.m22;return w*=m/u,E*=g/l,k*=y/d,f=w*s.m00+E*s.m10+k*s.m20,h=w*s.m01+E*s.m11+k*s.m21,p=w*s.m02+E*s.m12+k*s.m22,[f,h,p]};re.prototype.lab=function(){return Bm(this._rgb)};const uL=(...t)=>new re(...t,"lab");Object.assign(Pe,{lab:uL,getLabWhitePoint:Ua,setLabWhitePoint:ei}),Re.format.lab=Mm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"lab"),Ae(t)==="array"&&t.length===3)return"lab"}}),re.prototype.darken=function(t=1){const e=this,n=e.lab();return n[0]-=Cr.Kn*t,new re(n,"lab").alpha(e.alpha(),!0)},re.prototype.brighten=function(t=1){return this.darken(-t)},re.prototype.darker=re.prototype.darken,re.prototype.brighter=re.prototype.brighten,re.prototype.get=function(t){const[e,n]=t.split("."),r=this[e]();if(n){const i=e.indexOf(n)-(e.substr(0,2)==="ok"?2:0);if(i>-1)return r[i];throw new Error(`unknown channel ${n} in mode ${e}`)}else return r};const{pow:lL}=Math,dL=1e-7,fL=20;re.prototype.luminance=function(t,e="rgb"){if(t!==void 0&&Ae(t)==="number"){if(t===0)return new re([0,0,0,this._rgb[3]],"rgb");if(t===1)return new re([255,255,255,this._rgb[3]],"rgb");let n=this.luminance(),r=fL;const i=(o,a)=>{const c=o.interpolate(a,.5,e),u=c.luminance();return Math.abs(t-u)<dL||!r--?c:u>t?i(o,c):i(c,a)},s=(n>t?i(new re([0,0,0]),this):i(this,new re([255,255,255]))).rgb();return new re([...s,this._rgb[3]])}return hL(...this._rgb.slice(0,3))};const hL=(t,e,n)=>(t=jm(t),e=jm(e),n=jm(n),.2126*t+.7152*e+.0722*n),jm=t=>(t/=255,t<=.03928?t/12.92:lL((t+.055)/1.055,2.4)),Yt={},_o=(t,e,n=.5,...r)=>{let i=r[0]||"lrgb";if(!Yt[i]&&!r.length&&(i=Object.keys(Yt)[0]),!Yt[i])throw new Error(`interpolation mode ${i} is not defined`);return Ae(t)!=="object"&&(t=new re(t)),Ae(e)!=="object"&&(e=new re(e)),Yt[i](t,e,n).alpha(t.alpha()+n*(e.alpha()-t.alpha()))};re.prototype.mix=re.prototype.interpolate=function(t,e=.5,...n){return _o(this,t,e,...n)},re.prototype.premultiply=function(t=!1){const e=this._rgb,n=e[3];return t?(this._rgb=[e[0]*n,e[1]*n,e[2]*n,n],this):new re([e[0]*n,e[1]*n,e[2]*n,n],"rgb")};const{sin:pL,cos:mL}=Math,HE=(...t)=>{let[e,n,r]=Se(t,"lch");return isNaN(r)&&(r=0),r=r*tL,[e,mL(r)*n,pL(r)*n]},Um=(...t)=>{t=Se(t,"lch");const[e,n,r]=t,[i,s,o]=HE(e,n,r),[a,c,u]=Mm(i,s,o);return[a,c,u,t.length>3?t[3]:1]},gL=(...t)=>{const e=qE(Se(t,"hcl"));return Um(...e)},{sqrt:yL,atan2:vL,round:wL}=Math,VE=(...t)=>{const[e,n,r]=Se(t,"lab"),i=yL(n*n+r*r);let s=(vL(r,n)*nL+360)%360;return wL(i*1e4)===0&&(s=Number.NaN),[e,i,s]},Gm=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=Bm(e,n,r),[c,u,l]=VE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};re.prototype.lch=function(){return Gm(this._rgb)},re.prototype.hcl=function(){return qE(Gm(this._rgb))};const bL=(...t)=>new re(...t,"lch"),EL=(...t)=>new re(...t,"hcl");Object.assign(Pe,{lch:bL,hcl:EL}),Re.format.lch=Um,Re.format.hcl=gL,["lch","hcl"].forEach(t=>Re.autodetect.push({p:2,test:(...e)=>{if(e=Se(e,t),Ae(e)==="array"&&e.length===3)return t}})),re.prototype.saturate=function(t=1){const e=this,n=e.lch();return n[1]+=Cr.Kn*t,n[1]<0&&(n[1]=0),new re(n,"lch").alpha(e.alpha(),!0)},re.prototype.desaturate=function(t=1){return this.saturate(-t)},re.prototype.set=function(t,e,n=!1){const[r,i]=t.split("."),s=this[r]();if(i){const o=r.indexOf(i)-(r.substr(0,2)==="ok"?2:0);if(o>-1){if(Ae(e)=="string")switch(e.charAt(0)){case"+":s[o]+=+e;break;case"-":s[o]+=+e;break;case"*":s[o]*=+e.substr(1);break;case"/":s[o]/=+e.substr(1);break;default:s[o]=+e}else if(Ae(e)==="number")s[o]=e;else throw new Error("unsupported value for Color.set");const a=new re(s,r);return n?(this._rgb=a._rgb,this):a}throw new Error(`unknown channel ${i} in mode ${r}`)}else return s},re.prototype.tint=function(t=.5,...e){return _o(this,"white",t,...e)},re.prototype.shade=function(t=.5,...e){return _o(this,"black",t,...e)};const DL=(t,e,n)=>{const r=t._rgb,i=e._rgb;return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"rgb")};Yt.rgb=DL;const{sqrt:Wm,pow:Ao}=Math,TL=(t,e,n)=>{const[r,i,s]=t._rgb,[o,a,c]=e._rgb;return new re(Wm(Ao(r,2)*(1-n)+Ao(o,2)*n),Wm(Ao(i,2)*(1-n)+Ao(a,2)*n),Wm(Ao(s,2)*(1-n)+Ao(c,2)*n),"rgb")};Yt.lrgb=TL;const RL=(t,e,n)=>{const r=t.lab(),i=e.lab();return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"lab")};Yt.lab=RL;const xo=(t,e,n,r)=>{let i,s;r==="hsl"?(i=t.hsl(),s=e.hsl()):r==="hsv"?(i=t.hsv(),s=e.hsv()):r==="hcg"?(i=t.hcg(),s=e.hcg()):r==="hsi"?(i=t.hsi(),s=e.hsi()):r==="lch"||r==="hcl"?(r="hcl",i=t.hcl(),s=e.hcl()):r==="oklch"&&(i=t.oklch().reverse(),s=e.oklch().reverse());let o,a,c,u,l,d;(r.substr(0,1)==="h"||r==="oklch")&&([o,c,l]=i,[a,u,d]=s);let f,h,p,m;return!isNaN(o)&&!isNaN(a)?(a>o&&a-o>180?m=a-(o+360):a<o&&o-a>180?m=a+360-o:m=a-o,h=o+n*m):isNaN(o)?isNaN(a)?h=Number.NaN:(h=a,(l==1||l==0)&&r!="hsv"&&(f=u)):(h=o,(d==1||d==0)&&r!="hsv"&&(f=c)),f===void 0&&(f=c+n*(u-c)),p=l+n*(d-l),r==="oklch"?new re([p,f,h],r):new re([h,f,p],r)},KE=(t,e,n)=>xo(t,e,n,"lch");Yt.lch=KE,Yt.hcl=KE;const SL=t=>{if(Ae(t)=="number"&&t>=0&&t<=16777215){const e=t>>16,n=t>>8&255,r=t&255;return[e,n,r,1]}throw new Error("unknown num color: "+t)},kL=(...t)=>{const[e,n,r]=Se(t,"rgb");return(e<<16)+(n<<8)+r};re.prototype.num=function(){return kL(this._rgb)};const $L=(...t)=>new re(...t,"num");Object.assign(Pe,{num:$L}),Re.format.num=SL,Re.autodetect.push({p:5,test:(...t)=>{if(t.length===1&&Ae(t[0])==="number"&&t[0]>=0&&t[0]<=16777215)return"num"}});const CL=(t,e,n)=>{const r=t.num(),i=e.num();return new re(r+n*(i-r),"num")};Yt.num=CL;const{floor:_L}=Math,AL=(...t)=>{t=Se(t,"hcg");let[e,n,r]=t,i,s,o;r=r*255;const a=n*255;if(n===0)i=s=o=r;else{e===360&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60;const c=_L(e),u=e-c,l=r*(1-n),d=l+a*(1-u),f=l+a*u,h=l+a;switch(c){case 0:[i,s,o]=[h,f,l];break;case 1:[i,s,o]=[d,h,l];break;case 2:[i,s,o]=[l,h,f];break;case 3:[i,s,o]=[l,d,h];break;case 4:[i,s,o]=[f,l,h];break;case 5:[i,s,o]=[h,l,d];break}}return[i,s,o,t.length>3?t[3]:1]},xL=(...t)=>{const[e,n,r]=Se(t,"rgb"),i=zE(e,n,r),s=BE(e,n,r),o=s-i,a=o*100/255,c=i/(255-o)*100;let u;return o===0?u=Number.NaN:(e===s&&(u=(n-r)/o),n===s&&(u=2+(r-e)/o),r===s&&(u=4+(e-n)/o),u*=60,u<0&&(u+=360)),[u,a,c]};re.prototype.hcg=function(){return xL(this._rgb)};const IL=(...t)=>new re(...t,"hcg");Pe.hcg=IL,Re.format.hcg=AL,Re.autodetect.push({p:1,test:(...t)=>{if(t=Se(t,"hcg"),Ae(t)==="array"&&t.length===3)return"hcg"}});const PL=(t,e,n)=>xo(t,e,n,"hcg");Yt.hcg=PL;const{cos:Io}=Math,NL=(...t)=>{t=Se(t,"hsi");let[e,n,r]=t,i,s,o;return isNaN(e)&&(e=0),isNaN(n)&&(n=0),e>360&&(e-=360),e<0&&(e+=360),e/=360,e<1/3?(o=(1-n)/3,i=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,s=1-(o+i)):e<2/3?(e-=1/3,i=(1-n)/3,s=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,o=1-(i+s)):(e-=2/3,s=(1-n)/3,o=(1+n*Io(Qr*e)/Io(Fm-Qr*e))/3,i=1-(s+o)),i=$s(r*i*3),s=$s(r*s*3),o=$s(r*o*3),[i*255,s*255,o*255,t.length>3?t[3]:1]},{min:OL,sqrt:LL,acos:FL}=Math,ML=(...t)=>{let[e,n,r]=Se(t,"rgb");e/=255,n/=255,r/=255;let i;const s=OL(e,n,r),o=(e+n+r)/3,a=o>0?1-s/o:0;return a===0?i=NaN:(i=(e-n+(e-r))/2,i/=LL((e-n)*(e-n)+(e-r)*(n-r)),i=FL(i),r>n&&(i=Qr-i),i/=Qr),[i*360,a,o]};re.prototype.hsi=function(){return ML(this._rgb)};const zL=(...t)=>new re(...t,"hsi");Pe.hsi=zL,Re.format.hsi=NL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsi"),Ae(t)==="array"&&t.length===3)return"hsi"}});const BL=(t,e,n)=>xo(t,e,n,"hsi");Yt.hsi=BL;const Hm=(...t)=>{t=Se(t,"hsl");const[e,n,r]=t;let i,s,o;if(n===0)i=s=o=r*255;else{const a=[0,0,0],c=[0,0,0],u=r<.5?r*(1+n):r+n-r*n,l=2*r-u,d=e/360;a[0]=d+1/3,a[1]=d,a[2]=d-1/3;for(let f=0;f<3;f++)a[f]<0&&(a[f]+=1),a[f]>1&&(a[f]-=1),6*a[f]<1?c[f]=l+(u-l)*6*a[f]:2*a[f]<1?c[f]=u:3*a[f]<2?c[f]=l+(u-l)*(2/3-a[f])*6:c[f]=l;[i,s,o]=[c[0]*255,c[1]*255,c[2]*255]}return t.length>3?[i,s,o,t[3]]:[i,s,o,1]},YE=(...t)=>{t=Se(t,"rgba");let[e,n,r]=t;e/=255,n/=255,r/=255;const i=zE(e,n,r),s=BE(e,n,r),o=(s+i)/2;let a,c;return s===i?(a=0,c=Number.NaN):a=o<.5?(s-i)/(s+i):(s-i)/(2-s-i),e==s?c=(n-r)/(s-i):n==s?c=2+(r-e)/(s-i):r==s&&(c=4+(e-n)/(s-i)),c*=60,c<0&&(c+=360),t.length>3&&t[3]!==void 0?[c,a,o,t[3]]:[c,a,o]};re.prototype.hsl=function(){return YE(this._rgb)};const qL=(...t)=>new re(...t,"hsl");Pe.hsl=qL,Re.format.hsl=Hm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsl"),Ae(t)==="array"&&t.length===3)return"hsl"}});const jL=(t,e,n)=>xo(t,e,n,"hsl");Yt.hsl=jL;const{floor:UL}=Math,GL=(...t)=>{t=Se(t,"hsv");let[e,n,r]=t,i,s,o;if(r*=255,n===0)i=s=o=r;else{e===360&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60;const a=UL(e),c=e-a,u=r*(1-n),l=r*(1-n*c),d=r*(1-n*(1-c));switch(a){case 0:[i,s,o]=[r,d,u];break;case 1:[i,s,o]=[l,r,u];break;case 2:[i,s,o]=[u,r,d];break;case 3:[i,s,o]=[u,l,r];break;case 4:[i,s,o]=[d,u,r];break;case 5:[i,s,o]=[r,u,l];break}}return[i,s,o,t.length>3?t[3]:1]},{min:WL,max:HL}=Math,VL=(...t)=>{t=Se(t,"rgb");let[e,n,r]=t;const i=WL(e,n,r),s=HL(e,n,r),o=s-i;let a,c,u;return u=s/255,s===0?(a=Number.NaN,c=0):(c=o/s,e===s&&(a=(n-r)/o),n===s&&(a=2+(r-e)/o),r===s&&(a=4+(e-n)/o),a*=60,a<0&&(a+=360)),[a,c,u]};re.prototype.hsv=function(){return VL(this._rgb)};const KL=(...t)=>new re(...t,"hsv");Pe.hsv=KL,Re.format.hsv=GL,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"hsv"),Ae(t)==="array"&&t.length===3)return"hsv"}});const YL=(t,e,n)=>xo(t,e,n,"hsv");Yt.hsv=YL;function Cd(t,e){let n=t.length;Array.isArray(t[0])||(t=[t]),Array.isArray(e[0])||(e=e.map(o=>[o]));let r=e[0].length,i=e[0].map((o,a)=>e.map(c=>c[a])),s=t.map(o=>i.map(a=>Array.isArray(o)?o.reduce((c,u,l)=>c+u*(a[l]||0),0):a.reduce((c,u)=>c+u*o,0)));return n===1&&(s=s[0]),r===1?s.map(o=>o[0]):s}const Vm=(...t)=>{t=Se(t,"lab");const[e,n,r,...i]=t,[s,o,a]=XL([e,n,r]),[c,u,l]=GE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]};function XL(t){var e=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],n=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],r=Cd(n,t);return Cd(e,r.map(i=>i**3))}const Km=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),s=WE(e,n,r);return[...JL(s),...i.length>0&&i[0]<1?[i[0]]:[]]};function JL(t){const e=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],n=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],r=Cd(e,t);return Cd(n,r.map(i=>Math.cbrt(i)))}re.prototype.oklab=function(){return Km(this._rgb)};const ZL=(...t)=>new re(...t,"oklab");Object.assign(Pe,{oklab:ZL}),Re.format.oklab=Vm,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"oklab"),Ae(t)==="array"&&t.length===3)return"oklab"}});const QL=(t,e,n)=>{const r=t.oklab(),i=e.oklab();return new re(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),"oklab")};Yt.oklab=QL;const eF=(t,e,n)=>xo(t,e,n,"oklch");Yt.oklch=eF;const{pow:Ym,sqrt:Xm,PI:Jm,cos:XE,sin:JE,atan2:tF}=Math,nF=(t,e="lrgb",n=null)=>{const r=t.length;n||(n=Array.from(new Array(r)).map(()=>1));const i=r/n.reduce(function(d,f){return d+f});if(n.forEach((d,f)=>{n[f]*=i}),t=t.map(d=>new re(d)),e==="lrgb")return rF(t,n);const s=t.shift(),o=s.get(e),a=[];let c=0,u=0;for(let d=0;d<o.length;d++)if(o[d]=(o[d]||0)*n[0],a.push(isNaN(o[d])?0:n[0]),e.charAt(d)==="h"&&!isNaN(o[d])){const f=o[d]/180*Jm;c+=XE(f)*n[0],u+=JE(f)*n[0]}let l=s.alpha()*n[0];t.forEach((d,f)=>{const h=d.get(e);l+=d.alpha()*n[f+1];for(let p=0;p<o.length;p++)if(!isNaN(h[p]))if(a[p]+=n[f+1],e.charAt(p)==="h"){const m=h[p]/180*Jm;c+=XE(m)*n[f+1],u+=JE(m)*n[f+1]}else o[p]+=h[p]*n[f+1]});for(let d=0;d<o.length;d++)if(e.charAt(d)==="h"){let f=tF(u/a[d],c/a[d])/Jm*180;for(;f<0;)f+=360;for(;f>=360;)f-=360;o[d]=f}else o[d]=o[d]/a[d];return l/=r,new re(o,e).alpha(l>.99999?1:l,!0)},rF=(t,e)=>{const n=t.length,r=[0,0,0,0];for(let i=0;i<t.length;i++){const s=t[i],o=e[i]/n,a=s._rgb;r[0]+=Ym(a[0],2)*o,r[1]+=Ym(a[1],2)*o,r[2]+=Ym(a[2],2)*o,r[3]+=a[3]*o}return r[0]=Xm(r[0]),r[1]=Xm(r[1]),r[2]=Xm(r[2]),r[3]>.9999999&&(r[3]=1),new re(Om(r))},{pow:iF}=Math;function _d(t){let e="rgb",n=Pe("#ccc"),r=0,i=[0,1],s=[],o=[0,0],a=!1,c=[],u=!1,l=0,d=1,f=!1,h={},p=!0,m=1;const g=function(x){if(x=x||["#fff","#000"],x&&Ae(x)==="string"&&Pe.brewer&&Pe.brewer[x.toLowerCase()]&&(x=Pe.brewer[x.toLowerCase()]),Ae(x)==="array"){x.length===1&&(x=[x[0],x[0]]),x=x.slice(0);for(let _=0;_<x.length;_++)x[_]=Pe(x[_]);s.length=0;for(let _=0;_<x.length;_++)s.push(_/(x.length-1))}return A(),c=x},y=function(x){if(a!=null){const _=a.length-1;let P=0;for(;P<_&&x>=a[P];)P++;return P-1}return 0};let w=x=>x,E=x=>x;const k=function(x,_){let P,O;if(_==null&&(_=!1),isNaN(x)||x===null)return n;_?O=x:a&&a.length>2?O=y(x)/(a.length-2):d!==l?O=(x-l)/(d-l):O=1,O=E(O),_||(O=w(O)),m!==1&&(O=iF(O,m)),O=o[0]+O*(1-o[0]-o[1]),O=$s(O,0,1);const C=Math.floor(O*1e4);if(p&&h[C])P=h[C];else{if(Ae(c)==="array")for(let D=0;D<s.length;D++){const R=s[D];if(O<=R){P=c[D];break}if(O>=R&&D===s.length-1){P=c[D];break}if(O>R&&O<s[D+1]){O=(O-R)/(s[D+1]-R),P=Pe.interpolate(c[D],c[D+1],O,e);break}}else Ae(c)==="function"&&(P=c(O));p&&(h[C]=P)}return P};var A=()=>h={};g(t);const I=function(x){const _=Pe(k(x));return u&&_[u]?_[u]():_};return I.classes=function(x){if(x!=null){if(Ae(x)==="array")a=x,i=[x[0],x[x.length-1]];else{const _=Pe.analyze(i);x===0?a=[_.min,_.max]:a=Pe.limits(_,"e",x)}return I}return a},I.domain=function(x){if(!arguments.length)return i;l=x[0],d=x[x.length-1],s=[];const _=c.length;if(x.length===_&&l!==d)for(let P of Array.from(x))s.push((P-l)/(d-l));else{for(let P=0;P<_;P++)s.push(P/(_-1));if(x.length>2){const P=x.map((C,D)=>D/(x.length-1)),O=x.map(C=>(C-l)/(d-l));O.every((C,D)=>P[D]===C)||(E=C=>{if(C<=0||C>=1)return C;let D=0;for(;C>=O[D+1];)D++;const R=(C-O[D])/(O[D+1]-O[D]);return P[D]+R*(P[D+1]-P[D])})}}return i=[l,d],I},I.mode=function(x){return arguments.length?(e=x,A(),I):e},I.range=function(x,_){return g(x),I},I.out=function(x){return u=x,I},I.spread=function(x){return arguments.length?(r=x,I):r},I.correctLightness=function(x){return x==null&&(x=!0),f=x,A(),f?w=function(_){const P=k(0,!0).lab()[0],O=k(1,!0).lab()[0],C=P>O;let D=k(_,!0).lab()[0];const R=P+(O-P)*_;let F=D-R,W=0,V=1,Z=20;for(;Math.abs(F)>.01&&Z-- >0;)(function(){return C&&(F*=-1),F<0?(W=_,_+=(V-_)*.5):(V=_,_+=(W-_)*.5),D=k(_,!0).lab()[0],F=D-R})();return _}:w=_=>_,I},I.padding=function(x){return x!=null?(Ae(x)==="number"&&(x=[x,x]),o=x,I):o},I.colors=function(x,_){arguments.length<2&&(_="hex");let P=[];if(arguments.length===0)P=c.slice(0);else if(x===1)P=[I(.5)];else if(x>1){const O=i[0],C=i[1]-O;P=sF(0,x).map(D=>I(O+D/(x-1)*C))}else{t=[];let O=[];if(a&&a.length>2)for(let C=1,D=a.length,R=1<=D;R?C<D:C>D;R?C++:C--)O.push((a[C-1]+a[C])*.5);else O=i;P=O.map(C=>I(C))}return Pe[_]&&(P=P.map(O=>O[_]())),P},I.cache=function(x){return x!=null?(p=x,I):p},I.gamma=function(x){return x!=null?(m=x,I):m},I.nodata=function(x){return x!=null?(n=Pe(x),I):n},I}function sF(t,e,n){let r=[],i=t<e,s=e;for(let o=t;i?o<s:o>s;i?o++:o--)r.push(o);return r}const oF=function(t){let e=[1,1];for(let n=1;n<t;n++){let r=[1];for(let i=1;i<=e.length;i++)r[i]=(e[i]||0)+e[i-1];e=r}return e},aF=function(t){let e,n,r,i;if(t=t.map(s=>new re(s)),t.length===2)[n,r]=t.map(s=>s.lab()),e=function(s){const o=[0,1,2].map(a=>n[a]+s*(r[a]-n[a]));return new re(o,"lab")};else if(t.length===3)[n,r,i]=t.map(s=>s.lab()),e=function(s){const o=[0,1,2].map(a=>(1-s)*(1-s)*n[a]+2*(1-s)*s*r[a]+s*s*i[a]);return new re(o,"lab")};else if(t.length===4){let s;[n,r,i,s]=t.map(o=>o.lab()),e=function(o){const a=[0,1,2].map(c=>(1-o)*(1-o)*(1-o)*n[c]+3*(1-o)*(1-o)*o*r[c]+3*(1-o)*o*o*i[c]+o*o*o*s[c]);return new re(a,"lab")}}else if(t.length>=5){let s,o,a;s=t.map(c=>c.lab()),a=t.length-1,o=oF(a),e=function(c){const u=1-c,l=[0,1,2].map(d=>s.reduce((f,h,p)=>f+o[p]*u**(a-p)*c**p*h[d],0));return new re(l,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return e},cF=t=>{const e=aF(t);return e.scale=()=>_d(e),e},{round:ZE}=Math;re.prototype.rgb=function(t=!0){return t===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(ZE)},re.prototype.rgba=function(t=!0){return this._rgb.slice(0,4).map((e,n)=>n<3?t===!1?e:ZE(e):e)};const uF=(...t)=>new re(...t,"rgb");Object.assign(Pe,{rgb:uF}),Re.format.rgb=(...t)=>{const e=Se(t,"rgba");return e[3]===void 0&&(e[3]=1),e},Re.autodetect.push({p:3,test:(...t)=>{if(t=Se(t,"rgba"),Ae(t)==="array"&&(t.length===3||t.length===4&&Ae(t[3])=="number"&&t[3]>=0&&t[3]<=1))return"rgb"}});const ar=(t,e,n)=>{if(!ar[n])throw new Error("unknown blend mode "+n);return ar[n](t,e)},Oi=t=>(e,n)=>{const r=Pe(n).rgb(),i=Pe(e).rgb();return Pe.rgb(t(r,i))},Li=t=>(e,n)=>{const r=[];return r[0]=t(e[0],n[0]),r[1]=t(e[1],n[1]),r[2]=t(e[2],n[2]),r},lF=t=>t,dF=(t,e)=>t*e/255,fF=(t,e)=>t>e?e:t,hF=(t,e)=>t>e?t:e,pF=(t,e)=>255*(1-(1-t/255)*(1-e/255)),mF=(t,e)=>e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255)),gF=(t,e)=>255*(1-(1-e/255)/(t/255)),yF=(t,e)=>t===255?255:(t=255*(e/255)/(1-t/255),t>255?255:t);ar.normal=Oi(Li(lF)),ar.multiply=Oi(Li(dF)),ar.screen=Oi(Li(pF)),ar.overlay=Oi(Li(mF)),ar.darken=Oi(Li(fF)),ar.lighten=Oi(Li(hF)),ar.dodge=Oi(Li(yF)),ar.burn=Oi(Li(gF));const{pow:vF,sin:wF,cos:bF}=Math;function EF(t=300,e=-1.5,n=1,r=1,i=[0,1]){let s=0,o;Ae(i)==="array"?o=i[1]-i[0]:(o=0,i=[i,i]);const a=function(c){const u=Qr*((t+120)/360+e*c),l=vF(i[0]+o*c,r),d=(s!==0?n[0]+c*s:n)*l*(1-l)/2,f=bF(u),h=wF(u),p=l+d*(-.14861*f+1.78277*h),m=l+d*(-.29227*f-.90649*h),g=l+d*(1.97294*f);return Pe(Om([p*255,m*255,g*255,1]))};return a.start=function(c){return c==null?t:(t=c,a)},a.rotations=function(c){return c==null?e:(e=c,a)},a.gamma=function(c){return c==null?r:(r=c,a)},a.hue=function(c){return c==null?n:(n=c,Ae(n)==="array"?(s=n[1]-n[0],s===0&&(n=n[1])):s=0,a)},a.lightness=function(c){return c==null?i:(Ae(c)==="array"?(i=c,o=c[1]-c[0]):(i=[c,c],o=0),a)},a.scale=()=>Pe.scale(a),a.hue(n),a}const DF="0123456789abcdef",{floor:TF,random:RF}=Math,SF=()=>{let t="#";for(let e=0;e<6;e++)t+=DF.charAt(TF(RF()*16));return new re(t,"hex")},{log:QE,pow:kF,floor:$F,abs:CF}=Math;function eD(t,e=null){const n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return Ae(t)==="object"&&(t=Object.values(t)),t.forEach(r=>{e&&Ae(r)==="object"&&(r=r[e]),r!=null&&!isNaN(r)&&(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(r,i)=>tD(n,r,i),n}function tD(t,e="equal",n=7){Ae(t)=="array"&&(t=eD(t));const{min:r,max:i}=t,s=t.values.sort((a,c)=>a-c);if(n===1)return[r,i];const o=[];if(e.substr(0,1)==="c"&&(o.push(r),o.push(i)),e.substr(0,1)==="e"){o.push(r);for(let a=1;a<n;a++)o.push(r+a/n*(i-r));o.push(i)}else if(e.substr(0,1)==="l"){if(r<=0)throw new Error("Logarithmic scales are only possible for values > 0");const a=Math.LOG10E*QE(r),c=Math.LOG10E*QE(i);o.push(r);for(let u=1;u<n;u++)o.push(kF(10,a+u/n*(c-a)));o.push(i)}else if(e.substr(0,1)==="q"){o.push(r);for(let a=1;a<n;a++){const c=(s.length-1)*a/n,u=$F(c);if(u===c)o.push(s[u]);else{const l=c-u;o.push(s[u]*(1-l)+s[u+1]*l)}}o.push(i)}else if(e.substr(0,1)==="k"){let a;const c=s.length,u=new Array(c),l=new Array(n);let d=!0,f=0,h=null;h=[],h.push(r);for(let g=1;g<n;g++)h.push(r+g/n*(i-r));for(h.push(i);d;){for(let y=0;y<n;y++)l[y]=0;for(let y=0;y<c;y++){const w=s[y];let E=Number.MAX_VALUE,k;for(let A=0;A<n;A++){const I=CF(h[A]-w);I<E&&(E=I,k=A),l[k]++,u[y]=k}}const g=new Array(n);for(let y=0;y<n;y++)g[y]=null;for(let y=0;y<c;y++)a=u[y],g[a]===null?g[a]=s[y]:g[a]+=s[y];for(let y=0;y<n;y++)g[y]*=1/l[y];d=!1;for(let y=0;y<n;y++)if(g[y]!==h[y]){d=!0;break}h=g,f++,f>200&&(d=!1)}const p={};for(let g=0;g<n;g++)p[g]=[];for(let g=0;g<c;g++)a=u[g],p[a].push(s[g]);let m=[];for(let g=0;g<n;g++)m.push(p[g][0]),m.push(p[g][p[g].length-1]);m=m.sort((g,y)=>g-y),o.push(m[0]);for(let g=1;g<m.length;g+=2){const y=m[g];!isNaN(y)&&o.indexOf(y)===-1&&o.push(y)}}return o}const _F=(t,e)=>{t=new re(t),e=new re(e);const n=t.luminance(),r=e.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},nD=.027,AF=5e-4,xF=.1,rD=1.14,Ad=.022,iD=1.414,IF=(t,e)=>{t=new re(t),e=new re(e),t.alpha()<1&&(t=_o(e,t,t.alpha(),"rgb"));const n=sD(...t.rgb()),r=sD(...e.rgb()),i=n>=Ad?n:n+Math.pow(Ad-n,iD),s=r>=Ad?r:r+Math.pow(Ad-r,iD),o=Math.pow(s,.56)-Math.pow(i,.57),a=Math.pow(s,.65)-Math.pow(i,.62),c=Math.abs(s-i)<AF?0:i<s?o*rD:a*rD;return(Math.abs(c)<xF?0:c>0?c-nD:c+nD)*100};function sD(t,e,n){return .2126729*Math.pow(t/255,2.4)+.7151522*Math.pow(e/255,2.4)+.072175*Math.pow(n/255,2.4)}const{sqrt:ti,pow:$t,min:PF,max:NF,atan2:oD,abs:aD,cos:xd,sin:cD,exp:OF,PI:uD}=Math;function LF(t,e,n=1,r=1,i=1){var s=function(ut){return 360*ut/(2*uD)},o=function(ut){return 2*uD*ut/360};t=new re(t),e=new re(e);const[a,c,u]=Array.from(t.lab()),[l,d,f]=Array.from(e.lab()),h=(a+l)/2,p=ti($t(c,2)+$t(u,2)),m=ti($t(d,2)+$t(f,2)),g=(p+m)/2,y=.5*(1-ti($t(g,7)/($t(g,7)+$t(25,7)))),w=c*(1+y),E=d*(1+y),k=ti($t(w,2)+$t(u,2)),A=ti($t(E,2)+$t(f,2)),I=(k+A)/2,x=s(oD(u,w)),_=s(oD(f,E)),P=x>=0?x:x+360,O=_>=0?_:_+360,C=aD(P-O)>180?(P+O+360)/2:(P+O)/2,D=1-.17*xd(o(C-30))+.24*xd(o(2*C))+.32*xd(o(3*C+6))-.2*xd(o(4*C-63));let R=O-P;R=aD(R)<=180?R:O<=P?R+360:R-360,R=2*ti(k*A)*cD(o(R)/2);const F=l-a,W=A-k,V=1+.015*$t(h-50,2)/ti(20+$t(h-50,2)),Z=1+.045*I,Le=1+.015*I*D,se=30*OF(-$t((C-275)/25,2)),K=-(2*ti($t(I,7)/($t(I,7)+$t(25,7))))*cD(2*o(se)),Te=ti($t(F/(n*V),2)+$t(W/(r*Z),2)+$t(R/(i*Le),2)+K*(W/(r*Z))*(R/(i*Le)));return NF(0,PF(100,Te))}function FF(t,e,n="lab"){t=new re(t),e=new re(e);const r=t.get(n),i=e.get(n);let s=0;for(let o in r){const a=(r[o]||0)-(i[o]||0);s+=a*a}return Math.sqrt(s)}const MF=(...t)=>{try{return new re(...t),!0}catch{return!1}},zF={cool(){return _d([Pe.hsl(180,1,.9),Pe.hsl(250,.7,.4)])},hot(){return _d(["#000","#f00","#ff0","#fff"]).mode("rgb")}},Zm={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},lD=Object.keys(Zm),dD=new Map(lD.map(t=>[t.toLowerCase(),t])),BF=typeof Proxy=="function"?new Proxy(Zm,{get(t,e){const n=e.toLowerCase();if(dD.has(n))return t[dD.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(lD)}}):Zm,qF=(...t)=>{t=Se(t,"cmyk");const[e,n,r,i]=t,s=t.length>4?t[4]:1;return i===1?[0,0,0,s]:[e>=1?0:255*(1-e)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),s]},{max:fD}=Math,jF=(...t)=>{let[e,n,r]=Se(t,"rgb");e=e/255,n=n/255,r=r/255;const i=1-fD(e,fD(n,r)),s=i<1?1/(1-i):0,o=(1-e-i)*s,a=(1-n-i)*s,c=(1-r-i)*s;return[o,a,c,i]};re.prototype.cmyk=function(){return jF(this._rgb)};const UF=(...t)=>new re(...t,"cmyk");Object.assign(Pe,{cmyk:UF}),Re.format.cmyk=qF,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"cmyk"),Ae(t)==="array"&&t.length===4)return"cmyk"}});const GF=(...t)=>{const e=Se(t,"hsla");let n=$o(t)||"lsa";return e[0]=Un(e[0]||0)+"deg",e[1]=Un(e[1]*100)+"%",e[2]=Un(e[2]*100)+"%",n==="hsla"||e.length>3&&e[3]<1?(e[3]="/ "+(e.length>3?e[3]:1),n="hsla"):e.length=3,`${n.substr(0,3)}(${e.join(" ")})`},WF=(...t)=>{const e=Se(t,"lab");let n=$o(t)||"lab";return e[0]=Un(e[0])+"%",e[1]=Un(e[1]),e[2]=Un(e[2]),n==="laba"||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lab(${e.join(" ")})`},HF=(...t)=>{const e=Se(t,"lch");let n=$o(t)||"lab";return e[0]=Un(e[0])+"%",e[1]=Un(e[1]),e[2]=isNaN(e[2])?"none":Un(e[2])+"deg",n==="lcha"||e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`lch(${e.join(" ")})`},VF=(...t)=>{const e=Se(t,"lab");return e[0]=Un(e[0]*100)+"%",e[1]=Lm(e[1]),e[2]=Lm(e[2]),e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklab(${e.join(" ")})`},hD=(...t)=>{const[e,n,r,...i]=Se(t,"rgb"),[s,o,a]=Km(e,n,r),[c,u,l]=VE(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]},KF=(...t)=>{const e=Se(t,"lch");return e[0]=Un(e[0]*100)+"%",e[1]=Lm(e[1]),e[2]=isNaN(e[2])?"none":Un(e[2])+"deg",e.length>3&&e[3]<1?e[3]="/ "+(e.length>3?e[3]:1):e.length=3,`oklch(${e.join(" ")})`},{round:Qm}=Math,YF=(...t)=>{const e=Se(t,"rgba");let n=$o(t)||"rgb";if(n.substr(0,3)==="hsl")return GF(YE(e),n);if(n.substr(0,3)==="lab"){const r=Ua();ei("d50");const i=WF(Bm(e),n);return ei(r),i}if(n.substr(0,3)==="lch"){const r=Ua();ei("d50");const i=HF(Gm(e),n);return ei(r),i}return n.substr(0,5)==="oklab"?VF(Km(e)):n.substr(0,5)==="oklch"?KF(hD(e)):(e[0]=Qm(e[0]),e[1]=Qm(e[1]),e[2]=Qm(e[2]),(n==="rgba"||e.length>3&&e[3]<1)&&(e[3]="/ "+(e.length>3?e[3]:1),n="rgba"),`${n.substr(0,3)}(${e.slice(0,n==="rgb"?3:4).join(" ")})`)},pD=(...t)=>{t=Se(t,"lch");const[e,n,r,...i]=t,[s,o,a]=HE(e,n,r),[c,u,l]=Vm(s,o,a);return[c,u,l,...i.length>0&&i[0]<1?[i[0]]:[]]},ni=/((?:-?\d+)|(?:-?\d+(?:\.\d+)?)%|none)/.source,cr=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%?)|none)/.source,Id=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)%)|none)/.source,Gn=/\s*/.source,Po=/\s+/.source,eg=/\s*,\s*/.source,Pd=/((?:-?(?:\d+(?:\.\d*)?|\.\d+)(?:deg)?)|none)/.source,No=/\s*(?:\/\s*((?:[01]|[01]?\.\d+)|\d+(?:\.\d+)?%))?/.source,mD=new RegExp("^rgba?\\("+Gn+[ni,ni,ni].join(Po)+No+"\\)$"),gD=new RegExp("^rgb\\("+Gn+[ni,ni,ni].join(eg)+Gn+"\\)$"),yD=new RegExp("^rgba\\("+Gn+[ni,ni,ni,cr].join(eg)+Gn+"\\)$"),vD=new RegExp("^hsla?\\("+Gn+[Pd,Id,Id].join(Po)+No+"\\)$"),wD=new RegExp("^hsl?\\("+Gn+[Pd,Id,Id].join(eg)+Gn+"\\)$"),bD=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ED=new RegExp("^lab\\("+Gn+[cr,cr,cr].join(Po)+No+"\\)$"),DD=new RegExp("^lch\\("+Gn+[cr,cr,Pd].join(Po)+No+"\\)$"),TD=new RegExp("^oklab\\("+Gn+[cr,cr,cr].join(Po)+No+"\\)$"),RD=new RegExp("^oklch\\("+Gn+[cr,cr,Pd].join(Po)+No+"\\)$"),{round:SD}=Math,Oo=t=>t.map((e,n)=>n<=2?$s(SD(e),0,255):e),Ct=(t,e=0,n=100,r=!1)=>(typeof t=="string"&&t.endsWith("%")&&(t=parseFloat(t.substring(0,t.length-1))/100,r?t=e+(t+1)*.5*(n-e):t=e+t*(n-e)),+t),rn=(t,e)=>t==="none"?e:t,tg=t=>{if(t=t.toLowerCase().trim(),t==="transparent")return[0,0,0,0];let e;if(Re.format.named)try{return Re.format.named(t)}catch{}if((e=t.match(mD))||(e=t.match(gD))){let n=e.slice(1,4);for(let i=0;i<3;i++)n[i]=+Ct(rn(n[i],0),0,255);n=Oo(n);const r=e[4]!==void 0?+Ct(e[4],0,1):1;return n[3]=r,n}if(e=t.match(yD)){const n=e.slice(1,5);for(let r=0;r<4;r++)n[r]=+Ct(n[r],0,255);return n}if((e=t.match(vD))||(e=t.match(wD))){const n=e.slice(1,4);n[0]=+rn(n[0].replace("deg",""),0),n[1]=+Ct(rn(n[1],0),0,100)*.01,n[2]=+Ct(rn(n[2],0),0,100)*.01;const r=Oo(Hm(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}if(e=t.match(bD)){const n=e.slice(1,4);n[1]*=.01,n[2]*=.01;const r=Hm(n);for(let i=0;i<3;i++)r[i]=SD(r[i]);return r[3]=+e[4],r}if(e=t.match(ED)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,100),n[1]=Ct(rn(n[1],0),-125,125,!0),n[2]=Ct(rn(n[2],0),-125,125,!0);const r=Ua();ei("d50");const i=Oo(Mm(n));ei(r);const s=e[4]!==void 0?+Ct(e[4],0,1):1;return i[3]=s,i}if(e=t.match(DD)){const n=e.slice(1,4);n[0]=Ct(n[0],0,100),n[1]=Ct(rn(n[1],0),0,150,!1),n[2]=+rn(n[2].replace("deg",""),0);const r=Ua();ei("d50");const i=Oo(Um(n));ei(r);const s=e[4]!==void 0?+Ct(e[4],0,1):1;return i[3]=s,i}if(e=t.match(TD)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,1),n[1]=Ct(rn(n[1],0),-.4,.4,!0),n[2]=Ct(rn(n[2],0),-.4,.4,!0);const r=Oo(Vm(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}if(e=t.match(RD)){const n=e.slice(1,4);n[0]=Ct(rn(n[0],0),0,1),n[1]=Ct(rn(n[1],0),0,.4,!1),n[2]=+rn(n[2].replace("deg",""),0);const r=Oo(pD(n)),i=e[4]!==void 0?+Ct(e[4],0,1):1;return r[3]=i,r}};tg.test=t=>mD.test(t)||vD.test(t)||ED.test(t)||DD.test(t)||TD.test(t)||RD.test(t)||gD.test(t)||yD.test(t)||wD.test(t)||bD.test(t)||t==="transparent",re.prototype.css=function(t){return YF(this._rgb,t)};const XF=(...t)=>new re(...t,"css");Pe.css=XF,Re.format.css=tg,Re.autodetect.push({p:5,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&tg.test(t))return"css"}}),Re.format.gl=(...t)=>{const e=Se(t,"rgba");return e[0]*=255,e[1]*=255,e[2]*=255,e};const JF=(...t)=>new re(...t,"gl");Pe.gl=JF,re.prototype.gl=function(){const t=this._rgb;return[t[0]/255,t[1]/255,t[2]/255,t[3]]},re.prototype.hex=function(t){return UE(this._rgb,t)};const ZF=(...t)=>new re(...t,"hex");Pe.hex=ZF,Re.format.hex=jE,Re.autodetect.push({p:4,test:(t,...e)=>{if(!e.length&&Ae(t)==="string"&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});const{log:Nd}=Math,kD=t=>{const e=t/100;let n,r,i;return e<66?(n=255,r=e<6?0:-155.25485562709179-.44596950469579133*(r=e-2)+104.49216199393888*Nd(r),i=e<20?0:-254.76935184120902+.8274096064007395*(i=e-10)+115.67994401066147*Nd(i)):(n=351.97690566805693+.114206453784165*(n=e-55)-40.25366309332127*Nd(n),r=325.4494125711974+.07943456536662342*(r=e-50)-28.0852963507957*Nd(r),i=255),[n,r,i,1]},{round:QF}=Math,eM=(...t)=>{const e=Se(t,"rgb"),n=e[0],r=e[2];let i=1e3,s=4e4;const o=.4;let a;for(;s-i>o;){a=(s+i)*.5;const c=kD(a);c[2]/c[0]>=r/n?s=a:i=a}return QF(a)};re.prototype.temp=re.prototype.kelvin=re.prototype.temperature=function(){return eM(this._rgb)};const ng=(...t)=>new re(...t,"temp");Object.assign(Pe,{temp:ng,kelvin:ng,temperature:ng}),Re.format.temp=Re.format.kelvin=Re.format.temperature=kD,re.prototype.oklch=function(){return hD(this._rgb)};const tM=(...t)=>new re(...t,"oklch");Object.assign(Pe,{oklch:tM}),Re.format.oklch=pD,Re.autodetect.push({p:2,test:(...t)=>{if(t=Se(t,"oklch"),Ae(t)==="array"&&t.length===3)return"oklch"}}),Object.assign(Pe,{analyze:eD,average:nF,bezier:cF,blend:ar,brewer:BF,Color:re,colors:Co,contrast:_F,contrastAPCA:IF,cubehelix:EF,deltaE:LF,distance:FF,input:Re,interpolate:_o,limits:tD,mix:_o,random:SF,scale:_d,scales:zF,valid:MF});const rg=[.96,.907,.805,.697,.605,.547,.518,.445,.395,.34],$D=[.32,.16,.08,.04,0,0,.04,.08,.16,.32];function nM(t){const e=t.get("hsl.l");return rg.reduce((n,r)=>Math.abs(r-e)<Math.abs(n-e)?r:n)}function rM(t){const e=Pe(t),n=nM(e),r=rg.findIndex(s=>s===n),i=rg.map(s=>e.set("hsl.l",s)).map(s=>Pe(s)).map((s,o)=>{const a=$D[o]-$D[r];return a>=0?s.saturate(a):s.desaturate(a*-1)});return{baseColorIndex:r,colors:i}}function iM(t){return rM(t).colors.map(e=>e.hex())}const CD={fill:"#3b82f6",stroke:"#2563eb",hiContrast:"#eff6ff",loContrast:"#bfdbfe"},_D={fill:"#0284c7",stroke:"#0369a1",hiContrast:"#f0f9ff",loContrast:"#B6ECF7"},AD={fill:"#64748b",stroke:"#475569",hiContrast:"#f8fafc",loContrast:"#cbd5e1"},xD={primary:CD,blue:CD,secondary:_D,sky:_D,muted:AD,slate:AD,gray:{fill:"#737373",stroke:"#525252",hiContrast:"#fafafa",loContrast:"#d4d4d4"},red:{fill:"#AC4D39",stroke:"#853A2D",hiContrast:"#FBD3CB",loContrast:"#f5b2a3"},green:{fill:"#428a4f",stroke:"#2d5d39",hiContrast:"#f8fafc",loContrast:"#c2f0c2"},amber:{fill:"#A35829",stroke:"#7E451D",hiContrast:"#FFE0C2",loContrast:"#f9b27c"},indigo:{fill:"#6366f1",stroke:"#4f46e5",hiContrast:"#eef2ff",loContrast:"#c7d2fe"}},sM={lineColor:"#6E6E6E",labelBgColor:"#18191b",labelColor:"#C6C6C6"},ID={lineColor:"#64748b",labelBgColor:"#0f172a",labelColor:"#cbd5e1"},PD={lineColor:"#3b82f6",labelBgColor:"#172554",labelColor:"#60a5fa"},ND={lineColor:"#0ea5e9",labelBgColor:"#082f49",labelColor:"#38bdf8"},OD={amber:{lineColor:"#b45309",labelBgColor:"#78350f",labelColor:"#FFE0C2"},blue:PD,gray:sM,green:{lineColor:"#15803d",labelBgColor:"#052e16",labelColor:"#22c55e"},indigo:{lineColor:"#6366f1",labelBgColor:"#1e1b4b",labelColor:"#818cf8"},muted:ID,primary:PD,red:{lineColor:"#AC4D39",labelBgColor:"#b91c1c",labelColor:"#f5b2a3"},secondary:ND,sky:ND,slate:ID},Wn={elements:xD,relationships:OD,font:"Arial",shadow:"#0a0a0a"};function oM(t){if(t.match(/^#([0-9a-f]{3}){1,2}$/i)){const e=iM(t);return{elements:{fill:e[6],stroke:e[7],hiContrast:e[0],loContrast:e[1]},relationships:{lineColor:e[4],labelColor:e[3],labelBgColor:e[9]}}}else return{elements:Wn.elements.primary,relationships:Wn.relationships.primary}}function it(t){return Rs(t)?t:t.id}let Ga=class M0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new M0.Element(r,this);this._elements.set(r.id,i),Ni(r.parent)&&this._rootElements.add(i)}this._connections=new Map(e.edges.map(r=>[r.id,new M0.Connection(r,this)]))}_rootElements=new Set;_elements=new Map;_connections;get isDynamic(){return this.view.__==="dynamic"}get id(){return this.view.id}get title(){return this.view.title}get viewOf(){if(Ni(this.view.__)||this.view.__==="element"){const e=this.view;return e.viewOf?this.model.element(e.viewOf):null}return null}get tags(){return this.view.tags??[]}roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`LikeC4DiagramModel.Element ${e} in view ${this.view.id} not found`)}hasElement(e){return this._elements.has(e)}connections(){return[...this._connections.values()]}connection(e){return et(this._connections.get(e),`Connection ${e} in view ${this.view.id} not found`)}findConnections(e,n,r="direct"){const i=it(e),s=it(n);return this.connections().filter(o=>o.source.id===i&&o.target.id===s||r==="both"&&o.source.id===s&&o.target.id===i)}parent(e){const n=this.element(it(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(it(e)).node.children.map(n=>this.element(n))}siblings(e){const n=it(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=it(e);const r=[];let i;for(;i=this.parent(n);)r.push(i),n=i.id;return r}descendants(e){return this.children(e).flatMap(n=>[n,...this.descendants(n.id)])}incoming(e,n="all"){const r=this.element(it(e)),i=r.node.inEdges.map(s=>this.connection(s));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r.id:s.target.id!==r.id)}incomers(e,n="all"){return this.incoming(e,n).map(r=>r.source)}outgoing(e,n="all"){const r=this.element(it(e)),i=r.node.outEdges.map(s=>this.connection(s));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r.id:s.source.id!==r.id)}outgoers(e,n="all"){return this.outgoing(e,n).map(r=>r.target)}};(t=>{class e{constructor(i,s){this.node=i,this.view=s}get id(){return this.node.id}get title(){return this.node.title}get kind(){return this.node.kind}get isRoot(){return Ni(this.node.parent)}get hasNested(){return this.node.children.length>0}get shape(){return this.node.shape}get color(){return this.node.color}get tags(){return this.node.tags??[]}get level(){return this.node.level}get depth(){return this.node.depth??0}model(){return this.view.model.element(this.id)}parent(){return this.node.parent?this.view.element(this.node.parent):null}metadata(i,s){return this.model().metadata(i)??s}hasMetadata(i){return this.model().hasMetadata(i)}ancestors(){return this.view.ancestors(this)}siblings(){return this.view.siblings(this)}descendants(){return this.view.descendants(this)}children(){return this.view.children(this)}incoming(i="all"){return this.view.incoming(this,i)}incomers(i="all"){return this.view.incomers(this,i)}outgoing(i="all"){return this.view.outgoing(this,i)}outgoers(i="all"){return this.view.outgoers(this,i)}connectionsTo(i){return this.view.findConnections(this,i)}}t.Element=e;class n{constructor(i,s){this.edge=i,this.view=s}get id(){return this.edge.id}get source(){return this.view.element(this.edge.source)}get target(){return this.view.element(this.edge.target)}get tags(){return this.edge.tags??[]}get color(){return this.edge.color??Ts}relationships(){return this.edge.relations.map(i=>et(this.view.model.relationship(i)))}}t.Connection=n})(Ga||(Ga={}));let Od=class z0{constructor(e,n){this.view=e,this.model=n;for(const r of e.nodes){const i=new z0.Element(r,this);this._elements.set(r.id,i),Ni(r.parent)&&this._rootElements.add(i)}this._connections=new Map(e.edges.map(r=>[r.id,new z0.Connection(r,this)]))}_rootElements=new Set;_elements=new Map;_connections;get id(){return this.view.id}get title(){return this.view.title}get viewOf(){return this.view.__!=="dynamic"&&this.view.viewOf?this.model.element(this.view.viewOf):null}get tags(){return this.view.tags??[]}roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`LikeC4ViewModel.Element ${e} in view ${this.id} not found`)}hasElement(e){return this._elements.has(e)}connections(){return[...this._connections.values()]}connection(e){return et(this._connections.get(e),`Connection ${e} in view ${this.id} not found`)}findConnections(e,n,r="direct"){const i=it(e),s=it(n);return this.connections().filter(o=>o.source.id===i&&o.target.id===s||r==="both"&&o.source.id===s&&o.target.id===i)}parent(e){const n=this.element(it(e));return n.node.parent?this.element(n.node.parent):null}children(e){return this.element(it(e)).node.children.map(n=>this.element(n))}siblings(e){const n=it(e),r=this.parent(n);return(r?this.children(r):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=it(e);const r=[];let i;for(;i=this.parent(n);)r.push(i),n=i.id;return r}descendants(e){return this.children(e).flatMap(n=>[n,...this.descendants(n.id)])}incoming(e,n="all"){const r=this.element(it(e)),i=r.node.inEdges.map(s=>et(this._connections.get(s),`Edge ${s} not found`));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r.id:s.target.id!==r.id)}incomers(e,n="all"){return[...new Set(this.incoming(e,n).map(r=>r.source))]}outgoing(e,n="all"){const r=this.element(it(e)),i=r.node.outEdges.map(s=>et(this._connections.get(s),`Edge ${s} not found`));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r.id:s.source.id!==r.id)}outgoers(e,n="all"){return[...new Set(this.outgoing(e,n).map(r=>r.target))]}};(t=>{class e{constructor(i,s){this.node=i,this.viewmodel=s}get id(){return this.node.id}get title(){return this.node.title}get kind(){return this.node.kind}get isRoot(){return Ni(this.node.parent)}get hasNested(){return this.node.children.length>0}get shape(){return this.node.shape}get color(){return this.node.color}get tags(){return this.node.tags??[]}model(){return this.viewmodel.model.element(this.id)}parent(){return this.node.parent?this.viewmodel.element(this.node.parent):null}metadata(i,s){return this.model().metadata(i)??s}hasMetadata(i){return this.model().hasMetadata(i)}ancestors(){return this.viewmodel.ancestors(this)}siblings(){return this.viewmodel.siblings(this)}descendants(){return this.viewmodel.descendants(this)}children(){return this.viewmodel.children(this)}incoming(i="all"){return this.viewmodel.incoming(this,i)}incomers(i="all"){return this.viewmodel.incomers(this,i)}outgoing(i="all"){return this.viewmodel.outgoing(this,i)}outgoers(i="all"){return this.viewmodel.outgoers(this,i)}connectionsTo(i){return this.viewmodel.findConnections(this,i)}}t.Element=e;class n{constructor(i,s){this.edge=i,this.viewmodel=s}get id(){return this.edge.id}get source(){return this.viewmodel.element(this.edge.source)}get target(){return this.viewmodel.element(this.edge.target)}get tags(){return this.edge.tags??[]}relationships(){return this.edge.relations.map(i=>et(this.viewmodel.model.relationship(i)))}}t.Connection=n})(Od||(Od={}));let Wa=class B0{constructor(e,n,r,i,s,o){this.type=e,this.sourcemodel=n;for(const a of r)this.addElement(a);for(const a of i)this.addRelation(a);this._views=new Map(AE(Fa(s),AO((a,c)=>za(a.title??"untitled",c.title??"untitled")),Ma(a=>[a.id,new o(a,this)])))}_elements=new Map;_parents=new Map;_children=new Map;_rootElements=new Set;_relations=new Map;_incoming=new Map;_outgoing=new Map;_internal=new Map;_cacheAscendingSiblings=new Map;_views;roots(){return[...this._rootElements]}elements(){return[...this._elements.values()]}element(e){return et(this._elements.get(e),`Element ${e} not found`)}relationships(){return[...this._relations.values()]}relationship(e){return et(this._relations.get(e),`Relation ${e} not found`)}views(){return[...this._views.values()]}view(e){return et(this._views.get(e),`View ${e} not found`)}parent(e){const n=it(e);return this._parents.get(n)||null}children(e){const n=it(e);return this._childrenOf(n)}siblings(e){const n=it(e),r=this._parents.get(n);return(r?this._childrenOf(r.id):this.roots()).filter(i=>i.id!==n)}ancestors(e){let n=Rs(e)?e:e.id;const r=[];let i;for(;i=this._parents.get(n);)r.push(i),n=i.id;return r}descendants(e){const n=it(e);return this._childrenOf(n).flatMap(r=>[r,...this.descendants(r.id)])}incoming(e,n="all"){const r=it(e),i=Array.from(this._incomingTo(r));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.target.id===r:s.target.id!==r)}incomers(e,n="all"){return[...new Set(this.incoming(e,n).map(r=>r.source))]}outgoing(e,n="all"){const r=it(e),i=Array.from(this._outgoingFrom(r));return n==="all"||i.length===0?i:i.filter(s=>n==="direct"?s.source.id===r:s.source.id!==r)}outgoers(e,n="all"){return[...new Set(this.outgoing(e,n).map(r=>r.target))]}internal(e){const n=it(e);return Array.from(this._internalOf(n))}ascendingSiblings(e){const n=it(e);let r=this._cacheAscendingSiblings.get(n);return r||(r=[...this.siblings(n),...this.ancestors(n).flatMap(i=>this.siblings(i.id))],this._cacheAscendingSiblings.set(n,r)),r.slice()}viewsWithElement(e){const n=it(e);return[...this._views.values()].filter(r=>r.hasElement(n))}addElement(e){if(this._elements.has(e.id))throw new Error(`Element ${e.id} already exists`);const n=new B0.ElementModel(e,this);this._elements.set(n.id,n);const r=kt(n.id);r?(this._parents.set(n.id,this.element(r)),this._childrenOf(r).push(n)):this._rootElements.add(n)}addRelation(e){if(this._relations.has(e.id))throw new Error(`Relation ${e.id} already exists`);const n=new B0.Relationship(e,this);this._relations.set(n.id,n),this._incomingTo(e.target).add(n),this._outgoingFrom(e.source).add(n);const r=ks(e.source,e.target);if(r)for(const i of[r,...Zr(r)])this._internalOf(i).add(n);for(const i of Zr(e.source)){if(i===r)break;this._outgoingFrom(i).add(n)}for(const i of Zr(e.target)){if(i===r)break;this._incomingTo(i).add(n)}}_childrenOf(e){let n=this._children.get(e);return n||(n=[],this._children.set(e,n)),n}_incomingTo(e){let n=this._incoming.get(e);return n||(n=new Set,this._incoming.set(e,n)),n}_outgoingFrom(e){let n=this._outgoing.get(e);return n||(n=new Set,this._outgoing.set(e,n)),n}_internalOf(e){let n=this._internal.get(e);return n||(n=new Set,this._internal.set(e,n)),n}};(t=>{function e(c){return c.__==="layouted"?t.layouted(c):t.computed(c)}t.create=e;function n(c){return new t("computed",c,Fa(c.elements),Fa(c.relations),c.views,Od)}t.computed=n;function r(c){return new t("layouted",c,Fa(c.elements),Fa(c.relations),c.views,Ga)}t.layouted=r;function i(c){return c instanceof t}t.isModel=i,(c=>{function u(l){return l instanceof Ga}c.isLayouted=u})(t.ViewModel||(t.ViewModel={}));function s(c){return c.type==="layouted"}t.isLayouted=s;class o{constructor(u,l){this.relationship=u,this.model=l}get id(){return this.relationship.id}get title(){return this.relationship.title}get kind(){return this.relationship.kind??null}get tags(){return this.relationship.tags??[]}get source(){return this.model.element(this.relationship.source)}get target(){return this.model.element(this.relationship.target)}metadata(u,l){return this.relationship.metadata?.[u]??l}hasMetadata(u){return IE(this.relationship.metadata?.[u])}}t.Relationship=o;class a{constructor(u,l){this.element=u,this.model=l}get id(){return this.element.id}get title(){return this.element.title}get kind(){return this.element.kind}get isRoot(){return kt(this.element.id)===null}get hasNested(){return this.model.children(this).length>0}get shape(){return this.element.shape??Tm}get color(){return this.element.color??Oa}get tags(){return this.element.tags??[]}parent(){return this.model.parent(this)}metadata(u,l){return this.element.metadata?.[u]??l}hasMetadata(u){return IE(this.element.metadata?.[u])}ancestors(){return this.model.ancestors(this)}siblings(){return this.model.siblings(this)}descendants(){return this.model.descendants(this)}children(){return this.model.children(this)}viewOf(){return this.model.views().find(u=>u.viewOf?.id===this.id)??null}viewsOf(){return this.model.views().filter(u=>u.viewOf?.id===this.id)}views(){return this.model.viewsWithElement(this)}incoming(u){return this.model.incoming(this,u)}incomers(u){return this.model.incomers(this,u)}outgoing(u){return this.model.outgoing(this,u)}outgoers(u){return this.model.outgoers(this,u)}internal(){return this.model.internal(this)}ascendingSiblings(){return this.model.ascendingSiblings(this)}}t.ElementModel=a})(Wa||(Wa={}));function aM(t,e,n){return t.length===0||e.length===0?[]:(n??=Object.is,AE(EO(t,e),CO(([r,i])=>n(r,i)),Ma(([r,i])=>r)))}const cM="LIKEC4_DELAY";function LD(...t){let e=100;return t.length===2?e=IO(t[0],t[1]):t.length===1&&(e=t[0]),new Promise(n=>{setTimeout(()=>{n(cM)},e??100)})}const Ha=(t,e)=>{const n=ks(t.source,t.target),r=ks(e.source,e.target);if(n&&!r)return 1;if(!n&&r)return-1;const i=n&&r?ko(n,r):0;if(i!==0)return i;const s=ko(t.source,e.source);return s!==0?s:ko(t.target,e.target)};function vt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Hn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function uM(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Ld(t){return typeof t=="object"&&t!==null&&vt(t.container)&&Hn(t.reference)&&typeof t.message=="string"}class FD{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return vt(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function ri(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Cs(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function MD(t){return ri(t)&&typeof t.fullText=="string"}class It{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new It(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Xt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=lM(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new It(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Xt:{done:!1,value:e(i)}})}filter(e){return new It(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Xt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new It(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Fd(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Xt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new It(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Fd(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Xt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new It(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new It(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Xt:this.nextFn(n.state)))}distinct(e){return new It(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Xt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function lM(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Fd(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Lo=new It(()=>{},()=>Xt),Xt=Object.freeze({done:!0,value:void 0});function Qe(...t){if(t.length===1){const e=t[0];if(e instanceof It)return e;if(Fd(e))return new It(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new It(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Xt)}return t.length>1?new It(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Fd(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Xt}):Lo}class Fo extends It{constructor(e,n,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(n(o.value)[Symbol.iterator]()),o}return Xt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var ig;(function(t){function e(s){return s.reduce((o,a)=>o+a,0)}t.sum=e;function n(s){return s.reduce((o,a)=>o*a,0)}t.product=n;function r(s){return s.reduce((o,a)=>Math.min(o,a))}t.min=r;function i(s){return s.reduce((o,a)=>Math.max(o,a))}t.max=i})(ig||(ig={}));function Va(t){return new Fo(t,e=>ri(e)?e.content:[],{includeRoot:!0})}function zD(t){return Va(t).filter(Cs)}function BD(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Md(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ka(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var _r;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(_r||(_r={}));function qD(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return _r.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return _r.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?_r.Inside:n?_r.OverlapBack:r?_r.OverlapFront:_r.Outside}function sg(t,e){return qD(t,e)>_r.After}const og=/^[\w\p{L}]$/u;function Fi(t,e,n=og){if(t){if(e>0){const r=e-t.offset,i=t.text.charAt(r);n.test(i)||e--}return cg(t,e)}}function zd(t,e){if(t){const n=UD(t,!0);if(n&&ag(n,e))return n;if(MD(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ag(s,e))return s}}}}function ag(t,e){return Cs(t)&&e.includes(t.tokenType.name)}function cg(t,e){if(Cs(t))return t;if(ri(t)){const n=jD(t,e,!1);if(n)return cg(n,e)}}function Bd(t,e){if(Cs(t))return t;if(ri(t)){const n=jD(t,e,!0);if(n)return Bd(n,e)}}function jD(t,e,n){let r=0,i=t.content.length-1,s;for(;r<=i;){const o=Math.floor((r+i)/2),a=t.content[o];if(a.offset<=e&&a.end>e)return a;a.end<=e?(s=n?a:void 0,r=o+1):i=o-1}return s}function UD(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}function GD(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);const i=n.content.length-1;for(;r<i;){r++;const s=n.content[r];if(e||!s.hidden)return s}t=n}}function dM(t){if(t.range.start.character===0)return t;const e=t.range.start.line;let n=t,r;for(;t.container;){const i=t.container,s=r??i.content.indexOf(t);if(s===0?(t=i,r=void 0):(r=s-1,t=i.content[r]),t.range.start.line!==e)break;n=t}return n}function WD(t,e){const n=fM(t,e);return n?n.parent.content.slice(n.a+1,n.b):[]}function fM(t,e){const n=HD(t),r=HD(e);let i;for(let s=0;s<n.length&&s<r.length;s++){const o=n[s],a=r[s];if(o.parent===a.parent)i={parent:o.parent,a:o.index,b:a.index};else break}return i}function HD(t){const e=[];for(;t.container;){const n=t.container,r=n.content.indexOf(t);e.push({parent:n,index:r}),t=n}return e.reverse()}const hM={__proto__:null,DefaultNameRegexp:og,get RangeComparison(){return _r},compareRange:qD,findCommentNode:zd,findDeclarationNodeAtOffset:Fi,findLeafNodeAtOffset:cg,findLeafNodeBeforeOffset:Bd,flattenCst:zD,getInteriorNodes:WD,getNextNode:GD,getPreviousNode:UD,getStartlineNode:dM,inRange:sg,isChildNode:BD,isCommentNode:ag,streamCst:Va,toDocumentSegment:Ka,tokenToRange:Md};class VD extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function qd(t){throw new Error("Error! The input value was not handled.")}const jd="AbstractRule",Ud="AbstractType",ug="Condition",KD="TypeDefinition",lg="ValueLiteral",Ya="AbstractElement";function dg(t){return ze.isInstance(t,Ya)}const Gd="ArrayLiteral",Xa="ArrayType";function pM(t){return ze.isInstance(t,Xa)}const Ja="BooleanLiteral";function mM(t){return ze.isInstance(t,Ja)}const Za="Conjunction";function gM(t){return ze.isInstance(t,Za)}const Qa="Disjunction";function yM(t){return ze.isInstance(t,Qa)}const Wd="Grammar",fg="GrammarImport",ec="InferredType";function YD(t){return ze.isInstance(t,ec)}const tc="Interface";function XD(t){return ze.isInstance(t,tc)}const hg="NamedArgument",nc="Negation";function vM(t){return ze.isInstance(t,nc)}const Hd="NumberLiteral",Vd="Parameter",rc="ParameterReference";function wM(t){return ze.isInstance(t,rc)}const ic="ParserRule";function Jt(t){return ze.isInstance(t,ic)}const sc="ReferenceType";function bM(t){return ze.isInstance(t,sc)}const Kd="ReturnType";function EM(t){return ze.isInstance(t,Kd)}const oc="SimpleType";function JD(t){return ze.isInstance(t,oc)}const Yd="StringLiteral",Mo="TerminalRule";function ii(t){return ze.isInstance(t,Mo)}const ac="Type";function pg(t){return ze.isInstance(t,ac)}const mg="TypeAttribute",cc="UnionType";function DM(t){return ze.isInstance(t,cc)}const uc="Action";function _s(t){return ze.isInstance(t,uc)}const lc="Alternatives";function gg(t){return ze.isInstance(t,lc)}const dc="Assignment";function Ar(t){return ze.isInstance(t,dc)}const fc="CharacterRange";function TM(t){return ze.isInstance(t,fc)}const hc="CrossReference";function pc(t){return ze.isInstance(t,hc)}const mc="EndOfFile";function RM(t){return ze.isInstance(t,mc)}const gc="Group";function Mi(t){return ze.isInstance(t,gc)}const yc="Keyword";function xr(t){return ze.isInstance(t,yc)}const vc="NegatedToken";function SM(t){return ze.isInstance(t,vc)}const wc="RegexToken";function kM(t){return ze.isInstance(t,wc)}const bc="RuleCall";function si(t){return ze.isInstance(t,bc)}const Ec="TerminalAlternatives";function $M(t){return ze.isInstance(t,Ec)}const Dc="TerminalGroup";function CM(t){return ze.isInstance(t,Dc)}const Tc="TerminalRuleCall";function ZD(t){return ze.isInstance(t,Tc)}const Rc="UnorderedGroup";function yg(t){return ze.isInstance(t,Rc)}const Sc="UntilToken";function _M(t){return ze.isInstance(t,Sc)}const kc="Wildcard";function AM(t){return ze.isInstance(t,kc)}class QD extends FD{getAllTypes(){return[Ya,jd,Ud,uc,lc,Gd,Xa,dc,Ja,fc,ug,Za,hc,Qa,mc,Wd,fg,gc,ec,tc,yc,hg,vc,nc,Hd,Vd,rc,ic,sc,wc,Kd,bc,oc,Yd,Ec,Dc,Mo,Tc,ac,mg,KD,cc,Rc,Sc,lg,kc]}computeIsSubtype(e,n){switch(e){case uc:case lc:case dc:case fc:case hc:case mc:case gc:case yc:case vc:case wc:case bc:case Ec:case Dc:case Tc:case Rc:case Sc:case kc:return this.isSubtype(Ya,n);case Gd:case Hd:case Yd:return this.isSubtype(lg,n);case Xa:case sc:case oc:case cc:return this.isSubtype(KD,n);case Ja:return this.isSubtype(ug,n)||this.isSubtype(lg,n);case Za:case Qa:case nc:case rc:return this.isSubtype(ug,n);case ec:case tc:case ac:return this.isSubtype(Ud,n);case ic:return this.isSubtype(jd,n)||this.isSubtype(Ud,n);case Mo:return this.isSubtype(jd,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Ud;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return jd;case"Grammar:usedGrammars":return Wd;case"NamedArgument:parameter":case"ParameterReference:parameter":return Vd;case"TerminalRuleCall:rule":return Mo;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Ya:return{name:Ya,properties:[{name:"cardinality"},{name:"lookahead"}]};case Gd:return{name:Gd,properties:[{name:"elements",defaultValue:[]}]};case Xa:return{name:Xa,properties:[{name:"elementType"}]};case Ja:return{name:Ja,properties:[{name:"true",defaultValue:!1}]};case Za:return{name:Za,properties:[{name:"left"},{name:"right"}]};case Qa:return{name:Qa,properties:[{name:"left"},{name:"right"}]};case Wd:return{name:Wd,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case fg:return{name:fg,properties:[{name:"path"}]};case ec:return{name:ec,properties:[{name:"name"}]};case tc:return{name:tc,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case hg:return{name:hg,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case nc:return{name:nc,properties:[{name:"value"}]};case Hd:return{name:Hd,properties:[{name:"value"}]};case Vd:return{name:Vd,properties:[{name:"name"}]};case rc:return{name:rc,properties:[{name:"parameter"}]};case ic:return{name:ic,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case sc:return{name:sc,properties:[{name:"referenceType"}]};case Kd:return{name:Kd,properties:[{name:"name"}]};case oc:return{name:oc,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Yd:return{name:Yd,properties:[{name:"value"}]};case Mo:return{name:Mo,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ac:return{name:ac,properties:[{name:"name"},{name:"type"}]};case mg:return{name:mg,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case cc:return{name:cc,properties:[{name:"types",defaultValue:[]}]};case uc:return{name:uc,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case lc:return{name:lc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case dc:return{name:dc,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case fc:return{name:fc,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case hc:return{name:hc,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case mc:return{name:mc,properties:[{name:"cardinality"},{name:"lookahead"}]};case gc:return{name:gc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case yc:return{name:yc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case vc:return{name:vc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case wc:return{name:wc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case bc:return{name:bc,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Ec:return{name:Ec,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Dc:return{name:Dc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tc:return{name:Tc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rc:return{name:Rc,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Sc:return{name:Sc,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case kc:return{name:kc,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const ze=new QD;function vg(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{vt(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):vt(n)&&(n.$container=t,n.$containerProperty=e))}function wn(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function $c(t,e){let n=t;for(;n;){if(e(n))return!0;n=n.$container}return!1}function sn(t){const n=Xd(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Xd(t){for(;t.$container;)t=t.$container;return t}function Cc(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new It(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(vt(s)){if(r.keyIndex++,wg(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const o=r.arrayIndex++,a=s[o];if(vt(a)&&wg(a,n))return{done:!1,value:a}}r.arrayIndex=0}}r.keyIndex++}return Xt})}function Ir(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Fo(t,n=>Cc(n,e))}function oi(t,e){if(t){if(e?.range&&!wg(t,e.range))return new Fo(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Fo(t,n=>Cc(n,e),{includeRoot:!0})}function wg(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?sg(r,e):!1}function Jd(t){return new It(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(Hn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Hn(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Xt})}function xM(t,e=sn(t).parseResult.value){const n=[];return oi(e).forEach(r=>{Jd(r).forEach(i=>{i.reference.ref===t&&n.push(i.reference)})}),Qe(n)}function bg(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=eT(i.defaultValue))}function eT(t){return Array.isArray(t)?[...t.map(eT)]:t}function Eg(t,e){const n={$type:t.$type};for(const[r,i]of Object.entries(t))if(!r.startsWith("$"))if(vt(i))n[r]=Eg(i,e);else if(Hn(i))n[r]=e(n,r,i.$refNode,i.$refText);else if(Array.isArray(i)){const s=[];for(const o of i)vt(o)?s.push(Eg(o,e)):Hn(o)?s.push(e(n,r,o.$refNode,o.$refText)):s.push(o);n[r]=s}else n[r]=i;return vg(n),n}const Zd={__proto__:null,assignMandatoryProperties:bg,copyAstNode:Eg,findLocalReferences:xM,findRootNode:Xd,getContainerOfType:wn,getDocument:sn,hasContainerOfType:$c,linkContentToContainer:vg,streamAllContents:Ir,streamAst:oi,streamContents:Cc,streamReferences:Jd};function De(t){return t.charCodeAt(0)}function Dg(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function _c(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function zo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function IM(){throw Error("Internal Error - Should never get here!")}function tT(t){return t.type==="Character"}const Qd=[];for(let t=De("0");t<=De("9");t++)Qd.push(t);const ef=[De("_")].concat(Qd);for(let t=De("a");t<=De("z");t++)ef.push(t);for(let t=De("A");t<=De("Z");t++)ef.push(t);const nT=[De(" "),De("\f"),De(`
|
|
2
|
-
`),De("\r"),De(" "),De("\v"),De(" "),De("\xA0"),De("\u1680"),De("\u2000"),De("\u2001"),De("\u2002"),De("\u2003"),De("\u2004"),De("\u2005"),De("\u2006"),De("\u2007"),De("\u2008"),De("\u2009"),De("\u200A"),De("\u2028"),De("\u2029"),De("\u202F"),De("\u205F"),De("\u3000"),De("\uFEFF")],PM=/[0-9a-fA-F]/,tf=/[0-9]/,NM=/[1-9]/;class rT{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":_c(r,"global");break;case"i":_c(r,"ignoreCase");break;case"m":_c(r,"multiLine");break;case"u":_c(r,"unicode");break;case"y":_c(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}zo(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return IM()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;zo(n);break}if(!(e===!0&&n===void 0)&&zo(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),zo(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[De(`
|
|
3
|
-
`),De("\r"),De("\u2028"),De("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Qd;break;case"D":e=Qd,n=!0;break;case"s":e=nT;break;case"S":e=nT,n=!0;break;case"w":e=ef;break;case"W":e=ef,n=!0;break}if(zo(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=De("\f");break;case"n":e=De(`
|
|
4
|
-
`);break;case"r":e=De("\r");break;case"t":e=De(" ");break;case"v":e=De("\v");break}if(zo(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:De("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:De(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
-
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:De(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,tT(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,tT(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Dg(r.value,e),e.push(De("-")),Dg(i.value,e)}else Dg(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
-
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:De("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(NM.test(e)===!1)throw Error("Expecting a positive integer");for(;tf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(tf.test(e)===!1)throw Error("Expecting an integer");for(;tf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
-
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:De(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return tf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
|
-
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
-
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(PM.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class nf{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const iT=/\r?\n/gm,OM=new rT;class LM extends nf{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
|
|
10
|
-
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=rf(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
|
|
11
|
-
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Tg=new LM;function FM(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Tg.reset(t),Tg.visit(OM.pattern(t)),Tg.multiline}catch{return!1}}const MM=`\f
|
|
12
|
-
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Rg(t){const e=typeof t=="string"?new RegExp(t):t;return MM.some(n=>e.test(n))}function rf(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zM(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:rf(e)).join("")}function BM(t,e){const n=qM(t),r=e.match(n);return!!r&&r[0].length>0}function qM(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",o;function a(u){s+=n.substr(r,u),r+=u}function c(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=r,o=o.exec(n)||[],c(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=r,o=o.exec(n),o?a(o[0].length):c(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":o=r,r+=3,i(),s+=n.substr(o,r-o);break;case"<":switch(n[r+3]){case"=":case"!":o=r,r+=4,i(),s+=n.substr(o,r-o);break;default:a(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else a(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function sf(t){return t.rules.find(e=>Jt(e)&&e.entry)}function sT(t){return t.rules.filter(e=>ii(e)&&e.hidden)}function Sg(t,e){const n=new Set,r=sf(t);if(!r)return new Set(t.rules);const i=[r].concat(sT(t));for(const o of i)oT(o,n,e);const s=new Set;for(const o of t.rules)(n.has(o.name)||ii(o)&&o.hidden)&&s.add(o);return s}function oT(t,e,n){e.add(t.name),Ir(t).forEach(r=>{if(si(r)||n&&ZD(r)){const i=r.rule.ref;i&&!e.has(i.name)&&oT(i,e,n)}})}function kg(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Ag(t.type.ref);return e?.terminal}}function aT(t){return t.hidden&&!Rg(Ic(t))}function Bo(t,e){return!t||!e?[]:$g(t,e,t.astNode,!0)}function An(t,e,n){if(!t||!e)return;const r=$g(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function $g(t,e,n,r){if(!r){const i=wn(t.grammarSource,Ar);if(i&&i.feature===e)return[t]}return ri(t)&&t.astNode===n?t.content.flatMap(i=>$g(i,e,n,!1)):[]}function Cg(t,e){return t?_g(t,e,t?.astNode):[]}function Ac(t,e,n){if(!t)return;const r=_g(t,e,t?.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function _g(t,e,n){if(t.astNode!==n)return[];if(xr(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Va(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const o=i.value;o.astNode===n?xr(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):r.prune()}while(!i.done);return s}function cT(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=wn(t.grammarSource,Ar);if(r)return r;t=t.container}}function Ag(t){let e=t;return YD(e)&&(_s(e.$container)?e=e.$container.$container:Jt(e.$container)?e=e.$container:qd(e.$container)),uT(t,e,new Map)}function uT(t,e,n){var r;function i(s,o){let a;return wn(s,Ar)||(a=uT(o,o,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of Ir(e)){if(Ar(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(si(s)&&Jt(s.rule.ref))return i(s,s.rule.ref);if(JD(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function lT(t){const e=t.$container;if(Mi(e)){const n=e.elements,r=n.indexOf(t);for(let i=r-1;i>=0;i--){const s=n[i];if(_s(s))return s;{const o=Ir(n[i]).find(_s);if(o)return o}}}if(dg(e))return lT(e)}function qo(t,e){return t==="?"||t==="*"||Mi(e)&&!!e.guardCondition}function dT(t){return t==="*"||t==="+"}function jM(t){return t==="+="}function of(t){return fT(t,new Set)}function fT(t,e){if(e.has(t))return!0;e.add(t);for(const n of Ir(t))if(si(n)){if(!n.rule.ref||Jt(n.rule.ref)&&!fT(n.rule.ref,e))return!1}else{if(Ar(n))return!1;if(_s(n))return!1}return!!t.definition}function UM(t){return xg(t.type,new Set)}function xg(t,e){if(e.has(t))return!0;if(e.add(t),pM(t))return!1;if(bM(t))return!1;if(DM(t))return t.types.every(n=>xg(n,e));if(JD(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){const n=t.typeRef.ref;return pg(n)?xg(n.type,e):!1}else return!1}else return!1}function As(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Jt(e))return e.name;if(XD(e)||pg(e))return e.name}}}function xc(t){var e;if(Jt(t))return of(t)?t.name:(e=As(t))!==null&&e!==void 0?e:t.name;if(XD(t)||pg(t)||EM(t))return t.name;if(_s(t)){const n=hT(t);if(n)return n}else if(YD(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function hT(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return xc(t.type.ref)}function GM(t){var e,n,r;return ii(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":of(t)?t.name:(r=As(t))!==null&&r!==void 0?r:t.name}function pT(t){var e,n,r;return ii(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=As(t))!==null&&r!==void 0?r:t.name}function Ic(t){const e={s:!1,i:!1,u:!1},n=jo(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Ig=/[\s\S]/.source;function jo(t,e){if($M(t))return WM(t);if(CM(t))return HM(t);if(TM(t))return YM(t);if(ZD(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return ai(jo(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(SM(t))return KM(t);if(_M(t))return VM(t);if(kM(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),ai(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(AM(t))return ai(Ig,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function WM(t){return ai(t.elements.map(e=>jo(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function HM(t){return ai(t.elements.map(e=>jo(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function VM(t){return ai(`${Ig}*?${jo(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function KM(t){return ai(`(?!${jo(t.terminal)})${Ig}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function YM(t){return t.right?ai(`[${Pg(t.left)}-${Pg(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):ai(Pg(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function Pg(t){return rf(t.value)}function ai(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}const af={__proto__:null,findAssignment:cT,findNameAssignment:Ag,findNodeForKeyword:Ac,findNodeForProperty:An,findNodesForKeyword:Cg,findNodesForKeywordInternal:_g,findNodesForProperty:Bo,getActionAtElement:lT,getActionType:hT,getAllReachableRules:Sg,getCrossReferenceTerminal:kg,getEntryRule:sf,getExplicitRuleType:As,getHiddenRules:sT,getRuleType:pT,getRuleTypeName:GM,getTypeName:xc,isArrayCardinality:dT,isArrayOperator:jM,isCommentTerminal:aT,isDataType:UM,isDataTypeRule:of,isOptionalCardinality:qo,terminalRegex:Ic};function XM(t){const e=[],n=t.Grammar;for(const r of n.rules)ii(r)&&aT(r)&&FM(Ic(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:og}}var mT=typeof global=="object"&&global&&global.Object===Object&&global,JM=typeof self=="object"&&self&&self.Object===Object&&self,Pr=mT||JM||Function("return this")(),Vn=Pr.Symbol,gT=Object.prototype,ZM=gT.hasOwnProperty,QM=gT.toString,Pc=Vn?Vn.toStringTag:void 0;function e3(t){var e=ZM.call(t,Pc),n=t[Pc];try{t[Pc]=void 0;var r=!0}catch{}var i=QM.call(t);return r&&(e?t[Pc]=n:delete t[Pc]),i}var t3=Object.prototype,n3=t3.toString;function r3(t){return n3.call(t)}var i3="[object Null]",s3="[object Undefined]",yT=Vn?Vn.toStringTag:void 0;function zi(t){return t==null?t===void 0?s3:i3:yT&&yT in Object(t)?e3(t):r3(t)}function ur(t){return t!=null&&typeof t=="object"}var o3="[object Symbol]";function Nc(t){return typeof t=="symbol"||ur(t)&&zi(t)==o3}function cf(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var Be=Array.isArray,a3=1/0,vT=Vn?Vn.prototype:void 0,wT=vT?vT.toString:void 0;function bT(t){if(typeof t=="string")return t;if(Be(t))return cf(t,bT)+"";if(Nc(t))return wT?wT.call(t):"";var e=t+"";return e=="0"&&1/t==-a3?"-0":e}var c3=/\s/;function u3(t){for(var e=t.length;e--&&c3.test(t.charAt(e)););return e}var l3=/^\s+/;function d3(t){return t&&t.slice(0,u3(t)+1).replace(l3,"")}function Kn(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var ET=NaN,f3=/^[-+]0x[0-9a-f]+$/i,h3=/^0b[01]+$/i,p3=/^0o[0-7]+$/i,m3=parseInt;function g3(t){if(typeof t=="number")return t;if(Nc(t))return ET;if(Kn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Kn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=d3(t);var n=h3.test(t);return n||p3.test(t)?m3(t.slice(2),n?2:8):f3.test(t)?ET:+t}var DT=1/0,y3=17976931348623157e292;function v3(t){if(!t)return t===0?t:0;if(t=g3(t),t===DT||t===-DT){var e=t<0?-1:1;return e*y3}return t===t?t:0}function uf(t){var e=v3(t),n=e%1;return e===e?n?e-n:e:0}function xs(t){return t}var w3="[object AsyncFunction]",b3="[object Function]",E3="[object GeneratorFunction]",D3="[object Proxy]";function ci(t){if(!Kn(t))return!1;var e=zi(t);return e==b3||e==E3||e==w3||e==D3}var Ng=Pr["__core-js_shared__"],TT=function(){var t=/[^.]+$/.exec(Ng&&Ng.keys&&Ng.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function T3(t){return!!TT&&TT in t}var R3=Function.prototype,S3=R3.toString;function Is(t){if(t!=null){try{return S3.call(t)}catch{}try{return t+""}catch{}}return""}var k3=/[\\^$.*+?()[\]{}|]/g,$3=/^\[object .+?Constructor\]$/,C3=Function.prototype,_3=Object.prototype,A3=C3.toString,x3=_3.hasOwnProperty,I3=RegExp("^"+A3.call(x3).replace(k3,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function P3(t){if(!Kn(t)||T3(t))return!1;var e=ci(t)?I3:$3;return e.test(Is(t))}function N3(t,e){return t?.[e]}function Ps(t,e){var n=N3(t,e);return P3(n)?n:void 0}var Og=Ps(Pr,"WeakMap"),RT=Object.create,O3=function(){function t(){}return function(e){if(!Kn(e))return{};if(RT)return RT(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function L3(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Nt(){}function F3(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var M3=800,z3=16,B3=Date.now;function q3(t){var e=0,n=0;return function(){var r=B3(),i=z3-(r-n);if(n=r,i>0){if(++e>=M3)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function j3(t){return function(){return t}}var lf=function(){try{var t=Ps(Object,"defineProperty");return t({},"",{}),t}catch{}}(),U3=lf?function(t,e){return lf(t,"toString",{configurable:!0,enumerable:!1,value:j3(e),writable:!0})}:xs,G3=q3(U3);function ST(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function kT(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function W3(t){return t!==t}function H3(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Lg(t,e,n){return e===e?H3(t,e,n):kT(t,W3,n)}function $T(t,e){var n=t==null?0:t.length;return!!n&&Lg(t,e,0)>-1}var V3=9007199254740991,K3=/^(?:0|[1-9]\d*)$/;function df(t,e){var n=typeof t;return e=e??V3,!!e&&(n=="number"||n!="symbol"&&K3.test(t))&&t>-1&&t%1==0&&t<e}function Fg(t,e,n){e=="__proto__"&&lf?lf(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Oc(t,e){return t===e||t!==t&&e!==e}var Y3=Object.prototype,X3=Y3.hasOwnProperty;function ff(t,e,n){var r=t[e];(!(X3.call(t,e)&&Oc(r,n))||n===void 0&&!(e in t))&&Fg(t,e,n)}function Mg(t,e,n,r){var i=!n;n||(n={});for(var s=-1,o=e.length;++s<o;){var a=e[s],c=void 0;c===void 0&&(c=t[a]),i?Fg(n,a,c):ff(n,a,c)}return n}var CT=Math.max;function J3(t,e,n){return e=CT(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=CT(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(o),L3(t,this,a)}}function zg(t,e){return G3(J3(t,e,xs),t+"")}var Z3=9007199254740991;function Bg(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Z3}function Nr(t){return t!=null&&Bg(t.length)&&!ci(t)}function _T(t,e,n){if(!Kn(n))return!1;var r=typeof e;return(r=="number"?Nr(n)&&df(e,n.length):r=="string"&&e in n)?Oc(n[e],t):!1}function Q3(t){return zg(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,o&&_T(n[0],n[1],o)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var a=n[r];a&&t(e,a,r,s)}return e})}var e8=Object.prototype;function Lc(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||e8;return t===n}function t8(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var n8="[object Arguments]";function AT(t){return ur(t)&&zi(t)==n8}var xT=Object.prototype,r8=xT.hasOwnProperty,i8=xT.propertyIsEnumerable,hf=AT(function(){return arguments}())?AT:function(t){return ur(t)&&r8.call(t,"callee")&&!i8.call(t,"callee")},s8=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ui(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function o8(){return!1}var IT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,PT=IT&&typeof module=="object"&&module&&!module.nodeType&&module,a8=PT&&PT.exports===IT,NT=a8?Pr.Buffer:void 0,c8=NT?NT.isBuffer:void 0,Fc=c8||o8,u8="[object Arguments]",l8="[object Array]",d8="[object Boolean]",f8="[object Date]",h8="[object Error]",p8="[object Function]",m8="[object Map]",g8="[object Number]",y8="[object Object]",v8="[object RegExp]",w8="[object Set]",b8="[object String]",E8="[object WeakMap]",D8="[object ArrayBuffer]",T8="[object DataView]",R8="[object Float32Array]",S8="[object Float64Array]",k8="[object Int8Array]",$8="[object Int16Array]",C8="[object Int32Array]",_8="[object Uint8Array]",A8="[object Uint8ClampedArray]",x8="[object Uint16Array]",I8="[object Uint32Array]",st={};st[R8]=st[S8]=st[k8]=st[$8]=st[C8]=st[_8]=st[A8]=st[x8]=st[I8]=!0,st[u8]=st[l8]=st[D8]=st[d8]=st[T8]=st[f8]=st[h8]=st[p8]=st[m8]=st[g8]=st[y8]=st[v8]=st[w8]=st[b8]=st[E8]=!1;function P8(t){return ur(t)&&Bg(t.length)&&!!st[zi(t)]}function pf(t){return function(e){return t(e)}}var OT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mc=OT&&typeof module=="object"&&module&&!module.nodeType&&module,N8=Mc&&Mc.exports===OT,qg=N8&&mT.process,Bi=function(){try{var t=Mc&&Mc.require&&Mc.require("util").types;return t||qg&&qg.binding&&qg.binding("util")}catch{}}(),LT=Bi&&Bi.isTypedArray,jg=LT?pf(LT):P8,O8=Object.prototype,L8=O8.hasOwnProperty;function FT(t,e){var n=Be(t),r=!n&&hf(t),i=!n&&!r&&Fc(t),s=!n&&!r&&!i&&jg(t),o=n||r||i||s,a=o?t8(t.length,String):[],c=a.length;for(var u in t)(e||L8.call(t,u))&&!(o&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||df(u,c)))&&a.push(u);return a}function MT(t,e){return function(n){return t(e(n))}}var F8=MT(Object.keys,Object),M8=Object.prototype,z8=M8.hasOwnProperty;function zT(t){if(!Lc(t))return F8(t);var e=[];for(var n in Object(t))z8.call(t,n)&&n!="constructor"&&e.push(n);return e}function Yn(t){return Nr(t)?FT(t):zT(t)}var B8=Object.prototype,q8=B8.hasOwnProperty,xn=Q3(function(t,e){if(Lc(e)||Nr(e)){Mg(e,Yn(e),t);return}for(var n in e)q8.call(e,n)&&ff(t,n,e[n])});function j8(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var U8=Object.prototype,G8=U8.hasOwnProperty;function W8(t){if(!Kn(t))return j8(t);var e=Lc(t),n=[];for(var r in t)r=="constructor"&&(e||!G8.call(t,r))||n.push(r);return n}function BT(t){return Nr(t)?FT(t,!0):W8(t)}var H8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V8=/^\w*$/;function Ug(t,e){if(Be(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Nc(t)?!0:V8.test(t)||!H8.test(t)||e!=null&&t in Object(e)}var zc=Ps(Object,"create");function K8(){this.__data__=zc?zc(null):{},this.size=0}function Y8(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var X8="__lodash_hash_undefined__",J8=Object.prototype,Z8=J8.hasOwnProperty;function Q8(t){var e=this.__data__;if(zc){var n=e[t];return n===X8?void 0:n}return Z8.call(e,t)?e[t]:void 0}var ez=Object.prototype,tz=ez.hasOwnProperty;function nz(t){var e=this.__data__;return zc?e[t]!==void 0:tz.call(e,t)}var rz="__lodash_hash_undefined__";function iz(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=zc&&e===void 0?rz:e,this}function Ns(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Ns.prototype.clear=K8,Ns.prototype.delete=Y8,Ns.prototype.get=Q8,Ns.prototype.has=nz,Ns.prototype.set=iz;function sz(){this.__data__=[],this.size=0}function mf(t,e){for(var n=t.length;n--;)if(Oc(t[n][0],e))return n;return-1}var oz=Array.prototype,az=oz.splice;function cz(t){var e=this.__data__,n=mf(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():az.call(e,n,1),--this.size,!0}function uz(t){var e=this.__data__,n=mf(e,t);return n<0?void 0:e[n][1]}function lz(t){return mf(this.__data__,t)>-1}function dz(t,e){var n=this.__data__,r=mf(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function li(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}li.prototype.clear=sz,li.prototype.delete=cz,li.prototype.get=uz,li.prototype.has=lz,li.prototype.set=dz;var Bc=Ps(Pr,"Map");function fz(){this.size=0,this.__data__={hash:new Ns,map:new(Bc||li),string:new Ns}}function hz(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function gf(t,e){var n=t.__data__;return hz(e)?n[typeof e=="string"?"string":"hash"]:n.map}function pz(t){var e=gf(this,t).delete(t);return this.size-=e?1:0,e}function mz(t){return gf(this,t).get(t)}function gz(t){return gf(this,t).has(t)}function yz(t,e){var n=gf(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function di(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}di.prototype.clear=fz,di.prototype.delete=pz,di.prototype.get=mz,di.prototype.has=gz,di.prototype.set=yz;var vz="Expected a function";function Gg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(vz);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var o=t.apply(this,r);return n.cache=s.set(i,o)||s,o};return n.cache=new(Gg.Cache||di),n}Gg.Cache=di;var wz=500;function bz(t){var e=Gg(t,function(r){return n.size===wz&&n.clear(),r}),n=e.cache;return e}var Ez=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dz=/\\(\\)?/g,Tz=bz(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Ez,function(n,r,i,s){e.push(i?s.replace(Dz,"$1"):r||n)}),e});function Rz(t){return t==null?"":bT(t)}function yf(t,e){return Be(t)?t:Ug(t,e)?[t]:Tz(Rz(t))}var Sz=1/0;function qc(t){if(typeof t=="string"||Nc(t))return t;var e=t+"";return e=="0"&&1/t==-Sz?"-0":e}function Wg(t,e){e=yf(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[qc(e[n++])];return n&&n==r?t:void 0}function kz(t,e,n){var r=t==null?void 0:Wg(t,e);return r===void 0?n:r}function Hg(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var qT=Vn?Vn.isConcatSpreadable:void 0;function $z(t){return Be(t)||hf(t)||!!(qT&&t&&t[qT])}function Vg(t,e,n,r,i){var s=-1,o=t.length;for(n||(n=$z),i||(i=[]);++s<o;){var a=t[s];n(a)?Hg(i,a):r||(i[i.length]=a)}return i}function Xn(t){var e=t==null?0:t.length;return e?Vg(t):[]}var jT=MT(Object.getPrototypeOf,Object);function UT(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function Cz(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function _z(){this.__data__=new li,this.size=0}function Az(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function xz(t){return this.__data__.get(t)}function Iz(t){return this.__data__.has(t)}var Pz=200;function Nz(t,e){var n=this.__data__;if(n instanceof li){var r=n.__data__;if(!Bc||r.length<Pz-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new di(r)}return n.set(t,e),this.size=n.size,this}function Or(t){var e=this.__data__=new li(t);this.size=e.size}Or.prototype.clear=_z,Or.prototype.delete=Az,Or.prototype.get=xz,Or.prototype.has=Iz,Or.prototype.set=Nz;function Oz(t,e){return t&&Mg(e,Yn(e),t)}var GT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,WT=GT&&typeof module=="object"&&module&&!module.nodeType&&module,Lz=WT&&WT.exports===GT,HT=Lz?Pr.Buffer:void 0,VT=HT?HT.allocUnsafe:void 0;function Fz(t,e){var n=t.length,r=VT?VT(n):new t.constructor(n);return t.copy(r),r}function Kg(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}function KT(){return[]}var Mz=Object.prototype,zz=Mz.propertyIsEnumerable,YT=Object.getOwnPropertySymbols,Yg=YT?function(t){return t==null?[]:(t=Object(t),Kg(YT(t),function(e){return zz.call(t,e)}))}:KT;function Bz(t,e){return Mg(t,Yg(t),e)}var qz=Object.getOwnPropertySymbols,jz=qz?function(t){for(var e=[];t;)Hg(e,Yg(t)),t=jT(t);return e}:KT;function XT(t,e,n){var r=e(t);return Be(t)?r:Hg(r,n(t))}function Xg(t){return XT(t,Yn,Yg)}function Uz(t){return XT(t,BT,jz)}var Jg=Ps(Pr,"DataView"),Zg=Ps(Pr,"Promise"),Uo=Ps(Pr,"Set"),JT="[object Map]",Gz="[object Object]",ZT="[object Promise]",QT="[object Set]",eR="[object WeakMap]",tR="[object DataView]",Wz=Is(Jg),Hz=Is(Bc),Vz=Is(Zg),Kz=Is(Uo),Yz=Is(Og),Jn=zi;(Jg&&Jn(new Jg(new ArrayBuffer(1)))!=tR||Bc&&Jn(new Bc)!=JT||Zg&&Jn(Zg.resolve())!=ZT||Uo&&Jn(new Uo)!=QT||Og&&Jn(new Og)!=eR)&&(Jn=function(t){var e=zi(t),n=e==Gz?t.constructor:void 0,r=n?Is(n):"";if(r)switch(r){case Wz:return tR;case Hz:return JT;case Vz:return ZT;case Kz:return QT;case Yz:return eR}return e});var Xz=Object.prototype,Jz=Xz.hasOwnProperty;function Zz(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&Jz.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var vf=Pr.Uint8Array;function Qz(t){var e=new t.constructor(t.byteLength);return new vf(e).set(new vf(t)),e}function eB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var tB=/\w*$/;function nB(t){var e=new t.constructor(t.source,tB.exec(t));return e.lastIndex=t.lastIndex,e}var nR=Vn?Vn.prototype:void 0,rR=nR?nR.valueOf:void 0;function rB(t){return rR?Object(rR.call(t)):{}}function iB(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var sB="[object Boolean]",oB="[object Date]",aB="[object Map]",cB="[object Number]",uB="[object RegExp]",lB="[object Set]",dB="[object String]",fB="[object Symbol]",hB="[object ArrayBuffer]",pB="[object DataView]",mB="[object Float32Array]",gB="[object Float64Array]",yB="[object Int8Array]",vB="[object Int16Array]",wB="[object Int32Array]",bB="[object Uint8Array]",EB="[object Uint8ClampedArray]",DB="[object Uint16Array]",TB="[object Uint32Array]";function RB(t,e,n){var r=t.constructor;switch(e){case hB:return Qz(t);case sB:case oB:return new r(+t);case pB:return eB(t);case mB:case gB:case yB:case vB:case wB:case bB:case EB:case DB:case TB:return iB(t);case aB:return new r;case cB:case dB:return new r(t);case uB:return nB(t);case lB:return new r;case fB:return rB(t)}}function SB(t){return typeof t.constructor=="function"&&!Lc(t)?O3(jT(t)):{}}var kB="[object Map]";function $B(t){return ur(t)&&Jn(t)==kB}var iR=Bi&&Bi.isMap,CB=iR?pf(iR):$B,_B="[object Set]";function AB(t){return ur(t)&&Jn(t)==_B}var sR=Bi&&Bi.isSet,xB=sR?pf(sR):AB,oR="[object Arguments]",IB="[object Array]",PB="[object Boolean]",NB="[object Date]",OB="[object Error]",aR="[object Function]",LB="[object GeneratorFunction]",FB="[object Map]",MB="[object Number]",cR="[object Object]",zB="[object RegExp]",BB="[object Set]",qB="[object String]",jB="[object Symbol]",UB="[object WeakMap]",GB="[object ArrayBuffer]",WB="[object DataView]",HB="[object Float32Array]",VB="[object Float64Array]",KB="[object Int8Array]",YB="[object Int16Array]",XB="[object Int32Array]",JB="[object Uint8Array]",ZB="[object Uint8ClampedArray]",QB="[object Uint16Array]",e4="[object Uint32Array]",rt={};rt[oR]=rt[IB]=rt[GB]=rt[WB]=rt[PB]=rt[NB]=rt[HB]=rt[VB]=rt[KB]=rt[YB]=rt[XB]=rt[FB]=rt[MB]=rt[cR]=rt[zB]=rt[BB]=rt[qB]=rt[jB]=rt[JB]=rt[ZB]=rt[QB]=rt[e4]=!0,rt[OB]=rt[aR]=rt[UB]=!1;function wf(t,e,n,r,i,s){var o;if(o!==void 0)return o;if(!Kn(t))return t;var a=Be(t);if(a)return o=Zz(t),F3(t,o);var c=Jn(t),u=c==aR||c==LB;if(Fc(t))return Fz(t);if(c==cR||c==oR||u&&!i)return o=u?{}:SB(t),Bz(t,Oz(o,t));if(!rt[c])return i?t:{};o=RB(t,c),s||(s=new Or);var l=s.get(t);if(l)return l;s.set(t,o),xB(t)?t.forEach(function(h){o.add(wf(h,e,n,h,t,s))}):CB(t)&&t.forEach(function(h,p){o.set(p,wf(h,e,n,p,t,s))});var d=Xg,f=a?void 0:d(t);return ST(f||t,function(h,p){f&&(p=h,h=t[p]),ff(o,p,wf(h,e,n,p,t,s))}),o}var t4=4;function Ut(t){return wf(t,t4)}function jc(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var n4="__lodash_hash_undefined__";function r4(t){return this.__data__.set(t,n4),this}function i4(t){return this.__data__.has(t)}function Go(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new di;++e<n;)this.add(t[e])}Go.prototype.add=Go.prototype.push=r4,Go.prototype.has=i4;function uR(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Qg(t,e){return t.has(e)}var s4=1,o4=2;function lR(t,e,n,r,i,s){var o=n&s4,a=t.length,c=e.length;if(a!=c&&!(o&&c>a))return!1;var u=s.get(t),l=s.get(e);if(u&&l)return u==e&&l==t;var d=-1,f=!0,h=n&o4?new Go:void 0;for(s.set(t,e),s.set(e,t);++d<a;){var p=t[d],m=e[d];if(r)var g=o?r(m,p,d,e,t,s):r(p,m,d,t,e,s);if(g!==void 0){if(g)continue;f=!1;break}if(h){if(!uR(e,function(y,w){if(!Qg(h,w)&&(p===y||i(p,y,n,r,s)))return h.push(w)})){f=!1;break}}else if(!(p===m||i(p,m,n,r,s))){f=!1;break}}return s.delete(t),s.delete(e),f}function a4(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function ey(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var c4=1,u4=2,l4="[object Boolean]",d4="[object Date]",f4="[object Error]",h4="[object Map]",p4="[object Number]",m4="[object RegExp]",g4="[object Set]",y4="[object String]",v4="[object Symbol]",w4="[object ArrayBuffer]",b4="[object DataView]",dR=Vn?Vn.prototype:void 0,ty=dR?dR.valueOf:void 0;function E4(t,e,n,r,i,s,o){switch(n){case b4:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case w4:return!(t.byteLength!=e.byteLength||!s(new vf(t),new vf(e)));case l4:case d4:case p4:return Oc(+t,+e);case f4:return t.name==e.name&&t.message==e.message;case m4:case y4:return t==e+"";case h4:var a=a4;case g4:var c=r&c4;if(a||(a=ey),t.size!=e.size&&!c)return!1;var u=o.get(t);if(u)return u==e;r|=u4,o.set(t,e);var l=lR(a(t),a(e),r,i,s,o);return o.delete(t),l;case v4:if(ty)return ty.call(t)==ty.call(e)}return!1}var D4=1,T4=Object.prototype,R4=T4.hasOwnProperty;function S4(t,e,n,r,i,s){var o=n&D4,a=Xg(t),c=a.length,u=Xg(e),l=u.length;if(c!=l&&!o)return!1;for(var d=c;d--;){var f=a[d];if(!(o?f in e:R4.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var g=o;++d<c;){f=a[d];var y=t[f],w=e[f];if(r)var E=o?r(w,y,f,e,t,s):r(y,w,f,t,e,s);if(!(E===void 0?y===w||i(y,w,n,r,s):E)){m=!1;break}g||(g=f=="constructor")}if(m&&!g){var k=t.constructor,A=e.constructor;k!=A&&"constructor"in t&&"constructor"in e&&!(typeof k=="function"&&k instanceof k&&typeof A=="function"&&A instanceof A)&&(m=!1)}return s.delete(t),s.delete(e),m}var k4=1,fR="[object Arguments]",hR="[object Array]",bf="[object Object]",$4=Object.prototype,pR=$4.hasOwnProperty;function C4(t,e,n,r,i,s){var o=Be(t),a=Be(e),c=o?hR:Jn(t),u=a?hR:Jn(e);c=c==fR?bf:c,u=u==fR?bf:u;var l=c==bf,d=u==bf,f=c==u;if(f&&Fc(t)){if(!Fc(e))return!1;o=!0,l=!1}if(f&&!l)return s||(s=new Or),o||jg(t)?lR(t,e,n,r,i,s):E4(t,e,c,n,r,i,s);if(!(n&k4)){var h=l&&pR.call(t,"__wrapped__"),p=d&&pR.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,g=p?e.value():e;return s||(s=new Or),i(m,g,n,r,s)}}return f?(s||(s=new Or),S4(t,e,n,r,i,s)):!1}function ny(t,e,n,r,i){return t===e?!0:t==null||e==null||!ur(t)&&!ur(e)?t!==t&&e!==e:C4(t,e,n,r,ny,i)}var _4=1,A4=2;function x4(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var o=n[i];if(o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<s;){o=n[i];var a=o[0],c=t[a],u=o[1];if(o[2]){if(c===void 0&&!(a in t))return!1}else{var l=new Or,d;if(!(d===void 0?ny(u,c,_4|A4,r,l):d))return!1}}return!0}function mR(t){return t===t&&!Kn(t)}function I4(t){for(var e=Yn(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,mR(i)]}return e}function gR(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function P4(t){var e=I4(t);return e.length==1&&e[0][2]?gR(e[0][0],e[0][1]):function(n){return n===t||x4(n,t,e)}}function N4(t,e){return t!=null&&e in Object(t)}function yR(t,e,n){e=yf(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var o=qc(e[r]);if(!(s=t!=null&&n(t,o)))break;t=t[o]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&Bg(i)&&df(o,i)&&(Be(t)||hf(t)))}function O4(t,e){return t!=null&&yR(t,e,N4)}var L4=1,F4=2;function M4(t,e){return Ug(t)&&mR(e)?gR(qc(t),e):function(n){var r=kz(n,t);return r===void 0&&r===e?O4(n,t):ny(e,r,L4|F4)}}function z4(t){return function(e){return e?.[t]}}function B4(t){return function(e){return Wg(e,t)}}function q4(t){return Ug(t)?z4(qc(t)):B4(t)}function lr(t){return typeof t=="function"?t:t==null?xs:typeof t=="object"?Be(t)?M4(t[0],t[1]):P4(t):q4(t)}function j4(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var o=t[i];e(r,o,n(o),t)}return r}function U4(t){return function(e,n,r){for(var i=-1,s=Object(e),o=r(e),a=o.length;a--;){var c=o[++i];if(n(s[c],c,s)===!1)break}return e}}var G4=U4();function W4(t,e){return t&&G4(t,e,Yn)}function H4(t,e){return function(n,r){if(n==null)return n;if(!Nr(n))return t(n,r);for(var i=n.length,s=-1,o=Object(n);++s<i&&r(o[s],s,o)!==!1;);return n}}var Os=H4(W4);function V4(t,e,n,r){return Os(t,function(i,s,o){e(r,i,n(i),o)}),r}function K4(t,e){return function(n,r){var i=Be(n)?j4:V4,s=e?e():{};return i(n,t,lr(r),s)}}var vR=Object.prototype,Y4=vR.hasOwnProperty,ry=zg(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&_T(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],o=BT(s),a=-1,c=o.length;++a<c;){var u=o[a],l=t[u];(l===void 0||Oc(l,vR[u])&&!Y4.call(t,u))&&(t[u]=s[u])}return t});function wR(t){return ur(t)&&Nr(t)}var X4=200;function J4(t,e,n,r){var i=-1,s=$T,o=!0,a=t.length,c=[],u=e.length;if(!a)return c;e.length>=X4&&(s=Qg,o=!1,e=new Go(e));e:for(;++i<a;){var l=t[i],d=l;if(l=l!==0?l:0,o&&d===d){for(var f=u;f--;)if(e[f]===d)continue e;c.push(l)}else s(e,d,r)||c.push(l)}return c}var Ef=zg(function(t,e){return wR(t)?J4(t,Vg(e,1,wR,!0)):[]});function Wo(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function Gt(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),UT(t,e<0?0:e,r)):[]}function Uc(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:uf(e),e=r-e,UT(t,0,e<0?0:e)):[]}function Z4(t){return typeof t=="function"?t:xs}function ve(t,e){var n=Be(t)?ST:Os;return n(t,Z4(e))}function Q4(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function e6(t,e){var n=!0;return Os(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function dr(t,e,n){var r=Be(t)?Q4:e6;return r(t,lr(e))}function bR(t,e){var n=[];return Os(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function In(t,e){var n=Be(t)?Kg:bR;return n(t,lr(e))}function t6(t){return function(e,n,r){var i=Object(e);if(!Nr(e)){var s=lr(n);e=Yn(e),n=function(a){return s(i[a],a,i)}}var o=t(e,n,r);return o>-1?i[s?e[o]:o]:void 0}}var n6=Math.max;function r6(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:uf(n);return i<0&&(i=n6(r+i,0)),kT(t,lr(e),i)}var Ho=t6(r6);function fr(t){return t&&t.length?t[0]:void 0}function i6(t,e){var n=-1,r=Nr(t)?Array(t.length):[];return Os(t,function(i,s,o){r[++n]=e(i,s,o)}),r}function de(t,e){var n=Be(t)?cf:i6;return n(t,lr(e))}function Pn(t,e){return Vg(de(t,e))}var s6=Object.prototype,o6=s6.hasOwnProperty,a6=K4(function(t,e,n){o6.call(t,n)?t[n].push(e):Fg(t,n,[e])}),c6=Object.prototype,u6=c6.hasOwnProperty;function l6(t,e){return t!=null&&u6.call(t,e)}function be(t,e){return t!=null&&yR(t,e,l6)}var d6="[object String]";function bn(t){return typeof t=="string"||!Be(t)&&ur(t)&&zi(t)==d6}function f6(t,e){return cf(e,function(n){return t[n]})}function Ot(t){return t==null?[]:f6(t,Yn(t))}var h6=Math.max;function on(t,e,n,r){t=Nr(t)?t:Ot(t),n=n&&!r?uf(n):0;var i=t.length;return n<0&&(n=h6(i+n,0)),bn(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Lg(t,e,n)>-1}function ER(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Lg(t,e,i)}var p6="[object Map]",m6="[object Set]",g6=Object.prototype,y6=g6.hasOwnProperty;function tt(t){if(t==null)return!0;if(Nr(t)&&(Be(t)||typeof t=="string"||typeof t.splice=="function"||Fc(t)||jg(t)||hf(t)))return!t.length;var e=Jn(t);if(e==p6||e==m6)return!t.size;if(Lc(t))return!zT(t).length;for(var n in t)if(y6.call(t,n))return!1;return!0}var v6="[object RegExp]";function w6(t){return ur(t)&&zi(t)==v6}var DR=Bi&&Bi.isRegExp,fi=DR?pf(DR):w6;function hi(t){return t===void 0}function b6(t,e){return t<e}function E6(t,e,n){for(var r=-1,i=t.length;++r<i;){var s=t[r],o=e(s);if(o!=null&&(a===void 0?o===o&&!Nc(o):n(o,a)))var a=o,c=s}return c}function D6(t){return t&&t.length?E6(t,xs,b6):void 0}var T6="Expected a function";function R6(t){if(typeof t!="function")throw new TypeError(T6);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function S6(t,e,n,r){if(!Kn(t))return t;e=yf(e,t);for(var i=-1,s=e.length,o=s-1,a=t;a!=null&&++i<s;){var c=qc(e[i]),u=n;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(i!=o){var l=a[c];u=void 0,u===void 0&&(u=Kn(l)?l:df(e[i+1])?[]:{})}ff(a,c,u),a=a[c]}return t}function k6(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var o=e[r],a=Wg(t,o);n(a,o)&&S6(s,yf(o,t),a)}return s}function hr(t,e){if(t==null)return{};var n=cf(Uz(t),function(r){return[r]});return e=lr(e),k6(t,n,function(r,i){return e(r,i[0])})}function $6(t,e,n,r,i){return i(t,function(s,o,a){n=r?(r=!1,s):e(n,s,o,a)}),n}function an(t,e,n){var r=Be(t)?Cz:$6,i=arguments.length<3;return r(t,lr(e),n,i,Os)}function Df(t,e){var n=Be(t)?Kg:bR;return n(t,R6(lr(e)))}function C6(t,e){var n;return Os(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function TR(t,e,n){var r=Be(t)?uR:C6;return r(t,lr(e))}var _6=1/0,A6=Uo&&1/ey(new Uo([,-0]))[1]==_6?function(t){return new Uo(t)}:Nt,x6=200;function RR(t,e,n){var r=-1,i=$T,s=t.length,o=!0,a=[],c=a;if(s>=x6){var u=e?null:A6(t);if(u)return ey(u);o=!1,i=Qg,c=new Go}else c=e?[]:a;e:for(;++r<s;){var l=t[r],d=e?e(l):l;if(l=l!==0?l:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue e;e&&c.push(d),a.push(l)}else i(c,d,n)||(c!==a&&c.push(d),a.push(l))}return a}function iy(t){return t&&t.length?RR(t):[]}function I6(t,e){return t&&t.length?RR(t,lr(e)):[]}function sy(t){console&&console.error&&console.error(`Error: ${t}`)}function SR(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function kR(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function $R(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function P6(t){return N6(t)?t.LABEL:t.name}function N6(t){return bn(t.LABEL)&&t.LABEL!==""}class Lr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),ve(this.definition,n=>{n.accept(e)})}}class cn extends Lr{constructor(e){super([]),this.idx=1,xn(this,hr(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Vo extends Lr{constructor(e){super(e.definition),this.orgText="",xn(this,hr(e,n=>n!==void 0))}}class En extends Lr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,xn(this,hr(e,n=>n!==void 0))}}class Wt extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Nn extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class On extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class wt extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Dn extends Lr{constructor(e){super(e.definition),this.idx=1,xn(this,hr(e,n=>n!==void 0))}}class Tn extends Lr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,xn(this,hr(e,n=>n!==void 0))}}class ot{constructor(e){this.idx=1,xn(this,hr(e,n=>n!==void 0))}accept(e){e.visit(this)}}function O6(t){return de(t,Tf)}function Tf(t){function e(n){return de(n,Tf)}if(t instanceof cn){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return bn(t.label)&&(n.label=t.label),n}else{if(t instanceof En)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Wt)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Nn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof On)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Tf(new ot({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Dn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Tf(new ot({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof wt)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Tn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ot){const n={type:"Terminal",name:t.terminalType.name,label:P6(t.terminalType),idx:t.idx};bn(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=fi(r)?r.source:r),n}else{if(t instanceof Vo)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Ko{visit(e){const n=e;switch(n.constructor){case cn:return this.visitNonTerminal(n);case En:return this.visitAlternative(n);case Wt:return this.visitOption(n);case Nn:return this.visitRepetitionMandatory(n);case On:return this.visitRepetitionMandatoryWithSeparator(n);case Dn:return this.visitRepetitionWithSeparator(n);case wt:return this.visitRepetition(n);case Tn:return this.visitAlternation(n);case ot:return this.visitTerminal(n);case Vo:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function L6(t){return t instanceof En||t instanceof Wt||t instanceof wt||t instanceof Nn||t instanceof On||t instanceof Dn||t instanceof ot||t instanceof Vo}function Rf(t,e=[]){return t instanceof Wt||t instanceof wt||t instanceof Dn?!0:t instanceof Tn?TR(t.definition,r=>Rf(r,e)):t instanceof cn&&on(e,t)?!1:t instanceof Lr?(t instanceof cn&&e.push(t),dr(t.definition,r=>Rf(r,e))):!1}function F6(t){return t instanceof Tn}function Fr(t){if(t instanceof cn)return"SUBRULE";if(t instanceof Wt)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Nn)return"AT_LEAST_ONE";if(t instanceof On)return"AT_LEAST_ONE_SEP";if(t instanceof Dn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof ot)return"CONSUME";throw Error("non exhaustive match")}class Sf{walk(e,n=[]){ve(e.definition,(r,i)=>{const s=Gt(e.definition,i+1);if(r instanceof cn)this.walkProdRef(r,s,n);else if(r instanceof ot)this.walkTerminal(r,s,n);else if(r instanceof En)this.walkFlat(r,s,n);else if(r instanceof Wt)this.walkOption(r,s,n);else if(r instanceof Nn)this.walkAtLeastOne(r,s,n);else if(r instanceof On)this.walkAtLeastOneSep(r,s,n);else if(r instanceof Dn)this.walkManySep(r,s,n);else if(r instanceof wt)this.walkMany(r,s,n);else if(r instanceof Tn)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new Wt({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=CR(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Wt({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=CR(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);ve(e.definition,s=>{const o=new En({definition:[s]});this.walk(o,i)})}}function CR(t,e,n){return[new Wt({definition:[new ot({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Gc(t){if(t instanceof cn)return Gc(t.referencedRule);if(t instanceof ot)return B6(t);if(L6(t))return M6(t);if(F6(t))return z6(t);throw Error("non exhaustive match")}function M6(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,o=!0;for(;i&&o;)s=n[r],o=Rf(s),e=e.concat(Gc(s)),r=r+1,i=n.length>r;return iy(e)}function z6(t){const e=de(t.definition,n=>Gc(n));return iy(Xn(e))}function B6(t){return[t.terminalType]}const _R="_~IN~_";class q6 extends Sf{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=U6(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),o=new En({definition:s}),a=Gc(o);this.follows[i]=a}}function j6(t){const e={};return ve(t,n=>{const r=new q6(n).startWalking();xn(e,r)}),e}function U6(t,e){return t.name+e+_R}let kf={};const G6=new rT;function $f(t){const e=t.toString();if(kf.hasOwnProperty(e))return kf[e];{const n=G6.pattern(e);return kf[e]=n,n}}function W6(){kf={}}const AR="Complement Sets are not supported for first char optimization",Cf=`Unable to use "first char" lexer optimizations:
|
|
13
|
-
`;function H6(t,e=!1){try{const n=$f(t);return oy(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===AR)e&&SR(`${Cf} Unable to optimize: < ${t.toString()} >
|
|
14
|
-
Complement Sets cannot be automatically optimized.
|
|
15
|
-
This will disable the lexer's first char optimizations.
|
|
16
|
-
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
-
This will disable the lexer's first char optimizations.
|
|
18
|
-
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),sy(`${Cf}
|
|
19
|
-
Failed parsing: < ${t.toString()} >
|
|
20
|
-
Using the @chevrotain/regexp-to-ast library
|
|
21
|
-
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function oy(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)oy(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const o=s;switch(o.type){case"Character":_f(o.value,e,n);break;case"Set":if(o.complement===!0)throw Error(AR);ve(o.value,c=>{if(typeof c=="number")_f(c,e,n);else{const u=c;if(n===!0)for(let l=u.from;l<=u.to;l++)_f(l,e,n);else{for(let l=u.from;l<=u.to&&l<Hc;l++)_f(l,e,n);if(u.to>=Hc){const l=u.from>=Hc?u.from:Hc,d=u.to,f=qi(l),h=qi(d);for(let p=f;p<=h;p++)e[p]=p}}}});break;case"Group":oy(o.value,e,n);break;default:throw Error("Non Exhaustive Match")}const a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&ay(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Ot(e)}function _f(t,e,n){const r=qi(t);e[r]=r,n===!0&&V6(t,e)}function V6(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=qi(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=qi(i.charCodeAt(0));e[s]=s}}}function xR(t,e){return Ho(t.value,n=>{if(typeof n=="number")return on(e,n);{const r=n;return Ho(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function ay(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Be(t.value)?dr(t.value,ay):ay(t.value):!1}class K6 extends nf{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){on(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?xR(e,this.targetCharCodes)===void 0&&(this.found=!0):xR(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function cy(t,e){if(e instanceof RegExp){const n=$f(e),r=new K6(t);return r.visit(n),r.found}else return Ho(e,n=>on(t,n.charCodeAt(0)))!==void 0}const Ls="PATTERN",Wc="defaultMode",Af="modes";let IR=typeof new RegExp("(?:)").sticky=="boolean";function Y6(t,e){e=ry(e,{useSticky:IR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
-
`],tracer:(w,E)=>E()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{v5()});let r;n("Reject Lexer.NA",()=>{r=Df(t,w=>w[Ls]===Rn.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=de(r,w=>{const E=w[Ls];if(fi(E)){const k=E.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!E.ignoreCase?k:k.length===2&&k[0]==="\\"&&!on(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:e.useSticky?NR(E):PR(E)}else{if(ci(E))return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{const k=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),A=new RegExp(k);return e.useSticky?NR(A):PR(A)}}else throw Error("non exhaustive match")}})});let o,a,c,u,l;n("misc mapping",()=>{o=de(r,w=>w.tokenTypeIdx),a=de(r,w=>{const E=w.GROUP;if(E!==Rn.SKIPPED){if(bn(E))return E;if(hi(E))return!1;throw Error("non exhaustive match")}}),c=de(r,w=>{const E=w.LONGER_ALT;if(E)return Be(E)?de(E,A=>ER(r,A)):[ER(r,E)]}),u=de(r,w=>w.PUSH_MODE),l=de(r,w=>be(w,"POP_MODE"))});let d;n("Line Terminator Handling",()=>{const w=FR(e.lineTerminatorCharacters);d=de(r,E=>!1),e.positionTracking!=="onlyOffset"&&(d=de(r,E=>be(E,"LINE_BREAKS")?!!E.LINE_BREAKS:LR(E,w)===!1&&cy(w,E.PATTERN)))});let f,h,p,m;n("Misc Mapping #2",()=>{f=de(r,OR),h=de(s,m5),p=an(r,(w,E)=>{const k=E.GROUP;return bn(k)&&k!==Rn.SKIPPED&&(w[k]=[]),w},{}),m=de(s,(w,E)=>({pattern:s[E],longerAlt:c[E],canLineTerminator:d[E],isCustom:f[E],short:h[E],group:a[E],push:u[E],pop:l[E],tokenTypeIdx:o[E],tokenType:r[E]}))});let g=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=an(r,(w,E,k)=>{if(typeof E.PATTERN=="string"){const A=E.PATTERN.charCodeAt(0),I=qi(A);uy(w,I,m[k])}else if(Be(E.START_CHARS_HINT)){let A;ve(E.START_CHARS_HINT,I=>{const x=typeof I=="string"?I.charCodeAt(0):I,_=qi(x);A!==_&&(A=_,uy(w,_,m[k]))})}else if(fi(E.PATTERN))if(E.PATTERN.unicode)g=!1,e.ensureOptimizations&&sy(`${Cf} Unable to analyze < ${E.PATTERN.toString()} > pattern.
|
|
23
|
-
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
-
This will disable the lexer's first char optimizations.
|
|
25
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const A=H6(E.PATTERN,e.ensureOptimizations);tt(A)&&(g=!1),ve(A,I=>{uy(w,I,m[k])})}else e.ensureOptimizations&&sy(`${Cf} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
-
This will disable the lexer's first char optimizations.
|
|
27
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return w},[])}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:g}}function X6(t,e){let n=[];const r=Z6(t);n=n.concat(r.errors);const i=Q6(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(J6(s)),n=n.concat(a5(s)),n=n.concat(c5(s,e)),n=n.concat(u5(s)),n}function J6(t){let e=[];const n=In(t,r=>fi(r[Ls]));return e=e.concat(t5(n)),e=e.concat(i5(n)),e=e.concat(s5(n)),e=e.concat(o5(n)),e=e.concat(n5(n)),e}function Z6(t){const e=In(t,i=>!be(i,Ls)),n=de(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:bt.MISSING_PATTERN,tokenTypes:[i]})),r=Ef(t,e);return{errors:n,valid:r}}function Q6(t){const e=In(t,i=>{const s=i[Ls];return!fi(s)&&!ci(s)&&!be(s,"exec")&&!bn(s)}),n=de(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:bt.INVALID_PATTERN,tokenTypes:[i]})),r=Ef(t,e);return{errors:n,valid:r}}const e5=/[^\\][$]/;function t5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=In(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return e5.test(s.source)}});return de(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
-
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
-
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:bt.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function n5(t){const e=In(t,r=>r.PATTERN.test(""));return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:bt.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const r5=/[^\\[][\^]|^\^/;function i5(t){class e extends nf{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=In(t,i=>{const s=i.PATTERN;try{const o=$f(s),a=new e;return a.visit(o),a.found}catch{return r5.test(s.source)}});return de(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
-
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:bt.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function s5(t){const e=In(t,r=>{const i=r[Ls];return i instanceof RegExp&&(i.multiline||i.global)});return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:bt.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function o5(t){const e=[];let n=de(t,s=>an(t,(o,a)=>(s.PATTERN.source===a.PATTERN.source&&!on(e,a)&&a.PATTERN!==Rn.NA&&(e.push(a),o.push(a)),o),[]));n=jc(n);const r=In(n,s=>s.length>1);return de(r,s=>{const o=de(s,c=>c.name);return{message:`The same RegExp pattern ->${fr(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:bt.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function a5(t){const e=In(t,r=>{if(!be(r,"GROUP"))return!1;const i=r.GROUP;return i!==Rn.SKIPPED&&i!==Rn.NA&&!bn(i)});return de(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:bt.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function c5(t,e){const n=In(t,i=>i.PUSH_MODE!==void 0&&!on(e,i.PUSH_MODE));return de(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:bt.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function u5(t){const e=[],n=an(t,(r,i,s)=>{const o=i.PATTERN;return o===Rn.NA||(bn(o)?r.push({str:o,idx:s,tokenType:i}):fi(o)&&d5(o)&&r.push({str:o.source,idx:s,tokenType:i})),r},[]);return ve(t,(r,i)=>{ve(n,({str:s,idx:o,tokenType:a})=>{if(i<o&&l5(s,r.PATTERN)){const c=`Token: ->${a.name}<- can never be matched.
|
|
32
|
-
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:bt.UNREACHABLE_PATTERN,tokenTypes:[r,a]})}})}),e}function l5(t,e){if(fi(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(ci(e))return e(t,0,[],{});if(be(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function d5(t){return Ho([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function PR(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function NR(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function f5(t,e,n){const r=[];return be(t,Wc)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Wc+`> property in its definition
|
|
34
|
-
`,type:bt.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),be(t,Af)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Af+`> property in its definition
|
|
35
|
-
`,type:bt.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),be(t,Af)&&be(t,Wc)&&!be(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Wc}: <${t.defaultMode}>which does not exist
|
|
36
|
-
`,type:bt.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),be(t,Af)&&ve(t.modes,(i,s)=>{ve(i,(o,a)=>{if(hi(o))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${a}>
|
|
37
|
-
`,type:bt.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(be(o,"LONGER_ALT")){const c=Be(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];ve(c,u=>{!hi(u)&&!on(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${o.name}> outside of mode <${s}>
|
|
38
|
-
`,type:bt.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function h5(t,e,n){const r=[];let i=!1;const s=jc(Xn(Ot(t.modes))),o=Df(s,c=>c[Ls]===Rn.NA),a=FR(n);return e&&ve(o,c=>{const u=LR(c,a);if(u!==!1){const d={message:y5(c,u),type:u.issue,tokenType:c};r.push(d)}else be(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):cy(a,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
-
This Lexer has been defined to track line and column information,
|
|
40
|
-
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
-
for details.`,type:bt.NO_LINE_BREAKS_FLAGS}),r}function p5(t){const e={},n=Yn(t);return ve(n,r=>{const i=t[r];if(Be(i))e[r]=[];else throw Error("non exhaustive match")}),e}function OR(t){const e=t.PATTERN;if(fi(e))return!1;if(ci(e))return!0;if(be(e,"exec"))return!0;if(bn(e))return!1;throw Error("non exhaustive match")}function m5(t){return bn(t)&&t.length===1?t.charCodeAt(0):!1}const g5={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function LR(t,e){if(be(t,"LINE_BREAKS"))return!1;if(fi(t.PATTERN)){try{cy(e,t.PATTERN)}catch(n){return{issue:bt.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(bn(t.PATTERN))return!1;if(OR(t))return{issue:bt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function y5(t,e){if(e.issue===bt.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
-
The problem is in the <${t.name}> Token Type
|
|
44
|
-
Root cause: ${e.errMsg}.
|
|
45
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===bt.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
-
The problem is in the <${t.name}> Token Type
|
|
47
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function FR(t){return de(t,n=>bn(n)?n.charCodeAt(0):n)}function uy(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Hc=256;let xf=[];function qi(t){return t<Hc?t:xf[t]}function v5(){if(tt(xf)){xf=new Array(65536);for(let t=0;t<65536;t++)xf[t]=t>255?255+~~(t/255):t}}function Vc(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function If(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let MR=1;const zR={};function Kc(t){const e=w5(t);b5(e),D5(e),E5(e),ve(e,n=>{n.isParent=n.categoryMatches.length>0})}function w5(t){let e=Ut(t),n=t,r=!0;for(;r;){n=jc(Xn(de(n,s=>s.CATEGORIES)));const i=Ef(n,e);e=e.concat(i),tt(i)?r=!1:n=i}return e}function b5(t){ve(t,e=>{qR(e)||(zR[MR]=e,e.tokenTypeIdx=MR++),jR(e)&&!Be(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),jR(e)||(e.CATEGORIES=[]),T5(e)||(e.categoryMatches=[]),R5(e)||(e.categoryMatchesMap={})})}function E5(t){ve(t,e=>{e.categoryMatches=[],ve(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(zR[r].tokenTypeIdx)})})}function D5(t){ve(t,e=>{BR([],e)})}function BR(t,e){ve(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),ve(e.CATEGORIES,n=>{const r=t.concat(e);on(r,n)||BR(r,n)})}function qR(t){return be(t,"tokenTypeIdx")}function jR(t){return be(t,"CATEGORIES")}function T5(t){return be(t,"categoryMatches")}function R5(t){return be(t,"categoryMatchesMap")}function S5(t){return be(t,"tokenTypeIdx")}const k5={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var bt;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(bt||(bt={}));const Yc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
-
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:k5,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Yc);class Rn{constructor(e,n=Yc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);const{time:a,value:c}=kR(s),u=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${o}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
-
a boolean 2nd argument is no longer supported`);this.config=xn({},Yc,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Yc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=g5;else if(this.config.lineTerminatorCharacters===Yc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Be(e)?i={modes:{defaultMode:Ut(e)},defaultMode:Wc}:(s=!1,i=Ut(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(f5(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(h5(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},ve(i.modes,(a,c)=>{i.modes[c]=Df(a,u=>hi(u))});const o=Yn(i.modes);if(ve(i.modes,(a,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X6(a,o))}),tt(this.lexerDefinitionErrors)){Kc(a);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Y6(a,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=u.charCodeToPatternIdxToConfig,this.emptyGroups=xn({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!tt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=de(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
|
|
51
|
-
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
-
`+c)}ve(this.lexerDefinitionWarning,a=>{SR(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(IR?(this.chopInput=xs,this.match=this.matchWithTest):(this.updateLastIndex=Nt,this.match=this.matchWithExec),s&&(this.handleModes=Nt),this.trackStartLines===!1&&(this.computeNewColumn=xs),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Nt),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const a=an(this.canModeBeOptimized,(c,u,l)=>(u===!1&&c.push(l),c),[]);if(n.ensureOptimizations&&!tt(a))throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
|
|
53
|
-
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
54
|
-
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{W6()}),this.TRACE_INIT("toFastProperties",()=>{$R(this)})})}tokenize(e,n=this.defaultMode){if(!tt(this.lexerDefinitionErrors)){const i=de(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
-
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
-
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,o,a,c,u,l,d,f,h,p,m,g,y;const w=e,E=w.length;let k=0,A=0;const I=this.hasCustom?0:Math.floor(e.length/10),x=new Array(I),_=[];let P=this.trackStartLines?1:void 0,O=this.trackStartLines?1:void 0;const C=p5(this.emptyGroups),D=this.trackStartLines,R=this.config.lineTerminatorsPattern;let F=0,W=[],V=[];const Z=[],Le=[];Object.freeze(Le);let se;function K(){return W}function Te(ne){const fe=qi(ne),Ee=V[fe];return Ee===void 0?Le:Ee}const ut=ne=>{if(Z.length===1&&ne.tokenType.PUSH_MODE===void 0){const fe=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ne);_.push({offset:ne.startOffset,line:ne.startLine,column:ne.startColumn,length:ne.image.length,message:fe})}else{Z.pop();const fe=Wo(Z);W=this.patternIdxToConfig[fe],V=this.charCodeToPatternIdxToConfig[fe],F=W.length;const Ee=this.canModeBeOptimized[fe]&&this.config.safeMode===!1;V&&Ee?se=Te:se=K}};function H(ne){Z.push(ne),V=this.charCodeToPatternIdxToConfig[ne],W=this.patternIdxToConfig[ne],F=W.length,F=W.length;const fe=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;V&&fe?se=Te:se=K}H.call(this,n);let Y;const ee=this.config.recoveryEnabled;for(;k<E;){c=null;const ne=w.charCodeAt(k),fe=se(ne),Ee=fe.length;for(r=0;r<Ee;r++){Y=fe[r];const ge=Y.pattern;u=null;const ce=Y.short;if(ce!==!1?ne===ce&&(c=ge):Y.isCustom===!0?(y=ge.exec(w,k,x,C),y!==null?(c=y[0],y.payload!==void 0&&(u=y.payload)):c=null):(this.updateLastIndex(ge,k),c=this.match(ge,e,k)),c!==null){if(a=Y.longerAlt,a!==void 0){const M=a.length;for(s=0;s<M;s++){const U=W[a[s]],oe=U.pattern;if(l=null,U.isCustom===!0?(y=oe.exec(w,k,x,C),y!==null?(o=y[0],y.payload!==void 0&&(l=y.payload)):o=null):(this.updateLastIndex(oe,k),o=this.match(oe,e,k)),o&&o.length>c.length){c=o,u=l,Y=U;break}}}break}}if(c!==null){if(d=c.length,f=Y.group,f!==void 0&&(h=Y.tokenTypeIdx,p=this.createTokenInstance(c,k,h,Y.tokenType,P,O,d),this.handlePayload(p,u),f===!1?A=this.addToken(x,A,p):C[f].push(p)),e=this.chopInput(e,d),k=k+d,O=this.computeNewColumn(O,d),D===!0&&Y.canLineTerminator===!0){let ge=0,ce,M;R.lastIndex=0;do ce=R.test(c),ce===!0&&(M=R.lastIndex-1,ge++);while(ce===!0);ge!==0&&(P=P+ge,O=d-M,this.updateTokenEndLineColumnLocation(p,f,M,ge,P,O,d))}this.handleModes(Y,ut,H,p)}else{const ge=k,ce=P,M=O;let U=ee===!1;for(;U===!1&&k<E;)for(e=this.chopInput(e,1),k++,i=0;i<F;i++){const oe=W[i],G=oe.pattern,Fe=oe.short;if(Fe!==!1?w.charCodeAt(k)===Fe&&(U=!0):oe.isCustom===!0?U=G.exec(w,k,x,C)!==null:(this.updateLastIndex(G,k),U=G.exec(e)!==null),U===!0)break}if(m=k-ge,O=this.computeNewColumn(O,m),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w,ge,m,ce,M),_.push({offset:ge,line:ce,column:M,length:m,message:g}),ee===!1)break}}return this.hasCustom||(x.length=A),{tokens:x,groups:C,errors:_}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,o,a){let c,u;n!==void 0&&(c=r===a-1,u=c?-1:0,i===1&&c===!0||(e.endLine=s+u,e.endColumn=o-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,o){return{image:e,startOffset:n,startLine:s,startColumn:o,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,o,a){return{image:e,startOffset:n,endOffset:n+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}Rn.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Rn.NA=/NOT_APPLICABLE/;function Yo(t){return UR(t)?t.LABEL:t.name}function UR(t){return bn(t.LABEL)&&t.LABEL!==""}const $5="parent",GR="categories",WR="label",HR="group",VR="push_mode",KR="pop_mode",YR="longer_alt",XR="line_breaks",JR="start_chars_hint";function ZR(t){return C5(t)}function C5(t){const e=t.pattern,n={};if(n.name=t.name,hi(e)||(n.PATTERN=e),be(t,$5))throw`The parent property is no longer supported.
|
|
57
|
-
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return be(t,GR)&&(n.CATEGORIES=t[GR]),Kc([n]),be(t,WR)&&(n.LABEL=t[WR]),be(t,HR)&&(n.GROUP=t[HR]),be(t,KR)&&(n.POP_MODE=t[KR]),be(t,VR)&&(n.PUSH_MODE=t[VR]),be(t,YR)&&(n.LONGER_ALT=t[YR]),be(t,XR)&&(n.LINE_BREAKS=t[XR]),be(t,JR)&&(n.START_CHARS_HINT=t[JR]),n}const ji=ZR({name:"EOF",pattern:Rn.NA});Kc([ji]);function ly(t,e,n,r,i,s,o,a){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function QR(t,e){return Vc(t,e)}const Xo={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${UR(t)?`--> ${Yo(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",a=`
|
|
58
|
-
but found: '`+fr(e).image+"'";if(r)return s+r+a;{const c=an(t,(f,h)=>f.concat(h),[]),u=de(c,f=>`[${de(f,h=>Yo(h)).join(", ")}]`),d=`one of these possible Token sequences:
|
|
59
|
-
${de(u,(f,h)=>` ${h+1}. ${f}`).join(`
|
|
60
|
-
`)}`;return s+d+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",o=`
|
|
61
|
-
but found: '`+fr(e).image+"'";if(n)return i+n+o;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
-
<${de(t,u=>`[${de(u,l=>Yo(l)).join(",")}]`).join(" ,")}>`;return i+c+o}}};Object.freeze(Xo);const _5={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
-
inside top level rule: ->`+t.name+"<-"}},Fs={buildDuplicateFoundError(t,e){function n(l){return l instanceof ot?l.terminalType.name:l instanceof cn?l.nonTerminalName:""}const r=t.name,i=fr(e),s=i.idx,o=Fr(i),a=n(i),c=s>0;let u=`->${o}${c?s:""}<- ${a?`with argument: ->${a}<-`:""}
|
|
64
|
-
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
-
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
-
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
|
|
67
|
-
`),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
68
|
-
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
|
-
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
-
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
-
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
-
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
73
|
-
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
-
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
-
For Further details.`},buildAlternationAmbiguityError(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
-
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
-
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
-
For Further details.`,r},buildEmptyRepetitionError(t){let e=Fr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
|
-
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
|
-
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
-
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
82
|
-
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=de(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
-
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
-
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
-
${r}
|
|
86
|
-
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
-
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Vo?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function A5(t,e){const n=new x5(t,e);return n.resolveRefs(),n.errors}class x5 extends Ko{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){ve(Ot(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:un.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class I5 extends Sf{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Ut(this.path.ruleStack).reverse(),this.occurrenceStack=Ut(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){tt(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class P5 extends I5{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new En({definition:i});this.possibleTokTypes=Gc(s),this.found=!0}}}class Pf extends Sf{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class N5 extends Pf{walkMany(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class e1 extends Pf{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class O5 extends Pf{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class t1 extends Pf{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=fr(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ot&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function dy(t,e,n=[]){n=Ut(n);let r=[],i=0;function s(a){return a.concat(Gt(t,i+1))}function o(a){const c=dy(s(a),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const a=t[i];if(a instanceof En)return o(a.definition);if(a instanceof cn)return o(a.definition);if(a instanceof Wt)r=o(a.definition);else if(a instanceof Nn){const c=a.definition.concat([new wt({definition:a.definition})]);return o(c)}else if(a instanceof On){const c=[new En({definition:a.definition}),new wt({definition:[new ot({terminalType:a.separator})].concat(a.definition)})];return o(c)}else if(a instanceof Dn){const c=a.definition.concat([new wt({definition:[new ot({terminalType:a.separator})].concat(a.definition)})]);r=o(c)}else if(a instanceof wt){const c=a.definition.concat([new wt({definition:a.definition})]);r=o(c)}else{if(a instanceof Tn)return ve(a.definition,c=>{tt(c.definition)===!1&&(r=o(c.definition))}),r;if(a instanceof ot)n.push(a.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Gt(t,i)}),r}function n1(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE";let a=!1;const c=e.length,u=c-r-1,l=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!tt(d);){const f=d.pop();if(f===o){a&&Wo(d).idx<=u&&d.pop();continue}const h=f.def,p=f.idx,m=f.ruleStack,g=f.occurrenceStack;if(tt(h))continue;const y=h[0];if(y===i){const w={idx:p,def:Gt(h),ruleStack:Uc(m),occurrenceStack:Uc(g)};d.push(w)}else if(y instanceof ot)if(p<c-1){const w=p+1,E=e[w];if(n(E,y.terminalType)){const k={idx:w,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(k)}}else if(p===c-1)l.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:m,occurrenceStack:g}),a=!0;else throw Error("non exhaustive match");else if(y instanceof cn){const w=Ut(m);w.push(y.nonTerminalName);const E=Ut(g);E.push(y.idx);const k={idx:p,def:y.definition.concat(s,Gt(h)),ruleStack:w,occurrenceStack:E};d.push(k)}else if(y instanceof Wt){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E={idx:p,def:y.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g};d.push(E)}else if(y instanceof Nn){const w=new wt({definition:y.definition,idx:y.idx}),E=y.definition.concat([w],Gt(h)),k={idx:p,def:E,ruleStack:m,occurrenceStack:g};d.push(k)}else if(y instanceof On){const w=new ot({terminalType:y.separator}),E=new wt({definition:[w].concat(y.definition),idx:y.idx}),k=y.definition.concat([E],Gt(h)),A={idx:p,def:k,ruleStack:m,occurrenceStack:g};d.push(A)}else if(y instanceof Dn){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E=new ot({terminalType:y.separator}),k=new wt({definition:[E].concat(y.definition),idx:y.idx}),A=y.definition.concat([k],Gt(h)),I={idx:p,def:A,ruleStack:m,occurrenceStack:g};d.push(I)}else if(y instanceof wt){const w={idx:p,def:Gt(h),ruleStack:m,occurrenceStack:g};d.push(w),d.push(o);const E=new wt({definition:y.definition,idx:y.idx}),k=y.definition.concat([E],Gt(h)),A={idx:p,def:k,ruleStack:m,occurrenceStack:g};d.push(A)}else if(y instanceof Tn)for(let w=y.definition.length-1;w>=0;w--){const E=y.definition[w],k={idx:p,def:E.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g};d.push(k),d.push(o)}else if(y instanceof En)d.push({idx:p,def:y.definition.concat(Gt(h)),ruleStack:m,occurrenceStack:g});else if(y instanceof Vo)d.push(L5(y,p,m,g));else throw Error("non exhaustive match")}return l}function L5(t,e,n,r){const i=Ut(n);i.push(t.name);const s=Ut(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var pt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(pt||(pt={}));function fy(t){if(t instanceof Wt||t==="Option")return pt.OPTION;if(t instanceof wt||t==="Repetition")return pt.REPETITION;if(t instanceof Nn||t==="RepetitionMandatory")return pt.REPETITION_MANDATORY;if(t instanceof On||t==="RepetitionMandatoryWithSeparator")return pt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Dn||t==="RepetitionWithSeparator")return pt.REPETITION_WITH_SEPARATOR;if(t instanceof Tn||t==="Alternation")return pt.ALTERNATION;throw Error("non exhaustive match")}function r1(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=fy(r);return s===pt.ALTERNATION?Nf(e,n,i):Of(e,n,s,i)}function F5(t,e,n,r,i,s){const o=Nf(t,e,n),a=a1(o)?If:Vc;return s(o,r,a,i)}function M5(t,e,n,r,i,s){const o=Of(t,e,i,n),a=a1(o)?If:Vc;return s(o[0],a,r)}function z5(t,e,n,r){const i=t.length,s=dr(t,o=>dr(o,a=>a.length===1));if(e)return function(o){const a=de(o,c=>c.GATE);for(let c=0;c<i;c++){const u=t[c],l=u.length,d=a[c];if(!(d!==void 0&&d.call(this)===!1))e:for(let f=0;f<l;f++){const h=u[f],p=h.length;for(let m=0;m<p;m++){const g=this.LA(m+1);if(n(g,h[m])===!1)continue e}return c}}};if(s&&!r){const o=de(t,c=>Xn(c)),a=an(o,(c,u,l)=>(ve(u,d=>{be(c,d.tokenTypeIdx)||(c[d.tokenTypeIdx]=l),ve(d.categoryMatches,f=>{be(c,f)||(c[f]=l)})}),c),{});return function(){const c=this.LA(1);return a[c.tokenTypeIdx]}}else return function(){for(let o=0;o<i;o++){const a=t[o],c=a.length;e:for(let u=0;u<c;u++){const l=a[u],d=l.length;for(let f=0;f<d;f++){const h=this.LA(f+1);if(n(h,l[f])===!1)continue e}return o}}}}function B5(t,e,n){const r=dr(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Xn(t);if(s.length===1&&tt(s[0].categoryMatches)){const a=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{const o=an(s,(a,c,u)=>(a[c.tokenTypeIdx]=!0,ve(c.categoryMatches,l=>{a[l]=!0}),a),[]);return function(){const a=this.LA(1);return o[a.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const o=t[s],a=o.length;for(let c=0;c<a;c++){const u=this.LA(c+1);if(e(u,o[c])===!1)continue e}return!0}return!1}}class q5 extends Sf{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,pt.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,pt.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,pt.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,pt.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class i1 extends Ko{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,pt.OPTION)}visitRepetition(e){this.checkIsTarget(e,pt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,pt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,pt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,pt.ALTERNATION)}}function s1(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function hy(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const o=e[s];i.push(o+"_"+r.tokenTypeIdx);for(let a=0;a<r.categoryMatches.length;a++){const c="_"+r.categoryMatches[a];i.push(o+c)}}e=i}return e}function j5(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const o=e[s];if(i[o]===!0)return!1}}return!0}function o1(t,e){const n=de(t,o=>dy([o],1)),r=s1(n.length),i=de(n,o=>{const a={};return ve(o,c=>{const u=hy(c.partialPath);ve(u,l=>{a[l]=!0})}),a});let s=n;for(let o=1;o<=e;o++){const a=s;s=s1(a.length);for(let c=0;c<a.length;c++){const u=a[c];for(let l=0;l<u.length;l++){const d=u[l].partialPath,f=u[l].suffixDef,h=hy(d);if(j5(i,h,c)||tt(f)||d.length===e){const m=r[c];if(py(m,d)===!1){m.push(d);for(let g=0;g<h.length;g++){const y=h[g];i[c][y]=!0}}}else{const m=dy(f,o+1,d);s[c]=s[c].concat(m),ve(m,g=>{const y=hy(g.partialPath);ve(y,w=>{i[c][w]=!0})})}}}}return r}function Nf(t,e,n,r){const i=new i1(t,pt.ALTERNATION,r);return e.accept(i),o1(i.result,n)}function Of(t,e,n,r){const i=new i1(t,n);e.accept(i);const s=i.result,a=new q5(e,t,n).startWalking(),c=new En({definition:s}),u=new En({definition:a});return o1([c,u],r)}function py(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],o=r[i];if((s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function U5(t,e){return t.length<e.length&&dr(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function a1(t){return dr(t,e=>dr(e,n=>dr(n,r=>tt(r.categoryMatches))))}function G5(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return de(e,n=>Object.assign({type:un.CUSTOM_LOOKAHEAD_VALIDATION},n))}function W5(t,e,n,r){const i=Pn(t,c=>H5(c,n)),s=iq(t,e,n),o=Pn(t,c=>eq(c,n)),a=Pn(t,c=>Y5(c,t,r,n));return i.concat(s,o,a)}function H5(t,e){const n=new K5;t.accept(n);const r=n.allProductions,i=a6(r,V5),s=hr(i,a=>a.length>1);return de(Ot(s),a=>{const c=fr(a),u=e.buildDuplicateFoundError(t,a),l=Fr(c),d={message:u,type:un.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:l,occurrence:c.idx},f=c1(c);return f&&(d.parameter=f),d})}function V5(t){return`${Fr(t)}_#_${t.idx}_#_${c1(t)}`}function c1(t){return t instanceof ot?t.terminalType.name:t instanceof cn?t.nonTerminalName:""}class K5 extends Ko{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Y5(t,e,n,r){const i=[];if(an(e,(o,a)=>a.name===t.name?o+1:o,0)>1){const o=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:o,type:un.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function X5(t,e,n){const r=[];let i;return on(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:un.INVALID_RULE_OVERRIDE,ruleName:t})),r}function u1(t,e,n,r=[]){const i=[],s=Lf(e.definition);if(tt(s))return[];{const o=t.name;on(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:un.LEFT_RECURSION,ruleName:o});const c=Ef(s,r.concat([t])),u=Pn(c,l=>{const d=Ut(r);return d.push(l),u1(t,l,n,d)});return i.concat(u)}}function Lf(t){let e=[];if(tt(t))return e;const n=fr(t);if(n instanceof cn)e.push(n.referencedRule);else if(n instanceof En||n instanceof Wt||n instanceof Nn||n instanceof On||n instanceof Dn||n instanceof wt)e=e.concat(Lf(n.definition));else if(n instanceof Tn)e=Xn(de(n.definition,s=>Lf(s.definition)));else if(!(n instanceof ot))throw Error("non exhaustive match");const r=Rf(n),i=t.length>1;if(r&&i){const s=Gt(t);return e.concat(Lf(s))}else return e}class my extends Ko{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function J5(t,e){const n=new my;t.accept(n);const r=n.alternations;return Pn(r,s=>{const o=Uc(s.definition);return Pn(o,(a,c)=>{const u=n1([a],[],Vc,1);return tt(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:un.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Z5(t,e,n){const r=new my;t.accept(r);let i=r.alternations;return i=Df(i,o=>o.ignoreAmbiguities===!0),Pn(i,o=>{const a=o.idx,c=o.maxLookahead||e,u=Nf(a,t,c,o),l=nq(u,o,t,n),d=rq(u,o,t,n);return l.concat(d)})}class Q5 extends Ko{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function eq(t,e){const n=new my;t.accept(n);const r=n.alternations;return Pn(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:un.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function tq(t,e,n){const r=[];return ve(t,i=>{const s=new Q5;i.accept(s);const o=s.allProductions;ve(o,a=>{const c=fy(a),u=a.maxLookahead||e,l=a.idx,f=Of(l,i,c,u)[0];if(tt(Xn(f))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:a});r.push({message:h,type:un.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function nq(t,e,n,r){const i=[],s=an(t,(a,c,u)=>(e.definition[u].ignoreAmbiguities===!0||ve(c,l=>{const d=[u];ve(t,(f,h)=>{u!==h&&py(f,l)&&e.definition[h].ignoreAmbiguities!==!0&&d.push(h)}),d.length>1&&!py(i,l)&&(i.push(l),a.push({alts:d,path:l}))}),a),[]);return de(s,a=>{const c=de(a.alts,l=>l+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:un.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:a.alts}})}function rq(t,e,n,r){const i=an(t,(o,a,c)=>{const u=de(a,l=>({idx:c,path:l}));return o.concat(u)},[]);return jc(Pn(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];const c=o.idx,u=o.path,l=In(i,f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<c&&U5(f.path,u));return de(l,f=>{const h=[f.idx+1,c+1],p=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:f.path}),type:un.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:p,alternatives:h}})}))}function iq(t,e,n){const r=[],i=de(e,s=>s.name);return ve(t,s=>{const o=s.name;if(on(i,o)){const a=n.buildNamespaceConflictError(s);r.push({message:a,type:un.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),r}function sq(t){const e=ry(t,{errMsgProvider:_5}),n={};return ve(t.rules,r=>{n[r.name]=r}),A5(n,e.errMsgProvider)}function oq(t){return t=ry(t,{errMsgProvider:Fs}),W5(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const l1="MismatchedTokenException",d1="NoViableAltException",f1="EarlyExitException",h1="NotAllInputParsedException",p1=[l1,d1,f1,h1];Object.freeze(p1);function Ff(t){return on(p1,t.name)}class Mf extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class m1 extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=l1}}class aq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=d1}}class cq extends Mf{constructor(e,n){super(e,n),this.name=h1}}class uq extends Mf{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=f1}}const gy={},g1="InRuleRecoveryException";class lq extends Error{constructor(e){super(e),this.name=g1}}class dq{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=be(e,"recoveryEnabled")?e.recoveryEnabled:pi.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fq)}getTokenToInsert(e){const n=ly(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),o=this.exportLexerState(),a=[];let c=!1;const u=this.LA(1);let l=this.LA(1);const d=()=>{const f=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),p=new m1(h,u,this.LA(0));p.resyncedTokens=Uc(a),this.SAVE_ERROR(p)};for(;!c;)if(this.tokenMatcher(l,i)){d();return}else if(r.call(this)){d(),e.apply(this,n);return}else this.tokenMatcher(l,s)?c=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,a));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new lq("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||tt(n))return!1;const r=this.LA(1);return Ho(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return on(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Ho(e,s=>QR(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return gy;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return de(e,(r,i)=>i===0?gy:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=de(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Xn(e)}getFollowSetFromFollowKey(e){if(e===gy)return[ji];const n=e.ruleName+e.idxInCallingRule+_R+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,ji)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Uc(n)}attemptInRepetitionRecovery(e,n,r,i,s,o,a){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=Ut(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return de(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function fq(t,e,n,r,i,s,o){const a=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[a];if(c===void 0){const f=this.getCurrRuleFullName(),h=this.getGAstProductions()[f];c=new s(h,i).startWalking(),this.firstAfterRepMap[a]=c}let u=c.token,l=c.occurrence;const d=c.isEndOfRule;this.RULE_STACK.length===1&&d&&u===void 0&&(u=ji,l=1),!(u===void 0||l===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,l,o)&&this.tryInRepetitionRecovery(t,e,n,u)}const hq=4,Ui=8,y1=1<<Ui,v1=2<<Ui,yy=3<<Ui,vy=4<<Ui,wy=5<<Ui,zf=6<<Ui;function by(t,e,n){return n|e|t}class Ey{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:pi.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(tt(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return Pn(e,n=>u1(n,n,Fs))}validateEmptyOrAlternatives(e){return Pn(e,n=>J5(n,Fs))}validateAmbiguousAlternationAlternatives(e,n){return Pn(e,r=>Z5(r,n,Fs))}validateSomeNonEmptyLookaheadPath(e,n){return tq(e,n,Fs)}buildLookaheadForAlternation(e){return F5(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,z5)}buildLookaheadForOptional(e){return M5(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,fy(e.prodType),B5)}}class pq{initLooksAhead(e){this.dynamicTokensEnabled=be(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:pi.dynamicTokensEnabled,this.maxLookahead=be(e,"maxLookahead")?e.maxLookahead:pi.maxLookahead,this.lookaheadStrategy=be(e,"lookaheadStrategy")?e.lookaheadStrategy:new Ey({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){ve(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:o,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=gq(n);ve(r,u=>{const l=u.idx===0?"":u.idx;this.TRACE_INIT(`${Fr(u)}${l}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=by(this.fullRuleNameToShort[n.name],y1,u.idx);this.setLaFuncCache(f,d)})}),ve(i,u=>{this.computeLookaheadFunc(n,u.idx,yy,"Repetition",u.maxLookahead,Fr(u))}),ve(s,u=>{this.computeLookaheadFunc(n,u.idx,v1,"Option",u.maxLookahead,Fr(u))}),ve(o,u=>{this.computeLookaheadFunc(n,u.idx,vy,"RepetitionMandatory",u.maxLookahead,Fr(u))}),ve(a,u=>{this.computeLookaheadFunc(n,u.idx,zf,"RepetitionMandatoryWithSeparator",u.maxLookahead,Fr(u))}),ve(c,u=>{this.computeLookaheadFunc(n,u.idx,wy,"RepetitionWithSeparator",u.maxLookahead,Fr(u))})})})}computeLookaheadFunc(e,n,r,i,s,o){this.TRACE_INIT(`${o}${n===0?"":n}`,()=>{const a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=by(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return by(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class mq extends Ko{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const Bf=new mq;function gq(t){Bf.reset(),t.accept(Bf);const e=Bf.dslMethods;return Bf.reset(),e}function w1(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function b1(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function yq(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function vq(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const wq="name";function E1(t,e){Object.defineProperty(t,wq,{enumerable:!1,configurable:!0,writable:!1,value:e})}function bq(t,e){const n=Yn(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],o=t[s],a=o.length;for(let c=0;c<a;c++){const u=o[c];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function Eq(t,e){const n=function(){};E1(n,t+"BaseSemantics");const r={visit:function(i,s){if(Be(i)&&(i=i[0]),!hi(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=Tq(this,e);if(!tt(i)){const s=de(i,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
-
${s.join(`
|
|
89
|
-
|
|
90
|
-
`).replace(/\n/g,`
|
|
91
|
-
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Dq(t,e,n){const r=function(){};E1(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return ve(e,s=>{i[s]=bq}),r.prototype=i,r.prototype.constructor=r,r}var Dy;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Dy||(Dy={}));function Tq(t,e){return Rq(t,e)}function Rq(t,e){const n=In(e,i=>ci(t[i])===!1),r=de(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Dy.MISSING_METHOD,methodName:i}));return jc(r)}class Sq{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=be(e,"nodeLocationTracking")?e.nodeLocationTracking:pi.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Nt,this.cstFinallyStateUpdate=Nt,this.cstPostTerminal=Nt,this.cstPostNonTerminal=Nt,this.cstPostRule=Nt;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=b1,this.setNodeLocationFromNode=b1,this.cstPostRule=Nt,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=w1,this.setNodeLocationFromNode=w1,this.cstPostRule=Nt,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Nt,this.setNodeLocationFromNode=Nt,this.cstPostRule=Nt,this.setInitialNodeLocation=Nt;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];yq(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];vq(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(hi(this.baseCstVisitorConstructor)){const e=Eq(this.className,Yn(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(hi(this.baseCstVisitorWithDefaultsConstructor)){const e=Dq(this.className,Yn(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class kq{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uf}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Uf:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class $q{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=Gf){if(on(this.definedRulesNames,e)){const o={message:Fs.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:un.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Gf){const i=X5(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(Ff(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return O6(Ot(this.gastProductionsCache))}}class Cq{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=If,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},be(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
92
|
-
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
|
-
For Further details.`);if(Be(e)){if(tt(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
|
-
Note that the first argument for the parser constructor
|
|
95
|
-
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
|
-
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
-
For Further details.`)}if(Be(e))this.tokensMap=an(e,(s,o)=>(s[o.name]=o,s),{});else if(be(e,"modes")&&dr(Xn(Ot(e.modes)),S5)){const s=Xn(Ot(e.modes)),o=iy(s);this.tokensMap=an(o,(a,c)=>(a[c.name]=c,a),{})}else if(Kn(e))this.tokensMap=Ut(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=ji;const r=be(e,"modes")?Xn(Ot(e.modes)):Ot(e),i=dr(r,s=>tt(s.categoryMatches));this.tokenMatcher=i?If:Vc,Kc(Ot(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
-
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=be(r,"resyncEnabled")?r.resyncEnabled:Gf.resyncEnabled,s=be(r,"recoveryValueFunc")?r.recoveryValueFunc:Gf.recoveryValueFunc,o=this.ruleShortNameIdx<<hq+Ui;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let a;return this.outputCst===!0?a=function(...l){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),n.apply(this,l);const d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}}:a=function(...l){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),n.apply(this,l)}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Ff(e)){const o=e;if(s){const a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,o.partialCstResult=c}throw o}}else{if(i)return this.moveToTerminatedState(),r(e);throw o}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(v1,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const o=e.GATE;if(o!==void 0){const a=i;i=()=>o.call(this)&&a.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(vy,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const a=i;i=()=>o.call(this)&&a.call(this)}}else s=n;if(i.call(this)===!0){let o=this.doSingleRepetition(s);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,pt.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,vy,e,O5)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(zf,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,t1],a,zf,e,t1)}else throw this.raiseEarlyExitException(e,pt.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(yy,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const c=i;i=()=>a.call(this)&&c.call(this)}}else s=n;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,yy,e,N5,o)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(wy,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const a=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,a,i,e1],a,wy,e,e1)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,zf,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(y1,n),i=Be(e)?e:e.DEF,o=this.getLaFuncFromCache(r).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new cq(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw Ff(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new m1(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===g1?r:s}}else throw r}saveRecogState(){const e=this.errors,n=Ut(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ji)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class _q{initErrorHandler(e){this._errors=[],this.errorMessageProvider=be(e,"errorMessageProvider")?e.errorMessageProvider:pi.errorMessageProvider}SAVE_ERROR(e){if(Ff(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Ut(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Ut(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],a=Of(e,s,n,this.maxLookahead)[0],c=[];for(let l=1;l<=this.maxLookahead;l++)c.push(this.LA(l));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new uq(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Nf(e,i,this.maxLookahead),o=[];for(let u=1;u<=this.maxLookahead;u++)o.push(this.LA(u));const a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:a,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new aq(c,this.LA(1),a))}}class Aq{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(hi(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return n1([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=fr(e.ruleStack),i=this.getGAstProductions()[n];return new P5(i,e).startWalking()}}const qf={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(qf);const D1=!0,T1=Math.pow(2,Ui)-1,R1=ZR({name:"RECORDING_PHASE_TOKEN",pattern:Rn.NA});Kc([R1]);const S1=ly(R1,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(S1);const xq={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class Iq{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return Uf}topLevelRuleRecord(e,n){try{const r=new Vo({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
101
|
-
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
-
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return Xc.call(this,Wt,e,n)}atLeastOneInternalRecord(e,n){Xc.call(this,Nn,n,e)}atLeastOneSepFirstInternalRecord(e,n){Xc.call(this,On,n,e,D1)}manyInternalRecord(e,n){Xc.call(this,wt,n,e)}manySepFirstInternalRecord(e,n){Xc.call(this,Dn,n,e,D1)}orInternalRecord(e,n){return Pq.call(this,e,n)}subruleInternalRecord(e,n,r){if(jf(n),!e||be(e,"ruleName")===!1){const a=new Error(`<SUBRULE${k1(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=Wo(this.recordingProdStack),s=e.ruleName,o=new cn({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?xq:qf}consumeInternalRecord(e,n,r){if(jf(n),!qR(e)){const o=new Error(`<CONSUME${k1(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=Wo(this.recordingProdStack),s=new ot({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),S1}}function Xc(t,e,n,r=!1){jf(n);const i=Wo(this.recordingProdStack),s=ci(e)?e:e.DEF,o=new t({definition:[],idx:n});return r&&(o.separator=e.SEP),be(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),qf}function Pq(t,e){jf(e);const n=Wo(this.recordingProdStack),r=Be(t)===!1,i=r===!1?t:t.DEF,s=new Tn({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});be(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const o=TR(i,a=>ci(a.GATE));return s.hasPredicates=o,n.definition.push(s),ve(i,a=>{const c=new En({definition:[]});s.definition.push(c),be(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:be(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),qf}function k1(t){return t===0?"":`${t}`}function jf(t){if(t<0||t>T1){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
-
Idx value must be a none negative value smaller than ${T1+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Nq{initPerformanceTracer(e){if(be(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=pi.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=kR(n),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function Oq(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const Uf=ly(ji,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Uf);const pi=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Xo,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Gf=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var un;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(un||(un={}));function $1(t=void 0){return function(){return t}}class md{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{$R(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),ve(this.definedRulesNames,i=>{const o=this[i].originalGrammarAction;let a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=sq({rules:Ot(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(tt(r)&&this.skipValidations===!1){const i=oq({rules:Ot(this.gastProductionsCache),tokenTypes:Ot(this.tokensMap),errMsgProvider:Fs,grammarName:n}),s=G5({lookaheadStrategy:this.lookaheadStrategy,rules:Ot(this.gastProductionsCache),tokenTypes:Ot(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),tt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=j6(Ot(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:Ot(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Ot(this.gastProductionsCache))})),!md.DEFER_DEFINITION_ERRORS_HANDLING&&!tt(this.definitionErrors))throw e=de(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
-
${e.join(`
|
|
107
|
-
-------------------------------
|
|
108
|
-
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),be(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
|
-
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
|
-
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
-
For further details.`);this.skipValidations=be(n,"skipValidations")?n.skipValidations:pi.skipValidations}}md.DEFER_DEFINITION_ERRORS_HANDLING=!1,Oq(md,[dq,pq,Sq,kq,Cq,$q,_q,Aq,Iq,Nq]);class Lq extends md{constructor(e,n=pi){const r=Ut(n);r.outputCst=!1,super(e,r)}}function Jo(t,e,n){return`${t.name}_${e}_${n}`}const Gi=1,Fq=2,C1=4,_1=5,Jc=7,Mq=8,zq=9,Bq=10,qq=11,A1=12;class Ty{constructor(e){this.target=e}isEpsilon(){return!1}}class Ry extends Ty{constructor(e,n){super(e),this.tokenType=n}}class x1 extends Ty{constructor(e){super(e)}isEpsilon(){return!0}}class Sy extends Ty{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function jq(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Uq(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Ms(e,i,i);s!==void 0&&ej(e,i,s)}return e}function Uq(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Mt(t,i,void 0,{type:Fq}),o=Mt(t,i,void 0,{type:Jc});s.stop=o,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,o)}}function I1(t,e,n){return n instanceof ot?ky(t,e,n.terminalType,n):n instanceof cn?Qq(t,e,n):n instanceof Tn?Kq(t,e,n):n instanceof Wt?Yq(t,e,n):n instanceof wt?Gq(t,e,n):n instanceof Dn?Wq(t,e,n):n instanceof Nn?Hq(t,e,n):n instanceof On?Vq(t,e,n):Ms(t,e,n)}function Gq(t,e,n){const r=Mt(t,e,n,{type:_1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return N1(t,e,n,i)}function Wq(t,e,n){const r=Mt(t,e,n,{type:_1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=ky(t,e,n.separator,n);return N1(t,e,n,i,s)}function Hq(t,e,n){const r=Mt(t,e,n,{type:C1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return P1(t,e,n,i)}function Vq(t,e,n){const r=Mt(t,e,n,{type:C1});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n)),s=ky(t,e,n.separator,n);return P1(t,e,n,i,s)}function Kq(t,e,n){const r=Mt(t,e,n,{type:Gi});Wi(t,r);const i=de(n.definition,o=>I1(t,e,o));return Zo(t,e,r,n,...i)}function Yq(t,e,n){const r=Mt(t,e,n,{type:Gi});Wi(t,r);const i=Zo(t,e,r,n,Ms(t,e,n));return Xq(t,e,n,i)}function Ms(t,e,n){const r=In(de(n.definition,i=>I1(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Zq(t,r)}function P1(t,e,n,r,i){const s=r.left,o=r.right,a=Mt(t,e,n,{type:qq});Wi(t,a);const c=Mt(t,e,n,{type:A1});return s.loopback=a,c.loopback=a,t.decisionMap[Jo(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=a,_t(o,a),i===void 0?(_t(a,s),_t(a,c)):(_t(a,c),_t(a,i.left),_t(i.right,s)),{left:s,right:c}}function N1(t,e,n,r,i){const s=r.left,o=r.right,a=Mt(t,e,n,{type:Bq});Wi(t,a);const c=Mt(t,e,n,{type:A1}),u=Mt(t,e,n,{type:zq});return a.loopback=u,c.loopback=u,_t(a,s),_t(a,c),_t(o,u),i!==void 0?(_t(u,c),_t(u,i.left),_t(i.right,s)):_t(u,a),t.decisionMap[Jo(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=a,{left:a,right:c}}function Xq(t,e,n,r){const i=r.left,s=r.right;return _t(i,s),t.decisionMap[Jo(e,"Option",n.idx)]=i,r}function Wi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Zo(t,e,n,r,...i){const s=Mt(t,e,r,{type:Mq,start:n});n.end=s;for(const a of i)a!==void 0?(_t(n,a.left),_t(a.right,s)):_t(n,s);const o={left:n,right:s};return t.decisionMap[Jo(e,Jq(r),r.idx)]=n,o}function Jq(t){if(t instanceof Tn)return"Alternation";if(t instanceof Wt)return"Option";if(t instanceof wt)return"Repetition";if(t instanceof Dn)return"RepetitionWithSeparator";if(t instanceof Nn)return"RepetitionMandatory";if(t instanceof On)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Zq(t,e){const n=e.length;for(let s=0;s<n-1;s++){const o=e[s];let a;o.left.transitions.length===1&&(a=o.left.transitions[0]);const c=a instanceof Sy,u=a,l=e[s+1].left;o.left.type===Gi&&o.right.type===Gi&&a!==void 0&&(c&&u.followState===o.right||a.target===o.right)?(c?u.followState=l:a.target=l,tj(t,o.right)):_t(o.right,l)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function ky(t,e,n,r){const i=Mt(t,e,r,{type:Gi}),s=Mt(t,e,r,{type:Gi});return $y(i,new Ry(s,n)),{left:i,right:s}}function Qq(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Mt(t,e,n,{type:Gi}),o=Mt(t,e,n,{type:Gi}),a=new Sy(i,r,o);return $y(s,a),{left:s,right:o}}function ej(t,e,n){const r=t.ruleToStartState.get(e);_t(r,n.left);const i=t.ruleToStopState.get(e);return _t(n.right,i),{left:r,right:i}}function _t(t,e){const n=new x1(e);$y(t,n)}function Mt(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function $y(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function tj(t,e){t.states.splice(t.states.indexOf(e),1)}const Wf={};class Cy{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=O1(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return de(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function O1(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function nj(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class L1{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const F1=new L1;class rj extends Ey{constructor(e){var n;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:r=>console.log(r)}initialize(e){this.atn=jq(e.rules),this.dfas=ij(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,o=this.dfas,a=this.logging,c=Jo(r,"Alternation",n),l=this.atn.decisionMap[c].decision,d=de(r1({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),f=>de(f,h=>h[0]));if(M1(d,!1)&&!s){const f=an(d,(h,p,m)=>(ve(p,g=>{g&&(h[g.tokenTypeIdx]=m,ve(g.categoryMatches,y=>{h[y]=m}))}),h),{});return i?function(h){var p;const m=this.LA(1),g=f[m.tokenTypeIdx];if(h!==void 0&&g!==void 0){const y=(p=h[g])===null||p===void 0?void 0:p.GATE;if(y!==void 0&&y.call(this)===!1)return}return g}:function(){const h=this.LA(1);return f[h.tokenTypeIdx]}}else return i?function(f){const h=new L1,p=f===void 0?0:f.length;for(let g=0;g<p;g++){const y=f?.[g].GATE;h.set(g,y===void 0||y.call(this))}const m=_y.call(this,o,l,h,a);return typeof m=="number"?m:void 0}:function(){const f=_y.call(this,o,l,F1,a);return typeof f=="number"?f:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,o=this.dfas,a=this.logging,c=Jo(r,i,n),l=this.atn.decisionMap[c].decision,d=de(r1({maxLookahead:1,occurrence:n,prodType:i,rule:r}),f=>de(f,h=>h[0]));if(M1(d)&&d[0][0]&&!s){const f=d[0],h=Xn(f);if(h.length===1&&tt(h[0].categoryMatches)){const m=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===m}}else{const p=an(h,(m,g)=>(g!==void 0&&(m[g.tokenTypeIdx]=!0,ve(g.categoryMatches,y=>{m[y]=!0})),m),{});return function(){const m=this.LA(1);return p[m.tokenTypeIdx]===!0}}}return function(){const f=_y.call(this,o,l,F1,a);return typeof f=="object"?!1:f===0}}}function M1(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const o=[s.tokenTypeIdx].concat(s.categoryMatches);for(const a of o)if(n.has(a)){if(!i.has(a))return!1}else n.add(a),i.add(a)}}return!0}function ij(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=nj(t.decisionStates[r],r);return n}function _y(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const a=mj(i.atnStartState);s=q1(i,z1(a)),i.start=s}return sj.apply(this,[i,s,n,r])}function sj(t,e,n,r){let i=e,s=1;const o=[];let a=this.LA(s++);for(;;){let c=dj(i,a);if(c===void 0&&(c=oj.apply(this,[t,i,a,s,n,r])),c===Wf)return lj(o,i,a);if(c.isAcceptState===!0)return c.prediction;i=c,o.push(a),a=this.LA(s++)}}function oj(t,e,n,r,i,s){const o=fj(e.configs,n,i);if(o.size===0)return B1(t,e,n,Wf),Wf;let a=z1(o);const c=pj(o,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(wj(o)){const u=D6(o.alts);a.isAcceptState=!0,a.prediction=u,a.configs.uniqueAlt=u,aj.apply(this,[t,r,o.alts,s])}return a=B1(t,e,n,a),a}function aj(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,o=s.rule,a=s.production,c=cj({topLevelRule:o,ambiguityIndices:n,production:a,prefixPath:i});r(c)}function cj(t){const e=de(t.prefixPath,i=>Yo(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${uj(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
112
|
-
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
-
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
-
For Further details.`,r}function uj(t){if(t instanceof cn)return"SUBRULE";if(t instanceof Wt)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Nn)return"AT_LEAST_ONE";if(t instanceof On)return"AT_LEAST_ONE_SEP";if(t instanceof Dn)return"MANY_SEP";if(t instanceof wt)return"MANY";if(t instanceof ot)return"CONSUME";throw Error("non exhaustive match")}function lj(t,e,n){const r=Pn(e.configs.elements,s=>s.state.transitions),i=I6(r.filter(s=>s instanceof Ry).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function dj(t,e){return t.edges[e.tokenTypeIdx]}function fj(t,e,n){const r=new Cy,i=[];for(const o of t.elements){if(n.is(o.alt)===!1)continue;if(o.state.type===Jc){i.push(o);continue}const a=o.state.transitions.length;for(let c=0;c<a;c++){const u=o.state.transitions[c],l=hj(u,e);l!==void 0&&r.add({state:l,alt:o.alt,stack:o.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new Cy;for(const o of r.elements)Hf(o,s)}if(i.length>0&&!yj(s))for(const o of i)s.add(o);return s}function hj(t,e){if(t instanceof Ry&&QR(e,t.tokenType))return t.target}function pj(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function z1(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function B1(t,e,n,r){return r=q1(t,r),e.edges[n.tokenTypeIdx]=r,r}function q1(t,e){if(e===Wf)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function mj(t){const e=new Cy,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Hf(s,e)}return e}function Hf(t,e){const n=t.state;if(n.type===Jc){if(t.stack.length>0){const i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};Hf(o,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],o=gj(t,s);o!==void 0&&Hf(o,e)}}function gj(t,e){if(e instanceof x1)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Sy){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function yj(t){for(const e of t.elements)if(e.state.type===Jc)return!0;return!1}function vj(t){for(const e of t.elements)if(e.state.type!==Jc)return!1;return!0}function wj(t){if(vj(t))return!0;const e=bj(t.elements);return Ej(e)&&!Dj(e)}function bj(t){const e=new Map;for(const n of t){const r=O1(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function Ej(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Dj(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var j1;(function(t){function e(n){return typeof n=="string"}t.is=e})(j1||(j1={}));var Ay;(function(t){function e(n){return typeof n=="string"}t.is=e})(Ay||(Ay={}));var U1;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(U1||(U1={}));var Vf;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Vf||(Vf={}));var He;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Vf.MAX_VALUE),i===Number.MAX_VALUE&&(i=Vf.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&B.uinteger(i.line)&&B.uinteger(i.character)}t.is=n})(He||(He={}));var Me;(function(t){function e(r,i,s,o){if(B.uinteger(r)&&B.uinteger(i)&&B.uinteger(s)&&B.uinteger(o))return{start:He.create(r,i),end:He.create(s,o)};if(He.is(r)&&He.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${o}]`)}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&He.is(i.start)&&He.is(i.end)}t.is=n})(Me||(Me={}));var Kf;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.range)&&(B.string(i.uri)||B.undefined(i.uri))}t.is=n})(Kf||(Kf={}));var G1;(function(t){function e(r,i,s,o){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:o}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.targetRange)&&B.string(i.targetUri)&&Me.is(i.targetSelectionRange)&&(Me.is(i.originSelectionRange)||B.undefined(i.originSelectionRange))}t.is=n})(G1||(G1={}));var xy;(function(t){function e(r,i,s,o){return{red:r,green:i,blue:s,alpha:o}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.numberRange(i.red,0,1)&&B.numberRange(i.green,0,1)&&B.numberRange(i.blue,0,1)&&B.numberRange(i.alpha,0,1)}t.is=n})(xy||(xy={}));var W1;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&Me.is(i.range)&&xy.is(i.color)}t.is=n})(W1||(W1={}));var H1;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.string(i.label)&&(B.undefined(i.textEdit)||Sn.is(i))&&(B.undefined(i.additionalTextEdits)||B.typedArray(i.additionalTextEdits,Sn.is))}t.is=n})(H1||(H1={}));var V1;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(V1||(V1={}));var K1;(function(t){function e(r,i,s,o,a,c){const u={startLine:r,endLine:i};return B.defined(s)&&(u.startCharacter=s),B.defined(o)&&(u.endCharacter=o),B.defined(a)&&(u.kind=a),B.defined(c)&&(u.collapsedText=c),u}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.uinteger(i.startLine)&&B.uinteger(i.startLine)&&(B.undefined(i.startCharacter)||B.uinteger(i.startCharacter))&&(B.undefined(i.endCharacter)||B.uinteger(i.endCharacter))&&(B.undefined(i.kind)||B.string(i.kind))}t.is=n})(K1||(K1={}));var Iy;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&Kf.is(i.location)&&B.string(i.message)}t.is=n})(Iy||(Iy={}));var Zc;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Zc||(Zc={}));var Y1;(function(t){t.Unnecessary=1,t.Deprecated=2})(Y1||(Y1={}));var X1;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&B.string(r.href)}t.is=e})(X1||(X1={}));var Yf;(function(t){function e(r,i,s,o,a,c){let u={range:r,message:i};return B.defined(s)&&(u.severity=s),B.defined(o)&&(u.code=o),B.defined(a)&&(u.source=a),B.defined(c)&&(u.relatedInformation=c),u}t.create=e;function n(r){var i;let s=r;return B.defined(s)&&Me.is(s.range)&&B.string(s.message)&&(B.number(s.severity)||B.undefined(s.severity))&&(B.integer(s.code)||B.string(s.code)||B.undefined(s.code))&&(B.undefined(s.codeDescription)||B.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(B.string(s.source)||B.undefined(s.source))&&(B.undefined(s.relatedInformation)||B.typedArray(s.relatedInformation,Iy.is))}t.is=n})(Yf||(Yf={}));var Qo;(function(t){function e(r,i,...s){let o={title:r,command:i};return B.defined(s)&&s.length>0&&(o.arguments=s),o}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.title)&&B.string(i.command)}t.is=n})(Qo||(Qo={}));var Sn;(function(t){function e(s,o){return{range:s,newText:o}}t.replace=e;function n(s,o){return{range:{start:s,end:s},newText:o}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const o=s;return B.objectLiteral(o)&&B.string(o.newText)&&Me.is(o.range)}t.is=i})(Sn||(Sn={}));var Py;(function(t){function e(r,i,s){const o={label:r};return i!==void 0&&(o.needsConfirmation=i),s!==void 0&&(o.description=s),o}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&B.string(i.label)&&(B.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(B.string(i.description)||i.description===void 0)}t.is=n})(Py||(Py={}));var ea;(function(t){function e(n){const r=n;return B.string(r)}t.is=e})(ea||(ea={}));var J1;(function(t){function e(s,o,a){return{range:s,newText:o,annotationId:a}}t.replace=e;function n(s,o,a){return{range:{start:s,end:s},newText:o,annotationId:a}}t.insert=n;function r(s,o){return{range:s,newText:"",annotationId:o}}t.del=r;function i(s){const o=s;return Sn.is(o)&&(Py.is(o.annotationId)||ea.is(o.annotationId))}t.is=i})(J1||(J1={}));var Ny;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&zy.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(Ny||(Ny={}));var Oy;(function(t){function e(r,i,s){let o={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&B.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||B.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||B.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Oy||(Oy={}));var Ly;(function(t){function e(r,i,s,o){let a={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(a.options=s),o!==void 0&&(a.annotationId=o),a}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&B.string(i.oldUri)&&B.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||B.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||B.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Ly||(Ly={}));var Fy;(function(t){function e(r,i,s){let o={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&B.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||B.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||B.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||ea.is(i.annotationId))}t.is=n})(Fy||(Fy={}));var My;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>B.string(i.kind)?Oy.is(i)||Ly.is(i)||Fy.is(i):Ny.is(i)))}t.is=e})(My||(My={}));var Z1;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)}t.is=n})(Z1||(Z1={}));var Q1;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&B.integer(i.version)}t.is=n})(Q1||(Q1={}));var zy;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&(i.version===null||B.integer(i.version))}t.is=n})(zy||(zy={}));var eS;(function(t){function e(r,i,s,o){return{uri:r,languageId:i,version:s,text:o}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.string(i.uri)&&B.string(i.languageId)&&B.integer(i.version)&&B.string(i.text)}t.is=n})(eS||(eS={}));var By;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(By||(By={}));var Qc;(function(t){function e(n){const r=n;return B.objectLiteral(n)&&By.is(r.kind)&&B.string(r.value)}t.is=e})(Qc||(Qc={}));var Lt;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Lt||(Lt={}));var pr;(function(t){t.PlainText=1,t.Snippet=2})(pr||(pr={}));var tS;(function(t){t.Deprecated=1})(tS||(tS={}));var nS;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&B.string(i.newText)&&Me.is(i.insert)&&Me.is(i.replace)}t.is=n})(nS||(nS={}));var rS;(function(t){t.asIs=1,t.adjustIndentation=2})(rS||(rS={}));var iS;(function(t){function e(n){const r=n;return r&&(B.string(r.detail)||r.detail===void 0)&&(B.string(r.description)||r.description===void 0)}t.is=e})(iS||(iS={}));var sS;(function(t){function e(n){return{label:n}}t.create=e})(sS||(sS={}));var oS;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(oS||(oS={}));var Xf;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return B.string(i)||B.objectLiteral(i)&&B.string(i.language)&&B.string(i.value)}t.is=n})(Xf||(Xf={}));var aS;(function(t){function e(n){let r=n;return!!r&&B.objectLiteral(r)&&(Qc.is(r.contents)||Xf.is(r.contents)||B.typedArray(r.contents,Xf.is))&&(n.range===void 0||Me.is(n.range))}t.is=e})(aS||(aS={}));var cS;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(cS||(cS={}));var uS;(function(t){function e(n,r,...i){let s={label:n};return B.defined(r)&&(s.documentation=r),B.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(uS||(uS={}));var lS;(function(t){t.Text=1,t.Read=2,t.Write=3})(lS||(lS={}));var dS;(function(t){function e(n,r){let i={range:n};return B.number(r)&&(i.kind=r),i}t.create=e})(dS||(dS={}));var mr;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(mr||(mr={}));var fS;(function(t){t.Deprecated=1})(fS||(fS={}));var hS;(function(t){function e(n,r,i,s,o){let a={name:n,kind:r,location:{uri:s,range:i}};return o&&(a.containerName=o),a}t.create=e})(hS||(hS={}));var pS;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(pS||(pS={}));var mS;(function(t){function e(r,i,s,o,a,c){let u={name:r,detail:i,kind:s,range:o,selectionRange:a};return c!==void 0&&(u.children=c),u}t.create=e;function n(r){let i=r;return i&&B.string(i.name)&&B.number(i.kind)&&Me.is(i.range)&&Me.is(i.selectionRange)&&(i.detail===void 0||B.string(i.detail))&&(i.deprecated===void 0||B.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(mS||(mS={}));var gS;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(gS||(gS={}));var Jf;(function(t){t.Invoked=1,t.Automatic=2})(Jf||(Jf={}));var yS;(function(t){function e(r,i,s){let o={diagnostics:r};return i!=null&&(o.only=i),s!=null&&(o.triggerKind=s),o}t.create=e;function n(r){let i=r;return B.defined(i)&&B.typedArray(i.diagnostics,Yf.is)&&(i.only===void 0||B.typedArray(i.only,B.string))&&(i.triggerKind===void 0||i.triggerKind===Jf.Invoked||i.triggerKind===Jf.Automatic)}t.is=n})(yS||(yS={}));var vS;(function(t){function e(r,i,s){let o={title:r},a=!0;return typeof i=="string"?(a=!1,o.kind=i):Qo.is(i)?o.command=i:o.edit=i,a&&s!==void 0&&(o.kind=s),o}t.create=e;function n(r){let i=r;return i&&B.string(i.title)&&(i.diagnostics===void 0||B.typedArray(i.diagnostics,Yf.is))&&(i.kind===void 0||B.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Qo.is(i.command))&&(i.isPreferred===void 0||B.boolean(i.isPreferred))&&(i.edit===void 0||My.is(i.edit))}t.is=n})(vS||(vS={}));var wS;(function(t){function e(r,i){let s={range:r};return B.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return B.defined(i)&&Me.is(i.range)&&(B.undefined(i.command)||Qo.is(i.command))}t.is=n})(wS||(wS={}));var bS;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return B.defined(i)&&B.uinteger(i.tabSize)&&B.boolean(i.insertSpaces)}t.is=n})(bS||(bS={}));var ES;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return B.defined(i)&&Me.is(i.range)&&(B.undefined(i.target)||B.string(i.target))}t.is=n})(ES||(ES={}));var DS;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return B.objectLiteral(i)&&Me.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(DS||(DS={}));var qe;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(qe||(qe={}));var lt;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(lt||(lt={}));var TS;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(TS||(TS={}));var RS;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&B.string(i.text)}t.is=n})(RS||(RS={}));var SS;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&B.boolean(i.caseSensitiveLookup)&&(B.string(i.variableName)||i.variableName===void 0)}t.is=n})(SS||(SS={}));var kS;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&Me.is(i.range)&&(B.string(i.expression)||i.expression===void 0)}t.is=n})(kS||(kS={}));var $S;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return B.defined(i)&&Me.is(r.stoppedLocation)}t.is=n})($S||($S={}));var qy;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(qy||(qy={}));var jy;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&(i.tooltip===void 0||B.string(i.tooltip)||Qc.is(i.tooltip))&&(i.location===void 0||Kf.is(i.location))&&(i.command===void 0||Qo.is(i.command))}t.is=n})(jy||(jy={}));var CS;(function(t){function e(r,i,s){const o={position:r,label:i};return s!==void 0&&(o.kind=s),o}t.create=e;function n(r){const i=r;return B.objectLiteral(i)&&He.is(i.position)&&(B.string(i.label)||B.typedArray(i.label,jy.is))&&(i.kind===void 0||qy.is(i.kind))&&i.textEdits===void 0||B.typedArray(i.textEdits,Sn.is)&&(i.tooltip===void 0||B.string(i.tooltip)||Qc.is(i.tooltip))&&(i.paddingLeft===void 0||B.boolean(i.paddingLeft))&&(i.paddingRight===void 0||B.boolean(i.paddingRight))}t.is=n})(CS||(CS={}));var _S;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(_S||(_S={}));var AS;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(AS||(AS={}));var xS;(function(t){function e(n){return{items:n}}t.create=e})(xS||(xS={}));var IS;(function(t){t.Invoked=0,t.Automatic=1})(IS||(IS={}));var PS;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(PS||(PS={}));var NS;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(NS||(NS={}));var OS;(function(t){function e(n){const r=n;return B.objectLiteral(r)&&Ay.is(r.uri)&&B.string(r.name)}t.is=e})(OS||(OS={}));var LS;(function(t){function e(s,o,a,c){return new Tj(s,o,a,c)}t.create=e;function n(s){let o=s;return!!(B.defined(o)&&B.string(o.uri)&&(B.undefined(o.languageId)||B.string(o.languageId))&&B.uinteger(o.lineCount)&&B.func(o.getText)&&B.func(o.positionAt)&&B.func(o.offsetAt))}t.is=n;function r(s,o){let a=s.getText(),c=i(o,(l,d)=>{let f=l.range.start.line-d.range.start.line;return f===0?l.range.start.character-d.range.start.character:f}),u=a.length;for(let l=c.length-1;l>=0;l--){let d=c[l],f=s.offsetAt(d.range.start),h=s.offsetAt(d.range.end);if(h<=u)a=a.substring(0,f)+d.newText+a.substring(h,a.length);else throw new Error("Overlapping edit");u=f}return a}t.applyEdits=r;function i(s,o){if(s.length<=1)return s;const a=s.length/2|0,c=s.slice(0,a),u=s.slice(a);i(c,o),i(u,o);let l=0,d=0,f=0;for(;l<c.length&&d<u.length;)o(c[l],u[d])<=0?s[f++]=c[l++]:s[f++]=u[d++];for(;l<c.length;)s[f++]=c[l++];for(;d<u.length;)s[f++]=u[d++];return s}})(LS||(LS={}));let Tj=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
|
|
115
|
-
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
116
|
-
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return He.create(0,e);for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return He.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var B;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function o(h){return e.call(h)==="[object Number]"}t.number=o;function a(h,p,m){return e.call(h)==="[object Number]"&&p<=h&&h<=m}t.numberRange=a;function c(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=c;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function l(h){return e.call(h)==="[object Function]"}t.func=l;function d(h){return h!==null&&typeof h=="object"}t.objectLiteral=d;function f(h,p){return Array.isArray(h)&&h.every(p)}t.typedArray=f})(B||(B={}));class Rj{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new MS(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Gy;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Uy(e.startOffset,e.image.length,Md(e),e.tokenType,!1);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}addHiddenTokens(e){for(const n of e){const r=new Uy(n.startOffset,n.image.length,Md(n),n.tokenType,!0);r.root=this.rootNode,this.addHiddenToken(this.rootNode,r)}}addHiddenToken(e,n){const{offset:r,end:i}=n;for(let s=0;s<e.content.length;s++){const o=e.content[s],{offset:a,end:c}=o;if(ri(o)&&r>a&&i<c){this.addHiddenToken(o,n);return}else if(i<=a){e.content.splice(s,0,n);return}}e.content.push(n)}}class FS{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Uy extends FS{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Gy extends FS{constructor(){super(...arguments),this.content=new j0(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:He.create(0,0),end:He.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class j0 extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,j0.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class MS extends Gy{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Wy=Symbol("Datatype");function Hy(t){return t.$type===Wy}const zS="\u200B",BS=t=>t.endsWith(zS)?t:t+zS;class qS{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition;this.wrapper=new _j(n,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class Sj extends qS{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Rj,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(BS(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(of(e))return Wy;{const n=As(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{if(!this.isRecording()){const s={$type:e};this.stack.push(s),e===Wy&&(s.value="")}let i;try{i=n(r)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:a}=this.getAssignment(r),c=this.current;if(o){const u=xr(r)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,u,s,a)}else if(Hy(c)){let u=i.image;xr(r)||(u=this.converter.convert(u,s).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i){let s;this.isRecording()||(s=this.nodeBuilder.buildCompositeNode(r));const o=this.wrapper.wrapSubrule(e,n,i);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(o,r,s)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const o=this.current;if(Hy(o))o.value+=e.toString();else if(typeof e=="object"&&e){const a=e.$type,c=this.assignWithoutOverride(e,o);a&&(c.$type=a);const u=c;this.stack.pop(),this.stack.push(u)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return vg(e),this.nodeBuilder.construct(e),this.stack.pop(),Hy(e)?this.converter.convert(e.value,e.$cstNode):(bg(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=wn(e,Ar);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?pc(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const o=this.current;let a;switch(s&&typeof r=="string"?a=this.linker.buildReference(o,n,i,r):a=r,e){case"=":{o[n]=a;break}case"?=":{o[n]=!0;break}case"+=":Array.isArray(o[n])||(o[n]=[]),o[n].push(a)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const o=e[i];o===void 0?e[i]=s:Array.isArray(o)&&Array.isArray(s)&&(s.push(...o),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class kj{buildMismatchTokenMessage(e){return Xo.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Xo.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Xo.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Xo.buildEarlyExitMessage(e)}}class jS extends kj{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class $j extends qS{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(BS(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i){this.before(r),this.wrapper.wrapSubrule(e,n,i),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const Cj={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new jS};class _j extends Lq{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},Cj),{lookaheadStrategy:r?new Ey({maxLookahead:n.maxLookahead}):new rj}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function US(t,e,n){return Aj({parser:e,tokens:n,ruleNames:new Map},t),e}function Aj(t,e){const n=Sg(e,!1),r=Qe(e.rules).filter(Jt).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,zs(s,i.definition))}}function zs(t,e,n=!1){let r;if(xr(e))r=Fj(t,e);else if(_s(e))r=xj(t,e);else if(Ar(e))r=zs(t,e.terminal);else if(pc(e))r=GS(t,e);else if(si(e))r=Ij(t,e);else if(gg(e))r=Nj(t,e);else if(yg(e))r=Oj(t,e);else if(Mi(e))r=Lj(t,e);else if(RM(e)){const i=t.consume++;r=()=>t.parser.consume(i,ji,e)}else throw new VD(e.$cstNode,`Unexpected element type: ${e.$type}`);return WS(t,n?void 0:Zf(e),r,e.cardinality)}function xj(t,e){const n=xc(e);return()=>t.parser.action(n,e)}function Ij(t,e){const n=e.rule.ref;if(Jt(n)){const r=t.subrule++,i=e.arguments.length>0?Pj(n,e.arguments):()=>({});return s=>t.parser.subrule(r,HS(t,n),e,i(s))}else if(ii(n)){const r=t.consume++,i=Vy(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)qd();else throw new VD(e.$cstNode,`Undefined rule type: ${e.$type}`)}function Pj(t,e){const n=e.map(r=>mi(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const o=t.parameters[s],a=n[s];i[o.name]=a(r)}return i}}function mi(t){if(yM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)||n(r)}else if(gM(t)){const e=mi(t.left),n=mi(t.right);return r=>e(r)&&n(r)}else if(vM(t)){const e=mi(t.value);return n=>!e(n)}else if(wM(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(mM(t)){const e=!!t.true;return()=>e}qd()}function Nj(t,e){if(e.elements.length===1)return zs(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:zs(t,i,!0)},o=Zf(i);o&&(s.GATE=mi(o)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const o={ALT:()=>s.ALT(i)},a=s.GATE;return a&&(o.GATE=()=>a(i)),o}))}}function Oj(t,e){if(e.elements.length===1)return zs(t,e.elements[0]);const n=[];for(const a of e.elements){const c={ALT:zs(t,a,!0)},u=Zf(a);u&&(c.GATE=mi(u)),n.push(c)}const r=t.or++,i=(a,c)=>{const u=c.getRuleStack().join("-");return`uGroup_${a}_${u}`},s=a=>t.parser.alternatives(r,n.map((c,u)=>{const l={ALT:()=>!0},d=t.parser;l.ALT=()=>{if(c.ALT(a),!d.isRecording()){const h=i(r,d);d.unorderedGroups.get(h)||d.unorderedGroups.set(h,[]);const p=d.unorderedGroups.get(h);typeof p?.[u]>"u"&&(p[u]=!0)}};const f=c.GATE;return f?l.GATE=()=>f(a):l.GATE=()=>{const h=d.unorderedGroups.get(i(r,d));return!h?.[u]},l})),o=WS(t,Zf(e),s,"*");return a=>{o(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Lj(t,e){const n=e.elements.map(r=>zs(t,r));return r=>n.forEach(i=>i(r))}function Zf(t){if(Mi(t))return t.guardCondition}function GS(t,e,n=e.terminal){if(n)if(si(n)&&Jt(n.rule.ref)){const r=t.subrule++;return i=>t.parser.subrule(r,HS(t,n.rule.ref),e,i)}else if(si(n)&&ii(n.rule.ref)){const r=t.consume++,i=Vy(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(xr(n)){const r=t.consume++,i=Vy(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Ag(e.type.ref),i=r?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+xc(e.type.ref));return GS(t,e,i)}}function Fj(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function WS(t,e,n,r){const i=e&&mi(e);if(!r)if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>n(o),GATE:()=>i(o)},{ALT:$1(),GATE:()=>!i(o)}])}else return n;if(r==="*"){const s=t.many++;return o=>t.parser.many(s,{DEF:()=>n(o),GATE:i?()=>i(o):void 0})}else if(r==="+"){const s=t.many++;if(i){const o=t.or++;return a=>t.parser.alternatives(o,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(a)}),GATE:()=>i(a)},{ALT:$1(),GATE:()=>!i(a)}])}else return o=>t.parser.atLeastOne(s,{DEF:()=>n(o)})}else if(r==="?"){const s=t.optional++;return o=>t.parser.optional(s,{DEF:()=>n(o),GATE:i?()=>i(o):void 0})}else qd()}function HS(t,e){const n=Mj(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function Mj(t,e){if(Jt(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Jt(r);)(Mi(r)||gg(r)||yg(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function Vy(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function zj(t){const e=t.Grammar,n=t.parser.Lexer,r=new $j(t);return US(e,r,n.definition),r.finalize(),r}function Bj(t){const e=qj(t);return e.finalize(),e}function qj(t){const e=t.Grammar,n=t.parser.Lexer,r=new Sj(t);return US(e,r,n.definition)}class jj{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=Qe(Sg(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(o=>{const a=o.PATTERN;typeof a=="object"&&a&&"test"in a&&Rg(a)?s.unshift(o):s.push(o)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ii).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Ic(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=Rg(n)?Rn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Jt).flatMap(i=>Ir(i).filter(xr)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!r?.caseInsensitive))}buildKeywordToken(e,n,r){return{name:e.value,PATTERN:this.buildKeywordPattern(e,r),LONGER_ALT:this.findLongerAlt(e,n)}}buildKeywordPattern(e,n){return n?new RegExp(zM(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&BM("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Uj{convert(e,n){let r=n.grammarSource;if(pc(r)&&(r=kg(r)),si(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return gi.convertInt(n);case"STRING":return gi.convertString(n);case"ID":return gi.convertID(n)}switch((i=pT(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return gi.convertNumber(n);case"boolean":return gi.convertBoolean(n);case"bigint":return gi.convertBigint(n);case"date":return gi.convertDate(n);default:return n}}}var gi;(function(t){function e(u){let l="";for(let d=1;d<u.length-1;d++){const f=u.charAt(d);if(f==="\\"){const h=u.charAt(++d);l+=n(h)}else l+=f}return l}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
-
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function o(u){return new Date(u)}t.convertDate=o;function a(u){return Number(u)}t.convertNumber=a;function c(u){return u.toLowerCase()==="true"}t.convertBoolean=c})(gi||(gi={}));var Bs={},Qf={},VS;function qs(){if(VS)return Qf;VS=1,Object.defineProperty(Qf,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r}(e||(e={})),Qf.default=e,Qf}var Ht={},KS;function eu(){if(KS)return Ht;KS=1,Object.defineProperty(Ht,"__esModule",{value:!0}),Ht.stringArray=Ht.array=Ht.func=Ht.error=Ht.number=Ht.string=Ht.boolean=void 0;function t(a){return a===!0||a===!1}Ht.boolean=t;function e(a){return typeof a=="string"||a instanceof String}Ht.string=e;function n(a){return typeof a=="number"||a instanceof Number}Ht.number=n;function r(a){return a instanceof Error}Ht.error=r;function i(a){return typeof a=="function"}Ht.func=i;function s(a){return Array.isArray(a)}Ht.array=s;function o(a){return s(a)&&a.every(c=>e(c))}return Ht.stringArray=o,Ht}var js={},YS;function ta(){if(YS)return js;YS=1,Object.defineProperty(js,"__esModule",{value:!0}),js.Emitter=js.Event=void 0;const t=qs();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(js.Event=e={}));class n{add(s,o=null,a){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(o),Array.isArray(a)&&a.push({dispose:()=>this.remove(s,o)})}remove(s,o=null){if(!this._callbacks)return;let a=!1;for(let c=0,u=this._callbacks.length;c<u;c++)if(this._callbacks[c]===s)if(this._contexts[c]===o){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else a=!0;if(a)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const o=[],a=this._callbacks.slice(0),c=this._contexts.slice(0);for(let u=0,l=a.length;u<l;u++)try{o.push(a[u].apply(c[u],s))}catch(d){(0,t.default)().console.error(d)}return o}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,o,a)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,o);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,o),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(a)&&a.push(c),c}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return js.Emitter=r,r._noop=function(){},js}var XS;function eh(){if(XS)return Bs;XS=1,Object.defineProperty(Bs,"__esModule",{value:!0}),Bs.CancellationTokenSource=Bs.CancellationToken=void 0;const t=qs(),e=eu(),n=ta();var r;(function(a){a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(u){const l=u;return l&&(l===a.None||l===a.Cancelled||e.boolean(l.isCancellationRequested)&&!!l.onCancellationRequested)}a.is=c})(r||(Bs.CancellationToken=r={}));const i=Object.freeze(function(a,c){const u=(0,t.default)().timer.setTimeout(a.bind(c),0);return{dispose(){u.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class o{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return Bs.CancellationTokenSource=o,Bs}var dt=eh();function Gj(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let JS=0,Wj=10;const th=Symbol("OperationCancelled");function nh(t){return t===th}async function zt(t){if(t===dt.CancellationToken.None)return;const e=Date.now();if(e-JS>=Wj&&(JS=e,await Gj()),t.isCancellationRequested)throw th}class Ky{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class yd{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(yd.isIncremental(r)){const i=QS(r.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(o,this._content.length);const a=Math.max(i.start.line,0),c=Math.max(i.end.line,0);let u=this._lineOffsets;const l=ZS(r.text,!1,s);if(c-a===l.length)for(let f=0,h=l.length;f<h;f++)u[f+a+1]=l[f];else l.length<1e4?u.splice(a+1,c-a,...l):this._lineOffsets=u=u.slice(0,a+1).concat(l,u.slice(c+1));const d=r.text.length-(o-s);if(d!==0)for(let f=a+1+l.length,h=u.length;f<h;f++)u[f]=u[f]+d}else if(yd.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=ZS(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var rh;(function(t){function e(i,s,o,a){return new yd(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof yd)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let o=i.getText(),a=Yy(s.map(Hj),(l,d)=>{let f=l.range.start.line-d.range.start.line;return f===0?l.range.start.character-d.range.start.character:f}),c=0;const u=[];for(const l of a){let d=i.offsetAt(l.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&u.push(o.substring(c,d)),l.newText.length&&u.push(l.newText),c=i.offsetAt(l.range.end)}return u.push(o.substr(c)),u.join("")}t.applyEdits=r})(rh||(rh={}));function Yy(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Yy(r,e),Yy(i,e);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;)e(r[s],i[o])<=0?t[a++]=r[s++]:t[a++]=i[o++];for(;s<r.length;)t[a++]=r[s++];for(;o<i.length;)t[a++]=i[o++];return t}function ZS(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function QS(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Hj(t){const e=QS(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var ek;(()=>{var t={470:i=>{function s(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}function o(c,u){for(var l,d="",f=0,h=-1,p=0,m=0;m<=c.length;++m){if(m<c.length)l=c.charCodeAt(m);else{if(l===47)break;l=47}if(l===47){if(!(h===m-1||p===1))if(h!==m-1&&p===2){if(d.length<2||f!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var g=d.lastIndexOf("/");if(g!==d.length-1){g===-1?(d="",f=0):f=(d=d.slice(0,g)).length-1-d.lastIndexOf("/"),h=m,p=0;continue}}else if(d.length===2||d.length===1){d="",f=0,h=m,p=0;continue}}u&&(d.length>0?d+="/..":d="..",f=2)}else d.length>0?d+="/"+c.slice(h+1,m):d=c.slice(h+1,m),f=m-h-1;h=m,p=0}else l===46&&p!==-1?++p:p=-1}return d}var a={resolve:function(){for(var c,u="",l=!1,d=arguments.length-1;d>=-1&&!l;d--){var f;d>=0?f=arguments[d]:(c===void 0&&(c=process.cwd()),f=c),s(f),f.length!==0&&(u=f+"/"+u,l=f.charCodeAt(0)===47)}return u=o(u,!l),l?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(c){if(s(c),c.length===0)return".";var u=c.charCodeAt(0)===47,l=c.charCodeAt(c.length-1)===47;return(c=o(c,!u)).length!==0||u||(c="."),c.length>0&&l&&(c+="/"),u?"/"+c:c},isAbsolute:function(c){return s(c),c.length>0&&c.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var c,u=0;u<arguments.length;++u){var l=arguments[u];s(l),l.length>0&&(c===void 0?c=l:c+="/"+l)}return c===void 0?".":a.normalize(c)},relative:function(c,u){if(s(c),s(u),c===u||(c=a.resolve(c))===(u=a.resolve(u)))return"";for(var l=1;l<c.length&&c.charCodeAt(l)===47;++l);for(var d=c.length,f=d-l,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var p=u.length-h,m=f<p?f:p,g=-1,y=0;y<=m;++y){if(y===m){if(p>m){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else f>m&&(c.charCodeAt(l+y)===47?g=y:y===0&&(g=0));break}var w=c.charCodeAt(l+y);if(w!==u.charCodeAt(h+y))break;w===47&&(g=y)}var E="";for(y=l+g+1;y<=d;++y)y!==d&&c.charCodeAt(y)!==47||(E.length===0?E+="..":E+="/..");return E.length>0?E+u.slice(h+g):(h+=g,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(c){return c},dirname:function(c){if(s(c),c.length===0)return".";for(var u=c.charCodeAt(0),l=u===47,d=-1,f=!0,h=c.length-1;h>=1;--h)if((u=c.charCodeAt(h))===47){if(!f){d=h;break}}else f=!1;return d===-1?l?"/":".":l&&d===1?"//":c.slice(0,d)},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(c);var l,d=0,f=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";var p=u.length-1,m=-1;for(l=c.length-1;l>=0;--l){var g=c.charCodeAt(l);if(g===47){if(!h){d=l+1;break}}else m===-1&&(h=!1,m=l+1),p>=0&&(g===u.charCodeAt(p)?--p==-1&&(f=l):(p=-1,f=m))}return d===f?f=m:f===-1&&(f=c.length),c.slice(d,f)}for(l=c.length-1;l>=0;--l)if(c.charCodeAt(l)===47){if(!h){d=l+1;break}}else f===-1&&(h=!1,f=l+1);return f===-1?"":c.slice(d,f)},extname:function(c){s(c);for(var u=-1,l=0,d=-1,f=!0,h=0,p=c.length-1;p>=0;--p){var m=c.charCodeAt(p);if(m!==47)d===-1&&(f=!1,d=p+1),m===46?u===-1?u=p:h!==1&&(h=1):u!==-1&&(h=-1);else if(!f){l=p+1;break}}return u===-1||d===-1||h===0||h===1&&u===d-1&&u===l+1?"":c.slice(u,d)},format:function(c){if(c===null||typeof c!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof c);return function(u,l){var d=l.dir||l.root,f=l.base||(l.name||"")+(l.ext||"");return d?d===l.root?d+f:d+"/"+f:f}(0,c)},parse:function(c){s(c);var u={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return u;var l,d=c.charCodeAt(0),f=d===47;f?(u.root="/",l=1):l=0;for(var h=-1,p=0,m=-1,g=!0,y=c.length-1,w=0;y>=l;--y)if((d=c.charCodeAt(y))!==47)m===-1&&(g=!1,m=y+1),d===46?h===-1?h=y:w!==1&&(w=1):h!==-1&&(w=-1);else if(!g){p=y+1;break}return h===-1||m===-1||w===0||w===1&&h===m-1&&h===p+1?m!==-1&&(u.base=u.name=p===0&&f?c.slice(1,m):c.slice(p,m)):(p===0&&f?(u.name=c.slice(1,h),u.base=c.slice(1,m)):(u.name=c.slice(p,h),u.base=c.slice(p,m)),u.ext=c.slice(h,m)),p>0?u.dir=c.slice(0,p-1):f&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var o=e[i]={exports:{}};return t[i](o,o.exports,n),o.exports}n.d=(i,s)=>{for(var o in s)n.o(s,o)&&!n.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:s[o]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>f,Utils:()=>O}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;function c(C,D){if(!C.scheme&&D)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${C.authority}", path: "${C.path}", query: "${C.query}", fragment: "${C.fragment}"}`);if(C.scheme&&!s.test(C.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(C.path){if(C.authority){if(!o.test(C.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(C.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",l="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static isUri(D){return D instanceof f||!!D&&typeof D.authority=="string"&&typeof D.fragment=="string"&&typeof D.path=="string"&&typeof D.query=="string"&&typeof D.scheme=="string"&&typeof D.fsPath=="string"&&typeof D.with=="function"&&typeof D.toString=="function"}scheme;authority;path;query;fragment;constructor(D,R,F,W,V,Z=!1){typeof D=="object"?(this.scheme=D.scheme||u,this.authority=D.authority||u,this.path=D.path||u,this.query=D.query||u,this.fragment=D.fragment||u):(this.scheme=function(Le,se){return Le||se?Le:"file"}(D,Z),this.authority=R||u,this.path=function(Le,se){switch(Le){case"https":case"http":case"file":se?se[0]!==l&&(se=l+se):se=l}return se}(this.scheme,F||u),this.query=W||u,this.fragment=V||u,c(this,Z))}get fsPath(){return w(this)}with(D){if(!D)return this;let{scheme:R,authority:F,path:W,query:V,fragment:Z}=D;return R===void 0?R=this.scheme:R===null&&(R=u),F===void 0?F=this.authority:F===null&&(F=u),W===void 0?W=this.path:W===null&&(W=u),V===void 0?V=this.query:V===null&&(V=u),Z===void 0?Z=this.fragment:Z===null&&(Z=u),R===this.scheme&&F===this.authority&&W===this.path&&V===this.query&&Z===this.fragment?this:new p(R,F,W,V,Z)}static parse(D,R=!1){const F=d.exec(D);return F?new p(F[2]||u,I(F[4]||u),I(F[5]||u),I(F[7]||u),I(F[9]||u),R):new p(u,u,u,u,u)}static file(D){let R=u;if(i&&(D=D.replace(/\\/g,l)),D[0]===l&&D[1]===l){const F=D.indexOf(l,2);F===-1?(R=D.substring(2),D=l):(R=D.substring(2,F),D=D.substring(F)||l)}return new p("file",R,D,u,u)}static from(D){const R=new p(D.scheme,D.authority,D.path,D.query,D.fragment);return c(R,!0),R}toString(D=!1){return E(this,D)}toJSON(){return this}static revive(D){if(D){if(D instanceof f)return D;{const R=new p(D);return R._formatted=D.external,R._fsPath=D._sep===h?D.fsPath:null,R}}return D}}const h=i?1:void 0;class p extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this)),this._fsPath}toString(D=!1){return D?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){const D={$mid:1};return this._fsPath&&(D.fsPath=this._fsPath,D._sep=h),this._formatted&&(D.external=this._formatted),this.path&&(D.path=this.path),this.scheme&&(D.scheme=this.scheme),this.authority&&(D.authority=this.authority),this.query&&(D.query=this.query),this.fragment&&(D.fragment=this.fragment),D}}const m={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function g(C,D,R){let F,W=-1;for(let V=0;V<C.length;V++){const Z=C.charCodeAt(V);if(Z>=97&&Z<=122||Z>=65&&Z<=90||Z>=48&&Z<=57||Z===45||Z===46||Z===95||Z===126||D&&Z===47||R&&Z===91||R&&Z===93||R&&Z===58)W!==-1&&(F+=encodeURIComponent(C.substring(W,V)),W=-1),F!==void 0&&(F+=C.charAt(V));else{F===void 0&&(F=C.substr(0,V));const Le=m[Z];Le!==void 0?(W!==-1&&(F+=encodeURIComponent(C.substring(W,V)),W=-1),F+=Le):W===-1&&(W=V)}}return W!==-1&&(F+=encodeURIComponent(C.substring(W))),F!==void 0?F:C}function y(C){let D;for(let R=0;R<C.length;R++){const F=C.charCodeAt(R);F===35||F===63?(D===void 0&&(D=C.substr(0,R)),D+=m[F]):D!==void 0&&(D+=C[R])}return D!==void 0?D:C}function w(C,D){let R;return R=C.authority&&C.path.length>1&&C.scheme==="file"?`//${C.authority}${C.path}`:C.path.charCodeAt(0)===47&&(C.path.charCodeAt(1)>=65&&C.path.charCodeAt(1)<=90||C.path.charCodeAt(1)>=97&&C.path.charCodeAt(1)<=122)&&C.path.charCodeAt(2)===58?C.path[1].toLowerCase()+C.path.substr(2):C.path,i&&(R=R.replace(/\//g,"\\")),R}function E(C,D){const R=D?y:g;let F="",{scheme:W,authority:V,path:Z,query:Le,fragment:se}=C;if(W&&(F+=W,F+=":"),(V||W==="file")&&(F+=l,F+=l),V){let K=V.indexOf("@");if(K!==-1){const Te=V.substr(0,K);V=V.substr(K+1),K=Te.lastIndexOf(":"),K===-1?F+=R(Te,!1,!1):(F+=R(Te.substr(0,K),!1,!1),F+=":",F+=R(Te.substr(K+1),!1,!0)),F+="@"}V=V.toLowerCase(),K=V.lastIndexOf(":"),K===-1?F+=R(V,!1,!0):(F+=R(V.substr(0,K),!1,!0),F+=V.substr(K))}if(Z){if(Z.length>=3&&Z.charCodeAt(0)===47&&Z.charCodeAt(2)===58){const K=Z.charCodeAt(1);K>=65&&K<=90&&(Z=`/${String.fromCharCode(K+32)}:${Z.substr(3)}`)}else if(Z.length>=2&&Z.charCodeAt(1)===58){const K=Z.charCodeAt(0);K>=65&&K<=90&&(Z=`${String.fromCharCode(K+32)}:${Z.substr(2)}`)}F+=R(Z,!0,!1)}return Le&&(F+="?",F+=R(Le,!1,!1)),se&&(F+="#",F+=D?se:g(se,!1,!1)),F}function k(C){try{return decodeURIComponent(C)}catch{return C.length>3?C.substr(0,3)+k(C.substr(3)):C}}const A=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function I(C){return C.match(A)?C.replace(A,D=>k(D)):C}var x=n(470);const _=x.posix||x,P="/";var O;(function(C){C.joinPath=function(D,...R){return D.with({path:_.join(D.path,...R)})},C.resolvePath=function(D,...R){let F=D.path,W=!1;F[0]!==P&&(F=P+F,W=!0);let V=_.resolve(F,...R);return W&&V[0]===P&&!D.authority&&(V=V.substring(1)),D.with({path:V})},C.dirname=function(D){if(D.path.length===0||D.path===P)return D;let R=_.dirname(D.path);return R.length===1&&R.charCodeAt(0)===46&&(R=""),D.with({path:R})},C.basename=function(D){return _.basename(D.path)},C.extname=function(D){return _.extname(D.path)}})(O||(O={}))})(),ek=r})();const{URI:Vt,Utils:tu}=ek;var Et;(function(t){t.basename=tu.basename,t.dirname=tu.dirname,t.extname=tu.extname,t.joinPath=tu.joinPath,t.resolvePath=tu.resolvePath;function e(i,s){return i?.toString()===s?.toString()}t.equals=e;function n(i,s){const o=typeof i=="string"?i:i.path,a=typeof s=="string"?s:s.path,c=o.split("/").filter(h=>h.length>0),u=a.split("/").filter(h=>h.length>0);let l=0;for(;l<c.length&&c[l]===u[l];l++);const d="../".repeat(c.length-l),f=u.slice(l).join("/");return d+f}t.relative=n;function r(i){return Vt.parse(i.toString()).toString()}t.normalize=r})(Et||(Et={}));var Ve;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(Ve||(Ve={}));class Vj{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=dt.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Vt.parse(e.uri),dt.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return dt.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:Ve.Parsed,references:[],textDocument:r};else{const o=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:Ve.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,o=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),a=o?o.getText():await this.fileSystemProvider.readFile(e.uri);if(o)Object.defineProperty(e,"textDocument",{value:o});else{const c=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:c})}return s!==a&&(e.parseResult=await this.parseAsync(e.uri,a,n),e.parseResult.value.$document=e),e.state=Ve.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=rh.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Kj{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return Qe(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=Ve.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=Ve.Changed,this.documentMap.delete(n)),r}}const Xy=Symbol("ref_resolving");class Yj{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,n=dt.CancellationToken.None){for(const r of oi(e.parseResult.value))await zt(n),Jd(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Xy;try{const s=this.getCandidate(e);if(Ld(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const o=this.loadAstNode(s);i._ref=o??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const o=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${o}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,o={$refNode:r,$refText:i,get ref(){var a;if(vt(this._ref))return this._ref;if(uM(this._nodeDescription)){const c=s.loadAstNode(this._nodeDescription);this._ref=c??s.createLinkingError({reference:o,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Xy;const c=Xd(e).$document,u=s.getLinkedNode({reference:o,container:e,property:n});if(u.error&&c&&c.state<Ve.ComputedScopes)return this._ref=void 0;this._ref=(a=u.node)!==null&&a!==void 0?a:u.error,this._nodeDescription=u.descr,c?.references.push(this)}else if(this._ref===Xy)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return vt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Ld(this._ref)?this._ref:void 0}};return o}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(Ld(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Xd(e.container).$document;r&&r.state<Ve.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function tk(t){return typeof t.name=="string"}class Xj{getName(e){if(tk(e))return e.name}getNameNode(e){return An(e.$cstNode,"name")}}class Jj{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=cT(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(Hn(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Hn(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||BD(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n?.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>Et.equals(s.sourceUri,n.documentUri))),r.push(...i),Qe(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=sn(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Ka(n),local:!0}}}}class Mr{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return ig.sum(Qe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Qe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return Qe(this.map.keys())}values(){return Qe(this.map.values()).flat()}entriesGroupedByKey(){return Qe(this.map.entries())}}class nk{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class rk{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=dt.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=Cc,i=dt.CancellationToken.None){const s=[];this.exportNode(e,s,n);for(const o of r(e))await zt(i),this.exportNode(o,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=dt.CancellationToken.None){const r=e.parseResult.value,i=new Mr;for(const s of Ir(r))await zt(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class nu{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class ik{constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const o=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(o,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Qe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}const sk={getElement(){},getAllElements(){return Lo}};class ok{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class Zj extends ok{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Qj extends ok{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class ak extends Zj{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class ck{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ak(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=sn(e.container).precomputedScopes;if(i){let o=e.container;do{const a=i.get(o);a.length>0&&n.push(Qe(a).filter(c=>this.reflection.isSubtype(c.type,r))),o=o.$container}while(o)}let s=this.getGlobalScope(r,e);for(let o=n.length-1;o>=0;o--)s=this.createScope(n[o],s);return s}createScope(e,n,r){return new nu(Qe(e),n,r)}createScopeForNodes(e,n,r){const i=Qe(e).map(s=>{const o=this.nameProvider.getName(s);if(o)return this.descriptions.createDescription(s,o)}).nonNullable();return new nu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new ik(this.indexManager.allElements(e)))}}function eU(t){return typeof t.$comment=="string"}function uk(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class tU{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n?.replacer,s=(a,c)=>this.replacer(a,c,r),o=i?(a,c)=>i(a,c,s):s;try{return this.currentDocument=sn(e),JSON.stringify(e,o,n?.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:o,uriConverter:a}){var c,u,l,d;if(!this.ignoreProperties.has(e))if(Hn(n)){const f=n.ref,h=r?n.$refText:void 0;if(f){const p=sn(f);let m="";this.currentDocument&&this.currentDocument!==p&&(a?m=a(p.uri,n):m=p.uri.toString());const g=this.astNodeLocator.getAstNodePath(f);return{$ref:`${m}#${g}`,$refText:h}}else return{$error:(u=(c=n.error)===null||c===void 0?void 0:c.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(vt(n)){let f;if(s&&(f=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&f?.$textRegion&&(f.$textRegion.documentURI=(l=this.currentDocument)===null||l===void 0?void 0:l.uri.toString())),i&&!e&&(f??(f=Object.assign({},n)),f.$sourceText=(d=n.$cstNode)===null||d===void 0?void 0:d.text),o){f??(f=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(f.$comment=h.replace(/\r/g,""))}return f??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const o=Bo(e.$cstNode,s).map(n);o.length!==0&&(i[s]=o)}),e}}linkNode(e,n,r,i,s,o){for(const[c,u]of Object.entries(e))if(Array.isArray(u))for(let l=0;l<u.length;l++){const d=u[l];uk(d)?u[l]=this.reviveReference(e,c,n,d,r):vt(d)&&this.linkNode(d,n,r,e,c,l)}else uk(u)?e[c]=this.reviveReference(e,c,n,u,r):vt(u)&&this.linkNode(u,n,r,e,c);const a=e;a.$container=i,a.$containerProperty=s,a.$containerIndex=o}reviveReference(e,n,r,i,s){let o=i.$refText,a=i.$error;if(i.$ref){const c=this.getRefNode(r,i.$ref,s.uriConverter);if(vt(c))return o||(o=this.nameProvider.getName(c)),{$refText:o??"",ref:c};a=c}if(a){const c={$refText:o??""};return c.error={container:e,property:n,message:a,reference:c},c}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):Vt.parse(n),u=this.langiumDocuments.getDocument(c);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Vt.parse(n.substring(0,i)),o=this.langiumDocuments.getDocument(s);if(!o)return"Could not find document for URI: "+n;if(i===n.length-1)return o.parseResult.value;const a=this.astNodeLocator.getAstNode(o.parseResult.value,n.substring(i+1));return a||"Could not resolve URI: "+n}catch(i){return String(i)}}}class nU{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const a=this.languageIdMap.get(i);if(a)return a}const s=Et.extname(e),o=this.fileExtensionMap.get(s);if(!o)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function ru(t){return{code:t}}var ih;(function(t){t.all=["fast","slow","built-in"]})(ih||(ih={}));class rU{constructor(e){this.entries=new Mr,this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const o=s;if(Array.isArray(o))for(const a of o){const c={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,c)}else if(typeof o=="function"){const a={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,a)}}}wrapValidationException(e,n){return async(r,i,s)=>{try{await e.call(n,r,i,s)}catch(o){if(nh(o))throw o;console.error("An error occurred during validation:",o);const a=o instanceof Error?o.message:String(o);o instanceof Error&&o.stack&&console.error(o.stack),i("error","An error occurred during validation: "+a,{node:r})}}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=Qe(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}}class iU{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=dt.CancellationToken.None){const i=e.parseResult,s=[];if(await zt(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(o=>{var a;return((a=o.data)===null||a===void 0?void 0:a.code)===gr.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(o){if(nh(o))throw o;console.error("An error occurred during validation:",o)}return await zt(r),s}processLexingErrors(e,n,r){var i,s,o;const a=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const c of a){const u=(o=c.severity)!==null&&o!==void 0?o:"error",l={severity:Jy(u),range:{start:{line:c.line-1,character:c.column-1},end:{line:c.line-1,character:c.column+c.length-1}},message:c.message,data:oU(u),source:this.getSource()};n.push(l)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const o=i.previousToken;if(isNaN(o.startOffset)){const a={line:0,character:0};s={start:a,end:a}}else{const a={line:o.endLine-1,character:o.endColumn};s={start:a,end:a}}}}else s=Md(i.token);if(s){const o={severity:Jy("error"),range:s,message:i.message,data:ru(gr.ParsingError),source:this.getSource()};n.push(o)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const o={node:s.container,property:s.property,index:s.index,data:{code:gr.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,o))}}}async validateAst(e,n,r=dt.CancellationToken.None){const i=[],s=(o,a,c)=>{i.push(this.toDiagnostic(o,a,c))};return await Promise.all(oi(e).map(async o=>{await zt(r);const a=this.validationRegistry.getChecks(o.$type,n.categories);for(const c of a)await c(o,s,r)})),i}toDiagnostic(e,n,r){return{message:n,range:sU(r),severity:Jy(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function sU(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=An(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Ac(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Jy(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function oU(t){switch(t){case"error":return ru(gr.LexingError);case"warning":return ru(gr.LexingWarning);case"info":return ru(gr.LexingInfo);case"hint":return ru(gr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var gr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(gr||(gr={}));class aU{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??sn(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let o;const a=()=>{var c;return o??(o=Ka((c=this.nameProvider.getNameNode(e))!==null&&c!==void 0?c:e.$cstNode))};return{node:e,name:n,get nameSegment(){return a()},selectionSegment:Ka(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class cU{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=dt.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of oi(i))await zt(n),Jd(s).filter(o=>!Ld(o)).forEach(o=>{const a=this.createDescription(o);a&&r.push(a)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=sn(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:Ka(r),local:Et.equals(n.documentUri,i)}}}class uU{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const o=s.indexOf(this.indexSeparator);if(o>0){const a=s.substring(0,o),c=parseInt(s.substring(o+1)),u=i[a];return u?.[c]}return i[s]},e)}}var lU=ta();class dU{constructor(e){this._ready=new Ky,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new lU.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Us;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(Us||(Us={}));class fU{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Mr,this.documentPhaseListeners=new Mr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Ve.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=dt.CancellationToken.None){var i,s;for(const o of e){const a=o.uri.toString();if(o.state===Ve.Validated){if(typeof n.validation=="boolean"&&n.validation)o.state=Ve.IndexedReferences,o.diagnostics=void 0,this.buildState.delete(a);else if(typeof n.validation=="object"){const c=this.buildState.get(a),u=(i=c?.result)===null||i===void 0?void 0:i.validationChecks;if(u){const d=((s=n.validation.categories)!==null&&s!==void 0?s:ih.all).filter(f=>!u.includes(f));d.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:d})},result:c.result}),o.state=Ve.IndexedReferences)}}}else this.buildState.delete(a)}this.currentState=Ve.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=dt.CancellationToken.None){this.currentState=Ve.Changed;for(const o of n)this.langiumDocuments.deleteDocument(o),this.buildState.delete(o.toString()),this.indexManager.remove(o);for(const o of e){if(!this.langiumDocuments.invalidateDocument(o)){const c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o);c.state=Ve.Changed,this.langiumDocuments.addDocument(c)}this.buildState.delete(o.toString())}const i=Qe(e).concat(n).map(o=>o.toString()).toSet();this.langiumDocuments.all.filter(o=>!i.has(o.uri.toString())&&this.shouldRelink(o,i)).forEach(o=>{this.serviceRegistry.getServices(o.uri).references.Linker.unlink(o),o.state=Math.min(o.state,Ve.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,n),await zt(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(o=>{var a;return o.state<Ve.Linked||!(!((a=this.buildState.get(o.uri.toString()))===null||a===void 0)&&a.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),Us.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,Ve.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,Ve.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,Ve.ComputedScopes,r,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await o.computeLocalScopes(s,r)}),await this.runCancelable(e,Ve.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,Ve.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,Ve.Validated,r,s=>this.validate(s,r));for(const s of e){const o=this.buildState.get(s.uri.toString());o&&(o.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s?.result})}}async runCancelable(e,n,r,i){const s=e.filter(a=>a.state<n);for(const a of s)await zt(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r);const o=e.filter(a=>a.state===n);await this.notifyBuildPhase(o,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),Us.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),Us.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=dt.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(th):new Promise((s,o)=>{const a=this.onBuildPhase(e,()=>{if(a.dispose(),c.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u?.uri)}else s(void 0)}),c=r.onCancellationRequested(()=>{a.dispose(),c.dispose(),o(th)})})}async notifyDocumentPhase(e,n,r){const i=this.documentPhaseListeners.get(n);for(const s of i)try{await s(e,r)}catch(o){if(!nh(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const i=this.buildPhaseListeners.get(n);for(const s of i)await zt(r),await s(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,o=this.getBuildOptions(e).validation,a=typeof o=="object"?o:void 0,c=await s.validateDocument(e,a,n);e.diagnostics?e.diagnostics.push(...c):e.diagnostics=c;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const l=(i=a?.categories)!==null&&i!==void 0?i:ih.all;u.result.validationChecks?u.result.validationChecks.push(...l):u.result.validationChecks=[...l]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class hU{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Qj,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=sn(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(o=>{Et.equals(o.targetUri,r)&&o.targetPath===n&&i.push(o)})}),Qe(i)}allElements(e,n){let r=Qe(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(a=>this.astReflection.isSubtype(a.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=dt.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=dt.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class lk{constructor(e){this.initialBuildOptions={},this._ready=new Ky,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=dt.CancellationToken.None){const r=await this.performStartup(e);await zt(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Vt.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async o=>{if(this.includeEntry(e,o,r)){if(o.isDirectory)await this.traverseFolder(e,o.uri,r,i);else if(o.isFile){const a=await this.langiumDocuments.getOrCreateDocument(o.uri);i(a)}}}))}includeEntry(e,n,r){const i=Et.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=Et.extname(n.uri);return r.includes(s)}return!1}}const pU={mode:"full"};class mU{constructor(e){this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=fk(n)?Object.values(n):n;this.chevrotainLexer=new Rn(r,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e,n=pU){var r,i,s;const o=this.chevrotainLexer.tokenize(e);return{tokens:o.tokens,errors:o.errors,hidden:(r=o.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(fk(e))return e;const n=dk(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function gU(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function dk(t){return t&&"modes"in t&&"defaultMode"in t}function fk(t){return!gU(t)&&!dk(t)}function yU(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=He.create(0,0));const s=hk(t),o=Qy(r),a=bU({lines:s,position:i,options:o});return SU({index:0,tokens:a,position:i})}function vU(t,e){const n=Qy(e),r=hk(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],o=n.start,a=n.end;return!!o?.exec(i)&&!!a?.exec(s)}function hk(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(iT)}const pk=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,wU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function bU(t){var e,n,r;const i=[];let s=t.position.line,o=t.position.character;for(let a=0;a<t.lines.length;a++){const c=a===0,u=a===t.lines.length-1;let l=t.lines[a],d=0;if(c&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(l);h&&(d=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(l);h&&(d=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(l);h&&(l=l.substring(0,h.index))}if(l=l.substring(0,RU(l)),Zy(l,d)>=l.length){if(i.length>0){const h=He.create(s,o);i.push({type:"break",content:"",range:Me.create(h,h)})}}else{pk.lastIndex=d;const h=pk.exec(l);if(h){const p=h[0],m=h[1],g=He.create(s,o+d),y=He.create(s,o+d+p.length);i.push({type:"tag",content:m,range:Me.create(g,y)}),d+=p.length,d=Zy(l,d)}if(d<l.length){const p=l.substring(d),m=Array.from(p.matchAll(wU));i.push(...EU(m,p,s,o+d))}}s++,o=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function EU(t,e,n,r){const i=[];if(t.length===0){const s=He.create(n,r),o=He.create(n,r+e.length);i.push({type:"text",content:e,range:Me.create(s,o)})}else{let s=0;for(const a of t){const c=a.index,u=e.substring(s,c);u.length>0&&i.push({type:"text",content:e.substring(s,c),range:Me.create(He.create(n,s+r),He.create(n,c+r))});let l=u.length+1;const d=a[1];if(i.push({type:"inline-tag",content:d,range:Me.create(He.create(n,s+l+r),He.create(n,s+l+d.length+r))}),l+=d.length,a.length===4){l+=a[2].length;const f=a[3];i.push({type:"text",content:f,range:Me.create(He.create(n,s+l+r),He.create(n,s+l+f.length+r))})}else i.push({type:"text",content:"",range:Me.create(He.create(n,s+l+r),He.create(n,s+l+r))});s=c+a[0].length}const o=e.substring(s);o.length>0&&i.push({type:"text",content:o,range:Me.create(He.create(n,s+r),He.create(n,s+r+o.length))})}return i}const DU=/\S/,TU=/\s*$/;function Zy(t,e){const n=t.substring(e).match(DU);return n?e+n.index:t.length}function RU(t){const e=t.match(TU);if(e&&typeof e.index=="number")return e.index}function SU(t){var e,n,r,i;const s=He.create(t.position.line,t.position.character);if(t.tokens.length===0)return new vk([],Me.create(s,s));const o=[];for(;t.index<t.tokens.length;){const u=kU(t,o[o.length-1]);u&&o.push(u)}const a=(n=(e=o[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,c=(i=(r=o[o.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new vk(o,Me.create(a,c))}function kU(t,e){const n=t.tokens[t.index];if(n.type==="tag")return gk(t,!1);if(n.type==="text"||n.type==="inline-tag")return mk(t);$U(n,e),t.index++}function $U(t,e){if(e){const n=new wk("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function mk(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(CU(t)),r=e,e=t.tokens[t.index];return new nv(i,Me.create(n.range.start,r.range.end))}function CU(t){return t.tokens[t.index].type==="inline-tag"?gk(t,!0):yk(t)}function gk(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){const s=yk(t);return new tv(r,new nv([s],s.range),e,Me.create(n.range.start,s.range.end))}else{const s=mk(t);return new tv(r,s,e,Me.create(n.range.start,s.range.end))}else{const s=n.range;return new tv(r,new nv([],s),e,s)}}function yk(t){const e=t.tokens[t.index++];return new wk(e.content,e.range)}function Qy(t){if(!t)return Qy({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:ev(e,!0),end:ev(n,!1),line:ev(r,!0)}}function ev(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?rf(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class vk{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=bk(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=bk(n)+i}return n.trim()}}class tv{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
-
${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e?.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=_U(this.name,n,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} \u2014 ${n}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
-
${n}`),this.inline?`{${i}}`:i}}function _U(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let o=e;if(s>0){const c=Zy(e,s);o=e.substring(c),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(o=`\`${o}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,o))!==null&&i!==void 0?i:AU(e,o)}}function AU(t,e){try{return Vt.parse(t,!0),`[${e}](${t})`}catch{return t}}class nv{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
|
|
120
|
-
`)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
|
|
121
|
-
`)}return n}}class wk{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function bk(t){return t.endsWith(`
|
|
122
|
-
`)?`
|
|
123
|
-
`:`
|
|
124
|
-
|
|
125
|
-
`}class xU{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&vU(n))return yU(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const o=s.nameSegment.range.start.line+1,a=s.nameSegment.range.start.character+1,c=s.documentUri.with({fragment:`L${o},${a}`});return`[${r}](${c.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=sn(e).precomputedScopes;if(!i)return;let s=e;do{const a=i.get(s).find(c=>c.name===n);if(a)return a;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class IU{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return eU(e)?e.$comment:(n=zd(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class PU{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class NU{constructor(){this.previousTokenSource=new dt.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=new dt.CancellationTokenSource;return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=dt.CancellationToken.None){const i=new Ky,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){nh(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class OU{constructor(e){this.grammarElementIdMap=new nk,this.tokenTypeIdMap=new nk,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of oi(e))n.set(i,{});if(e.$cstNode)for(const i of Va(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const o=[];r[i]=o;for(const a of s)vt(a)?o.push(this.dehydrateAstNode(a,n)):Hn(a)?o.push(this.dehydrateReference(a,n)):o.push(a)}else vt(s)?r[i]=this.dehydrateAstNode(s,n):Hn(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return MD(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),ri(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Cs(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of oi(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Va(e.$cstNode)){let o;"fullText"in s?(o=new MS(s.fullText),i=o):"content"in s?o=new Gy:"tokenType"in s&&(o=this.hydrateCstLeafNode(s)),o&&(r.set(s,o),o.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const o=[];r[i]=o;for(const a of s)vt(a)?o.push(this.setParent(this.hydrateAstNode(a,n),r)):Hn(a)?o.push(this.hydrateReference(a,r,i,n)):o.push(a)}else vt(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):Hn(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),ri(i))for(const s of e.content){const o=this.hydrateCstNode(s,n,r++);i.content.push(o)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,o=e.startColumn,a=e.endLine,c=e.endColumn,u=e.hidden;return new Uy(r,i,{start:{line:s,character:o},end:{line:a,character:c}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();const n=this.grammarElementIdMap.getKey(e);if(n)return n;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(const n of oi(this.grammar))dg(n)&&this.grammarElementIdMap.set(n,e++)}}function Ek(t){return{documentation:{CommentProvider:e=>new IU(e),DocumentationProvider:e=>new xU(e)},parser:{AsyncParser:e=>new PU(e),GrammarConfig:e=>XM(e),LangiumParser:e=>Bj(e),CompletionParser:e=>zj(e),ValueConverter:()=>new Uj,TokenBuilder:()=>new jj,Lexer:e=>new mU(e),ParserErrorMessageProvider:()=>new jS},workspace:{AstNodeLocator:()=>new uU,AstNodeDescriptionProvider:e=>new aU(e),ReferenceDescriptionProvider:e=>new cU(e)},references:{Linker:e=>new Yj(e),NameProvider:()=>new Xj,ScopeProvider:e=>new ck(e),ScopeComputation:e=>new rk(e),References:e=>new Jj(e)},serializer:{Hydrator:e=>new OU(e),JsonSerializer:e=>new tU(e)},validation:{DocumentValidator:e=>new iU(e),ValidationRegistry:e=>new rU(e)},shared:()=>t.shared}}function Dk(t){return{ServiceRegistry:e=>new nU(e),workspace:{LangiumDocuments:e=>new Kj(e),LangiumDocumentFactory:e=>new Vj(e),DocumentBuilder:e=>new fU(e),IndexManager:e=>new hU(e),WorkspaceManager:e=>new lk(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new NU,ConfigurationProvider:e=>new dU(e)}}}var sh;(function(t){t.merge=(e,n)=>ah(ah({},e),n)})(sh||(sh={}));function oh(t,e,n,r,i,s,o,a,c){const u=[t,e,n,r,i,s,o,a,c].reduce(ah,{});return Rk(u)}const Tk=Symbol("isProxy");function rv(t){if(t&&t[Tk])for(const e of Object.values(t))rv(e);return t}function Rk(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Tk?!0:kk(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(kk(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const Sk=Symbol();function kk(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Sk)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=Sk;try{t[e]=typeof i=="function"?i(r):Rk(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function ah(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=ah(i,r):t[n]=r}}return t}class LU{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const $k={fileSystemProvider:()=>new LU},FU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},MU={AstReflection:()=>new QD};function zU(){const t=oh(Dk($k),MU),e=oh(Ek({shared:t}),FU);return t.ServiceRegistry.register(e),e}function BU(t){var e;const n=zU(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Vt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}function qU(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function Je(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return qU(t,e,n);throw new Error("Wrong number of arguments")}var jU={done:!0,hasNext:!1},na={done:!1,hasNext:!1},Ck=()=>jU,UU=t=>({hasNext:!0,next:t,done:!1});function Ke(t,...e){let n=t,r=e.map(s=>"lazy"in s?GU(s):void 0),i=0;for(;i<e.length;){if(r[i]===void 0||!WU(n)){let c=e[i];n=c(n),i+=1;continue}let s=[];for(let c=i;c<e.length;c++){let u=r[c];if(u===void 0||(s.push(u),u.isSingle))break}let o=[];for(let c of n)if(_k(c,o,s))break;let{isSingle:a}=s.at(-1);n=a?o[0]:o,i+=s.length}return n}function _k(t,e,n){if(n.length===0)return e.push(t),!1;let r=t,i=na,s=!1;for(let[o,a]of n.entries()){let{index:c,items:u}=a;if(u.push(r),i=a(r,c,u),a.index+=1,i.hasNext){if(i.hasMany??!1){for(let l of i.next)if(_k(l,e,n.slice(o+1)))return!0;return s}r=i.next}if(!i.hasNext)break;i.done&&(s=!0)}return i.hasNext&&e.push(r),s}function GU(t){let{lazy:e,lazyArgs:n}=t,r=e(...n);return Object.assign(r,{isSingle:e.single??!1,index:0,items:[]})}function WU(t){return typeof t=="string"||typeof t=="object"&&t!==null&&Symbol.iterator in t}function iv(t,e){let n=e.length-t.length;if(n===1){let[r,...i]=e;return Ke(r,{lazy:t,lazyArgs:i})}if(n===0){let r={lazy:t,lazyArgs:e};return Object.assign(i=>Ke(i,r),r)}throw new Error("Wrong number of arguments")}function zr(...t){return iv(HU,t)}function HU(){let t=new Set;return e=>t.has(e)?na:(t.add(e),{done:!1,hasNext:!0,next:e})}function ch(...t){return Je(Object.values,t)}function VU(...t){return Je(KU,t,YU)}var KU=(t,e)=>e<0?[]:t.slice(0,e);function YU(t){if(t<=0)return Ck;let e=t;return n=>(e-=1,{done:e<=0,hasNext:!0,next:n})}function Hi(...t){return Je(XU,t)}var XU=(t,e)=>t.length>=e,Ak={asc:(t,e)=>t>e,desc:(t,e)=>t<e};function JU(t,e){let[n,...r]=e;if(!ZU(n)){let s=sv(...r);return t(n,s)}let i=sv(n,...r);return s=>t(s,i)}function sv(t,e,...n){let r=typeof t=="function"?t:t[0],i=typeof t=="function"?"asc":t[1],{[i]:s}=Ak,o=e===void 0?void 0:sv(e,...n);return(a,c)=>{let u=r(a),l=r(c);return s(u,l)?1:s(l,u)?-1:o?.(a,c)??0}}function ZU(t){if(xk(t))return!0;if(typeof t!="object"||!Array.isArray(t))return!1;let[e,n,...r]=t;return xk(e)&&typeof n=="string"&&n in Ak&&r.length===0}var xk=t=>typeof t=="function"&&t.length===1;function QU(...t){return Je(e9,t)}function e9(t,e){return e(t),t}function ra(...t){return Je(t9,t)}function t9(t,e){let n=[...t];return n.sort(e),n}function n9(...t){return JU(r9,t)}var r9=(t,e)=>[...t].sort(e);function Ik(...t){return Je(i9,t)}var i9=(t,e,n)=>t.reduce(e,n);function uh(...t){return Je(s9,t)}function s9(t){return[...t].reverse()}function ov(...t){return Je(o9,t)}function o9(t,e){let n={};for(let r of e)r in t&&(n[r]=t[r]);return n}function av(...t){return e=>Ke(e,...t)}function yi(...t){return Je(a9,t)}var a9=(t,e)=>t[e];function Pk(...t){return Je(c9,t)}function c9(t,e){let n={...t};for(let[r,i]of Object.entries(n))e(i,r,t)&&delete n[r];return n}function kn(...t){return Je(u9,t)}var u9=t=>t.length===1?t[0]:void 0;function ia(...t){return Je(l9,t)}var l9=t=>t.at(-1);function Dt(...t){return Je(d9,t,f9)}var d9=(t,e)=>t.map(e),f9=t=>(e,n,r)=>({done:!1,hasNext:!0,next:t(e,n,r)});function vi(...t){return Je(h9,t)}function h9(t,e){let n={};for(let[r,i]of t.entries()){let[s,o]=e(i,r,t);n[s]=o}return n}function Vi(...t){return Je(p9,t)}function p9(t,e){let n={};for(let[r,i]of Object.entries(t)){let s=e(i,r,t);n[r]=s}return n}function Ki(t){return typeof t=="string"}function ae(t){return!!t}function m9(t){return t!==null}function Br(t){return t!=null}function g9(t){return e=>!t(e)}function at(t){return t==null}function lh(t){return typeof t=="number"&&!Number.isNaN(t)}function Nk(t){return Array.isArray(t)}function At(t){return t!==void 0}function Yi(t){return t===void 0?!0:typeof t=="string"||Array.isArray(t)?t.length===0:Object.keys(t).length===0}function cv(t){return t instanceof Error}function uv(...t){return Je(y9,t)}function y9(t,e){let n={};for(let[r,i]of t.entries()){let s=e(i,r,t);n[s]=i}return n}function v9(...t){return iv(w9,t)}function w9(t){if(t.length===0)return Ck;let e=new Map;for(let n of t)e.set(n,(e.get(n)??0)+1);return n=>{let r=e.get(n);return r===void 0||r===0?na:(r===1?e.delete(n):e.set(n,r-1),{hasNext:!0,next:n,done:e.size===0})}}function wi(...t){return Je(b9,t,E9)}var b9=(t,e)=>t.flatMap(e),E9=t=>(e,n,r)=>{let i=t(e,n,r);return Array.isArray(i)?{done:!1,hasNext:!0,hasMany:!0,next:i}:{done:!1,hasNext:!0,next:i}};function D9(...t){return Je(T9,t,R9)}function T9(t,e){return t.forEach(e),t}var R9=t=>(e,n,r)=>(t(e,n,r),{done:!1,hasNext:!0,next:e});function dh(...t){return Je(S9,t)}var S9=(t,e)=>{let n={};for(let[r,i]of t.entries()){let s=e(i,r,t);if(s!==void 0){let{[s]:o}=n;o===void 0&&(o=[],n[s]=o),o.push(i)}}return n};function nt(...t){return Je(k9,t,$9)}var k9=(t,e)=>t.filter(e),$9=t=>(e,n,r)=>t(e,n,r)?{done:!1,hasNext:!0,next:e}:na,Ok=t=>Object.assign(t,{single:!0});function Lk(...t){return Je(C9,t,Ok(_9))}var C9=(t,e)=>t.find(e),_9=t=>(e,n,r)=>t(e,n,r)?{done:!0,hasNext:!0,next:e}:na;function A9(...t){return Je(x9,t)}var x9=(t,e)=>{for(let n=t.length-1;n>=0;n--){let r=t[n];if(e(r,n,t))return r}};function sa(...t){return Je(I9,t,Ok(P9))}var I9=([t])=>t,P9=()=>N9,N9=t=>({hasNext:!0,next:t,done:!0});function oa(...t){return Je(Object.entries,t)}function O9(...t){return Je(L9,t)}var L9=(t,e)=>[...t,...e];function F9(t,{waitMs:e,timing:n="trailing",maxWaitMs:r}){if(r!==void 0&&e!==void 0&&r<e)throw new Error(`debounce: maxWaitMs (${r.toString()}) cannot be less than waitMs (${e.toString()})`);let i,s,o,a,c=()=>{if(s!==void 0){let f=s;s=void 0,clearTimeout(f)}if(o===void 0)throw new Error("REMEDA[debounce]: latestCallArgs was unexpectedly undefined.");let d=o;o=void 0,a=t(...d)},u=()=>{if(i===void 0)return;let d=i;i=void 0,clearTimeout(d),o!==void 0&&c()},l=d=>{o=d,r!==void 0&&s===void 0&&(s=setTimeout(c,r))};return{call:(...d)=>{if(i===void 0)n==="trailing"?l(d):a=t(...d);else{n!=="leading"&&l(d);let f=i;i=void 0,clearTimeout(f)}return i=setTimeout(u,e??r??0),a},cancel:()=>{if(i!==void 0){let d=i;i=void 0,clearTimeout(d)}if(s!==void 0){let d=s;s=void 0,clearTimeout(d)}o=void 0},flush:()=>(u(),a),get isPending(){return i!==void 0},get cachedValue(){return a}}}function Fk(...t){return iv(M9,t)}function M9(t){if(t.length===0)return UU;let e=new Map;for(let n of t)e.set(n,(e.get(n)??0)+1);return n=>{let r=e.get(n);return r===void 0||r===0?{done:!1,hasNext:!0,next:n}:(e.set(n,r-1),na)}}function Mk(...t){return Je(z9,t)}var z9=(t,e)=>e.every(n=>n(t));function lv(...t){return Je(B9,t)}var B9=(t,e)=>e.some(n=>n(t));function q9(...t){return Je(j9,t)}function j9(t,e){if(e<1)throw new RangeError(`chunk: A chunk size of '${e.toString()}' would result in an infinite array`);if(t.length===0)return[];if(e>=t.length)return[[...t]];let n=Math.ceil(t.length/e),r=new Array(n);if(e===1)for(let[i,s]of t.entries())r[i]=[s];else for(let i=0;i<n;i+=1){let s=i*e;r[i]=t.slice(s,s+e)}return r}function zk(...t){return Je(U9,t)}var U9=(t,{min:e,max:n})=>e!==void 0&&t<e?e:n!==void 0&&t>n?n:t,G9={reset:[0,0],bold:[1,22,"\x1B[22m\x1B[1m"],dim:[2,22,"\x1B[22m\x1B[2m"],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},W9=Object.entries(G9);function dv(t){return String(t)}dv.open="",dv.close="";function H9(t=!1){let e=typeof process<"u"?process:void 0,n=e?.env||{},r=e?.argv||[];return!("NO_COLOR"in n||r.includes("--no-color"))&&("FORCE_COLOR"in n||r.includes("--color")||e?.platform==="win32"||t&&n.TERM!=="dumb"||"CI"in n)||typeof window<"u"&&!!window.chrome}function V9(t=!1){let e=H9(t),n=(o,a,c,u)=>{let l="",d=0;do l+=o.substring(d,u)+c,d=u+a.length,u=o.indexOf(a,d);while(~u);return l+o.substring(d)},r=(o,a,c=o)=>{let u=l=>{let d=String(l),f=d.indexOf(a,o.length);return~f?o+n(d,a,c,f)+a:o+d+a};return u.open=o,u.close=a,u},i={isColorSupported:e},s=o=>`\x1B[${o}m`;for(let[o,a]of W9)i[o]=e?r(s(a[0]),s(a[1]),a[2]):dv;return i}var ft=V9(C2(1)),Gs={};const K9=ui(_2);var Tt={},Bk;function fv(){if(Bk)return Tt;Bk=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.thenable=Tt.typedArray=Tt.stringArray=Tt.array=Tt.func=Tt.error=Tt.number=Tt.string=Tt.boolean=void 0;function t(u){return u===!0||u===!1}Tt.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Tt.string=e;function n(u){return typeof u=="number"||u instanceof Number}Tt.number=n;function r(u){return u instanceof Error}Tt.error=r;function i(u){return typeof u=="function"}Tt.func=i;function s(u){return Array.isArray(u)}Tt.array=s;function o(u){return s(u)&&u.every(l=>e(l))}Tt.stringArray=o;function a(u,l){return Array.isArray(u)&&u.every(l)}Tt.typedArray=a;function c(u){return u&&i(u.then)}return Tt.thenable=c,Tt}var je={},Ws={},Hs={},fh={};const Y9=ui(O2);var hv={},pe={},qk;function jk(){if(qk)return pe;qk=1,Object.defineProperty(pe,"__esModule",{value:!0}),pe.Message=pe.NotificationType9=pe.NotificationType8=pe.NotificationType7=pe.NotificationType6=pe.NotificationType5=pe.NotificationType4=pe.NotificationType3=pe.NotificationType2=pe.NotificationType1=pe.NotificationType0=pe.NotificationType=pe.RequestType9=pe.RequestType8=pe.RequestType7=pe.RequestType6=pe.RequestType5=pe.RequestType4=pe.RequestType3=pe.RequestType2=pe.RequestType1=pe.RequestType=pe.RequestType0=pe.AbstractMessageSignature=pe.ParameterStructures=pe.ResponseError=pe.ErrorCodes=void 0;const t=eu();var e;(function(D){D.ParseError=-32700,D.InvalidRequest=-32600,D.MethodNotFound=-32601,D.InvalidParams=-32602,D.InternalError=-32603,D.jsonrpcReservedErrorRangeStart=-32099,D.serverErrorStart=-32099,D.MessageWriteError=-32099,D.MessageReadError=-32098,D.PendingResponseRejected=-32097,D.ConnectionInactive=-32096,D.ServerNotInitialized=-32002,D.UnknownErrorCode=-32001,D.jsonrpcReservedErrorRangeEnd=-32e3,D.serverErrorEnd=-32e3})(e||(pe.ErrorCodes=e={}));class n extends Error{constructor(R,F,W){super(F),this.code=t.number(R)?R:e.UnknownErrorCode,this.data=W,Object.setPrototypeOf(this,n.prototype)}toJson(){const R={code:this.code,message:this.message};return this.data!==void 0&&(R.data=this.data),R}}pe.ResponseError=n;class r{constructor(R){this.kind=R}static is(R){return R===r.auto||R===r.byName||R===r.byPosition}toString(){return this.kind}}pe.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(R,F){this.method=R,this.numberOfParams=F}get parameterStructures(){return r.auto}}pe.AbstractMessageSignature=i;class s extends i{constructor(R){super(R,0)}}pe.RequestType0=s;class o extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.RequestType=o;class a extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.RequestType1=a;class c extends i{constructor(R){super(R,2)}}pe.RequestType2=c;class u extends i{constructor(R){super(R,3)}}pe.RequestType3=u;class l extends i{constructor(R){super(R,4)}}pe.RequestType4=l;class d extends i{constructor(R){super(R,5)}}pe.RequestType5=d;class f extends i{constructor(R){super(R,6)}}pe.RequestType6=f;class h extends i{constructor(R){super(R,7)}}pe.RequestType7=h;class p extends i{constructor(R){super(R,8)}}pe.RequestType8=p;class m extends i{constructor(R){super(R,9)}}pe.RequestType9=m;class g extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.NotificationType=g;class y extends i{constructor(R){super(R,0)}}pe.NotificationType0=y;class w extends i{constructor(R,F=r.auto){super(R,1),this._parameterStructures=F}get parameterStructures(){return this._parameterStructures}}pe.NotificationType1=w;class E extends i{constructor(R){super(R,2)}}pe.NotificationType2=E;class k extends i{constructor(R){super(R,3)}}pe.NotificationType3=k;class A extends i{constructor(R){super(R,4)}}pe.NotificationType4=A;class I extends i{constructor(R){super(R,5)}}pe.NotificationType5=I;class x extends i{constructor(R){super(R,6)}}pe.NotificationType6=x;class _ extends i{constructor(R){super(R,7)}}pe.NotificationType7=_;class P extends i{constructor(R){super(R,8)}}pe.NotificationType8=P;class O extends i{constructor(R){super(R,9)}}pe.NotificationType9=O;var C;return function(D){function R(V){const Z=V;return Z&&t.string(Z.method)&&(t.string(Z.id)||t.number(Z.id))}D.isRequest=R;function F(V){const Z=V;return Z&&t.string(Z.method)&&V.id===void 0}D.isNotification=F;function W(V){const Z=V;return Z&&(Z.result!==void 0||!!Z.error)&&(t.string(Z.id)||t.number(Z.id)||Z.id===null)}D.isResponse=W}(C||(pe.Message=C={})),pe}var bi={},Uk;function Gk(){if(Uk)return bi;Uk=1;var t;Object.defineProperty(bi,"__esModule",{value:!0}),bi.LRUCache=bi.LinkedMap=bi.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(bi.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,o=e.None){const a=this._map.get(s);if(a)return o!==e.None&&this.touch(a,o),a.value}set(s,o,a=e.None){let c=this._map.get(s);if(c)c.value=o,a!==e.None&&this.touch(c,a);else{switch(c={key:s,value:o,next:void 0,previous:void 0},a){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const o=this._map.get(s);if(o)return this._map.delete(s),this.removeItem(o),this._size--,o.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,o){const a=this._state;let c=this._head;for(;c;){if(o?s.bind(o)(c.value,c.key,this):s(c.value,c.key,this),this._state!==a)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.key,done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}values(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:o.value,done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}entries(){const s=this._state;let o=this._head;const a={[Symbol.iterator]:()=>a,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(o){const c={value:[o.key,o.value],done:!1};return o=o.next,c}else return{value:void 0,done:!0}}};return a}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let o=this._head,a=this.size;for(;o&&a>s;)this._map.delete(o.key),o=o.next,a--;this._head=o,this._size=a,o&&(o.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const o=s.next,a=s.previous;if(!o||!a)throw new Error("Invalid list");o.previous=a,a.next=o}s.next=void 0,s.previous=void 0,this._state++}touch(s,o){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(o!==e.First&&o!==e.Last)){if(o===e.First){if(s===this._head)return;const a=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(a.previous=c,c.next=a),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(o===e.Last){if(s===this._tail)return;const a=s.next,c=s.previous;s===this._head?(a.previous=void 0,this._head=a):(a.previous=c,c.next=a),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((o,a)=>{s.push([a,o])}),s}fromJSON(s){this.clear();for(const[o,a]of s)this.set(o,a)}}bi.LinkedMap=n;class r extends n{constructor(s,o=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,o),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,o=e.AsNew){return super.get(s,o)}peek(s){return super.get(s,e.None)}set(s,o){return super.set(s,o,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return bi.LRUCache=r,bi}var iu={},Wk;function X9(){if(Wk)return iu;Wk=1,Object.defineProperty(iu,"__esModule",{value:!0}),iu.Disposable=void 0;var t;return function(e){function n(r){return{dispose:r}}e.create=n}(t||(iu.Disposable=t={})),iu}var Vs={},Hk;function J9(){if(Hk)return Vs;Hk=1,Object.defineProperty(Vs,"__esModule",{value:!0}),Vs.SharedArrayReceiverStrategy=Vs.SharedArraySenderStrategy=void 0;const t=eh();var e;(function(o){o.Continue=0,o.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(a){if(a.id===null)return;const c=new SharedArrayBuffer(4),u=new Int32Array(c,0,1);u[0]=e.Continue,this.buffers.set(a.id,c),a.$cancellationData=c}async sendCancellation(a,c){const u=this.buffers.get(c);if(u===void 0)return;const l=new Int32Array(u,0,1);Atomics.store(l,0,e.Cancelled)}cleanup(a){this.buffers.delete(a)}dispose(){this.buffers.clear()}}Vs.SharedArraySenderStrategy=n;class r{constructor(a){this.data=new Int32Array(a,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(a){this.token=new r(a)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(a){const c=a.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return Vs.SharedArrayReceiverStrategy=s,Vs}var Ei={},su={},Vk;function Kk(){if(Vk)return su;Vk=1,Object.defineProperty(su,"__esModule",{value:!0}),su.Semaphore=void 0;const t=qs();class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return su.Semaphore=e,su}var Yk;function Z9(){if(Yk)return Ei;Yk=1,Object.defineProperty(Ei,"__esModule",{value:!0}),Ei.ReadableStreamMessageReader=Ei.AbstractMessageReader=Ei.MessageReader=void 0;const t=qs(),e=eu(),n=ta(),r=Kk();var i;(function(c){function u(l){let d=l;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}c.is=u})(i||(Ei.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(u){this.errorEmitter.fire(this.asError(u))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(u){this.partialMessageEmitter.fire(u)}asError(u){return u instanceof Error?u:new Error(`Reader received error. Reason: ${e.string(u.message)?u.message:"unknown"}`)}}Ei.AbstractMessageReader=s;var o;(function(c){function u(l){let d,f;const h=new Map;let p;const m=new Map;if(l===void 0||typeof l=="string")d=l??"utf-8";else{if(d=l.charset??"utf-8",l.contentDecoder!==void 0&&(f=l.contentDecoder,h.set(f.name,f)),l.contentDecoders!==void 0)for(const g of l.contentDecoders)h.set(g.name,g);if(l.contentTypeDecoder!==void 0&&(p=l.contentTypeDecoder,m.set(p.name,p)),l.contentTypeDecoders!==void 0)for(const g of l.contentTypeDecoders)m.set(g.name,g)}return p===void 0&&(p=(0,t.default)().applicationJson.decoder,m.set(p.name,p)),{charset:d,contentDecoder:f,contentDecoders:h,contentTypeDecoder:p,contentTypeDecoders:m}}c.fromOptions=u})(o||(o={}));class a extends s{constructor(u,l){super(),this.readable=u,this.options=o.fromOptions(l),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(u){this._partialMessageTimeout=u}get partialMessageTimeout(){return this._partialMessageTimeout}listen(u){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=u;const l=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),l}onData(u){try{for(this.buffer.append(u);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const f=d.get("content-length");if(!f){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
126
|
-
${JSON.stringify(Object.fromEntries(d))}`));return}const h=parseInt(f);if(isNaN(h)){this.fireError(new Error(`Content-Length value must be a number. Got ${f}`));return}this.nextMessageLength=h}const l=this.buffer.tryReadBody(this.nextMessageLength);if(l===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(l):l,f=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(f)}).catch(d=>{this.fireError(d)})}}catch(l){this.fireError(l)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((u,l)=>{this.partialMessageTimer=void 0,u===this.messageToken&&(this.firePartialMessage({messageToken:u,waitingTime:l}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return Ei.ReadableStreamMessageReader=a,Ei}var Di={},Xk;function Q9(){if(Xk)return Di;Xk=1,Object.defineProperty(Di,"__esModule",{value:!0}),Di.WriteableStreamMessageWriter=Di.AbstractMessageWriter=Di.MessageWriter=void 0;const t=qs(),e=eu(),n=Kk(),r=ta(),i="Content-Length: ",s=`\r
|
|
127
|
-
`;var o;(function(l){function d(f){let h=f;return h&&e.func(h.dispose)&&e.func(h.onClose)&&e.func(h.onError)&&e.func(h.write)}l.is=d})(o||(Di.MessageWriter=o={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,f,h){this.errorEmitter.fire([this.asError(d),f,h])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}Di.AbstractMessageWriter=a;var c;(function(l){function d(f){return f===void 0||typeof f=="string"?{charset:f??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:f.charset??"utf-8",contentEncoder:f.contentEncoder,contentTypeEncoder:f.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}l.fromOptions=d})(c||(c={}));class u extends a{constructor(d,f){super(),this.writable=d,this.options=c.fromOptions(f),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(h=>this.fireError(h)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(h=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(h):h).then(h=>{const p=[];return p.push(i,h.byteLength.toString(),s),p.push(s),this.doWrite(d,p,h)},h=>{throw this.fireError(h),h}))}async doWrite(d,f,h){try{return await this.writable.write(f.join(""),"ascii"),this.writable.write(h)}catch(p){return this.handleError(p,d),Promise.reject(p)}}handleError(d,f){this.errorCount++,this.fireError(d,f,this.errorCount)}end(){this.writable.end()}}return Di.WriteableStreamMessageWriter=u,Di}var ou={},Jk;function e7(){if(Jk)return ou;Jk=1,Object.defineProperty(ou,"__esModule",{value:!0}),ou.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
|
|
128
|
-
`;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const o=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(o),this._totalLength+=o.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let o=0,a=0,c=0,u=0;e:for(;a<this._chunks.length;){const h=this._chunks[a];for(c=0;c<h.length;){switch(h[c]){case t:switch(o){case 0:o=1;break;case 2:o=3;break;default:o=0}break;case e:switch(o){case 1:o=2;break;case 3:o=4,c++;break e;default:o=0}break;default:o=0}c++}u+=h.byteLength,a++}if(o!==4)return;const l=this._read(u+c),d=new Map,f=this.toString(l,"ascii").split(n);if(f.length<2)return d;for(let h=0;h<f.length-2;h++){const p=f[h],m=p.indexOf(":");if(m===-1)throw new Error(`Message header must separate key and value using ':'
|
|
129
|
-
${p}`);const g=p.substr(0,m),y=p.substr(m+1).trim();d.set(s?g.toLowerCase():g,y)}return d}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const u=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(u)}if(this._chunks[0].byteLength>s){const u=this._chunks[0],l=this.asNative(u,s);return this._chunks[0]=u.slice(s),this._totalLength-=s,l}const o=this.allocNative(s);let a=0,c=0;for(;s>0;){const u=this._chunks[c];if(u.byteLength>s){const l=u.slice(0,s);o.set(l,a),a+=s,this._chunks[c]=u.slice(s),this._totalLength-=s,s-=s}else o.set(u,a),a+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,s-=u.byteLength}return o}}return ou.AbstractMessageBuffer=r,ou}var pv={},Zk;function t7(){return Zk||(Zk=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=qs(),n=eu(),r=jk(),i=Gk(),s=ta(),o=eh();var a;(function(R){R.type=new r.NotificationType("$/cancelRequest")})(a||(a={}));var c;(function(R){function F(W){return typeof W=="string"||typeof W=="number"}R.is=F})(c||(t.ProgressToken=c={}));var u;(function(R){R.type=new r.NotificationType("$/progress")})(u||(u={}));class l{constructor(){}}t.ProgressType=l;var d;(function(R){function F(W){return n.func(W)}R.is=F})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var f;(function(R){R[R.Off=0]="Off",R[R.Messages=1]="Messages",R[R.Compact=2]="Compact",R[R.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var h;(function(R){R.Off="off",R.Messages="messages",R.Compact="compact",R.Verbose="verbose"})(h||(t.TraceValues=h={})),function(R){function F(V){if(!n.string(V))return R.Off;switch(V=V.toLowerCase(),V){case"off":return R.Off;case"messages":return R.Messages;case"compact":return R.Compact;case"verbose":return R.Verbose;default:return R.Off}}R.fromString=F;function W(V){switch(V){case R.Off:return"off";case R.Messages:return"messages";case R.Compact:return"compact";case R.Verbose:return"verbose";default:return"off"}}R.toString=W}(f||(t.Trace=f={}));var p;(function(R){R.Text="text",R.JSON="json"})(p||(t.TraceFormat=p={})),function(R){function F(W){return n.string(W)?(W=W.toLowerCase(),W==="json"?R.JSON:R.Text):R.Text}R.fromString=F}(p||(t.TraceFormat=p={}));var m;(function(R){R.type=new r.NotificationType("$/setTrace")})(m||(t.SetTraceNotification=m={}));var g;(function(R){R.type=new r.NotificationType("$/logTrace")})(g||(t.LogTraceNotification=g={}));var y;(function(R){R[R.Closed=1]="Closed",R[R.Disposed=2]="Disposed",R[R.AlreadyListening=3]="AlreadyListening"})(y||(t.ConnectionErrors=y={}));class w extends Error{constructor(F,W){super(W),this.code=F,Object.setPrototypeOf(this,w.prototype)}}t.ConnectionError=w;var E;(function(R){function F(W){const V=W;return V&&n.func(V.cancelUndispatched)}R.is=F})(E||(t.ConnectionStrategy=E={}));var k;(function(R){function F(W){const V=W;return V&&(V.kind===void 0||V.kind==="id")&&n.func(V.createCancellationTokenSource)&&(V.dispose===void 0||n.func(V.dispose))}R.is=F})(k||(t.IdCancellationReceiverStrategy=k={}));var A;(function(R){function F(W){const V=W;return V&&V.kind==="request"&&n.func(V.createCancellationTokenSource)&&(V.dispose===void 0||n.func(V.dispose))}R.is=F})(A||(t.RequestCancellationReceiverStrategy=A={}));var I;(function(R){R.Message=Object.freeze({createCancellationTokenSource(W){return new o.CancellationTokenSource}});function F(W){return k.is(W)||A.is(W)}R.is=F})(I||(t.CancellationReceiverStrategy=I={}));var x;(function(R){R.Message=Object.freeze({sendCancellation(W,V){return W.sendNotification(a.type,{id:V})},cleanup(W){}});function F(W){const V=W;return V&&n.func(V.sendCancellation)&&n.func(V.cleanup)}R.is=F})(x||(t.CancellationSenderStrategy=x={}));var _;(function(R){R.Message=Object.freeze({receiver:I.Message,sender:x.Message});function F(W){const V=W;return V&&I.is(V.receiver)&&x.is(V.sender)}R.is=F})(_||(t.CancellationStrategy=_={}));var P;(function(R){function F(W){const V=W;return V&&n.func(V.handleMessage)}R.is=F})(P||(t.MessageStrategy=P={}));var O;(function(R){function F(W){const V=W;return V&&(_.is(V.cancellationStrategy)||E.is(V.connectionStrategy)||P.is(V.messageStrategy))}R.is=F})(O||(t.ConnectionOptions=O={}));var C;(function(R){R[R.New=1]="New",R[R.Listening=2]="Listening",R[R.Closed=3]="Closed",R[R.Disposed=4]="Disposed"})(C||(C={}));function D(R,F,W,V){const Z=W!==void 0?W:t.NullLogger;let Le=0,se=0,K=0;const Te="2.0";let ut;const H=new Map;let Y;const ee=new Map,ne=new Map;let fe,Ee=new i.LinkedMap,ge=new Map,ce=new Set,M=new Map,U=f.Off,oe=p.Text,G,Fe=C.New;const yt=new s.Emitter,mn=new s.Emitter,nr=new s.Emitter,rr=new s.Emitter,ir=new s.Emitter,qt=V&&V.cancellationStrategy?V.cancellationStrategy:_.Message;function _n(S){if(S===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+S.toString()}function Yr(S){return S===null?"res-unknown-"+(++K).toString():"res-"+S.toString()}function zn(){return"not-"+(++se).toString()}function gn(S,q){r.Message.isRequest(q)?S.set(_n(q.id),q):r.Message.isResponse(q)?S.set(Yr(q.id),q):S.set(zn(),q)}function Bn(S){}function tn(){return Fe===C.Listening}function X(){return Fe===C.Closed}function J(){return Fe===C.Disposed}function le(){(Fe===C.New||Fe===C.Listening)&&(Fe=C.Closed,mn.fire(void 0))}function jt(S){yt.fire([S,void 0,void 0])}function Ft(S){yt.fire(S)}R.onClose(le),R.onError(jt),F.onClose(le),F.onError(Ft);function Rr(){fe||Ee.size===0||(fe=(0,e.default)().timer.setImmediate(()=>{fe=void 0,fs()}))}function Ai(S){r.Message.isRequest(S)?ps(S):r.Message.isNotification(S)?xi(S):r.Message.isResponse(S)?ms(S):Ii(S)}function fs(){if(Ee.size===0)return;const S=Ee.shift();try{const q=V?.messageStrategy;P.is(q)?q.handleMessage(S,Ai):Ai(S)}finally{Rr()}}const hs=S=>{try{if(r.Message.isNotification(S)&&S.method===a.type.method){const q=S.params.id,te=_n(q),ie=Ee.get(te);if(r.Message.isRequest(ie)){const _e=V?.connectionStrategy,Ue=_e&&_e.cancelUndispatched?_e.cancelUndispatched(ie,Bn):void 0;if(Ue&&(Ue.error!==void 0||Ue.result!==void 0)){Ee.delete(te),M.delete(q),Ue.id=ie.id,Sr(Ue,S.method,Date.now()),F.write(Ue).catch(()=>Z.error("Sending response for canceled message failed."));return}}const xe=M.get(q);if(xe!==void 0){xe.cancel(),Xr(S);return}else ce.add(q)}gn(Ee,S)}finally{Rr()}};function ps(S){if(J())return;function q($e,Ze,Ge){const Pt={jsonrpc:Te,id:S.id};$e instanceof r.ResponseError?Pt.error=$e.toJson():Pt.result=$e===void 0?null:$e,Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}function te($e,Ze,Ge){const Pt={jsonrpc:Te,id:S.id,error:$e.toJson()};Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}function ie($e,Ze,Ge){$e===void 0&&($e=null);const Pt={jsonrpc:Te,id:S.id,result:$e};Sr(Pt,Ze,Ge),F.write(Pt).catch(()=>Z.error("Sending response failed."))}vs(S);const xe=H.get(S.method);let _e,Ue;xe&&(_e=xe.type,Ue=xe.handler);const he=Date.now();if(Ue||ut){const $e=S.id??String(Date.now()),Ze=k.is(qt.receiver)?qt.receiver.createCancellationTokenSource($e):qt.receiver.createCancellationTokenSource(S);S.id!==null&&ce.has(S.id)&&Ze.cancel(),S.id!==null&&M.set($e,Ze);try{let Ge;if(Ue)if(S.params===void 0){if(_e!==void 0&&_e.numberOfParams!==0){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines ${_e.numberOfParams} params but received none.`),S.method,he);return}Ge=Ue(Ze.token)}else if(Array.isArray(S.params)){if(_e!==void 0&&_e.parameterStructures===r.ParameterStructures.byName){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines parameters by name but received parameters by position`),S.method,he);return}Ge=Ue(...S.params,Ze.token)}else{if(_e!==void 0&&_e.parameterStructures===r.ParameterStructures.byPosition){te(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${S.method} defines parameters by position but received parameters by name`),S.method,he);return}Ge=Ue(S.params,Ze.token)}else ut&&(Ge=ut(S.method,S.params,Ze.token));const Pt=Ge;Ge?Pt.then?Pt.then(nn=>{M.delete($e),q(nn,S.method,he)},nn=>{M.delete($e),nn instanceof r.ResponseError?te(nn,S.method,he):nn&&n.string(nn.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${nn.message}`),S.method,he):te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed unexpectedly without providing any details.`),S.method,he)}):(M.delete($e),q(Ge,S.method,he)):(M.delete($e),ie(Ge,S.method,he))}catch(Ge){M.delete($e),Ge instanceof r.ResponseError?q(Ge,S.method,he):Ge&&n.string(Ge.message)?te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed with message: ${Ge.message}`),S.method,he):te(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${S.method} failed unexpectedly without providing any details.`),S.method,he)}}else te(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${S.method}`),S.method,he)}function ms(S){if(!J())if(S.id===null)S.error?Z.error(`Received response message without id: Error is:
|
|
130
|
-
${JSON.stringify(S.error,void 0,4)}`):Z.error("Received response message without id. No further error information provided.");else{const q=S.id,te=ge.get(q);if(ws(S,te),te!==void 0){ge.delete(q);try{if(S.error){const ie=S.error;te.reject(new r.ResponseError(ie.code,ie.message,ie.data))}else if(S.result!==void 0)te.resolve(S.result);else throw new Error("Should never happen.")}catch(ie){ie.message?Z.error(`Response handler '${te.method}' failed with message: ${ie.message}`):Z.error(`Response handler '${te.method}' failed unexpectedly.`)}}}}function xi(S){if(J())return;let q,te;if(S.method===a.type.method){const ie=S.params.id;ce.delete(ie),Xr(S);return}else{const ie=ee.get(S.method);ie&&(te=ie.handler,q=ie.type)}if(te||Y)try{if(Xr(S),te)if(S.params===void 0)q!==void 0&&q.numberOfParams!==0&&q.parameterStructures!==r.ParameterStructures.byName&&Z.error(`Notification ${S.method} defines ${q.numberOfParams} params but received none.`),te();else if(Array.isArray(S.params)){const ie=S.params;S.method===u.type.method&&ie.length===2&&c.is(ie[0])?te({token:ie[0],value:ie[1]}):(q!==void 0&&(q.parameterStructures===r.ParameterStructures.byName&&Z.error(`Notification ${S.method} defines parameters by name but received parameters by position`),q.numberOfParams!==S.params.length&&Z.error(`Notification ${S.method} defines ${q.numberOfParams} params but received ${ie.length} arguments`)),te(...ie))}else q!==void 0&&q.parameterStructures===r.ParameterStructures.byPosition&&Z.error(`Notification ${S.method} defines parameters by position but received parameters by name`),te(S.params);else Y&&Y(S.method,S.params)}catch(ie){ie.message?Z.error(`Notification handler '${S.method}' failed with message: ${ie.message}`):Z.error(`Notification handler '${S.method}' failed unexpectedly.`)}else nr.fire(S)}function Ii(S){if(!S){Z.error("Received empty message.");return}Z.error(`Received message which is neither a response nor a notification message:
|
|
131
|
-
${JSON.stringify(S,null,4)}`);const q=S;if(n.string(q.id)||n.number(q.id)){const te=q.id,ie=ge.get(te);ie&&ie.reject(new Error("The received response has neither a result nor an error property."))}}function yn(S){if(S!=null)switch(U){case f.Verbose:return JSON.stringify(S,null,4);case f.Compact:return JSON.stringify(S);default:return}}function gs(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${yn(S.params)}
|
|
132
|
-
|
|
133
|
-
`),G.log(`Sending request '${S.method} - (${S.id})'.`,q)}else qn("send-request",S)}function ys(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${yn(S.params)}
|
|
134
|
-
|
|
135
|
-
`:q=`No parameters provided.
|
|
136
|
-
|
|
137
|
-
`),G.log(`Sending notification '${S.method}'.`,q)}else qn("send-notification",S)}function Sr(S,q,te){if(!(U===f.Off||!G))if(oe===p.Text){let ie;(U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?ie=`Error data: ${yn(S.error.data)}
|
|
138
|
-
|
|
139
|
-
`:S.result?ie=`Result: ${yn(S.result)}
|
|
140
|
-
|
|
141
|
-
`:S.error===void 0&&(ie=`No result returned.
|
|
142
|
-
|
|
143
|
-
`)),G.log(`Sending response '${q} - (${S.id})'. Processing request took ${Date.now()-te}ms`,ie)}else qn("send-response",S)}function vs(S){if(!(U===f.Off||!G))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&S.params&&(q=`Params: ${yn(S.params)}
|
|
144
|
-
|
|
145
|
-
`),G.log(`Received request '${S.method} - (${S.id})'.`,q)}else qn("receive-request",S)}function Xr(S){if(!(U===f.Off||!G||S.method===g.type.method))if(oe===p.Text){let q;(U===f.Verbose||U===f.Compact)&&(S.params?q=`Params: ${yn(S.params)}
|
|
146
|
-
|
|
147
|
-
`:q=`No parameters provided.
|
|
148
|
-
|
|
149
|
-
`),G.log(`Received notification '${S.method}'.`,q)}else qn("receive-notification",S)}function ws(S,q){if(!(U===f.Off||!G))if(oe===p.Text){let te;if((U===f.Verbose||U===f.Compact)&&(S.error&&S.error.data?te=`Error data: ${yn(S.error.data)}
|
|
150
|
-
|
|
151
|
-
`:S.result?te=`Result: ${yn(S.result)}
|
|
152
|
-
|
|
153
|
-
`:S.error===void 0&&(te=`No result returned.
|
|
154
|
-
|
|
155
|
-
`)),q){const ie=S.error?` Request failed: ${S.error.message} (${S.error.code}).`:"";G.log(`Received response '${q.method} - (${S.id})' in ${Date.now()-q.timerStart}ms.${ie}`,te)}else G.log(`Received response ${S.id} without active response promise.`,te)}else qn("receive-response",S)}function qn(S,q){if(!G||U===f.Off)return;const te={isLSPMessage:!0,type:S,message:q,timestamp:Date.now()};G.log(te)}function sr(){if(X())throw new w(y.Closed,"Connection is closed.");if(J())throw new w(y.Disposed,"Connection is disposed.")}function Eo(){if(tn())throw new w(y.AlreadyListening,"Connection is already listening")}function z(){if(!tn())throw new Error("Call listen() first.")}function T(S){return S===void 0?null:S}function N(S){if(S!==null)return S}function v(S){return S!=null&&!Array.isArray(S)&&typeof S=="object"}function $(S,q){switch(S){case r.ParameterStructures.auto:return v(q)?N(q):[T(q)];case r.ParameterStructures.byName:if(!v(q))throw new Error("Received parameters by name but param is not an object literal.");return N(q);case r.ParameterStructures.byPosition:return[T(q)];default:throw new Error(`Unknown parameter structure ${S.toString()}`)}}function b(S,q){let te;const ie=S.numberOfParams;switch(ie){case 0:te=void 0;break;case 1:te=$(S.parameterStructures,q[0]);break;default:te=[];for(let xe=0;xe<q.length&&xe<ie;xe++)te.push(T(q[xe]));if(q.length<ie)for(let xe=q.length;xe<ie;xe++)te.push(null);break}return te}const L={sendNotification:(S,...q)=>{sr();let te,ie;if(n.string(S)){te=S;const _e=q[0];let Ue=0,he=r.ParameterStructures.auto;r.ParameterStructures.is(_e)&&(Ue=1,he=_e);let $e=q.length;const Ze=$e-Ue;switch(Ze){case 0:ie=void 0;break;case 1:ie=$(he,q[Ue]);break;default:if(he===r.ParameterStructures.byName)throw new Error(`Received ${Ze} parameters for 'by Name' notification parameter structure.`);ie=q.slice(Ue,$e).map(Ge=>T(Ge));break}}else{const _e=q;te=S.method,ie=b(S,_e)}const xe={jsonrpc:Te,method:te,params:ie};return ys(xe),F.write(xe).catch(_e=>{throw Z.error("Sending notification failed."),_e})},onNotification:(S,q)=>{sr();let te;return n.func(S)?Y=S:q&&(n.string(S)?(te=S,ee.set(S,{type:void 0,handler:q})):(te=S.method,ee.set(S.method,{type:S,handler:q}))),{dispose:()=>{te!==void 0?ee.delete(te):Y=void 0}}},onProgress:(S,q,te)=>{if(ne.has(q))throw new Error(`Progress handler for token ${q} already registered`);return ne.set(q,te),{dispose:()=>{ne.delete(q)}}},sendProgress:(S,q,te)=>L.sendNotification(u.type,{token:q,value:te}),onUnhandledProgress:rr.event,sendRequest:(S,...q)=>{sr(),z();let te,ie,xe;if(n.string(S)){te=S;const $e=q[0],Ze=q[q.length-1];let Ge=0,Pt=r.ParameterStructures.auto;r.ParameterStructures.is($e)&&(Ge=1,Pt=$e);let nn=q.length;o.CancellationToken.is(Ze)&&(nn=nn-1,xe=Ze);const kr=nn-Ge;switch(kr){case 0:ie=void 0;break;case 1:ie=$(Pt,q[Ge]);break;default:if(Pt===r.ParameterStructures.byName)throw new Error(`Received ${kr} parameters for 'by Name' request parameter structure.`);ie=q.slice(Ge,nn).map(v2=>T(v2));break}}else{const $e=q;te=S.method,ie=b(S,$e);const Ze=S.numberOfParams;xe=o.CancellationToken.is($e[Ze])?$e[Ze]:void 0}const _e=Le++;let Ue;xe&&(Ue=xe.onCancellationRequested(()=>{const $e=qt.sender.sendCancellation(L,_e);return $e===void 0?(Z.log(`Received no promise from cancellation strategy when cancelling id ${_e}`),Promise.resolve()):$e.catch(()=>{Z.log(`Sending cancellation messages for id ${_e} failed`)})}));const he={jsonrpc:Te,id:_e,method:te,params:ie};return gs(he),typeof qt.sender.enableCancellation=="function"&&qt.sender.enableCancellation(he),new Promise(async($e,Ze)=>{const Ge=kr=>{$e(kr),qt.sender.cleanup(_e),Ue?.dispose()},Pt=kr=>{Ze(kr),qt.sender.cleanup(_e),Ue?.dispose()},nn={method:te,timerStart:Date.now(),resolve:Ge,reject:Pt};try{await F.write(he),ge.set(_e,nn)}catch(kr){throw Z.error("Sending request failed."),nn.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,kr.message?kr.message:"Unknown reason")),kr}})},onRequest:(S,q)=>{sr();let te=null;return d.is(S)?(te=void 0,ut=S):n.string(S)?(te=null,q!==void 0&&(te=S,H.set(S,{handler:q,type:void 0}))):q!==void 0&&(te=S.method,H.set(S.method,{type:S,handler:q})),{dispose:()=>{te!==null&&(te!==void 0?H.delete(te):ut=void 0)}}},hasPendingResponse:()=>ge.size>0,trace:async(S,q,te)=>{let ie=!1,xe=p.Text;te!==void 0&&(n.boolean(te)?ie=te:(ie=te.sendNotification||!1,xe=te.traceFormat||p.Text)),U=S,oe=xe,U===f.Off?G=void 0:G=q,ie&&!X()&&!J()&&await L.sendNotification(m.type,{value:f.toString(S)})},onError:yt.event,onClose:mn.event,onUnhandledNotification:nr.event,onDispose:ir.event,end:()=>{F.end()},dispose:()=>{if(J())return;Fe=C.Disposed,ir.fire(void 0);const S=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const q of ge.values())q.reject(S);ge=new Map,M=new Map,ce=new Set,Ee=new i.LinkedMap,n.func(F.dispose)&&F.dispose(),n.func(R.dispose)&&R.dispose()},listen:()=>{sr(),Eo(),Fe=C.Listening,R.listen(hs)},inspect:()=>{(0,e.default)().console.log("inspect")}};return L.onNotification(g.type,S=>{if(U===f.Off||!G)return;const q=U===f.Verbose||U===f.Compact;G.log(S.message,q?S.verbose:void 0)}),L.onNotification(u.type,S=>{const q=ne.get(S.token);q?q(S.value):rr.fire(S)}),L}t.createMessageConnection=D}(pv)),pv}var Qk;function mv(){return Qk||(Qk=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=jk();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=Gk();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=X9();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=ta();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=eh();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const o=J9();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return o.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return o.SharedArrayReceiverStrategy}});const a=Z9();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const c=Q9();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const u=e7();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return u.AbstractMessageBuffer}});const l=t7();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return l.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return l.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return l.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return l.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return l.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return l.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return l.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return l.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return l.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return l.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return l.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return l.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return l.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return l.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return l.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return l.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return l.MessageStrategy}});const d=qs();t.RAL=d.default}(hv)),hv}var e$;function n7(){if(e$)return fh;e$=1,Object.defineProperty(fh,"__esModule",{value:!0});const t=Y9,e=mv();class n extends e.AbstractMessageBuffer{constructor(c="utf-8"){super(c)}emptyBuffer(){return n.emptyBuffer}fromString(c,u){return Buffer.from(c,u)}toString(c,u){return c instanceof Buffer?c.toString(u):new t.TextDecoder(u).decode(c)}asNative(c,u){return u===void 0?c instanceof Buffer?c:Buffer.from(c):c instanceof Buffer?c.slice(0,u):Buffer.from(c,0,u)}allocNative(c){return Buffer.allocUnsafe(c)}}n.emptyBuffer=Buffer.allocUnsafe(0);class r{constructor(c){this.stream=c}onClose(c){return this.stream.on("close",c),e.Disposable.create(()=>this.stream.off("close",c))}onError(c){return this.stream.on("error",c),e.Disposable.create(()=>this.stream.off("error",c))}onEnd(c){return this.stream.on("end",c),e.Disposable.create(()=>this.stream.off("end",c))}onData(c){return this.stream.on("data",c),e.Disposable.create(()=>this.stream.off("data",c))}}class i{constructor(c){this.stream=c}onClose(c){return this.stream.on("close",c),e.Disposable.create(()=>this.stream.off("close",c))}onError(c){return this.stream.on("error",c),e.Disposable.create(()=>this.stream.off("error",c))}onEnd(c){return this.stream.on("end",c),e.Disposable.create(()=>this.stream.off("end",c))}write(c,u){return new Promise((l,d)=>{const f=h=>{h==null?l():d(h)};typeof c=="string"?this.stream.write(c,u,f):this.stream.write(c,f)})}end(){this.stream.end()}}const s=Object.freeze({messageBuffer:Object.freeze({create:a=>new n(a)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(a,c)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(a,void 0,0),c.charset))}catch(u){return Promise.reject(u)}}}),decoder:Object.freeze({name:"application/json",decode:(a,c)=>{try{return a instanceof Buffer?Promise.resolve(JSON.parse(a.toString(c.charset))):Promise.resolve(JSON.parse(new t.TextDecoder(c.charset).decode(a)))}catch(u){return Promise.reject(u)}}})}),stream:Object.freeze({asReadableStream:a=>new r(a),asWritableStream:a=>new i(a)}),console,timer:Object.freeze({setTimeout(a,c,...u){const l=setTimeout(a,c,...u);return{dispose:()=>clearTimeout(l)}},setImmediate(a,...c){const u=setImmediate(a,...c);return{dispose:()=>clearImmediate(u)}},setInterval(a,c,...u){const l=setInterval(a,c,...u);return{dispose:()=>clearInterval(l)}}})});function o(){return s}return function(a){function c(){e.RAL.install(s)}a.install=c}(o||(o={})),fh.default=o,fh}const au=ui(L2),r7=ui(F2),t$=ui(M2),i7=ui(z2);var n$;function Ks(){return n$||(n$=1,function(t){var e=Hs&&Hs.__createBinding||(Object.create?function(C,D,R,F){F===void 0&&(F=R);var W=Object.getOwnPropertyDescriptor(D,R);(!W||("get"in W?!D.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return D[R]}}),Object.defineProperty(C,F,W)}:function(C,D,R,F){F===void 0&&(F=R),C[F]=D[R]}),n=Hs&&Hs.__exportStar||function(C,D){for(var R in C)R!=="default"&&!Object.prototype.hasOwnProperty.call(D,R)&&e(D,C,R)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.PortMessageWriter=t.PortMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const r=n7();r.default.install();const i=au,s=r7,o=t$,a=i7,c=mv();n(mv(),t);class u extends c.AbstractMessageReader{constructor(D){super(),this.process=D;let R=this.process;R.on("error",F=>this.fireError(F)),R.on("close",()=>this.fireClose())}listen(D){return this.process.on("message",D),c.Disposable.create(()=>this.process.off("message",D))}}t.IPCMessageReader=u;class l extends c.AbstractMessageWriter{constructor(D){super(),this.process=D,this.errorCount=0;const R=this.process;R.on("error",F=>this.fireError(F)),R.on("close",()=>this.fireClose)}write(D){try{return typeof this.process.send=="function"&&this.process.send(D,void 0,void 0,R=>{R?(this.errorCount++,this.handleError(R,D)):this.errorCount=0}),Promise.resolve()}catch(R){return this.handleError(R,D),Promise.reject(R)}}handleError(D,R){this.errorCount++,this.fireError(D,R,this.errorCount)}end(){}}t.IPCMessageWriter=l;class d extends c.AbstractMessageReader{constructor(D){super(),this.onData=new c.Emitter,D.on("close",()=>this.fireClose),D.on("error",R=>this.fireError(R)),D.on("message",R=>{this.onData.fire(R)})}listen(D){return this.onData.event(D)}}t.PortMessageReader=d;class f extends c.AbstractMessageWriter{constructor(D){super(),this.port=D,this.errorCount=0,D.on("close",()=>this.fireClose()),D.on("error",R=>this.fireError(R))}write(D){try{return this.port.postMessage(D),Promise.resolve()}catch(R){return this.handleError(R,D),Promise.reject(R)}}handleError(D,R){this.errorCount++,this.fireError(D,R,this.errorCount)}end(){}}t.PortMessageWriter=f;class h extends c.ReadableStreamMessageReader{constructor(D,R="utf-8"){super((0,r.default)().stream.asReadableStream(D),R)}}t.SocketMessageReader=h;class p extends c.WriteableStreamMessageWriter{constructor(D,R){super((0,r.default)().stream.asWritableStream(D),R),this.socket=D}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=p;class m extends c.ReadableStreamMessageReader{constructor(D,R){super((0,r.default)().stream.asReadableStream(D),R)}}t.StreamMessageReader=m;class g extends c.WriteableStreamMessageWriter{constructor(D,R){super((0,r.default)().stream.asWritableStream(D),R)}}t.StreamMessageWriter=g;const y=process.env.XDG_RUNTIME_DIR,w=new Map([["linux",107],["darwin",103]]);function E(){const C=(0,o.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${C}-sock`;let D;y?D=i.join(y,`vscode-ipc-${C}.sock`):D=i.join(s.tmpdir(),`vscode-${C}.sock`);const R=w.get(process.platform);return R!==void 0&&D.length>R&&(0,r.default)().console.warn(`WARNING: IPC handle "${D}" is longer than ${R} characters.`),D}t.generateRandomPipeName=E;function k(C,D="utf-8"){let R;const F=new Promise((W,V)=>{R=W});return new Promise((W,V)=>{let Z=(0,a.createServer)(Le=>{Z.close(),R([new h(Le,D),new p(Le,D)])});Z.on("error",V),Z.listen(C,()=>{Z.removeListener("error",V),W({onConnected:()=>F})})})}t.createClientPipeTransport=k;function A(C,D="utf-8"){const R=(0,a.createConnection)(C);return[new h(R,D),new p(R,D)]}t.createServerPipeTransport=A;function I(C,D="utf-8"){let R;const F=new Promise((W,V)=>{R=W});return new Promise((W,V)=>{const Z=(0,a.createServer)(Le=>{Z.close(),R([new h(Le,D),new p(Le,D)])});Z.on("error",V),Z.listen(C,"127.0.0.1",()=>{Z.removeListener("error",V),W({onConnected:()=>F})})})}t.createClientSocketTransport=I;function x(C,D="utf-8"){const R=(0,a.createConnection)(C,"127.0.0.1");return[new h(R,D),new p(R,D)]}t.createServerSocketTransport=x;function _(C){const D=C;return D.read!==void 0&&D.addListener!==void 0}function P(C){const D=C;return D.write!==void 0&&D.addListener!==void 0}function O(C,D,R,F){R||(R=c.NullLogger);const W=_(C)?new m(C):C,V=P(D)?new g(D):D;return c.ConnectionStrategy.is(F)&&(F={connectionStrategy:F}),(0,c.createMessageConnection)(W,V,R,F)}t.createMessageConnection=O}(Hs)),Hs}var gv,r$;function i$(){return r$||(r$=1,gv=Ks()),gv}var Ys={};function s$(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var hh={exports:{}},o$;function yv(){return o$||(o$=1,function(t,e){(function(n){{var r=n(s$,e);r!==void 0&&(t.exports=r)}})(function(n,r){Object.defineProperty(r,"__esModule",{value:!0}),r.TextDocument=r.EOL=r.WorkspaceFolder=r.InlineCompletionContext=r.SelectedCompletionInfo=r.InlineCompletionTriggerKind=r.InlineCompletionList=r.InlineCompletionItem=r.StringValue=r.InlayHint=r.InlayHintLabelPart=r.InlayHintKind=r.InlineValueContext=r.InlineValueEvaluatableExpression=r.InlineValueVariableLookup=r.InlineValueText=r.SemanticTokens=r.SemanticTokenModifiers=r.SemanticTokenTypes=r.SelectionRange=r.DocumentLink=r.FormattingOptions=r.CodeLens=r.CodeAction=r.CodeActionContext=r.CodeActionTriggerKind=r.CodeActionKind=r.DocumentSymbol=r.WorkspaceSymbol=r.SymbolInformation=r.SymbolTag=r.SymbolKind=r.DocumentHighlight=r.DocumentHighlightKind=r.SignatureInformation=r.ParameterInformation=r.Hover=r.MarkedString=r.CompletionList=r.CompletionItem=r.CompletionItemLabelDetails=r.InsertTextMode=r.InsertReplaceEdit=r.CompletionItemTag=r.InsertTextFormat=r.CompletionItemKind=r.MarkupContent=r.MarkupKind=r.TextDocumentItem=r.OptionalVersionedTextDocumentIdentifier=r.VersionedTextDocumentIdentifier=r.TextDocumentIdentifier=r.WorkspaceChange=r.WorkspaceEdit=r.DeleteFile=r.RenameFile=r.CreateFile=r.TextDocumentEdit=r.AnnotatedTextEdit=r.ChangeAnnotationIdentifier=r.ChangeAnnotation=r.TextEdit=r.Command=r.Diagnostic=r.CodeDescription=r.DiagnosticTag=r.DiagnosticSeverity=r.DiagnosticRelatedInformation=r.FoldingRange=r.FoldingRangeKind=r.ColorPresentation=r.ColorInformation=r.Color=r.LocationLink=r.Location=r.Range=r.Position=r.uinteger=r.integer=r.URI=r.DocumentUri=void 0;var i;(function(T){function N(v){return typeof v=="string"}T.is=N})(i||(r.DocumentUri=i={}));var s;(function(T){function N(v){return typeof v=="string"}T.is=N})(s||(r.URI=s={}));var o;(function(T){T.MIN_VALUE=-2147483648,T.MAX_VALUE=2147483647;function N(v){return typeof v=="number"&&T.MIN_VALUE<=v&&v<=T.MAX_VALUE}T.is=N})(o||(r.integer=o={}));var a;(function(T){T.MIN_VALUE=0,T.MAX_VALUE=2147483647;function N(v){return typeof v=="number"&&T.MIN_VALUE<=v&&v<=T.MAX_VALUE}T.is=N})(a||(r.uinteger=a={}));var c;(function(T){function N($,b){return $===Number.MAX_VALUE&&($=a.MAX_VALUE),b===Number.MAX_VALUE&&(b=a.MAX_VALUE),{line:$,character:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.uinteger(b.line)&&z.uinteger(b.character)}T.is=v})(c||(r.Position=c={}));var u;(function(T){function N($,b,L,S){if(z.uinteger($)&&z.uinteger(b)&&z.uinteger(L)&&z.uinteger(S))return{start:c.create($,b),end:c.create(L,S)};if(c.is($)&&c.is(b))return{start:$,end:b};throw new Error("Range#create called with invalid arguments[".concat($,", ").concat(b,", ").concat(L,", ").concat(S,"]"))}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&c.is(b.start)&&c.is(b.end)}T.is=v})(u||(r.Range=u={}));var l;(function(T){function N($,b){return{uri:$,range:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&(z.string(b.uri)||z.undefined(b.uri))}T.is=v})(l||(r.Location=l={}));var d;(function(T){function N($,b,L,S){return{targetUri:$,targetRange:b,targetSelectionRange:L,originSelectionRange:S}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.targetRange)&&z.string(b.targetUri)&&u.is(b.targetSelectionRange)&&(u.is(b.originSelectionRange)||z.undefined(b.originSelectionRange))}T.is=v})(d||(r.LocationLink=d={}));var f;(function(T){function N($,b,L,S){return{red:$,green:b,blue:L,alpha:S}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.numberRange(b.red,0,1)&&z.numberRange(b.green,0,1)&&z.numberRange(b.blue,0,1)&&z.numberRange(b.alpha,0,1)}T.is=v})(f||(r.Color=f={}));var h;(function(T){function N($,b){return{range:$,color:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&f.is(b.color)}T.is=v})(h||(r.ColorInformation=h={}));var p;(function(T){function N($,b,L){return{label:$,textEdit:b,additionalTextEdits:L}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.string(b.label)&&(z.undefined(b.textEdit)||x.is(b))&&(z.undefined(b.additionalTextEdits)||z.typedArray(b.additionalTextEdits,x.is))}T.is=v})(p||(r.ColorPresentation=p={}));var m;(function(T){T.Comment="comment",T.Imports="imports",T.Region="region"})(m||(r.FoldingRangeKind=m={}));var g;(function(T){function N($,b,L,S,q,te){var ie={startLine:$,endLine:b};return z.defined(L)&&(ie.startCharacter=L),z.defined(S)&&(ie.endCharacter=S),z.defined(q)&&(ie.kind=q),z.defined(te)&&(ie.collapsedText=te),ie}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.uinteger(b.startLine)&&z.uinteger(b.startLine)&&(z.undefined(b.startCharacter)||z.uinteger(b.startCharacter))&&(z.undefined(b.endCharacter)||z.uinteger(b.endCharacter))&&(z.undefined(b.kind)||z.string(b.kind))}T.is=v})(g||(r.FoldingRange=g={}));var y;(function(T){function N($,b){return{location:$,message:b}}T.create=N;function v($){var b=$;return z.defined(b)&&l.is(b.location)&&z.string(b.message)}T.is=v})(y||(r.DiagnosticRelatedInformation=y={}));var w;(function(T){T.Error=1,T.Warning=2,T.Information=3,T.Hint=4})(w||(r.DiagnosticSeverity=w={}));var E;(function(T){T.Unnecessary=1,T.Deprecated=2})(E||(r.DiagnosticTag=E={}));var k;(function(T){function N(v){var $=v;return z.objectLiteral($)&&z.string($.href)}T.is=N})(k||(r.CodeDescription=k={}));var A;(function(T){function N($,b,L,S,q,te){var ie={range:$,message:b};return z.defined(L)&&(ie.severity=L),z.defined(S)&&(ie.code=S),z.defined(q)&&(ie.source=q),z.defined(te)&&(ie.relatedInformation=te),ie}T.create=N;function v($){var b,L=$;return z.defined(L)&&u.is(L.range)&&z.string(L.message)&&(z.number(L.severity)||z.undefined(L.severity))&&(z.integer(L.code)||z.string(L.code)||z.undefined(L.code))&&(z.undefined(L.codeDescription)||z.string((b=L.codeDescription)===null||b===void 0?void 0:b.href))&&(z.string(L.source)||z.undefined(L.source))&&(z.undefined(L.relatedInformation)||z.typedArray(L.relatedInformation,y.is))}T.is=v})(A||(r.Diagnostic=A={}));var I;(function(T){function N($,b){for(var L=[],S=2;S<arguments.length;S++)L[S-2]=arguments[S];var q={title:$,command:b};return z.defined(L)&&L.length>0&&(q.arguments=L),q}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.title)&&z.string(b.command)}T.is=v})(I||(r.Command=I={}));var x;(function(T){function N(L,S){return{range:L,newText:S}}T.replace=N;function v(L,S){return{range:{start:L,end:L},newText:S}}T.insert=v;function $(L){return{range:L,newText:""}}T.del=$;function b(L){var S=L;return z.objectLiteral(S)&&z.string(S.newText)&&u.is(S.range)}T.is=b})(x||(r.TextEdit=x={}));var _;(function(T){function N($,b,L){var S={label:$};return b!==void 0&&(S.needsConfirmation=b),L!==void 0&&(S.description=L),S}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&z.string(b.label)&&(z.boolean(b.needsConfirmation)||b.needsConfirmation===void 0)&&(z.string(b.description)||b.description===void 0)}T.is=v})(_||(r.ChangeAnnotation=_={}));var P;(function(T){function N(v){var $=v;return z.string($)}T.is=N})(P||(r.ChangeAnnotationIdentifier=P={}));var O;(function(T){function N(L,S,q){return{range:L,newText:S,annotationId:q}}T.replace=N;function v(L,S,q){return{range:{start:L,end:L},newText:S,annotationId:q}}T.insert=v;function $(L,S){return{range:L,newText:"",annotationId:S}}T.del=$;function b(L){var S=L;return x.is(S)&&(_.is(S.annotationId)||P.is(S.annotationId))}T.is=b})(O||(r.AnnotatedTextEdit=O={}));var C;(function(T){function N($,b){return{textDocument:$,edits:b}}T.create=N;function v($){var b=$;return z.defined(b)&&Te.is(b.textDocument)&&Array.isArray(b.edits)}T.is=v})(C||(r.TextDocumentEdit=C={}));var D;(function(T){function N($,b,L){var S={kind:"create",uri:$};return b!==void 0&&(b.overwrite!==void 0||b.ignoreIfExists!==void 0)&&(S.options=b),L!==void 0&&(S.annotationId=L),S}T.create=N;function v($){var b=$;return b&&b.kind==="create"&&z.string(b.uri)&&(b.options===void 0||(b.options.overwrite===void 0||z.boolean(b.options.overwrite))&&(b.options.ignoreIfExists===void 0||z.boolean(b.options.ignoreIfExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(D||(r.CreateFile=D={}));var R;(function(T){function N($,b,L,S){var q={kind:"rename",oldUri:$,newUri:b};return L!==void 0&&(L.overwrite!==void 0||L.ignoreIfExists!==void 0)&&(q.options=L),S!==void 0&&(q.annotationId=S),q}T.create=N;function v($){var b=$;return b&&b.kind==="rename"&&z.string(b.oldUri)&&z.string(b.newUri)&&(b.options===void 0||(b.options.overwrite===void 0||z.boolean(b.options.overwrite))&&(b.options.ignoreIfExists===void 0||z.boolean(b.options.ignoreIfExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(R||(r.RenameFile=R={}));var F;(function(T){function N($,b,L){var S={kind:"delete",uri:$};return b!==void 0&&(b.recursive!==void 0||b.ignoreIfNotExists!==void 0)&&(S.options=b),L!==void 0&&(S.annotationId=L),S}T.create=N;function v($){var b=$;return b&&b.kind==="delete"&&z.string(b.uri)&&(b.options===void 0||(b.options.recursive===void 0||z.boolean(b.options.recursive))&&(b.options.ignoreIfNotExists===void 0||z.boolean(b.options.ignoreIfNotExists)))&&(b.annotationId===void 0||P.is(b.annotationId))}T.is=v})(F||(r.DeleteFile=F={}));var W;(function(T){function N(v){var $=v;return $&&($.changes!==void 0||$.documentChanges!==void 0)&&($.documentChanges===void 0||$.documentChanges.every(function(b){return z.string(b.kind)?D.is(b)||R.is(b)||F.is(b):C.is(b)}))}T.is=N})(W||(r.WorkspaceEdit=W={}));var V=function(){function T(N,v){this.edits=N,this.changeAnnotations=v}return T.prototype.insert=function(N,v,$){var b,L;if($===void 0?b=x.insert(N,v):P.is($)?(L=$,b=O.insert(N,v,$)):(this.assertChangeAnnotations(this.changeAnnotations),L=this.changeAnnotations.manage($),b=O.insert(N,v,L)),this.edits.push(b),L!==void 0)return L},T.prototype.replace=function(N,v,$){var b,L;if($===void 0?b=x.replace(N,v):P.is($)?(L=$,b=O.replace(N,v,$)):(this.assertChangeAnnotations(this.changeAnnotations),L=this.changeAnnotations.manage($),b=O.replace(N,v,L)),this.edits.push(b),L!==void 0)return L},T.prototype.delete=function(N,v){var $,b;if(v===void 0?$=x.del(N):P.is(v)?(b=v,$=O.del(N,v)):(this.assertChangeAnnotations(this.changeAnnotations),b=this.changeAnnotations.manage(v),$=O.del(N,b)),this.edits.push($),b!==void 0)return b},T.prototype.add=function(N){this.edits.push(N)},T.prototype.all=function(){return this.edits},T.prototype.clear=function(){this.edits.splice(0,this.edits.length)},T.prototype.assertChangeAnnotations=function(N){if(N===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},T}(),Z=function(){function T(N){this._annotations=N===void 0?Object.create(null):N,this._counter=0,this._size=0}return T.prototype.all=function(){return this._annotations},Object.defineProperty(T.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),T.prototype.manage=function(N,v){var $;if(P.is(N)?$=N:($=this.nextId(),v=N),this._annotations[$]!==void 0)throw new Error("Id ".concat($," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat($));return this._annotations[$]=v,this._size++,$},T.prototype.nextId=function(){return this._counter++,this._counter.toString()},T}(),Le=function(){function T(N){var v=this;this._textEditChanges=Object.create(null),N!==void 0?(this._workspaceEdit=N,N.documentChanges?(this._changeAnnotations=new Z(N.changeAnnotations),N.changeAnnotations=this._changeAnnotations.all(),N.documentChanges.forEach(function($){if(C.is($)){var b=new V($.edits,v._changeAnnotations);v._textEditChanges[$.textDocument.uri]=b}})):N.changes&&Object.keys(N.changes).forEach(function($){var b=new V(N.changes[$]);v._textEditChanges[$]=b})):this._workspaceEdit={}}return Object.defineProperty(T.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),T.prototype.getTextEditChange=function(N){if(Te.is(N)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:N.uri,version:N.version},$=this._textEditChanges[v.uri];if(!$){var b=[],L={textDocument:v,edits:b};this._workspaceEdit.documentChanges.push(L),$=new V(b,this._changeAnnotations),this._textEditChanges[v.uri]=$}return $}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var $=this._textEditChanges[N];if(!$){var b=[];this._workspaceEdit.changes[N]=b,$=new V(b),this._textEditChanges[N]=$}return $}},T.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Z,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},T.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},T.prototype.createFile=function(N,v,$){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var b;_.is(v)||P.is(v)?b=v:$=v;var L,S;if(b===void 0?L=D.create(N,$):(S=P.is(b)?b:this._changeAnnotations.manage(b),L=D.create(N,$,S)),this._workspaceEdit.documentChanges.push(L),S!==void 0)return S},T.prototype.renameFile=function(N,v,$,b){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var L;_.is($)||P.is($)?L=$:b=$;var S,q;if(L===void 0?S=R.create(N,v,b):(q=P.is(L)?L:this._changeAnnotations.manage(L),S=R.create(N,v,b,q)),this._workspaceEdit.documentChanges.push(S),q!==void 0)return q},T.prototype.deleteFile=function(N,v,$){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var b;_.is(v)||P.is(v)?b=v:$=v;var L,S;if(b===void 0?L=F.create(N,$):(S=P.is(b)?b:this._changeAnnotations.manage(b),L=F.create(N,$,S)),this._workspaceEdit.documentChanges.push(L),S!==void 0)return S},T}();r.WorkspaceChange=Le;var se;(function(T){function N($){return{uri:$}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)}T.is=v})(se||(r.TextDocumentIdentifier=se={}));var K;(function(T){function N($,b){return{uri:$,version:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&z.integer(b.version)}T.is=v})(K||(r.VersionedTextDocumentIdentifier=K={}));var Te;(function(T){function N($,b){return{uri:$,version:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&(b.version===null||z.integer(b.version))}T.is=v})(Te||(r.OptionalVersionedTextDocumentIdentifier=Te={}));var ut;(function(T){function N($,b,L,S){return{uri:$,languageId:b,version:L,text:S}}T.create=N;function v($){var b=$;return z.defined(b)&&z.string(b.uri)&&z.string(b.languageId)&&z.integer(b.version)&&z.string(b.text)}T.is=v})(ut||(r.TextDocumentItem=ut={}));var H;(function(T){T.PlainText="plaintext",T.Markdown="markdown";function N(v){var $=v;return $===T.PlainText||$===T.Markdown}T.is=N})(H||(r.MarkupKind=H={}));var Y;(function(T){function N(v){var $=v;return z.objectLiteral(v)&&H.is($.kind)&&z.string($.value)}T.is=N})(Y||(r.MarkupContent=Y={}));var ee;(function(T){T.Text=1,T.Method=2,T.Function=3,T.Constructor=4,T.Field=5,T.Variable=6,T.Class=7,T.Interface=8,T.Module=9,T.Property=10,T.Unit=11,T.Value=12,T.Enum=13,T.Keyword=14,T.Snippet=15,T.Color=16,T.File=17,T.Reference=18,T.Folder=19,T.EnumMember=20,T.Constant=21,T.Struct=22,T.Event=23,T.Operator=24,T.TypeParameter=25})(ee||(r.CompletionItemKind=ee={}));var ne;(function(T){T.PlainText=1,T.Snippet=2})(ne||(r.InsertTextFormat=ne={}));var fe;(function(T){T.Deprecated=1})(fe||(r.CompletionItemTag=fe={}));var Ee;(function(T){function N($,b,L){return{newText:$,insert:b,replace:L}}T.create=N;function v($){var b=$;return b&&z.string(b.newText)&&u.is(b.insert)&&u.is(b.replace)}T.is=v})(Ee||(r.InsertReplaceEdit=Ee={}));var ge;(function(T){T.asIs=1,T.adjustIndentation=2})(ge||(r.InsertTextMode=ge={}));var ce;(function(T){function N(v){var $=v;return $&&(z.string($.detail)||$.detail===void 0)&&(z.string($.description)||$.description===void 0)}T.is=N})(ce||(r.CompletionItemLabelDetails=ce={}));var M;(function(T){function N(v){return{label:v}}T.create=N})(M||(r.CompletionItem=M={}));var U;(function(T){function N(v,$){return{items:v||[],isIncomplete:!!$}}T.create=N})(U||(r.CompletionList=U={}));var oe;(function(T){function N($){return $.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}T.fromPlainText=N;function v($){var b=$;return z.string(b)||z.objectLiteral(b)&&z.string(b.language)&&z.string(b.value)}T.is=v})(oe||(r.MarkedString=oe={}));var G;(function(T){function N(v){var $=v;return!!$&&z.objectLiteral($)&&(Y.is($.contents)||oe.is($.contents)||z.typedArray($.contents,oe.is))&&(v.range===void 0||u.is(v.range))}T.is=N})(G||(r.Hover=G={}));var Fe;(function(T){function N(v,$){return $?{label:v,documentation:$}:{label:v}}T.create=N})(Fe||(r.ParameterInformation=Fe={}));var yt;(function(T){function N(v,$){for(var b=[],L=2;L<arguments.length;L++)b[L-2]=arguments[L];var S={label:v};return z.defined($)&&(S.documentation=$),z.defined(b)?S.parameters=b:S.parameters=[],S}T.create=N})(yt||(r.SignatureInformation=yt={}));var mn;(function(T){T.Text=1,T.Read=2,T.Write=3})(mn||(r.DocumentHighlightKind=mn={}));var nr;(function(T){function N(v,$){var b={range:v};return z.number($)&&(b.kind=$),b}T.create=N})(nr||(r.DocumentHighlight=nr={}));var rr;(function(T){T.File=1,T.Module=2,T.Namespace=3,T.Package=4,T.Class=5,T.Method=6,T.Property=7,T.Field=8,T.Constructor=9,T.Enum=10,T.Interface=11,T.Function=12,T.Variable=13,T.Constant=14,T.String=15,T.Number=16,T.Boolean=17,T.Array=18,T.Object=19,T.Key=20,T.Null=21,T.EnumMember=22,T.Struct=23,T.Event=24,T.Operator=25,T.TypeParameter=26})(rr||(r.SymbolKind=rr={}));var ir;(function(T){T.Deprecated=1})(ir||(r.SymbolTag=ir={}));var qt;(function(T){function N(v,$,b,L,S){var q={name:v,kind:$,location:{uri:L,range:b}};return S&&(q.containerName=S),q}T.create=N})(qt||(r.SymbolInformation=qt={}));var _n;(function(T){function N(v,$,b,L){return L!==void 0?{name:v,kind:$,location:{uri:b,range:L}}:{name:v,kind:$,location:{uri:b}}}T.create=N})(_n||(r.WorkspaceSymbol=_n={}));var Yr;(function(T){function N($,b,L,S,q,te){var ie={name:$,detail:b,kind:L,range:S,selectionRange:q};return te!==void 0&&(ie.children=te),ie}T.create=N;function v($){var b=$;return b&&z.string(b.name)&&z.number(b.kind)&&u.is(b.range)&&u.is(b.selectionRange)&&(b.detail===void 0||z.string(b.detail))&&(b.deprecated===void 0||z.boolean(b.deprecated))&&(b.children===void 0||Array.isArray(b.children))&&(b.tags===void 0||Array.isArray(b.tags))}T.is=v})(Yr||(r.DocumentSymbol=Yr={}));var zn;(function(T){T.Empty="",T.QuickFix="quickfix",T.Refactor="refactor",T.RefactorExtract="refactor.extract",T.RefactorInline="refactor.inline",T.RefactorRewrite="refactor.rewrite",T.Source="source",T.SourceOrganizeImports="source.organizeImports",T.SourceFixAll="source.fixAll"})(zn||(r.CodeActionKind=zn={}));var gn;(function(T){T.Invoked=1,T.Automatic=2})(gn||(r.CodeActionTriggerKind=gn={}));var Bn;(function(T){function N($,b,L){var S={diagnostics:$};return b!=null&&(S.only=b),L!=null&&(S.triggerKind=L),S}T.create=N;function v($){var b=$;return z.defined(b)&&z.typedArray(b.diagnostics,A.is)&&(b.only===void 0||z.typedArray(b.only,z.string))&&(b.triggerKind===void 0||b.triggerKind===gn.Invoked||b.triggerKind===gn.Automatic)}T.is=v})(Bn||(r.CodeActionContext=Bn={}));var tn;(function(T){function N($,b,L){var S={title:$},q=!0;return typeof b=="string"?(q=!1,S.kind=b):I.is(b)?S.command=b:S.edit=b,q&&L!==void 0&&(S.kind=L),S}T.create=N;function v($){var b=$;return b&&z.string(b.title)&&(b.diagnostics===void 0||z.typedArray(b.diagnostics,A.is))&&(b.kind===void 0||z.string(b.kind))&&(b.edit!==void 0||b.command!==void 0)&&(b.command===void 0||I.is(b.command))&&(b.isPreferred===void 0||z.boolean(b.isPreferred))&&(b.edit===void 0||W.is(b.edit))}T.is=v})(tn||(r.CodeAction=tn={}));var X;(function(T){function N($,b){var L={range:$};return z.defined(b)&&(L.data=b),L}T.create=N;function v($){var b=$;return z.defined(b)&&u.is(b.range)&&(z.undefined(b.command)||I.is(b.command))}T.is=v})(X||(r.CodeLens=X={}));var J;(function(T){function N($,b){return{tabSize:$,insertSpaces:b}}T.create=N;function v($){var b=$;return z.defined(b)&&z.uinteger(b.tabSize)&&z.boolean(b.insertSpaces)}T.is=v})(J||(r.FormattingOptions=J={}));var le;(function(T){function N($,b,L){return{range:$,target:b,data:L}}T.create=N;function v($){var b=$;return z.defined(b)&&u.is(b.range)&&(z.undefined(b.target)||z.string(b.target))}T.is=v})(le||(r.DocumentLink=le={}));var jt;(function(T){function N($,b){return{range:$,parent:b}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&u.is(b.range)&&(b.parent===void 0||T.is(b.parent))}T.is=v})(jt||(r.SelectionRange=jt={}));var Ft;(function(T){T.namespace="namespace",T.type="type",T.class="class",T.enum="enum",T.interface="interface",T.struct="struct",T.typeParameter="typeParameter",T.parameter="parameter",T.variable="variable",T.property="property",T.enumMember="enumMember",T.event="event",T.function="function",T.method="method",T.macro="macro",T.keyword="keyword",T.modifier="modifier",T.comment="comment",T.string="string",T.number="number",T.regexp="regexp",T.operator="operator",T.decorator="decorator"})(Ft||(r.SemanticTokenTypes=Ft={}));var Rr;(function(T){T.declaration="declaration",T.definition="definition",T.readonly="readonly",T.static="static",T.deprecated="deprecated",T.abstract="abstract",T.async="async",T.modification="modification",T.documentation="documentation",T.defaultLibrary="defaultLibrary"})(Rr||(r.SemanticTokenModifiers=Rr={}));var Ai;(function(T){function N(v){var $=v;return z.objectLiteral($)&&($.resultId===void 0||typeof $.resultId=="string")&&Array.isArray($.data)&&($.data.length===0||typeof $.data[0]=="number")}T.is=N})(Ai||(r.SemanticTokens=Ai={}));var fs;(function(T){function N($,b){return{range:$,text:b}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&z.string(b.text)}T.is=v})(fs||(r.InlineValueText=fs={}));var hs;(function(T){function N($,b,L){return{range:$,variableName:b,caseSensitiveLookup:L}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&z.boolean(b.caseSensitiveLookup)&&(z.string(b.variableName)||b.variableName===void 0)}T.is=v})(hs||(r.InlineValueVariableLookup=hs={}));var ps;(function(T){function N($,b){return{range:$,expression:b}}T.create=N;function v($){var b=$;return b!=null&&u.is(b.range)&&(z.string(b.expression)||b.expression===void 0)}T.is=v})(ps||(r.InlineValueEvaluatableExpression=ps={}));var ms;(function(T){function N($,b){return{frameId:$,stoppedLocation:b}}T.create=N;function v($){var b=$;return z.defined(b)&&u.is($.stoppedLocation)}T.is=v})(ms||(r.InlineValueContext=ms={}));var xi;(function(T){T.Type=1,T.Parameter=2;function N(v){return v===1||v===2}T.is=N})(xi||(r.InlayHintKind=xi={}));var Ii;(function(T){function N($){return{value:$}}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&(b.tooltip===void 0||z.string(b.tooltip)||Y.is(b.tooltip))&&(b.location===void 0||l.is(b.location))&&(b.command===void 0||I.is(b.command))}T.is=v})(Ii||(r.InlayHintLabelPart=Ii={}));var yn;(function(T){function N($,b,L){var S={position:$,label:b};return L!==void 0&&(S.kind=L),S}T.create=N;function v($){var b=$;return z.objectLiteral(b)&&c.is(b.position)&&(z.string(b.label)||z.typedArray(b.label,Ii.is))&&(b.kind===void 0||xi.is(b.kind))&&b.textEdits===void 0||z.typedArray(b.textEdits,x.is)&&(b.tooltip===void 0||z.string(b.tooltip)||Y.is(b.tooltip))&&(b.paddingLeft===void 0||z.boolean(b.paddingLeft))&&(b.paddingRight===void 0||z.boolean(b.paddingRight))}T.is=v})(yn||(r.InlayHint=yn={}));var gs;(function(T){function N(v){return{kind:"snippet",value:v}}T.createSnippet=N})(gs||(r.StringValue=gs={}));var ys;(function(T){function N(v,$,b,L){return{insertText:v,filterText:$,range:b,command:L}}T.create=N})(ys||(r.InlineCompletionItem=ys={}));var Sr;(function(T){function N(v){return{items:v}}T.create=N})(Sr||(r.InlineCompletionList=Sr={}));var vs;(function(T){T.Invoked=0,T.Automatic=1})(vs||(r.InlineCompletionTriggerKind=vs={}));var Xr;(function(T){function N(v,$){return{range:v,text:$}}T.create=N})(Xr||(r.SelectedCompletionInfo=Xr={}));var ws;(function(T){function N(v,$){return{triggerKind:v,selectedCompletionInfo:$}}T.create=N})(ws||(r.InlineCompletionContext=ws={}));var qn;(function(T){function N(v){var $=v;return z.objectLiteral($)&&s.is($.uri)&&z.string($.name)}T.is=N})(qn||(r.WorkspaceFolder=qn={})),r.EOL=[`
|
|
156
|
-
`,`\r
|
|
157
|
-
`,"\r"];var sr;(function(T){function N(L,S,q,te){return new Eo(L,S,q,te)}T.create=N;function v(L){var S=L;return!!(z.defined(S)&&z.string(S.uri)&&(z.undefined(S.languageId)||z.string(S.languageId))&&z.uinteger(S.lineCount)&&z.func(S.getText)&&z.func(S.positionAt)&&z.func(S.offsetAt))}T.is=v;function $(L,S){for(var q=L.getText(),te=b(S,function($e,Ze){var Ge=$e.range.start.line-Ze.range.start.line;return Ge===0?$e.range.start.character-Ze.range.start.character:Ge}),ie=q.length,xe=te.length-1;xe>=0;xe--){var _e=te[xe],Ue=L.offsetAt(_e.range.start),he=L.offsetAt(_e.range.end);if(he<=ie)q=q.substring(0,Ue)+_e.newText+q.substring(he,q.length);else throw new Error("Overlapping edit");ie=Ue}return q}T.applyEdits=$;function b(L,S){if(L.length<=1)return L;var q=L.length/2|0,te=L.slice(0,q),ie=L.slice(q);b(te,S),b(ie,S);for(var xe=0,_e=0,Ue=0;xe<te.length&&_e<ie.length;){var he=S(te[xe],ie[_e]);he<=0?L[Ue++]=te[xe++]:L[Ue++]=ie[_e++]}for(;xe<te.length;)L[Ue++]=te[xe++];for(;_e<ie.length;)L[Ue++]=ie[_e++];return L}})(sr||(r.TextDocument=sr={}));var Eo=function(){function T(N,v,$,b){this._uri=N,this._languageId=v,this._version=$,this._content=b,this._lineOffsets=void 0}return Object.defineProperty(T.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),T.prototype.getText=function(N){if(N){var v=this.offsetAt(N.start),$=this.offsetAt(N.end);return this._content.substring(v,$)}return this._content},T.prototype.update=function(N,v){this._content=N.text,this._version=v,this._lineOffsets=void 0},T.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var N=[],v=this._content,$=!0,b=0;b<v.length;b++){$&&(N.push(b),$=!1);var L=v.charAt(b);$=L==="\r"||L===`
|
|
158
|
-
`,L==="\r"&&b+1<v.length&&v.charAt(b+1)===`
|
|
159
|
-
`&&b++}$&&v.length>0&&N.push(v.length),this._lineOffsets=N}return this._lineOffsets},T.prototype.positionAt=function(N){N=Math.max(Math.min(N,this._content.length),0);var v=this.getLineOffsets(),$=0,b=v.length;if(b===0)return c.create(0,N);for(;$<b;){var L=Math.floor(($+b)/2);v[L]>N?b=L:$=L+1}var S=$-1;return c.create(S,N-v[S])},T.prototype.offsetAt=function(N){var v=this.getLineOffsets();if(N.line>=v.length)return this._content.length;if(N.line<0)return 0;var $=v[N.line],b=N.line+1<v.length?v[N.line+1]:this._content.length;return Math.max(Math.min($+N.character,b),$)},Object.defineProperty(T.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),T}(),z;(function(T){var N=Object.prototype.toString;function v(he){return typeof he<"u"}T.defined=v;function $(he){return typeof he>"u"}T.undefined=$;function b(he){return he===!0||he===!1}T.boolean=b;function L(he){return N.call(he)==="[object String]"}T.string=L;function S(he){return N.call(he)==="[object Number]"}T.number=S;function q(he,$e,Ze){return N.call(he)==="[object Number]"&&$e<=he&&he<=Ze}T.numberRange=q;function te(he){return N.call(he)==="[object Number]"&&-2147483648<=he&&he<=2147483647}T.integer=te;function ie(he){return N.call(he)==="[object Number]"&&0<=he&&he<=2147483647}T.uinteger=ie;function xe(he){return N.call(he)==="[object Function]"}T.func=xe;function _e(he){return he!==null&&typeof he=="object"}T.objectLiteral=_e;function Ue(he,$e){return Array.isArray(he)&&he.every($e)}T.typedArray=Ue})(z||(z={}))})}(hh,hh.exports)),hh.exports}var ln={},a$;function mt(){if(a$)return ln;a$=1,Object.defineProperty(ln,"__esModule",{value:!0}),ln.ProtocolNotificationType=ln.ProtocolNotificationType0=ln.ProtocolRequestType=ln.ProtocolRequestType0=ln.RegistrationType=ln.MessageDirection=void 0;const t=Ks();var e;(function(a){a.clientToServer="clientToServer",a.serverToClient="serverToClient",a.both="both"})(e||(ln.MessageDirection=e={}));class n{constructor(c){this.method=c}}ln.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}ln.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}ln.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}ln.ProtocolNotificationType0=s;class o extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return ln.ProtocolNotificationType=o,ln}var vv={},Rt={},c$;function wv(){if(c$)return Rt;c$=1,Object.defineProperty(Rt,"__esModule",{value:!0}),Rt.objectLiteral=Rt.typedArray=Rt.stringArray=Rt.array=Rt.func=Rt.error=Rt.number=Rt.string=Rt.boolean=void 0;function t(u){return u===!0||u===!1}Rt.boolean=t;function e(u){return typeof u=="string"||u instanceof String}Rt.string=e;function n(u){return typeof u=="number"||u instanceof Number}Rt.number=n;function r(u){return u instanceof Error}Rt.error=r;function i(u){return typeof u=="function"}Rt.func=i;function s(u){return Array.isArray(u)}Rt.array=s;function o(u){return s(u)&&u.every(l=>e(l))}Rt.stringArray=o;function a(u,l){return Array.isArray(u)&&u.every(l)}Rt.typedArray=a;function c(u){return u!==null&&typeof u=="object"}return Rt.objectLiteral=c,Rt}var cu={},u$;function s7(){if(u$)return cu;u$=1,Object.defineProperty(cu,"__esModule",{value:!0}),cu.ImplementationRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(cu.ImplementationRequest=e={})),cu}var uu={},l$;function o7(){if(l$)return uu;l$=1,Object.defineProperty(uu,"__esModule",{value:!0}),uu.TypeDefinitionRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(uu.TypeDefinitionRequest=e={})),uu}var Xs={},d$;function a7(){if(d$)return Xs;d$=1,Object.defineProperty(Xs,"__esModule",{value:!0}),Xs.DidChangeWorkspaceFoldersNotification=Xs.WorkspaceFoldersRequest=void 0;const t=mt();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(Xs.WorkspaceFoldersRequest=e={}));var n;return function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)}(n||(Xs.DidChangeWorkspaceFoldersNotification=n={})),Xs}var lu={},f$;function c7(){if(f$)return lu;f$=1,Object.defineProperty(lu,"__esModule",{value:!0}),lu.ConfigurationRequest=void 0;const t=mt();var e;return function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(e||(lu.ConfigurationRequest=e={})),lu}var Js={},h$;function u7(){if(h$)return Js;h$=1,Object.defineProperty(Js,"__esModule",{value:!0}),Js.ColorPresentationRequest=Js.DocumentColorRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Js.DocumentColorRequest=e={}));var n;return function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)}(n||(Js.ColorPresentationRequest=n={})),Js}var Zs={},p$;function l7(){if(p$)return Zs;p$=1,Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.FoldingRangeRefreshRequest=Zs.FoldingRangeRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Zs.FoldingRangeRequest=e={}));var n;return function(r){r.method="workspace/foldingRange/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)}(n||(Zs.FoldingRangeRefreshRequest=n={})),Zs}var du={},m$;function d7(){if(m$)return du;m$=1,Object.defineProperty(du,"__esModule",{value:!0}),du.DeclarationRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(du.DeclarationRequest=e={})),du}var fu={},g$;function f7(){if(g$)return fu;g$=1,Object.defineProperty(fu,"__esModule",{value:!0}),fu.SelectionRangeRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(fu.SelectionRangeRequest=e={})),fu}var Ti={},y$;function h7(){if(y$)return Ti;y$=1,Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.WorkDoneProgressCancelNotification=Ti.WorkDoneProgressCreateRequest=Ti.WorkDoneProgress=void 0;const t=Ks(),e=mt();var n;(function(s){s.type=new t.ProgressType;function o(a){return a===s.type}s.is=o})(n||(Ti.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(Ti.WorkDoneProgressCreateRequest=r={}));var i;return function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=e.MessageDirection.clientToServer,s.type=new e.ProtocolNotificationType(s.method)}(i||(Ti.WorkDoneProgressCancelNotification=i={})),Ti}var Ri={},v$;function p7(){if(v$)return Ri;v$=1,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.CallHierarchyOutgoingCallsRequest=Ri.CallHierarchyIncomingCallsRequest=Ri.CallHierarchyPrepareRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ri.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Ri.CallHierarchyIncomingCallsRequest=n={}));var r;return function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(Ri.CallHierarchyOutgoingCallsRequest=r={})),Ri}var dn={},w$;function m7(){if(w$)return dn;w$=1,Object.defineProperty(dn,"__esModule",{value:!0}),dn.SemanticTokensRefreshRequest=dn.SemanticTokensRangeRequest=dn.SemanticTokensDeltaRequest=dn.SemanticTokensRequest=dn.SemanticTokensRegistrationType=dn.TokenFormat=void 0;const t=mt();var e;(function(a){a.Relative="relative"})(e||(dn.TokenFormat=e={}));var n;(function(a){a.method="textDocument/semanticTokens",a.type=new t.RegistrationType(a.method)})(n||(dn.SemanticTokensRegistrationType=n={}));var r;(function(a){a.method="textDocument/semanticTokens/full",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(r||(dn.SemanticTokensRequest=r={}));var i;(function(a){a.method="textDocument/semanticTokens/full/delta",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(i||(dn.SemanticTokensDeltaRequest=i={}));var s;(function(a){a.method="textDocument/semanticTokens/range",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method),a.registrationMethod=n.method})(s||(dn.SemanticTokensRangeRequest=s={}));var o;return function(a){a.method="workspace/semanticTokens/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)}(o||(dn.SemanticTokensRefreshRequest=o={})),dn}var hu={},b$;function g7(){if(b$)return hu;b$=1,Object.defineProperty(hu,"__esModule",{value:!0}),hu.ShowDocumentRequest=void 0;const t=mt();var e;return function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(e||(hu.ShowDocumentRequest=e={})),hu}var pu={},E$;function y7(){if(E$)return pu;E$=1,Object.defineProperty(pu,"__esModule",{value:!0}),pu.LinkedEditingRangeRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(pu.LinkedEditingRangeRequest=e={})),pu}var Kt={},D$;function v7(){if(D$)return Kt;D$=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.WillDeleteFilesRequest=Kt.DidDeleteFilesNotification=Kt.DidRenameFilesNotification=Kt.WillRenameFilesRequest=Kt.DidCreateFilesNotification=Kt.WillCreateFilesRequest=Kt.FileOperationPatternKind=void 0;const t=mt();var e;(function(c){c.file="file",c.folder="folder"})(e||(Kt.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(Kt.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(Kt.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(Kt.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(Kt.DidRenameFilesNotification=s={}));var o;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(o||(Kt.DidDeleteFilesNotification=o={}));var a;return function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)}(a||(Kt.WillDeleteFilesRequest=a={})),Kt}var Si={},T$;function w7(){if(T$)return Si;T$=1,Object.defineProperty(Si,"__esModule",{value:!0}),Si.MonikerRequest=Si.MonikerKind=Si.UniquenessLevel=void 0;const t=mt();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Si.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(Si.MonikerKind=n={}));var r;return function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(Si.MonikerRequest=r={})),Si}var ki={},R$;function b7(){if(R$)return ki;R$=1,Object.defineProperty(ki,"__esModule",{value:!0}),ki.TypeHierarchySubtypesRequest=ki.TypeHierarchySupertypesRequest=ki.TypeHierarchyPrepareRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(ki.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(ki.TypeHierarchySupertypesRequest=n={}));var r;return function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(r||(ki.TypeHierarchySubtypesRequest=r={})),ki}var Qs={},S$;function E7(){if(S$)return Qs;S$=1,Object.defineProperty(Qs,"__esModule",{value:!0}),Qs.InlineValueRefreshRequest=Qs.InlineValueRequest=void 0;const t=mt();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Qs.InlineValueRequest=e={}));var n;return function(r){r.method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)}(n||(Qs.InlineValueRefreshRequest=n={})),Qs}var $i={},k$;function D7(){if(k$)return $i;k$=1,Object.defineProperty($i,"__esModule",{value:!0}),$i.InlayHintRefreshRequest=$i.InlayHintResolveRequest=$i.InlayHintRequest=void 0;const t=mt();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||($i.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||($i.InlayHintResolveRequest=n={}));var r;return function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)}(r||($i.InlayHintRefreshRequest=r={})),$i}var Ln={},$$;function T7(){if($$)return Ln;$$=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.DiagnosticRefreshRequest=Ln.WorkspaceDiagnosticRequest=Ln.DocumentDiagnosticRequest=Ln.DocumentDiagnosticReportKind=Ln.DiagnosticServerCancellationData=void 0;const t=Ks(),e=wv(),n=mt();var r;(function(c){function u(l){const d=l;return d&&e.boolean(d.retriggerRequest)}c.is=u})(r||(Ln.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(Ln.DocumentDiagnosticReportKind=i={}));var s;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(s||(Ln.DocumentDiagnosticRequest=s={}));var o;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(o||(Ln.WorkspaceDiagnosticRequest=o={}));var a;return function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)}(a||(Ln.DiagnosticRefreshRequest=a={})),Ln}var gt={},C$;function R7(){if(C$)return gt;C$=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.DidCloseNotebookDocumentNotification=gt.DidSaveNotebookDocumentNotification=gt.DidChangeNotebookDocumentNotification=gt.NotebookCellArrayChange=gt.DidOpenNotebookDocumentNotification=gt.NotebookDocumentSyncRegistrationType=gt.NotebookDocument=gt.NotebookCell=gt.ExecutionSummary=gt.NotebookCellKind=void 0;const t=yv(),e=wv(),n=mt();var r;(function(h){h.Markup=1,h.Code=2;function p(m){return m===1||m===2}h.is=p})(r||(gt.NotebookCellKind=r={}));var i;(function(h){function p(y,w){const E={executionOrder:y};return(w===!0||w===!1)&&(E.success=w),E}h.create=p;function m(y){const w=y;return e.objectLiteral(w)&&t.uinteger.is(w.executionOrder)&&(w.success===void 0||e.boolean(w.success))}h.is=m;function g(y,w){return y===w?!0:y==null||w===null||w===void 0?!1:y.executionOrder===w.executionOrder&&y.success===w.success}h.equals=g})(i||(gt.ExecutionSummary=i={}));var s;(function(h){function p(w,E){return{kind:w,document:E}}h.create=p;function m(w){const E=w;return e.objectLiteral(E)&&r.is(E.kind)&&t.DocumentUri.is(E.document)&&(E.metadata===void 0||e.objectLiteral(E.metadata))}h.is=m;function g(w,E){const k=new Set;return w.document!==E.document&&k.add("document"),w.kind!==E.kind&&k.add("kind"),w.executionSummary!==E.executionSummary&&k.add("executionSummary"),(w.metadata!==void 0||E.metadata!==void 0)&&!y(w.metadata,E.metadata)&&k.add("metadata"),(w.executionSummary!==void 0||E.executionSummary!==void 0)&&!i.equals(w.executionSummary,E.executionSummary)&&k.add("executionSummary"),k}h.diff=g;function y(w,E){if(w===E)return!0;if(w==null||E===null||E===void 0||typeof w!=typeof E||typeof w!="object")return!1;const k=Array.isArray(w),A=Array.isArray(E);if(k!==A)return!1;if(k&&A){if(w.length!==E.length)return!1;for(let I=0;I<w.length;I++)if(!y(w[I],E[I]))return!1}if(e.objectLiteral(w)&&e.objectLiteral(E)){const I=Object.keys(w),x=Object.keys(E);if(I.length!==x.length||(I.sort(),x.sort(),!y(I,x)))return!1;for(let _=0;_<I.length;_++){const P=I[_];if(!y(w[P],E[P]))return!1}}return!0}})(s||(gt.NotebookCell=s={}));var o;(function(h){function p(g,y,w,E){return{uri:g,notebookType:y,version:w,cells:E}}h.create=p;function m(g){const y=g;return e.objectLiteral(y)&&e.string(y.uri)&&t.integer.is(y.version)&&e.typedArray(y.cells,s.is)}h.is=m})(o||(gt.NotebookDocument=o={}));var a;(function(h){h.method="notebookDocument/sync",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.RegistrationType(h.method)})(a||(gt.NotebookDocumentSyncRegistrationType=a={}));var c;(function(h){h.method="notebookDocument/didOpen",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(c||(gt.DidOpenNotebookDocumentNotification=c={}));var u;(function(h){function p(g){const y=g;return e.objectLiteral(y)&&t.uinteger.is(y.start)&&t.uinteger.is(y.deleteCount)&&(y.cells===void 0||e.typedArray(y.cells,s.is))}h.is=p;function m(g,y,w){const E={start:g,deleteCount:y};return w!==void 0&&(E.cells=w),E}h.create=m})(u||(gt.NotebookCellArrayChange=u={}));var l;(function(h){h.method="notebookDocument/didChange",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(l||(gt.DidChangeNotebookDocumentNotification=l={}));var d;(function(h){h.method="notebookDocument/didSave",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method})(d||(gt.DidSaveNotebookDocumentNotification=d={}));var f;return function(h){h.method="notebookDocument/didClose",h.messageDirection=n.MessageDirection.clientToServer,h.type=new n.ProtocolNotificationType(h.method),h.registrationMethod=a.method}(f||(gt.DidCloseNotebookDocumentNotification=f={})),gt}var mu={},_$;function S7(){if(_$)return mu;_$=1,Object.defineProperty(mu,"__esModule",{value:!0}),mu.InlineCompletionRequest=void 0;const t=mt();var e;return function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(e||(mu.InlineCompletionRequest=e={})),mu}var A$;function k7(){return A$||(A$=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=mt(),n=yv(),r=wv(),i=s7();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=o7();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const o=a7();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return o.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return o.DidChangeWorkspaceFoldersNotification}});const a=c7();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return a.ConfigurationRequest}});const c=u7();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=l7();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return u.FoldingRangeRefreshRequest}});const l=d7();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return l.DeclarationRequest}});const d=f7();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const f=h7();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return f.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return f.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return f.WorkDoneProgressCancelNotification}});const h=p7();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return h.CallHierarchyPrepareRequest}});const p=m7();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return p.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return p.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return p.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return p.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return p.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return p.SemanticTokensRegistrationType}});const m=g7();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const g=y7();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return g.LinkedEditingRangeRequest}});const y=v7();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return y.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return y.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return y.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return y.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return y.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return y.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return y.WillDeleteFilesRequest}});const w=w7();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return w.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return w.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return w.MonikerRequest}});const E=b7();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return E.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySupertypesRequest}});const k=E7();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return k.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return k.InlineValueRefreshRequest}});const A=D7();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return A.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return A.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return A.InlayHintRefreshRequest}});const I=T7();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return I.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return I.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return I.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return I.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return I.DiagnosticRefreshRequest}});const x=R7();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return x.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return x.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return x.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return x.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return x.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return x.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return x.DidCloseNotebookDocumentNotification}});const _=S7();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return _.InlineCompletionRequest}});var P;(function(v){function $(b){const L=b;return r.string(L)||r.string(L.language)||r.string(L.scheme)||r.string(L.pattern)}v.is=$})(P||(t.TextDocumentFilter=P={}));var O;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(r.string(L.notebookType)||r.string(L.scheme)||r.string(L.pattern))}v.is=$})(O||(t.NotebookDocumentFilter=O={}));var C;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(r.string(L.notebook)||O.is(L.notebook))&&(L.language===void 0||r.string(L.language))}v.is=$})(C||(t.NotebookCellTextDocumentFilter=C={}));var D;(function(v){function $(b){if(!Array.isArray(b))return!1;for(let L of b)if(!r.string(L)&&!P.is(L)&&!C.is(L))return!1;return!0}v.is=$})(D||(t.DocumentSelector=D={}));var R;(function(v){v.method="client/registerCapability",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(R||(t.RegistrationRequest=R={}));var F;(function(v){v.method="client/unregisterCapability",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(F||(t.UnregistrationRequest=F={}));var W;(function(v){v.Create="create",v.Rename="rename",v.Delete="delete"})(W||(t.ResourceOperationKind=W={}));var V;(function(v){v.Abort="abort",v.Transactional="transactional",v.TextOnlyTransactional="textOnlyTransactional",v.Undo="undo"})(V||(t.FailureHandlingKind=V={}));var Z;(function(v){v.UTF8="utf-8",v.UTF16="utf-16",v.UTF32="utf-32"})(Z||(t.PositionEncodingKind=Z={}));var Le;(function(v){function $(b){const L=b;return L&&r.string(L.id)&&L.id.length>0}v.hasId=$})(Le||(t.StaticRegistrationOptions=Le={}));var se;(function(v){function $(b){const L=b;return L&&(L.documentSelector===null||D.is(L.documentSelector))}v.is=$})(se||(t.TextDocumentRegistrationOptions=se={}));var K;(function(v){function $(L){const S=L;return r.objectLiteral(S)&&(S.workDoneProgress===void 0||r.boolean(S.workDoneProgress))}v.is=$;function b(L){const S=L;return S&&r.boolean(S.workDoneProgress)}v.hasWorkDoneProgress=b})(K||(t.WorkDoneProgressOptions=K={}));var Te;(function(v){v.method="initialize",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Te||(t.InitializeRequest=Te={}));var ut;(function(v){v.unknownProtocolVersion=1})(ut||(t.InitializeErrorCodes=ut={}));var H;(function(v){v.method="initialized",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(H||(t.InitializedNotification=H={}));var Y;(function(v){v.method="shutdown",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType0(v.method)})(Y||(t.ShutdownRequest=Y={}));var ee;(function(v){v.method="exit",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType0(v.method)})(ee||(t.ExitNotification=ee={}));var ne;(function(v){v.method="workspace/didChangeConfiguration",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(ne||(t.DidChangeConfigurationNotification=ne={}));var fe;(function(v){v.Error=1,v.Warning=2,v.Info=3,v.Log=4,v.Debug=5})(fe||(t.MessageType=fe={}));var Ee;(function(v){v.method="window/showMessage",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(Ee||(t.ShowMessageNotification=Ee={}));var ge;(function(v){v.method="window/showMessageRequest",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType(v.method)})(ge||(t.ShowMessageRequest=ge={}));var ce;(function(v){v.method="window/logMessage",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(ce||(t.LogMessageNotification=ce={}));var M;(function(v){v.method="telemetry/event",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(M||(t.TelemetryEventNotification=M={}));var U;(function(v){v.None=0,v.Full=1,v.Incremental=2})(U||(t.TextDocumentSyncKind=U={}));var oe;(function(v){v.method="textDocument/didOpen",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(oe||(t.DidOpenTextDocumentNotification=oe={}));var G;(function(v){function $(L){let S=L;return S!=null&&typeof S.text=="string"&&S.range!==void 0&&(S.rangeLength===void 0||typeof S.rangeLength=="number")}v.isIncremental=$;function b(L){let S=L;return S!=null&&typeof S.text=="string"&&S.range===void 0&&S.rangeLength===void 0}v.isFull=b})(G||(t.TextDocumentContentChangeEvent=G={}));var Fe;(function(v){v.method="textDocument/didChange",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(Fe||(t.DidChangeTextDocumentNotification=Fe={}));var yt;(function(v){v.method="textDocument/didClose",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(yt||(t.DidCloseTextDocumentNotification=yt={}));var mn;(function(v){v.method="textDocument/didSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(mn||(t.DidSaveTextDocumentNotification=mn={}));var nr;(function(v){v.Manual=1,v.AfterDelay=2,v.FocusOut=3})(nr||(t.TextDocumentSaveReason=nr={}));var rr;(function(v){v.method="textDocument/willSave",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(rr||(t.WillSaveTextDocumentNotification=rr={}));var ir;(function(v){v.method="textDocument/willSaveWaitUntil",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ir||(t.WillSaveTextDocumentWaitUntilRequest=ir={}));var qt;(function(v){v.method="workspace/didChangeWatchedFiles",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolNotificationType(v.method)})(qt||(t.DidChangeWatchedFilesNotification=qt={}));var _n;(function(v){v.Created=1,v.Changed=2,v.Deleted=3})(_n||(t.FileChangeType=_n={}));var Yr;(function(v){function $(b){const L=b;return r.objectLiteral(L)&&(n.URI.is(L.baseUri)||n.WorkspaceFolder.is(L.baseUri))&&r.string(L.pattern)}v.is=$})(Yr||(t.RelativePattern=Yr={}));var zn;(function(v){v.Create=1,v.Change=2,v.Delete=4})(zn||(t.WatchKind=zn={}));var gn;(function(v){v.method="textDocument/publishDiagnostics",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolNotificationType(v.method)})(gn||(t.PublishDiagnosticsNotification=gn={}));var Bn;(function(v){v.Invoked=1,v.TriggerCharacter=2,v.TriggerForIncompleteCompletions=3})(Bn||(t.CompletionTriggerKind=Bn={}));var tn;(function(v){v.method="textDocument/completion",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(tn||(t.CompletionRequest=tn={}));var X;(function(v){v.method="completionItem/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(X||(t.CompletionResolveRequest=X={}));var J;(function(v){v.method="textDocument/hover",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(J||(t.HoverRequest=J={}));var le;(function(v){v.Invoked=1,v.TriggerCharacter=2,v.ContentChange=3})(le||(t.SignatureHelpTriggerKind=le={}));var jt;(function(v){v.method="textDocument/signatureHelp",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(jt||(t.SignatureHelpRequest=jt={}));var Ft;(function(v){v.method="textDocument/definition",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ft||(t.DefinitionRequest=Ft={}));var Rr;(function(v){v.method="textDocument/references",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Rr||(t.ReferencesRequest=Rr={}));var Ai;(function(v){v.method="textDocument/documentHighlight",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ai||(t.DocumentHighlightRequest=Ai={}));var fs;(function(v){v.method="textDocument/documentSymbol",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(fs||(t.DocumentSymbolRequest=fs={}));var hs;(function(v){v.method="textDocument/codeAction",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(hs||(t.CodeActionRequest=hs={}));var ps;(function(v){v.method="codeAction/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ps||(t.CodeActionResolveRequest=ps={}));var ms;(function(v){v.method="workspace/symbol",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ms||(t.WorkspaceSymbolRequest=ms={}));var xi;(function(v){v.method="workspaceSymbol/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(xi||(t.WorkspaceSymbolResolveRequest=xi={}));var Ii;(function(v){v.method="textDocument/codeLens",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Ii||(t.CodeLensRequest=Ii={}));var yn;(function(v){v.method="codeLens/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(yn||(t.CodeLensResolveRequest=yn={}));var gs;(function(v){v.method="workspace/codeLens/refresh",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType0(v.method)})(gs||(t.CodeLensRefreshRequest=gs={}));var ys;(function(v){v.method="textDocument/documentLink",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ys||(t.DocumentLinkRequest=ys={}));var Sr;(function(v){v.method="documentLink/resolve",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Sr||(t.DocumentLinkResolveRequest=Sr={}));var vs;(function(v){v.method="textDocument/formatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(vs||(t.DocumentFormattingRequest=vs={}));var Xr;(function(v){v.method="textDocument/rangeFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Xr||(t.DocumentRangeFormattingRequest=Xr={}));var ws;(function(v){v.method="textDocument/rangesFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(ws||(t.DocumentRangesFormattingRequest=ws={}));var qn;(function(v){v.method="textDocument/onTypeFormatting",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(qn||(t.DocumentOnTypeFormattingRequest=qn={}));var sr;(function(v){v.Identifier=1})(sr||(t.PrepareSupportDefaultBehavior=sr={}));var Eo;(function(v){v.method="textDocument/rename",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(Eo||(t.RenameRequest=Eo={}));var z;(function(v){v.method="textDocument/prepareRename",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(z||(t.PrepareRenameRequest=z={}));var T;(function(v){v.method="workspace/executeCommand",v.messageDirection=e.MessageDirection.clientToServer,v.type=new e.ProtocolRequestType(v.method)})(T||(t.ExecuteCommandRequest=T={}));var N;(function(v){v.method="workspace/applyEdit",v.messageDirection=e.MessageDirection.serverToClient,v.type=new e.ProtocolRequestType("workspace/applyEdit")})(N||(t.ApplyWorkspaceEditRequest=N={}))}(vv)),vv}var gu={},x$;function $7(){if(x$)return gu;x$=1,Object.defineProperty(gu,"__esModule",{value:!0}),gu.createProtocolConnection=void 0;const t=Ks();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return gu.createProtocolConnection=e,gu}var I$;function C7(){return I$||(I$=1,function(t){var e=Ys&&Ys.__createBinding||(Object.create?function(s,o,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(o,a);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return o[a]}}),Object.defineProperty(s,c,u)}:function(s,o,a,c){c===void 0&&(c=a),s[c]=o[a]}),n=Ys&&Ys.__exportStar||function(s,o){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(o,a)&&e(o,s,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n(Ks(),t),n(yv(),t),n(mt(),t),n(k7(),t);var r=$7();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))}(Ys)),Ys}var P$;function St(){return P$||(P$=1,function(t){var e=Ws&&Ws.__createBinding||(Object.create?function(s,o,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(o,a);(!u||("get"in u?!o.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return o[a]}}),Object.defineProperty(s,c,u)}:function(s,o,a,c){c===void 0&&(c=a),s[c]=o[a]}),n=Ws&&Ws.__exportStar||function(s,o){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(o,a)&&e(o,s,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=i$();n(i$(),t),n(C7(),t);function i(s,o,a,c){return(0,r.createMessageConnection)(s,o,a,c)}t.createProtocolConnection=i}(Ws)),Ws}var Fn={},N$;function O$(){if(N$)return Fn;N$=1,Object.defineProperty(Fn,"__esModule",{value:!0}),Fn.generateUuid=Fn.parse=Fn.isUUID=Fn.v4=Fn.empty=void 0;class t{constructor(c){this._value=c}asHex(){return this._value}equals(c){return this.asHex()===c.asHex()}}class e extends t{static _oneOf(c){return c[Math.floor(c.length*Math.random())]}static _randomHex(){return e._oneOf(e._chars)}constructor(){super([e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),"-",e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),"-","4",e._randomHex(),e._randomHex(),e._randomHex(),"-",e._oneOf(e._timeHighBits),e._randomHex(),e._randomHex(),e._randomHex(),"-",e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex(),e._randomHex()].join(""))}}e._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],e._timeHighBits=["8","9","a","b"],Fn.empty=new t("00000000-0000-0000-0000-000000000000");function n(){return new e}Fn.v4=n;const r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function i(a){return r.test(a)}Fn.isUUID=i;function s(a){if(!i(a))throw new Error("invalid uuid");return new t(a)}Fn.parse=s;function o(){return n().asHex()}return Fn.generateUuid=o,Fn}var Ci={},L$;function _7(){if(L$)return Ci;L$=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.attachPartialResult=Ci.ProgressFeature=Ci.attachWorkDone=void 0;const t=St(),e=O$();class n{constructor(f,h){this._connection=f,this._token=h,n.Instances.set(this._token,this)}begin(f,h,p,m){let g={kind:"begin",title:f,percentage:h,message:p,cancellable:m};this._connection.sendProgress(t.WorkDoneProgress.type,this._token,g)}report(f,h){let p={kind:"report"};typeof f=="number"?(p.percentage=f,h!==void 0&&(p.message=h)):p.message=f,this._connection.sendProgress(t.WorkDoneProgress.type,this._token,p)}done(){n.Instances.delete(this._token),this._connection.sendProgress(t.WorkDoneProgress.type,this._token,{kind:"end"})}}n.Instances=new Map;class r extends n{constructor(f,h){super(f,h),this._source=new t.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class i{constructor(){}begin(){}report(){}done(){}}class s extends i{constructor(){super(),this._source=new t.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}function o(d,f){if(f===void 0||f.workDoneToken===void 0)return new i;const h=f.workDoneToken;return delete f.workDoneToken,new n(d,h)}Ci.attachWorkDone=o;const a=d=>class extends d{constructor(){super(),this._progressSupported=!1}initialize(f){super.initialize(f),f?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(t.WorkDoneProgressCancelNotification.type,h=>{let p=n.Instances.get(h.token);(p instanceof r||p instanceof s)&&p.cancel()}))}attachWorkDoneProgress(f){return f===void 0?new i:new n(this.connection,f)}createWorkDoneProgress(){if(this._progressSupported){const f=(0,e.generateUuid)();return this.connection.sendRequest(t.WorkDoneProgressCreateRequest.type,{token:f}).then(()=>new r(this.connection,f))}else return Promise.resolve(new s)}};Ci.ProgressFeature=a;var c;(function(d){d.type=new t.ProgressType})(c||(c={}));class u{constructor(f,h){this._connection=f,this._token=h}report(f){this._connection.sendProgress(c.type,this._token,f)}}function l(d,f){if(f===void 0||f.partialResultToken===void 0)return;const h=f.partialResultToken;return delete f.partialResultToken,new u(d,h)}return Ci.attachPartialResult=l,Ci}var yu={},F$;function A7(){if(F$)return yu;F$=1,Object.defineProperty(yu,"__esModule",{value:!0}),yu.ConfigurationFeature=void 0;const t=St(),e=fv(),n=r=>class extends r{getConfiguration(i){return i?e.string(i)?this._getConfiguration({section:i}):this._getConfiguration(i):this._getConfiguration({})}_getConfiguration(i){let s={items:Array.isArray(i)?i:[i]};return this.connection.sendRequest(t.ConfigurationRequest.type,s).then(o=>Array.isArray(o)?Array.isArray(i)?o:o[0]:Array.isArray(i)?[]:null)}};return yu.ConfigurationFeature=n,yu}var vu={},M$;function x7(){if(M$)return vu;M$=1,Object.defineProperty(vu,"__esModule",{value:!0}),vu.WorkspaceFoldersFeature=void 0;const t=St(),e=n=>class extends n{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(r){super.initialize(r);let i=r.workspace;i&&i.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new t.Emitter,this.connection.onNotification(t.DidChangeWorkspaceFoldersNotification.type,s=>{this._onDidChangeWorkspaceFolders.fire(s.event)}))}fillServerCapabilities(r){super.fillServerCapabilities(r);const i=r.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=i===!0||typeof i=="string"}getWorkspaceFolders(){return this.connection.sendRequest(t.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(t.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};return vu.WorkspaceFoldersFeature=e,vu}var wu={},z$;function I7(){if(z$)return wu;z$=1,Object.defineProperty(wu,"__esModule",{value:!0}),wu.CallHierarchyFeature=void 0;const t=St(),e=n=>class extends n{get callHierarchy(){return{onPrepare:r=>this.connection.onRequest(t.CallHierarchyPrepareRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0)),onIncomingCalls:r=>{const i=t.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))},onOutgoingCalls:r=>{const i=t.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return wu.CallHierarchyFeature=e,wu}var _i={},B$;function q$(){if(B$)return _i;B$=1,Object.defineProperty(_i,"__esModule",{value:!0}),_i.SemanticTokensBuilder=_i.SemanticTokensDiff=_i.SemanticTokensFeature=void 0;const t=St(),e=i=>class extends i{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(t.SemanticTokensRefreshRequest.type),on:s=>{const o=t.SemanticTokensRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))},onDelta:s=>{const o=t.SemanticTokensDeltaRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))},onRange:s=>{const o=t.SemanticTokensRangeRequest.type;return this.connection.onRequest(o,(a,c)=>s(a,c,this.attachWorkDoneProgress(a),this.attachPartialResultProgress(o,a)))}}}};_i.SemanticTokensFeature=e;class n{constructor(s,o){this.originalSequence=s,this.modifiedSequence=o}computeDiff(){const s=this.originalSequence.length,o=this.modifiedSequence.length;let a=0;for(;a<o&&a<s&&this.originalSequence[a]===this.modifiedSequence[a];)a++;if(a<o&&a<s){let c=s-1,u=o-1;for(;c>=a&&u>=a&&this.originalSequence[c]===this.modifiedSequence[u];)c--,u--;(c<a||u<a)&&(c++,u++);const l=c-a+1,d=this.modifiedSequence.slice(a,u+1);return d.length===1&&d[0]===this.originalSequence[c]?[{start:a,deleteCount:l-1}]:[{start:a,deleteCount:l,data:d}]}else return a<o?[{start:a,deleteCount:0,data:this.modifiedSequence.slice(a)}]:a<s?[{start:a,deleteCount:s-a}]:[]}}_i.SemanticTokensDiff=n;class r{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(s,o,a,c,u){let l=s,d=o;this._dataLen>0&&(l-=this._prevLine,l===0&&(d-=this._prevChar)),this._data[this._dataLen++]=l,this._data[this._dataLen++]=d,this._data[this._dataLen++]=a,this._data[this._dataLen++]=c,this._data[this._dataLen++]=u,this._prevLine=s,this._prevChar=o}get id(){return this._id.toString()}previousResult(s){this.id===s&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new n(this._prevData,this._data).computeDiff()}:this.build()}}return _i.SemanticTokensBuilder=r,_i}var bu={},j$;function P7(){if(j$)return bu;j$=1,Object.defineProperty(bu,"__esModule",{value:!0}),bu.ShowDocumentFeature=void 0;const t=St(),e=n=>class extends n{showDocument(r){return this.connection.sendRequest(t.ShowDocumentRequest.type,r)}};return bu.ShowDocumentFeature=e,bu}var Eu={},U$;function N7(){if(U$)return Eu;U$=1,Object.defineProperty(Eu,"__esModule",{value:!0}),Eu.FileOperationsFeature=void 0;const t=St(),e=n=>class extends n{onDidCreateFiles(r){return this.connection.onNotification(t.DidCreateFilesNotification.type,i=>{r(i)})}onDidRenameFiles(r){return this.connection.onNotification(t.DidRenameFilesNotification.type,i=>{r(i)})}onDidDeleteFiles(r){return this.connection.onNotification(t.DidDeleteFilesNotification.type,i=>{r(i)})}onWillCreateFiles(r){return this.connection.onRequest(t.WillCreateFilesRequest.type,(i,s)=>r(i,s))}onWillRenameFiles(r){return this.connection.onRequest(t.WillRenameFilesRequest.type,(i,s)=>r(i,s))}onWillDeleteFiles(r){return this.connection.onRequest(t.WillDeleteFilesRequest.type,(i,s)=>r(i,s))}};return Eu.FileOperationsFeature=e,Eu}var Du={},G$;function O7(){if(G$)return Du;G$=1,Object.defineProperty(Du,"__esModule",{value:!0}),Du.LinkedEditingRangeFeature=void 0;const t=St(),e=n=>class extends n{onLinkedEditingRange(r){return this.connection.onRequest(t.LinkedEditingRangeRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0))}};return Du.LinkedEditingRangeFeature=e,Du}var Tu={},W$;function L7(){if(W$)return Tu;W$=1,Object.defineProperty(Tu,"__esModule",{value:!0}),Tu.TypeHierarchyFeature=void 0;const t=St(),e=n=>class extends n{get typeHierarchy(){return{onPrepare:r=>this.connection.onRequest(t.TypeHierarchyPrepareRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),void 0)),onSupertypes:r=>{const i=t.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))},onSubtypes:r=>{const i=t.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return Tu.TypeHierarchyFeature=e,Tu}var Ru={},H$;function F7(){if(H$)return Ru;H$=1,Object.defineProperty(Ru,"__esModule",{value:!0}),Ru.InlineValueFeature=void 0;const t=St(),e=n=>class extends n{get inlineValue(){return{refresh:()=>this.connection.sendRequest(t.InlineValueRefreshRequest.type),on:r=>this.connection.onRequest(t.InlineValueRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i)))}}};return Ru.InlineValueFeature=e,Ru}var Su={},V$;function M7(){if(V$)return Su;V$=1,Object.defineProperty(Su,"__esModule",{value:!0}),Su.FoldingRangeFeature=void 0;const t=St(),e=n=>class extends n{get foldingRange(){return{refresh:()=>this.connection.sendRequest(t.FoldingRangeRefreshRequest.type),on:r=>{const i=t.FoldingRangeRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return Su.FoldingRangeFeature=e,Su}var ku={},K$;function z7(){if(K$)return ku;K$=1,Object.defineProperty(ku,"__esModule",{value:!0}),ku.InlayHintFeature=void 0;const t=St(),e=n=>class extends n{get inlayHint(){return{refresh:()=>this.connection.sendRequest(t.InlayHintRefreshRequest.type),on:r=>this.connection.onRequest(t.InlayHintRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i))),resolve:r=>this.connection.onRequest(t.InlayHintResolveRequest.type,(i,s)=>r(i,s))}}};return ku.InlayHintFeature=e,ku}var $u={},Y$;function B7(){if(Y$)return $u;Y$=1,Object.defineProperty($u,"__esModule",{value:!0}),$u.DiagnosticFeature=void 0;const t=St(),e=n=>class extends n{get diagnostics(){return{refresh:()=>this.connection.sendRequest(t.DiagnosticRefreshRequest.type),on:r=>this.connection.onRequest(t.DocumentDiagnosticRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),this.attachPartialResultProgress(t.DocumentDiagnosticRequest.partialResult,i))),onWorkspace:r=>this.connection.onRequest(t.WorkspaceDiagnosticRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i),this.attachPartialResultProgress(t.WorkspaceDiagnosticRequest.partialResult,i)))}}};return $u.DiagnosticFeature=e,$u}var eo={},Cu={},X$;function J$(){if(X$)return Cu;X$=1,Object.defineProperty(Cu,"__esModule",{value:!0}),Cu.TextDocuments=void 0;const t=St();class e{constructor(r){this._configuration=r,this._syncedDocuments=new Map,this._onDidChangeContent=new t.Emitter,this._onDidOpen=new t.Emitter,this._onDidClose=new t.Emitter,this._onDidSave=new t.Emitter,this._onWillSave=new t.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(r){this._willSaveWaitUntil=r}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(r){return this._syncedDocuments.get(r)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(r){r.__textDocumentSync=t.TextDocumentSyncKind.Incremental;const i=[];return i.push(r.onDidOpenTextDocument(s=>{const o=s.textDocument,a=this._configuration.create(o.uri,o.languageId,o.version,o.text);this._syncedDocuments.set(o.uri,a);const c=Object.freeze({document:a});this._onDidOpen.fire(c),this._onDidChangeContent.fire(c)})),i.push(r.onDidChangeTextDocument(s=>{const o=s.textDocument,a=s.contentChanges;if(a.length===0)return;const{version:c}=o;if(c==null)throw new Error(`Received document change event for ${o.uri} without valid version identifier`);let u=this._syncedDocuments.get(o.uri);u!==void 0&&(u=this._configuration.update(u,a,c),this._syncedDocuments.set(o.uri,u),this._onDidChangeContent.fire(Object.freeze({document:u})))})),i.push(r.onDidCloseTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&(this._syncedDocuments.delete(s.textDocument.uri),this._onDidClose.fire(Object.freeze({document:o})))})),i.push(r.onWillSaveTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&this._onWillSave.fire(Object.freeze({document:o,reason:s.reason}))})),i.push(r.onWillSaveTextDocumentWaitUntil((s,o)=>{let a=this._syncedDocuments.get(s.textDocument.uri);return a!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:a,reason:s.reason}),o):[]})),i.push(r.onDidSaveTextDocument(s=>{let o=this._syncedDocuments.get(s.textDocument.uri);o!==void 0&&this._onDidSave.fire(Object.freeze({document:o}))})),t.Disposable.create(()=>{i.forEach(s=>s.dispose())})}}return Cu.TextDocuments=e,Cu}var Z$;function Q$(){if(Z$)return eo;Z$=1,Object.defineProperty(eo,"__esModule",{value:!0}),eo.NotebookDocuments=eo.NotebookSyncFeature=void 0;const t=St(),e=J$(),n=s=>class extends s{get synchronization(){return{onDidOpenNotebookDocument:o=>this.connection.onNotification(t.DidOpenNotebookDocumentNotification.type,a=>{o(a)}),onDidChangeNotebookDocument:o=>this.connection.onNotification(t.DidChangeNotebookDocumentNotification.type,a=>{o(a)}),onDidSaveNotebookDocument:o=>this.connection.onNotification(t.DidSaveNotebookDocumentNotification.type,a=>{o(a)}),onDidCloseNotebookDocument:o=>this.connection.onNotification(t.DidCloseNotebookDocumentNotification.type,a=>{o(a)})}}};eo.NotebookSyncFeature=n;class r{onDidOpenTextDocument(o){return this.openHandler=o,t.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(o){this.openHandler&&this.openHandler(o)}onDidChangeTextDocument(o){return this.changeHandler=o,t.Disposable.create(()=>{this.changeHandler=o})}changeTextDocument(o){this.changeHandler&&this.changeHandler(o)}onDidCloseTextDocument(o){return this.closeHandler=o,t.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(o){this.closeHandler&&this.closeHandler(o)}onWillSaveTextDocument(){return r.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return r.NULL_DISPOSE}onDidSaveTextDocument(){return r.NULL_DISPOSE}}r.NULL_DISPOSE=Object.freeze({dispose:()=>{}});class i{constructor(o){o instanceof e.TextDocuments?this._cellTextDocuments=o:this._cellTextDocuments=new e.TextDocuments(o),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new t.Emitter,this._onDidChange=new t.Emitter,this._onDidSave=new t.Emitter,this._onDidClose=new t.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(o){return this._cellTextDocuments.get(o.document)}getNotebookDocument(o){return this.notebookDocuments.get(o)}getNotebookCell(o){const a=this.notebookCellMap.get(o);return a&&a[0]}findNotebookDocumentForCell(o){const a=typeof o=="string"?o:o.document,c=this.notebookCellMap.get(a);return c&&c[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(o){const a=new r,c=[];return c.push(this.cellTextDocuments.listen(a)),c.push(o.notebooks.synchronization.onDidOpenNotebookDocument(u=>{this.notebookDocuments.set(u.notebookDocument.uri,u.notebookDocument);for(const l of u.cellTextDocuments)a.openTextDocument({textDocument:l});this.updateCellMap(u.notebookDocument),this._onDidOpen.fire(u.notebookDocument)})),c.push(o.notebooks.synchronization.onDidChangeNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);if(l===void 0)return;l.version=u.notebookDocument.version;const d=l.metadata;let f=!1;const h=u.change;h.metadata!==void 0&&(f=!0,l.metadata=h.metadata);const p=[],m=[],g=[],y=[];if(h.cells!==void 0){const I=h.cells;if(I.structure!==void 0){const x=I.structure.array;if(l.cells.splice(x.start,x.deleteCount,...x.cells!==void 0?x.cells:[]),I.structure.didOpen!==void 0)for(const _ of I.structure.didOpen)a.openTextDocument({textDocument:_}),p.push(_.uri);if(I.structure.didClose)for(const _ of I.structure.didClose)a.closeTextDocument({textDocument:_}),m.push(_.uri)}if(I.data!==void 0){const x=new Map(I.data.map(_=>[_.document,_]));for(let _=0;_<=l.cells.length;_++){const P=x.get(l.cells[_].document);if(P!==void 0){const O=l.cells.splice(_,1,P);if(g.push({old:O[0],new:P}),x.delete(P.document),x.size===0)break}}}if(I.textContent!==void 0)for(const x of I.textContent)a.changeTextDocument({textDocument:x.document,contentChanges:x.changes}),y.push(x.document.uri)}this.updateCellMap(l);const w={notebookDocument:l};f&&(w.metadata={old:d,new:l.metadata});const E=[];for(const I of p)E.push(this.getNotebookCell(I));const k=[];for(const I of m)k.push(this.getNotebookCell(I));const A=[];for(const I of y)A.push(this.getNotebookCell(I));(E.length>0||k.length>0||g.length>0||A.length>0)&&(w.cells={added:E,removed:k,changed:{data:g,textContent:A}}),(w.metadata!==void 0||w.cells!==void 0)&&this._onDidChange.fire(w)})),c.push(o.notebooks.synchronization.onDidSaveNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);l!==void 0&&this._onDidSave.fire(l)})),c.push(o.notebooks.synchronization.onDidCloseNotebookDocument(u=>{const l=this.notebookDocuments.get(u.notebookDocument.uri);if(l!==void 0){this._onDidClose.fire(l);for(const d of u.cellTextDocuments)a.closeTextDocument({textDocument:d});this.notebookDocuments.delete(u.notebookDocument.uri);for(const d of l.cells)this.notebookCellMap.delete(d.document)}})),t.Disposable.create(()=>{c.forEach(u=>u.dispose())})}updateCellMap(o){for(const a of o.cells)this.notebookCellMap.set(a.document,[a,o])}}return eo.NotebookDocuments=i,eo}var _u={},eC;function q7(){if(eC)return _u;eC=1,Object.defineProperty(_u,"__esModule",{value:!0}),_u.MonikerFeature=void 0;const t=St(),e=n=>class extends n{get moniker(){return{on:r=>{const i=t.MonikerRequest.type;return this.connection.onRequest(i,(s,o)=>r(s,o,this.attachWorkDoneProgress(s),this.attachPartialResultProgress(i,s)))}}}};return _u.MonikerFeature=e,_u}var tC;function nC(){if(tC)return je;tC=1,Object.defineProperty(je,"__esModule",{value:!0}),je.createConnection=je.combineFeatures=je.combineNotebooksFeatures=je.combineLanguagesFeatures=je.combineWorkspaceFeatures=je.combineWindowFeatures=je.combineClientFeatures=je.combineTracerFeatures=je.combineTelemetryFeatures=je.combineConsoleFeatures=je._NotebooksImpl=je._LanguagesImpl=je.BulkUnregistration=je.BulkRegistration=je.ErrorMessageTracker=void 0;const t=St(),e=fv(),n=O$(),r=_7(),i=A7(),s=x7(),o=I7(),a=q$(),c=P7(),u=N7(),l=O7(),d=L7(),f=F7(),h=M7(),p=z7(),m=B7(),g=Q$(),y=q7();function w(ce){if(ce!==null)return ce}class E{constructor(){this._messages=Object.create(null)}add(M){let U=this._messages[M];U||(U=0),U++,this._messages[M]=U}sendErrors(M){Object.keys(this._messages).forEach(U=>{M.window.showErrorMessage(U)})}}je.ErrorMessageTracker=E;class k{constructor(){}rawAttach(M){this._rawConnection=M}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(M){}initialize(M){}error(M){this.send(t.MessageType.Error,M)}warn(M){this.send(t.MessageType.Warning,M)}info(M){this.send(t.MessageType.Info,M)}log(M){this.send(t.MessageType.Log,M)}debug(M){this.send(t.MessageType.Debug,M)}send(M,U){this._rawConnection&&this._rawConnection.sendNotification(t.LogMessageNotification.type,{type:M,message:U}).catch(()=>{(0,t.RAL)().console.error("Sending log message failed")})}}class A{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}showErrorMessage(M,...U){let oe={type:t.MessageType.Error,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}showWarningMessage(M,...U){let oe={type:t.MessageType.Warning,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}showInformationMessage(M,...U){let oe={type:t.MessageType.Info,message:M,actions:U};return this.connection.sendRequest(t.ShowMessageRequest.type,oe).then(w)}}const I=(0,c.ShowDocumentFeature)((0,r.ProgressFeature)(A));var x;(function(ce){function M(){return new _}ce.create=M})(x||(je.BulkRegistration=x={}));class _{constructor(){this._registrations=[],this._registered=new Set}add(M,U){const oe=e.string(M)?M:M.method;if(this._registered.has(oe))throw new Error(`${oe} is already added to this registration`);const G=n.generateUuid();this._registrations.push({id:G,method:oe,registerOptions:U||{}}),this._registered.add(oe)}asRegistrationParams(){return{registrations:this._registrations}}}var P;(function(ce){function M(){return new O(void 0,[])}ce.create=M})(P||(je.BulkUnregistration=P={}));class O{constructor(M,U){this._connection=M,this._unregistrations=new Map,U.forEach(oe=>{this._unregistrations.set(oe.method,oe)})}get isAttached(){return!!this._connection}attach(M){this._connection=M}add(M){this._unregistrations.set(M.method,M)}dispose(){let M=[];for(let oe of this._unregistrations.values())M.push(oe);let U={unregisterations:M};this._connection.sendRequest(t.UnregistrationRequest.type,U).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(M){const U=e.string(M)?M:M.method,oe=this._unregistrations.get(U);if(!oe)return!1;let G={unregisterations:[oe]};return this._connection.sendRequest(t.UnregistrationRequest.type,G).then(()=>{this._unregistrations.delete(U)},Fe=>{this._connection.console.info(`Un-registering request handler for ${oe.id} failed.`)}),!0}}class C{attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}register(M,U,oe){return M instanceof _?this.registerMany(M):M instanceof O?this.registerSingle1(M,U,oe):this.registerSingle2(M,U)}registerSingle1(M,U,oe){const G=e.string(U)?U:U.method,Fe=n.generateUuid();let yt={registrations:[{id:Fe,method:G,registerOptions:oe||{}}]};return M.isAttached||M.attach(this.connection),this.connection.sendRequest(t.RegistrationRequest.type,yt).then(mn=>(M.add({id:Fe,method:G}),M),mn=>(this.connection.console.info(`Registering request handler for ${G} failed.`),Promise.reject(mn)))}registerSingle2(M,U){const oe=e.string(M)?M:M.method,G=n.generateUuid();let Fe={registrations:[{id:G,method:oe,registerOptions:U||{}}]};return this.connection.sendRequest(t.RegistrationRequest.type,Fe).then(yt=>t.Disposable.create(()=>{this.unregisterSingle(G,oe).catch(()=>{this.connection.console.info(`Un-registering capability with id ${G} failed.`)})}),yt=>(this.connection.console.info(`Registering request handler for ${oe} failed.`),Promise.reject(yt)))}unregisterSingle(M,U){let oe={unregisterations:[{id:M,method:U}]};return this.connection.sendRequest(t.UnregistrationRequest.type,oe).catch(()=>{this.connection.console.info(`Un-registering request handler for ${M} failed.`)})}registerMany(M){let U=M.asRegistrationParams();return this.connection.sendRequest(t.RegistrationRequest.type,U).then(()=>new O(this._connection,U.registrations.map(oe=>({id:oe.id,method:oe.method}))),oe=>(this.connection.console.info("Bulk registration failed."),Promise.reject(oe)))}}class D{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}applyEdit(M){function U(G){return G&&!!G.edit}let oe=U(M)?M:{edit:M};return this.connection.sendRequest(t.ApplyWorkspaceEditRequest.type,oe)}}const R=(0,u.FileOperationsFeature)((0,s.WorkspaceFoldersFeature)((0,i.ConfigurationFeature)(D)));class F{constructor(){this._trace=t.Trace.Off}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}set trace(M){this._trace=M}log(M,U){this._trace!==t.Trace.Off&&this.connection.sendNotification(t.LogTraceNotification.type,{message:M,verbose:this._trace===t.Trace.Verbose?U:void 0}).catch(()=>{})}}class W{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}logEvent(M){this.connection.sendNotification(t.TelemetryEventNotification.type,M).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}}class V{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}attachWorkDoneProgress(M){return(0,r.attachWorkDone)(this.connection,M)}attachPartialResultProgress(M,U){return(0,r.attachPartialResult)(this.connection,U)}}je._LanguagesImpl=V;const Z=(0,h.FoldingRangeFeature)((0,y.MonikerFeature)((0,m.DiagnosticFeature)((0,p.InlayHintFeature)((0,f.InlineValueFeature)((0,d.TypeHierarchyFeature)((0,l.LinkedEditingRangeFeature)((0,a.SemanticTokensFeature)((0,o.CallHierarchyFeature)(V)))))))));class Le{constructor(){}attach(M){this._connection=M}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(M){}fillServerCapabilities(M){}attachWorkDoneProgress(M){return(0,r.attachWorkDone)(this.connection,M)}attachPartialResultProgress(M,U){return(0,r.attachPartialResult)(this.connection,U)}}je._NotebooksImpl=Le;const se=(0,g.NotebookSyncFeature)(Le);function K(ce,M){return function(U){return M(ce(U))}}je.combineConsoleFeatures=K;function Te(ce,M){return function(U){return M(ce(U))}}je.combineTelemetryFeatures=Te;function ut(ce,M){return function(U){return M(ce(U))}}je.combineTracerFeatures=ut;function H(ce,M){return function(U){return M(ce(U))}}je.combineClientFeatures=H;function Y(ce,M){return function(U){return M(ce(U))}}je.combineWindowFeatures=Y;function ee(ce,M){return function(U){return M(ce(U))}}je.combineWorkspaceFeatures=ee;function ne(ce,M){return function(U){return M(ce(U))}}je.combineLanguagesFeatures=ne;function fe(ce,M){return function(U){return M(ce(U))}}je.combineNotebooksFeatures=fe;function Ee(ce,M){function U(G,Fe,yt){return G&&Fe?yt(G,Fe):G||Fe}return{__brand:"features",console:U(ce.console,M.console,K),tracer:U(ce.tracer,M.tracer,ut),telemetry:U(ce.telemetry,M.telemetry,Te),client:U(ce.client,M.client,H),window:U(ce.window,M.window,Y),workspace:U(ce.workspace,M.workspace,ee),languages:U(ce.languages,M.languages,ne),notebooks:U(ce.notebooks,M.notebooks,fe)}}je.combineFeatures=Ee;function ge(ce,M,U){const oe=U&&U.console?new(U.console(k)):new k,G=ce(oe);oe.rawAttach(G);const Fe=U&&U.tracer?new(U.tracer(F)):new F,yt=U&&U.telemetry?new(U.telemetry(W)):new W,mn=U&&U.client?new(U.client(C)):new C,nr=U&&U.window?new(U.window(I)):new I,rr=U&&U.workspace?new(U.workspace(R)):new R,ir=U&&U.languages?new(U.languages(Z)):new Z,qt=U&&U.notebooks?new(U.notebooks(se)):new se,_n=[oe,Fe,yt,mn,nr,rr,ir,qt];function Yr(X){return X instanceof Promise?X:e.thenable(X)?new Promise((J,le)=>{X.then(jt=>J(jt),jt=>le(jt))}):Promise.resolve(X)}let zn,gn,Bn,tn={listen:()=>G.listen(),sendRequest:(X,...J)=>G.sendRequest(e.string(X)?X:X.method,...J),onRequest:(X,J)=>G.onRequest(X,J),sendNotification:(X,J)=>{const le=e.string(X)?X:X.method;return G.sendNotification(le,J)},onNotification:(X,J)=>G.onNotification(X,J),onProgress:G.onProgress,sendProgress:G.sendProgress,onInitialize:X=>(gn=X,{dispose:()=>{gn=void 0}}),onInitialized:X=>G.onNotification(t.InitializedNotification.type,X),onShutdown:X=>(zn=X,{dispose:()=>{zn=void 0}}),onExit:X=>(Bn=X,{dispose:()=>{Bn=void 0}}),get console(){return oe},get telemetry(){return yt},get tracer(){return Fe},get client(){return mn},get window(){return nr},get workspace(){return rr},get languages(){return ir},get notebooks(){return qt},onDidChangeConfiguration:X=>G.onNotification(t.DidChangeConfigurationNotification.type,X),onDidChangeWatchedFiles:X=>G.onNotification(t.DidChangeWatchedFilesNotification.type,X),__textDocumentSync:void 0,onDidOpenTextDocument:X=>G.onNotification(t.DidOpenTextDocumentNotification.type,X),onDidChangeTextDocument:X=>G.onNotification(t.DidChangeTextDocumentNotification.type,X),onDidCloseTextDocument:X=>G.onNotification(t.DidCloseTextDocumentNotification.type,X),onWillSaveTextDocument:X=>G.onNotification(t.WillSaveTextDocumentNotification.type,X),onWillSaveTextDocumentWaitUntil:X=>G.onRequest(t.WillSaveTextDocumentWaitUntilRequest.type,X),onDidSaveTextDocument:X=>G.onNotification(t.DidSaveTextDocumentNotification.type,X),sendDiagnostics:X=>G.sendNotification(t.PublishDiagnosticsNotification.type,X),onHover:X=>G.onRequest(t.HoverRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onCompletion:X=>G.onRequest(t.CompletionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCompletionResolve:X=>G.onRequest(t.CompletionResolveRequest.type,X),onSignatureHelp:X=>G.onRequest(t.SignatureHelpRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDeclaration:X=>G.onRequest(t.DeclarationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDefinition:X=>G.onRequest(t.DefinitionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onTypeDefinition:X=>G.onRequest(t.TypeDefinitionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onImplementation:X=>G.onRequest(t.ImplementationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onReferences:X=>G.onRequest(t.ReferencesRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentHighlight:X=>G.onRequest(t.DocumentHighlightRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentSymbol:X=>G.onRequest(t.DocumentSymbolRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onWorkspaceSymbol:X=>G.onRequest(t.WorkspaceSymbolRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onWorkspaceSymbolResolve:X=>G.onRequest(t.WorkspaceSymbolResolveRequest.type,X),onCodeAction:X=>G.onRequest(t.CodeActionRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCodeActionResolve:X=>G.onRequest(t.CodeActionResolveRequest.type,(J,le)=>X(J,le)),onCodeLens:X=>G.onRequest(t.CodeLensRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onCodeLensResolve:X=>G.onRequest(t.CodeLensResolveRequest.type,(J,le)=>X(J,le)),onDocumentFormatting:X=>G.onRequest(t.DocumentFormattingRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDocumentRangeFormatting:X=>G.onRequest(t.DocumentRangeFormattingRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onDocumentOnTypeFormatting:X=>G.onRequest(t.DocumentOnTypeFormattingRequest.type,(J,le)=>X(J,le)),onRenameRequest:X=>G.onRequest(t.RenameRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),onPrepareRename:X=>G.onRequest(t.PrepareRenameRequest.type,(J,le)=>X(J,le)),onDocumentLinks:X=>G.onRequest(t.DocumentLinkRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onDocumentLinkResolve:X=>G.onRequest(t.DocumentLinkResolveRequest.type,(J,le)=>X(J,le)),onDocumentColor:X=>G.onRequest(t.DocumentColorRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onColorPresentation:X=>G.onRequest(t.ColorPresentationRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onFoldingRanges:X=>G.onRequest(t.FoldingRangeRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onSelectionRanges:X=>G.onRequest(t.SelectionRangeRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),(0,r.attachPartialResult)(G,J))),onExecuteCommand:X=>G.onRequest(t.ExecuteCommandRequest.type,(J,le)=>X(J,le,(0,r.attachWorkDone)(G,J),void 0)),dispose:()=>G.dispose()};for(let X of _n)X.attach(tn);return G.onRequest(t.InitializeRequest.type,X=>{M.initialize(X),e.string(X.trace)&&(Fe.trace=t.Trace.fromString(X.trace));for(let J of _n)J.initialize(X.capabilities);if(gn){let J=gn(X,new t.CancellationTokenSource().token,(0,r.attachWorkDone)(G,X),void 0);return Yr(J).then(le=>{if(le instanceof t.ResponseError)return le;let jt=le;jt||(jt={capabilities:{}});let Ft=jt.capabilities;Ft||(Ft={},jt.capabilities=Ft),Ft.textDocumentSync===void 0||Ft.textDocumentSync===null?Ft.textDocumentSync=e.number(tn.__textDocumentSync)?tn.__textDocumentSync:t.TextDocumentSyncKind.None:!e.number(Ft.textDocumentSync)&&!e.number(Ft.textDocumentSync.change)&&(Ft.textDocumentSync.change=e.number(tn.__textDocumentSync)?tn.__textDocumentSync:t.TextDocumentSyncKind.None);for(let Rr of _n)Rr.fillServerCapabilities(Ft);return jt})}else{let J={capabilities:{textDocumentSync:t.TextDocumentSyncKind.None}};for(let le of _n)le.fillServerCapabilities(J.capabilities);return J}}),G.onRequest(t.ShutdownRequest.type,()=>{if(M.shutdownReceived=!0,zn)return zn(new t.CancellationTokenSource().token)}),G.onNotification(t.ExitNotification.type,()=>{try{Bn&&Bn()}finally{M.shutdownReceived?M.exit(0):M.exit(1)}}),G.onNotification(t.SetTraceNotification.type,X=>{Fe.trace=t.Trace.fromString(X.value)}),tn}return je.createConnection=ge,je}var fn={};const j7=ui(B2),ph=ui(q2),rC=ui(j2);var iC;function U7(){if(iC)return fn;iC=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.resolveModulePath=fn.FileSystem=fn.resolveGlobalYarnPath=fn.resolveGlobalNodePath=fn.resolve=fn.uriToFilePath=void 0;const t=j7,e=au,n=ph,r=rC;function i(d){let f=t.parse(d);if(f.protocol!=="file:"||!f.path)return;let h=f.path.split("/");for(var p=0,m=h.length;p<m;p++)h[p]=decodeURIComponent(h[p]);if(process.platform==="win32"&&h.length>1){let g=h[0],y=h[1];g.length===0&&y.length>1&&y[1]===":"&&h.shift()}return e.normalize(h.join("/"))}fn.uriToFilePath=i;function s(){return process.platform==="win32"}function o(d,f,h,p){const m="NODE_PATH",g=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise((y,w)=>{let E=process.env,k=Object.create(null);Object.keys(E).forEach(A=>k[A]=E[A]),f&&n.existsSync(f)&&(k[m]?k[m]=f+e.delimiter+k[m]:k[m]=f,p&&p(`NODE_PATH value is: ${k[m]}`)),k.ELECTRON_RUN_AS_NODE="1";try{let A=(0,r.fork)("",[],{cwd:h,env:k,execArgv:["-e",g]});if(A.pid===void 0){w(new Error(`Starting process to resolve node module ${d} failed`));return}A.on("error",x=>{w(x)}),A.on("message",x=>{x.c==="r"&&(A.send({c:"e"}),x.s?y(x.r):w(new Error(`Failed to resolve module: ${d}`)))});let I={c:"rs",a:d};A.send(I)}catch(A){w(A)}})}fn.resolve=o;function a(d){let f="npm";const h=Object.create(null);Object.keys(process.env).forEach(g=>h[g]=process.env[g]),h.NO_UPDATE_NOTIFIER="true";const p={encoding:"utf8",env:h};s()&&(f="npm.cmd",p.shell=!0);let m=()=>{};try{process.on("SIGPIPE",m);let g=(0,r.spawnSync)(f,["config","get","prefix"],p).stdout;if(!g){d&&d("'npm config get prefix' didn't return a value.");return}let y=g.trim();return d&&d(`'npm config get prefix' value is: ${y}`),y.length>0?s()?e.join(y,"node_modules"):e.join(y,"lib","node_modules"):void 0}catch{return}finally{process.removeListener("SIGPIPE",m)}}fn.resolveGlobalNodePath=a;function c(d){let f="yarn",h={encoding:"utf8"};s()&&(f="yarn.cmd",h.shell=!0);let p=()=>{};try{process.on("SIGPIPE",p);let m=(0,r.spawnSync)(f,["global","dir","--json"],h),g=m.stdout;if(!g){d&&(d("'yarn global dir' didn't return a value."),m.stderr&&d(m.stderr));return}let y=g.trim().split(/\r?\n/);for(let w of y)try{let E=JSON.parse(w);if(E.type==="log")return e.join(E.data,"node_modules")}catch{}return}catch{return}finally{process.removeListener("SIGPIPE",p)}}fn.resolveGlobalYarnPath=c;var u;(function(d){let f;function h(){return f!==void 0||(process.platform==="win32"?f=!1:f=!n.existsSync(__filename.toUpperCase())||!n.existsSync(__filename.toLowerCase())),f}d.isCaseSensitive=h;function p(m,g){return h()?e.normalize(g).indexOf(e.normalize(m))===0:e.normalize(g).toLowerCase().indexOf(e.normalize(m).toLowerCase())===0}d.isParent=p})(u||(fn.FileSystem=u={}));function l(d,f,h,p){return h?(e.isAbsolute(h)||(h=e.join(d,h)),o(f,h,h,p).then(m=>u.isParent(h,m)?m:Promise.reject(new Error(`Failed to load ${f} from node path location.`))).then(void 0,m=>o(f,a(p),d,p))):o(f,a(p),d,p)}return fn.resolveModulePath=l,fn}var bv,sC;function oC(){return sC||(sC=1,bv=St()),bv}var to={},Au={},aC;function G7(){if(aC)return Au;aC=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.InlineCompletionFeature=void 0;const t=St(),e=n=>class extends n{get inlineCompletion(){return{on:r=>this.connection.onRequest(t.InlineCompletionRequest.type,(i,s)=>r(i,s,this.attachWorkDoneProgress(i)))}}};return Au.InlineCompletionFeature=e,Au}var cC;function W7(){return cC||(cC=1,function(t){var e=to&&to.__createBinding||(Object.create?function(c,u,l,d){d===void 0&&(d=l);var f=Object.getOwnPropertyDescriptor(u,l);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[l]}}),Object.defineProperty(c,d,f)}:function(c,u,l,d){d===void 0&&(d=l),c[d]=u[l]}),n=to&&to.__exportStar||function(c,u){for(var l in c)l!=="default"&&!Object.prototype.hasOwnProperty.call(u,l)&&e(u,c,l)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.NotebookDocuments=t.TextDocuments=t.SemanticTokensBuilder=void 0;const r=q$();Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return r.SemanticTokensBuilder}});const i=G7();n(St(),t);const s=J$();Object.defineProperty(t,"TextDocuments",{enumerable:!0,get:function(){return s.TextDocuments}});const o=Q$();Object.defineProperty(t,"NotebookDocuments",{enumerable:!0,get:function(){return o.NotebookDocuments}}),n(nC(),t);var a;(function(c){c.all={__brand:"features",languages:i.InlineCompletionFeature}})(a||(t.ProposedFeatures=a={}))}(to)),to}var uC;function lC(){return uC||(uC=1,function(t){var e=Gs&&Gs.__createBinding||(Object.create?function(y,w,E,k){k===void 0&&(k=E);var A=Object.getOwnPropertyDescriptor(w,E);(!A||("get"in A?!w.__esModule:A.writable||A.configurable))&&(A={enumerable:!0,get:function(){return w[E]}}),Object.defineProperty(y,k,A)}:function(y,w,E,k){k===void 0&&(k=E),y[k]=w[E]}),n=Gs&&Gs.__exportStar||function(y,w){for(var E in y)E!=="default"&&!Object.prototype.hasOwnProperty.call(w,E)&&e(w,y,E)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const r=K9,i=fv(),s=nC(),o=U7(),a=oC();n(oC(),t),n(W7(),t);var c;(function(y){y.uriToFilePath=o.uriToFilePath,y.resolveGlobalNodePath=o.resolveGlobalNodePath,y.resolveGlobalYarnPath=o.resolveGlobalYarnPath,y.resolve=o.resolve,y.resolveModulePath=o.resolveModulePath})(c||(t.Files=c={}));function u(){}let l=!1,d;function f(){const y="--clientProcessId";function w(E){try{let k=parseInt(E);isNaN(k)||(d=setInterval(()=>{try{process.kill(k,0)}catch{process.exit(l?0:1)}},3e3))}catch{}}for(let E=2;E<process.argv.length;E++){let k=process.argv[E];if(k===y&&E+1<process.argv.length){w(process.argv[E+1]);return}else{let A=k.split("=");A[0]===y&&w(A[1])}}}f();const h={initialize:y=>{const w=y.processId;i.number(w)&&d===void 0&&setInterval(()=>{try{process.kill(w,0)}catch{process.exit(l?0:1)}},3e3)},get shutdownReceived(){return l},set shutdownReceived(y){l=y},exit:y=>{process.exit(y)}};function p(y,w,E,k){let A,I,x,_;return y!==void 0&&y.__brand==="features"&&(A=y,y=w,w=E,E=k),a.ConnectionStrategy.is(y)||a.ConnectionOptions.is(y)?_=y:(I=y,x=w,_=E),m(I,x,_,A)}t.createConnection=p;function m(y,w,E,k){let A=!1;if(!y&&!w&&process.argv.length>2){let P,O,C=process.argv.slice(2);for(let D=0;D<C.length;D++){let R=C[D];if(R==="--node-ipc"){y=new a.IPCMessageReader(process),w=new a.IPCMessageWriter(process);break}else if(R==="--stdio"){A=!0,y=process.stdin,w=process.stdout;break}else if(R==="--socket"){P=parseInt(C[D+1]);break}else if(R==="--pipe"){O=C[D+1];break}else{var I=R.split("=");if(I[0]==="--socket"){P=parseInt(I[1]);break}else if(I[0]==="--pipe"){O=I[1];break}}}if(P){let D=(0,a.createServerSocketTransport)(P);y=D[0],w=D[1]}else if(O){let D=(0,a.createServerPipeTransport)(O);y=D[0],w=D[1]}}var x="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!y)throw new Error("Connection input stream is not set. "+x);if(!w)throw new Error("Connection output stream is not set. "+x);if(i.func(y.read)&&i.func(y.on)){let P=y;P.on("end",()=>{process.exit(l?0:1)}),P.on("close",()=>{process.exit(l?0:1)})}const _=P=>{const O=(0,a.createProtocolConnection)(y,w,P,E);return A&&g(P),O};return(0,s.createConnection)(_,h,k)}function g(y){function w(k){return k.map(A=>typeof A=="string"?A:(0,r.inspect)(A)).join(" ")}const E=new Map;console.assert=function(A,...I){if(!A)if(I.length===0)y.error("Assertion failed");else{const[x,..._]=I;y.error(`Assertion failed: ${x} ${w(_)}`)}},console.count=function(A="default"){const I=String(A);let x=E.get(I)??0;x+=1,E.set(I,x),y.log(`${I}: ${I}`)},console.countReset=function(A){A===void 0?E.clear():E.delete(String(A))},console.debug=function(...A){y.log(w(A))},console.dir=function(A,I){y.log((0,r.inspect)(A,I))},console.log=function(...A){y.log(w(A))},console.error=function(...A){y.error(w(A))},console.trace=function(...A){const I=new Error().stack.replace(/(.+\n){2}/,"");let x="Trace";A.length!==0&&(x+=`: ${w(A)}`),y.log(`${x}
|
|
160
|
-
${I}`)},console.warn=function(...A){y.warn(w(A))}}}(Gs)),Gs}var me=lC();function dC(t,e){const n={stacks:t,tokens:e};return H7(n),n.stacks.flat().forEach(i=>{i.property=void 0}),hC(n.stacks).map(i=>i[i.length-1])}function Ev(t){const{next:e,cardinalities:n,visited:r,plus:i}=t,s=[],o=e.feature;if(r.has(o))return[];r.add(o);let a,c=o;for(;c.$container;)if(Mi(c.$container)){a=c.$container;break}else if(dg(c.$container))c=c.$container;else break;if(dT(c.cardinality)){const u=aa({next:{feature:c,type:e.type},cardinalities:n,visited:r,plus:i});for(const l of u)i.add(l.feature);s.push(...u)}if(a){const u=a.elements.indexOf(c);u!==void 0&&u<a.elements.length-1&&s.push(...fC({feature:a,type:e.type},u+1,n,r,i)),s.every(l=>qo(l.feature.cardinality,l.feature)||qo(n.get(l.feature))||i.has(l.feature))&&s.push(...Ev({next:{feature:a,type:e.type},cardinalities:n,visited:r,plus:i}))}return s}function Dv(t){return vt(t)&&(t={feature:t}),aa({next:t,cardinalities:new Map,visited:new Set,plus:new Set})}function aa(t){var e,n,r;const{next:i,cardinalities:s,visited:o,plus:a}=t;if(i===void 0)return[];const{feature:c,type:u}=i;if(Mi(c)){if(o.has(c))return[];o.add(c)}if(Mi(c))return fC(i,0,s,o,a).map(l=>mh(l,c.cardinality,s));if(gg(c)||yg(c))return c.elements.flatMap(l=>aa({next:{feature:l,type:u,property:i.property},cardinalities:s,visited:o,plus:a})).map(l=>mh(l,c.cardinality,s));if(Ar(c)){const l={feature:c.terminal,type:u,property:(e=i.property)!==null&&e!==void 0?e:c.feature};return aa({next:l,cardinalities:s,visited:o,plus:a}).map(d=>mh(d,c.cardinality,s))}else{if(_s(c))return Ev({next:{feature:c,type:xc(c),property:(n=i.property)!==null&&n!==void 0?n:c.feature},cardinalities:s,visited:o,plus:a});if(si(c)&&Jt(c.rule.ref)){const l=c.rule.ref,d={feature:l.definition,type:l.fragment||l.dataType?void 0:(r=As(l))!==null&&r!==void 0?r:l.name,property:i.property};return aa({next:d,cardinalities:s,visited:o,plus:a}).map(f=>mh(f,c.cardinality,s))}else return[i]}}function mh(t,e,n){return n.set(t.feature,e),t}function fC(t,e,n,r,i){var s;const o=[];let a;for(;e<t.feature.elements.length&&(a={feature:t.feature.elements[e++],type:t.type},o.push(...aa({next:a,cardinalities:n,visited:r,plus:i})),!!qo((s=a.feature.cardinality)!==null&&s!==void 0?s:n.get(a.feature),a.feature)););return o}function H7(t){for(const e of t.tokens){const n=hC(t.stacks,e);t.stacks=n}}function hC(t,e){const n=[];for(const r of t)n.push(...V7(r,e));return n}function V7(t,e){const n=new Map,r=new Set(t.map(s=>s.feature).filter(K7)),i=[];for(;t.length>0;){const s=t.pop(),o=Ev({next:s,cardinalities:n,plus:r,visited:new Set}).filter(a=>e?Tv(a.feature,e):!0);for(const a of o)i.push([...t,a]);if(!o.every(a=>qo(a.feature.cardinality,a.feature)||qo(n.get(a.feature))))break}return i}function K7(t){if(t.cardinality==="+")return!0;const e=wn(t,Ar);return!!(e&&e.cardinality==="+")}function Tv(t,e){if(xr(t))return t.value===e.image;if(si(t))return Y7(t.rule.ref,e);if(pc(t)){const n=kg(t);if(n)return Tv(n,e)}return!1}function Y7(t,e){return Jt(t)?Dv(t.definition).some(r=>Tv(r.feature,e)):ii(t)?Ic(t).test(e.image):!1}function X7(t){const e=Array.from(new Set(t.flatMap(r=>{var i;return(i=r?.triggerCharacters)!==null&&i!==void 0?i:[]}))),n=Array.from(new Set(t.flatMap(r=>{var i;return(i=r?.allCommitCharacters)!==null&&i!==void 0?i:[]})));return{triggerCharacters:e.length>0?e:void 0,allCommitCharacters:n.length>0?n:void 0}}class pC{constructor(e){this.scopeProvider=e.references.ScopeProvider,this.grammar=e.Grammar,this.completionParser=e.parser.CompletionParser,this.nameProvider=e.references.NameProvider,this.lexer=e.parser.Lexer,this.nodeKindProvider=e.shared.lsp.NodeKindProvider,this.fuzzyMatcher=e.shared.lsp.FuzzyMatcher,this.grammarConfig=e.parser.GrammarConfig,this.astReflection=e.shared.AstReflection,this.documentationProvider=e.documentation.DocumentationProvider}async getCompletion(e,n,r){const i=[],s=this.buildContexts(e,n.position),o=(u,l)=>{const d=this.fillCompletionItem(u,l);d&&i.push(d)},a=u=>xr(u.feature)?u.feature.value:u.feature,c=[];for(const u of s)if(await Promise.all(Qe(u.features).distinct(a).exclude(c).map(l=>this.completionFor(u,l,o))),c.push(...u.features),!this.continueCompletion(i))break;return me.CompletionList.create(this.deduplicateItems(i),!0)}deduplicateItems(e){return Qe(e).distinct(n=>`${n.kind}_${n.label}_${n.detail}`).toArray()}findFeaturesAt(e,n){const r=e.getText({start:me.Position.create(0,0),end:e.positionAt(n)}),i=this.completionParser.parse(r),s=i.tokens;if(i.tokenIndex===0){const c=sf(this.grammar),u=Dv({feature:c.definition,type:As(c)});return s.length>0?(s.shift(),dC(u.map(l=>[l]),s)):u}const o=[...s].splice(i.tokenIndex);return dC([i.elementStack.map(c=>({feature:c}))],o)}*buildContexts(e,n){var r,i;const s=e.parseResult.value.$cstNode;if(!s)return;const o=e.textDocument,a=o.getText(),c=o.offsetAt(n),u={document:e,textDocument:o,offset:c,position:n},l=this.findDataTypeRuleStart(s,c);if(l){const[w,E]=l,k=(r=Bd(s,w))===null||r===void 0?void 0:r.astNode;yield Object.assign(Object.assign({},u),{node:k,tokenOffset:w,tokenEndOffset:E,features:this.findFeaturesAt(o,w)})}const{nextTokenStart:d,nextTokenEnd:f,previousTokenStart:h,previousTokenEnd:p}=this.backtrackToAnyToken(a,c);let m=d;c<=d&&h!==void 0&&(m=h);const g=(i=Bd(s,m))===null||i===void 0?void 0:i.astNode;let y=!0;if(h!==void 0&&p!==void 0&&p===c&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:h,tokenEndOffset:p,features:this.findFeaturesAt(o,h)}),y=this.performNextTokenCompletion(e,a.substring(h,p),h,p),y&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:p,tokenEndOffset:p,features:this.findFeaturesAt(o,p)}))),g)y&&(yield Object.assign(Object.assign({},u),{node:g,tokenOffset:d,tokenEndOffset:f,features:this.findFeaturesAt(o,d)}));else{const w=sf(this.grammar);if(!w)throw new Error("Missing entry parser rule");yield Object.assign(Object.assign({},u),{tokenOffset:d,tokenEndOffset:f,features:Dv(w.definition)})}}performNextTokenCompletion(e,n,r,i){return new RegExp("\\P{L}$","u").test(n)}findDataTypeRuleStart(e,n){var r,i;let s=Fi(e,n,this.grammarConfig.nameRegexp),o=!!(!((r=wn(s?.grammarSource,Jt))===null||r===void 0)&&r.dataType);if(o){for(;o;)s=s?.container,o=!!(!((i=wn(s?.grammarSource,Jt))===null||i===void 0)&&i.dataType);if(s)return[s.offset,s.end]}}continueCompletion(e){return e.length===0}backtrackToAnyToken(e,n){const r=this.lexer.tokenize(e).tokens;if(r.length===0)return{nextTokenStart:n,nextTokenEnd:n};let i;for(const s of r){if(s.startOffset>=n)return{nextTokenStart:n,nextTokenEnd:n,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};if(s.endOffset>=n)return{nextTokenStart:s.startOffset,nextTokenEnd:s.endOffset+1,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};i=s}return{nextTokenStart:n,nextTokenEnd:n,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0}}completionFor(e,n,r){if(xr(n.feature))return this.completionForKeyword(e,n.feature,r);if(pc(n.feature)&&e.node)return this.completionForCrossReference(e,n,r)}completionForCrossReference(e,n,r){const i=wn(n.feature,Ar);let s=e.node;if(i&&s){n.type&&(s={$type:n.type,$container:s,$containerProperty:n.property},bg(this.astReflection,s));const o={reference:{$refText:""},container:s,property:i.feature};try{for(const a of this.getReferenceCandidates(o,e))r(e,this.createReferenceCompletionItem(a))}catch(a){console.error(a)}}}getReferenceCandidates(e,n){return this.scopeProvider.getScope(e).getAllElements()}createReferenceCompletionItem(e){const n=this.nodeKindProvider.getCompletionItemKind(e),r=this.getReferenceDocumentation(e);return{nodeDescription:e,kind:n,documentation:r,detail:e.type,sortText:"0"}}getReferenceDocumentation(e){if(!e.node)return;const n=this.documentationProvider.getDocumentation(e.node);if(n)return{kind:"markdown",value:n}}completionForKeyword(e,n,r){this.filterKeyword(e,n)&&r(e,{label:n.value,kind:this.getKeywordCompletionItemKind(n),detail:"Keyword",sortText:"1"})}getKeywordCompletionItemKind(e){return me.CompletionItemKind.Keyword}filterKeyword(e,n){return new RegExp("\\p{L}","u").test(n.value)}fillCompletionItem(e,n){var r,i;let s;if(typeof n.label=="string")s=n.label;else if("node"in n){const u=this.nameProvider.getName(n.node);if(!u)return;s=u}else if("nodeDescription"in n)s=n.nodeDescription.name;else return;let o;typeof((r=n.textEdit)===null||r===void 0?void 0:r.newText)=="string"?o=n.textEdit.newText:typeof n.insertText=="string"?o=n.insertText:o=s;const a=(i=n.textEdit)!==null&&i!==void 0?i:this.buildCompletionTextEdit(e,s,o);return a?{additionalTextEdits:n.additionalTextEdits,command:n.command,commitCharacters:n.commitCharacters,data:n.data,detail:n.detail,documentation:n.documentation,filterText:n.filterText,insertText:n.insertText,insertTextFormat:n.insertTextFormat,insertTextMode:n.insertTextMode,kind:n.kind,labelDetails:n.labelDetails,preselect:n.preselect,sortText:n.sortText,tags:n.tags,textEditText:n.textEditText,textEdit:a,label:s}:void 0}buildCompletionTextEdit(e,n,r){const s=e.textDocument.getText().substring(e.tokenOffset,e.offset);if(this.fuzzyMatcher.match(s,n)){const o=e.textDocument.positionAt(e.tokenOffset),a=e.position;return{newText:r,range:{start:o,end:a}}}else return}}class J7{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getDefinition(e,n,r){const i=e.parseResult.value;if(i.$cstNode){const s=i.$cstNode,o=Fi(s,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);if(o)return this.collectLocationLinks(o,n)}}collectLocationLinks(e,n){var r;const i=this.findLink(e);if(i)return[me.LocationLink.create(i.targetDocument.textDocument.uri,((r=i.target.astNode.$cstNode)!==null&&r!==void 0?r:i.target).range,i.target.range,i.source.range)]}findLink(e){const n=this.references.findDeclarationNode(e);if(n?.astNode){const r=sn(n.astNode);if(n&&r)return{source:e,target:n,targetDocument:r}}}}class mC{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}getDocumentHighlight(e,n,r){const i=e.parseResult.value.$cstNode;if(!i)return;const s=Fi(i,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);if(!s)return;const o=this.references.findDeclaration(s);if(o){const a=Et.equals(sn(o).uri,e.uri),c={documentUri:e.uri,includeDeclaration:a};return this.references.findReferences(o,c).map(l=>this.createDocumentHighlight(l)).toArray()}}createDocumentHighlight(e){return me.DocumentHighlight.create(e.segment.range)}}class Z7{constructor(e){this.nameProvider=e.references.NameProvider,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}getSymbols(e,n,r){return this.getSymbol(e,e.parseResult.value)}getSymbol(e,n){const r=n.$cstNode,i=this.nameProvider.getNameNode(n);if(i&&r){const s=this.nameProvider.getName(n);return[{kind:this.nodeKindProvider.getSymbolKind(n),name:s||i.text,range:r.range,selectionRange:i.range,children:this.getChildSymbols(e,n)}]}else return this.getChildSymbols(e,n)||[]}getChildSymbols(e,n){const r=[];for(const i of Cc(n)){const s=this.getSymbol(e,i);r.push(...s)}if(r.length>0)return r}}class Q7{constructor(e){this.workspaceManager=e.workspace.WorkspaceManager,this.documentBuilder=e.workspace.DocumentBuilder,this.workspaceLock=e.workspace.WorkspaceLock,this.serviceRegistry=e.ServiceRegistry;let n=!1;e.lsp.LanguageServer.onInitialize(r=>{var i,s;n=!!(!((s=(i=r.capabilities.workspace)===null||i===void 0?void 0:i.didChangeWatchedFiles)===null||s===void 0)&&s.dynamicRegistration)}),e.lsp.LanguageServer.onInitialized(r=>{n&&this.registerFileWatcher(e)})}registerFileWatcher(e){const n=Qe(e.ServiceRegistry.all).flatMap(r=>r.LanguageMetaData.fileExtensions).map(r=>r.startsWith(".")?r.substring(1):r).distinct().toArray();if(n.length>0){const r=e.lsp.Connection,i={watchers:[{globPattern:n.length===1?`**/*.${n[0]}`:`**/*.{${n.join(",")}}`}]};r?.client.register(me.DidChangeWatchedFilesNotification.type,i)}}fireDocumentUpdate(e,n){e=e.filter(r=>this.serviceRegistry.hasServices(r)),this.workspaceManager.ready.then(()=>{this.workspaceLock.write(r=>this.documentBuilder.update(e,n,r))}).catch(r=>{console.error("Workspace initialization failed. Could not perform document update.",r)})}didChangeContent(e){this.fireDocumentUpdate([Vt.parse(e.document.uri)],[])}didChangeWatchedFiles(e){const n=Qe(e.changes).filter(i=>i.type!==me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Vt.parse(i.uri)).toArray(),r=Qe(e.changes).filter(i=>i.type===me.FileChangeType.Deleted).distinct(i=>i.uri).map(i=>Vt.parse(i.uri)).toArray();this.fireDocumentUpdate(n,r)}}class eG{constructor(e){this.commentNames=e.parser.GrammarConfig.multilineCommentRules}getFoldingRanges(e,n,r){const i=[],s=o=>i.push(o);return this.collectFolding(e,s),i}collectFolding(e,n){var r;const i=(r=e.parseResult)===null||r===void 0?void 0:r.value;if(i){if(this.shouldProcessContent(i)){const s=Ir(i).iterator();let o;do if(o=s.next(),!o.done){const a=o.value;this.shouldProcess(a)&&this.collectObjectFolding(e,a,n),this.shouldProcessContent(a)||s.prune()}while(!o.done)}this.collectCommentFolding(e,i,n)}}shouldProcess(e){return!0}shouldProcessContent(e){return!0}collectObjectFolding(e,n,r){const i=n.$cstNode;if(i){const s=this.toFoldingRange(e,i);s&&r(s)}}collectCommentFolding(e,n,r){const i=n.$cstNode;if(i){for(const s of zD(i))if(this.commentNames.includes(s.tokenType.name)){const o=this.toFoldingRange(e,s,me.FoldingRangeKind.Comment);o&&r(o)}}}toFoldingRange(e,n,r){const i=n.range,s=i.start;let o=i.end;if(!(o.line-s.line<2))return this.includeLastFoldingLine(n,r)||(o=e.textDocument.positionAt(e.textDocument.offsetAt({line:o.line,character:0})-1)),me.FoldingRange.create(s.line,o.line,s.character,o.character,r)}includeLastFoldingLine(e,n){if(n===me.FoldingRangeKind.Comment)return!1;const r=e.text,i=r.charAt(r.length-1);return!(i==="}"||i===")"||i==="]")}}class tG{match(e,n){if(e.length===0)return!0;let r=!1,i,s=0;const o=n.length;for(let a=0;a<o;a++){const c=n.charCodeAt(a),u=e.charCodeAt(s);if((c===u||this.toUpperCharCode(c)===this.toUpperCharCode(u))&&(r||(r=i===void 0||this.isWordTransition(i,c)),r&&s++,s===e.length))return!0;i=c}return!1}isWordTransition(e,n){return gC<=e&&e<=yC&&nG<=n&&n<=rG||e===vC&&n!==vC}toUpperCharCode(e){return gC<=e&&e<=yC?e-32:e}}const gC=97,yC=122,nG=65,rG=90,vC=95;class wC{constructor(e){this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getHoverContent(e,n){var r,i;const s=(i=(r=e.parseResult)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.$cstNode;if(s){const o=e.textDocument.offsetAt(n.position),a=Fi(s,o,this.grammarConfig.nameRegexp);if(a&&a.offset+a.length>o){const c=this.references.findDeclaration(a);if(c)return this.getAstNodeHoverContent(c)}}}}class iG extends wC{constructor(e){super(e),this.documentationProvider=e.documentation.DocumentationProvider}getAstNodeHoverContent(e){const n=this.documentationProvider.getDocumentation(e);if(n)return{contents:{kind:"markdown",value:n}}}}var gh=St();const sG={[me.SemanticTokenTypes.class]:0,[me.SemanticTokenTypes.comment]:1,[me.SemanticTokenTypes.enum]:2,[me.SemanticTokenTypes.enumMember]:3,[me.SemanticTokenTypes.event]:4,[me.SemanticTokenTypes.function]:5,[me.SemanticTokenTypes.interface]:6,[me.SemanticTokenTypes.keyword]:7,[me.SemanticTokenTypes.macro]:8,[me.SemanticTokenTypes.method]:9,[me.SemanticTokenTypes.modifier]:10,[me.SemanticTokenTypes.namespace]:11,[me.SemanticTokenTypes.number]:12,[me.SemanticTokenTypes.operator]:13,[me.SemanticTokenTypes.parameter]:14,[me.SemanticTokenTypes.property]:15,[me.SemanticTokenTypes.regexp]:16,[me.SemanticTokenTypes.string]:17,[me.SemanticTokenTypes.struct]:18,[me.SemanticTokenTypes.type]:19,[me.SemanticTokenTypes.typeParameter]:20,[me.SemanticTokenTypes.variable]:21,[me.SemanticTokenTypes.decorator]:22},oG={[me.SemanticTokenModifiers.abstract]:1,[me.SemanticTokenModifiers.async]:2,[me.SemanticTokenModifiers.declaration]:4,[me.SemanticTokenModifiers.defaultLibrary]:8,[me.SemanticTokenModifiers.definition]:16,[me.SemanticTokenModifiers.deprecated]:32,[me.SemanticTokenModifiers.documentation]:64,[me.SemanticTokenModifiers.modification]:128,[me.SemanticTokenModifiers.readonly]:256,[me.SemanticTokenModifiers.static]:512};function aG(t){const e=[],n=[];let r=!0,i=!0,s=!0;for(const o of t)o&&(o.legend.tokenTypes.forEach((a,c)=>{const u=e[c];if(u&&u!==a)throw new Error(`Cannot merge '${u}' and '${a}' token types. They use the same index ${c}.`);e[c]=a}),o.legend.tokenModifiers.forEach((a,c)=>{const u=n[c];if(u&&u!==a)throw new Error(`Cannot merge '${u}' and '${a}' token modifier. They use the same index ${c}.`);n[c]=a}),o.full?typeof o.full=="object"&&!o.full.delta&&(i=!1):r=!1,o.range||(s=!1));return{legend:{tokenTypes:e,tokenModifiers:n},full:r&&{delta:i},range:s}}class cG extends me.SemanticTokensBuilder{constructor(){super(...arguments),this._tokens=[]}push(e,n,r,i,s){this._tokens.push({line:e,char:n,length:r,tokenType:i,tokenModifiers:s})}build(){return this.applyTokens(),super.build()}buildEdits(){return this.applyTokens(),super.buildEdits()}flush(){this.previousResult(this.id)}applyTokens(){for(const e of this._tokens.sort(this.compareTokens))super.push(e.line,e.char,e.length,e.tokenType,e.tokenModifiers);this._tokens=[]}compareTokens(e,n){return e.line===n.line?e.char-n.char:e.line-n.line}}class uG{constructor(e){this.tokensBuilders=new Map,e.shared.workspace.TextDocuments.onDidClose(n=>{this.tokensBuilders.delete(n.document.uri)}),e.shared.lsp.LanguageServer.onInitialize(n=>{var r;this.initialize((r=n.capabilities.textDocument)===null||r===void 0?void 0:r.semanticTokens)})}initialize(e){this.clientCapabilities=e}get tokenTypes(){return sG}get tokenModifiers(){return oG}get semanticTokensOptions(){return{legend:{tokenTypes:Object.keys(this.tokenTypes),tokenModifiers:Object.keys(this.tokenModifiers)},full:{delta:!0},range:!0}}async semanticHighlight(e,n,r=dt.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.flush(),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.build()}async semanticHighlightRange(e,n,r=dt.CancellationToken.None){return this.currentRange=n.range,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.flush(),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.build()}async semanticHighlightDelta(e,n,r=dt.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.previousResult(n.previousResultId),await this.computeHighlighting(e,this.createAcceptor(),r),this.currentTokensBuilder.buildEdits()}createAcceptor(){return n=>{"line"in n?this.highlightToken({range:{start:{line:n.line,character:n.char},end:{line:n.line,character:n.char+n.length}},type:n.type,modifier:n.modifier}):"range"in n?this.highlightToken(n):"keyword"in n?this.highlightKeyword(n):"property"in n?this.highlightProperty(n):this.highlightNode({node:n.cst,type:n.type,modifier:n.modifier})}}getDocumentTokensBuilder(e){const n=this.tokensBuilders.get(e.uri.toString());if(n)return n;const r=new cG;return this.tokensBuilders.set(e.uri.toString(),r),r}async computeHighlighting(e,n,r){const i=e.parseResult.value,s=oi(i,{range:this.currentRange}).iterator();let o;do if(o=s.next(),!o.done){await zt(r);const a=o.value;this.highlightElement(a,n)==="prune"&&s.prune()}while(!o.done)}highlightToken(e){var n;const{range:r,type:i}=e;let s=e.modifier;if(this.currentRange&&!sg(r,this.currentRange)||!this.currentDocument||!this.currentTokensBuilder)return;const o=this.tokenTypes[i];let a=0;if(s!==void 0){typeof s=="string"&&(s=[s]);for(const l of s){const d=this.tokenModifiers[l];a|=d}}const c=r.start.line,u=r.end.line;if(c===u){const l=r.start.character,d=r.end.character-l;this.currentTokensBuilder.push(c,l,d,o,a)}else if(!((n=this.clientCapabilities)===null||n===void 0)&&n.multilineTokenSupport){const l=r.start.character,d=this.currentDocument.textDocument.offsetAt(r.start),f=this.currentDocument.textDocument.offsetAt(r.end);this.currentTokensBuilder.push(c,l,f-d,o,a)}else{const l=r.start;let d=this.currentDocument.textDocument.offsetAt({line:c+1,character:0});this.currentTokensBuilder.push(l.line,l.character,d-l.character-1,o,a);for(let f=c+1;f<u;f++){const h=d;d=this.currentDocument.textDocument.offsetAt({line:f+1,character:0}),this.currentTokensBuilder.push(f,0,d-h-1,o,a)}this.currentTokensBuilder.push(u,0,r.end.character,o,a)}}highlightProperty(e){const n=[];if(typeof e.index=="number"){const s=An(e.node.$cstNode,e.property,e.index);s&&n.push(s)}else n.push(...Bo(e.node.$cstNode,e.property));const{type:r,modifier:i}=e;for(const s of n)this.highlightNode({node:s,type:r,modifier:i})}highlightKeyword(e){const{node:n,keyword:r,type:i,index:s,modifier:o}=e,a=[];if(typeof s=="number"){const c=Ac(n.$cstNode,r,s);c&&a.push(c)}else a.push(...Cg(n.$cstNode,r));for(const c of a)this.highlightNode({node:c,type:i,modifier:o})}highlightNode(e){const{node:n,type:r,modifier:i}=e,s=n.range;this.highlightToken({range:s,type:r,modifier:i})}}var bC;(function(t){function e(r,i,s){const o=new Map;Object.entries(i).forEach(([u,l])=>o.set(l,u));let a=0,c=0;return n(r.data,5).map(u=>{a+=u[0],u[0]!==0&&(c=0),c+=u[1];const l=u[2];return{offset:s.textDocument.offsetAt({line:a,character:c}),tokenType:o.get(u[3]),tokenModifiers:u[4],text:s.textDocument.getText({start:{line:a,character:c},end:{line:a,character:c+l}})}})}t.decode=e;function n(r,i){const s=[];for(let o=0;o<r.length;o+=i){const a=r.slice(o,o+i);s.push(a)}return s}})(bC||(bC={}));function lG(t){const e=[],n=[];t.forEach(i=>{i?.triggerCharacters&&e.push(...i.triggerCharacters),i?.retriggerCharacters&&n.push(...i.retriggerCharacters)});const r={triggerCharacters:e.length>0?Array.from(new Set(e)).sort():void 0,retriggerCharacters:n.length>0?Array.from(new Set(n)).sort():void 0};return r.triggerCharacters?r:void 0}class dG{constructor(e){this.onInitializeEmitter=new gh.Emitter,this.onInitializedEmitter=new gh.Emitter,this.services=e}get onInitialize(){return this.onInitializeEmitter.event}get onInitialized(){return this.onInitializedEmitter.event}async initialize(e){return this.eagerLoadServices(),this.fireInitializeOnDefaultServices(e),this.onInitializeEmitter.fire(e),this.onInitializeEmitter.dispose(),this.buildInitializeResult(e)}eagerLoadServices(){rv(this.services),this.services.ServiceRegistry.all.forEach(e=>rv(e))}hasService(e){return this.services.ServiceRegistry.all.some(r=>e(r)!==void 0)}buildInitializeResult(e){var n,r,i,s;const o=this.services.lsp.DocumentUpdateHandler,a=(n=this.services.lsp.FileOperationHandler)===null||n===void 0?void 0:n.fileOperationOptions,c=this.services.ServiceRegistry.all,u=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.Formatter}),l=c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.Formatter)===null||Te===void 0?void 0:Te.formatOnTypeOptions}).find(se=>!!se),d=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CodeActionProvider}),f=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.SemanticTokenProvider}),h=aG(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.SemanticTokenProvider)===null||Te===void 0?void 0:Te.semanticTokensOptions})),p=(i=(r=this.services.lsp)===null||r===void 0?void 0:r.ExecuteCommandHandler)===null||i===void 0?void 0:i.commands,m=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentLinkProvider}),g=lG(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.SignatureHelp)===null||Te===void 0?void 0:Te.signatureHelpOptions})),y=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.TypeProvider}),w=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.ImplementationProvider}),E=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CompletionProvider}),k=X7(c.map(se=>{var K,Te;return(Te=(K=se.lsp)===null||K===void 0?void 0:K.CompletionProvider)===null||Te===void 0?void 0:Te.completionOptions})),A=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.ReferencesProvider}),I=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentSymbolProvider}),x=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DefinitionProvider}),_=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DocumentHighlightProvider}),P=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.FoldingRangeProvider}),O=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.HoverProvider}),C=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.RenameProvider}),D=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CallHierarchyProvider}),R=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.TypeHierarchyProvider}),F=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.CodeLensProvider}),W=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.DeclarationProvider}),V=this.hasService(se=>{var K;return(K=se.lsp)===null||K===void 0?void 0:K.InlayHintProvider}),Z=(s=this.services.lsp)===null||s===void 0?void 0:s.WorkspaceSymbolProvider;return{capabilities:{workspace:{workspaceFolders:{supported:!0},fileOperations:a},executeCommandProvider:p&&{commands:p},textDocumentSync:{change:gh.TextDocumentSyncKind.Incremental,openClose:!0,save:!!o.didSaveDocument,willSave:!!o.willSaveDocument,willSaveWaitUntil:!!o.willSaveDocumentWaitUntil},completionProvider:E?k:void 0,referencesProvider:A,documentSymbolProvider:I,definitionProvider:x,typeDefinitionProvider:y,documentHighlightProvider:_,codeActionProvider:d,documentFormattingProvider:u,documentRangeFormattingProvider:u,documentOnTypeFormattingProvider:l,foldingRangeProvider:P,hoverProvider:O,renameProvider:C?{prepareProvider:!0}:void 0,semanticTokensProvider:f?h:void 0,signatureHelpProvider:g,implementationProvider:w,callHierarchyProvider:D?{}:void 0,typeHierarchyProvider:R?{}:void 0,documentLinkProvider:m?{resolveProvider:!1}:void 0,codeLensProvider:F?{resolveProvider:!1}:void 0,declarationProvider:W,inlayHintProvider:V?{resolveProvider:!1}:void 0,workspaceSymbolProvider:Z?{resolveProvider:!!Z.resolveSymbol}:void 0}}}initialized(e){this.fireInitializedOnDefaultServices(e),this.onInitializedEmitter.fire(e),this.onInitializedEmitter.dispose()}fireInitializeOnDefaultServices(e){this.services.workspace.ConfigurationProvider.initialize(e),this.services.workspace.WorkspaceManager.initialize(e)}fireInitializedOnDefaultServices(e){const n=this.services.lsp.Connection,r=n?Object.assign(Object.assign({},e),{register:i=>n.client.register(gh.DidChangeConfigurationNotification.type,i),fetchConfiguration:i=>n.workspace.getConfiguration(i)}):e;this.services.workspace.ConfigurationProvider.initialized(r).catch(i=>console.error("Error in ConfigurationProvider initialization:",i)),this.services.workspace.WorkspaceManager.initialized(e).catch(i=>console.error("Error in WorkspaceManager initialization:",i))}}class fG{getSymbolKind(e){return me.SymbolKind.Field}getCompletionItemKind(e){return me.CompletionItemKind.Reference}}class hG{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}findReferences(e,n,r){const i=e.parseResult.value.$cstNode;if(!i)return[];const s=Fi(i,e.textDocument.offsetAt(n.position),this.grammarConfig.nameRegexp);return s?this.getReferences(s,n,e):[]}getReferences(e,n,r){const i=[],s=this.references.findDeclaration(e);if(s){const o={includeDeclaration:n.context.includeDeclaration};this.references.findReferences(s,o).forEach(a=>{i.push(me.Location.create(a.sourceUri.toString(),a.segment.range))})}return i}}class pG{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}async rename(e,n,r){const i={},s=e.parseResult.value.$cstNode;if(!s)return;const o=e.textDocument.offsetAt(n.position),a=Fi(s,o,this.grammarConfig.nameRegexp);if(!a)return;const c=this.references.findDeclaration(a);if(!c)return;const u={onlyLocal:!1,includeDeclaration:!0};return this.references.findReferences(c,u).forEach(d=>{const f=Sn.replace(d.segment.range,n.newName),h=d.sourceUri.toString();i[h]?i[h].push(f):i[h]=[f]}),{changes:i}}prepareRename(e,n,r){return this.renameNodeRange(e,n.position)}renameNodeRange(e,n){const r=e.parseResult.value.$cstNode,i=e.textDocument.offsetAt(n);if(r&&i){const s=Fi(r,i,this.grammarConfig.nameRegexp);if(!s)return;if(this.references.findDeclaration(s)||this.isNameNode(s))return s.range}}isNameNode(e){return e?.astNode&&tk(e.astNode)&&e===this.nameProvider.getNameNode(e.astNode)}}class EC{constructor(e){this.indexManager=e.workspace.IndexManager,this.nodeKindProvider=e.lsp.NodeKindProvider,this.fuzzyMatcher=e.lsp.FuzzyMatcher}async getSymbols(e,n=dt.CancellationToken.None){const r=[],i=e.query.toLowerCase();for(const s of this.indexManager.allElements())if(await zt(n),this.fuzzyMatcher.match(i,s.name)){const o=this.getWorkspaceSymbol(s);o&&r.push(o)}return r}getWorkspaceSymbol(e){const n=e.nameSegment;if(n)return{kind:this.nodeKindProvider.getSymbolKind(e),name:e.name,location:{range:n.range,uri:e.documentUri.toString()}}}}class mG{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new me.Emitter,this._onDidOpen=new me.Emitter,this._onDidClose=new me.Emitter,this._onDidSave=new me.Emitter,this._onWillSave=new me.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(Et.normalize(e))}set(e){const n=Et.normalize(e.uri);let r=!0;this._syncedDocuments.has(n)&&(r=!1),this._syncedDocuments.set(n,e);const i=Object.freeze({document:e});return this._onDidOpen.fire(i),this._onDidChangeContent.fire(i),r}delete(e){const n=Et.normalize(typeof e=="object"&&"uri"in e?e.uri:e),r=this._syncedDocuments.get(n);r!==void 0&&(this._syncedDocuments.delete(n),this._onDidClose.fire(Object.freeze({document:r})))}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=me.TextDocumentSyncKind.Incremental;const n=[];return n.push(e.onDidOpenTextDocument(r=>{const i=r.textDocument,s=Et.normalize(i.uri),o=this._configuration.create(s,i.languageId,i.version,i.text);this._syncedDocuments.set(s,o);const a=Object.freeze({document:o});this._onDidOpen.fire(a),this._onDidChangeContent.fire(a)})),n.push(e.onDidChangeTextDocument(r=>{const i=r.textDocument,s=r.contentChanges;if(s.length===0)return;const{version:o}=i;if(o==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);const a=Et.normalize(i.uri);let c=this._syncedDocuments.get(a);c!==void 0&&(c=this._configuration.update(c,s,o),this._syncedDocuments.set(a,c),this._onDidChangeContent.fire(Object.freeze({document:c})))})),n.push(e.onDidCloseTextDocument(r=>{const i=Et.normalize(r.textDocument.uri),s=this._syncedDocuments.get(i);s!==void 0&&(this._syncedDocuments.delete(i),this._onDidClose.fire(Object.freeze({document:s})))})),n.push(e.onWillSaveTextDocument(r=>{const i=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:r.reason}))})),n.push(e.onWillSaveTextDocumentWaitUntil((r,i)=>{const s=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));return s!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:s,reason:r.reason}),i):[]})),n.push(e.onDidSaveTextDocument(r=>{const i=this._syncedDocuments.get(Et.normalize(r.textDocument.uri));i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),me.Disposable.create(()=>{n.forEach(r=>r.dispose())})}}function gG(t){return sh.merge(Ek(t),yG(t))}function yG(t){return{lsp:{CompletionProvider:e=>new pC(e),DocumentSymbolProvider:e=>new Z7(e),HoverProvider:e=>new iG(e),FoldingRangeProvider:e=>new eG(e),ReferencesProvider:e=>new hG(e),DefinitionProvider:e=>new J7(e),DocumentHighlightProvider:e=>new mC(e),RenameProvider:e=>new pG(e)},shared:()=>t.shared}}function vG(t){return sh.merge(Dk(t),wG(t))}function wG(t){return{lsp:{Connection:()=>t.connection,LanguageServer:e=>new dG(e),DocumentUpdateHandler:e=>new Q7(e),WorkspaceSymbolProvider:e=>new EC(e),NodeKindProvider:()=>new fG,FuzzyMatcher:()=>new tG},workspace:{TextDocuments:()=>new mG(rh)}}}class bG{constructor(){this.collector=()=>{}}getNodeFormatter(e){return new EG(e,this.collector)}formatDocument(e,n){const r=e.parseResult;return r.lexerErrors.length===0&&r.parserErrors.length===0?this.doDocumentFormat(e,n.options):[]}isFormatRangeErrorFree(e,n){const r=e.parseResult;return r.lexerErrors.length||r.parserErrors.length?Math.min(...r.lexerErrors.map(s=>{var o;return(o=s.line)!==null&&o!==void 0?o:Number.MAX_VALUE}),...r.parserErrors.map(s=>{var o;return(o=s.token.startLine)!==null&&o!==void 0?o:Number.MAX_VALUE}))>n.end.line:!0}formatDocumentRange(e,n){return this.isFormatRangeErrorFree(e,n.range)?this.doDocumentFormat(e,n.options,n.range):[]}formatDocumentOnType(e,n){const r={start:{character:0,line:n.position.line},end:n.position};return this.isFormatRangeErrorFree(e,r)?this.doDocumentFormat(e,n.options,r):[]}get formatOnTypeOptions(){}doDocumentFormat(e,n,r){const i=new Map,s=(a,c,u)=>{var l,d;const f=this.nodeModeToKey(a,c),h=i.get(f),p=(l=u.options.priority)!==null&&l!==void 0?l:0,m=(d=h?.options.priority)!==null&&d!==void 0?d:0;(!h||m<=p)&&i.set(f,u)};this.collector=s,this.iterateAstFormatting(e,r);const o=this.iterateCstFormatting(e,i,n,r);return this.avoidOverlappingEdits(e.textDocument,o)}avoidOverlappingEdits(e,n){const r=[];for(const i of n){let s=r[r.length-1];for(;s;){const o=e.offsetAt(i.range.start),a=e.offsetAt(s.range.end);if(o<a)r.pop(),s=r[r.length-1];else break}r.push(i)}return r.filter(i=>this.isNecessary(i,e))}iterateAstFormatting(e,n){const r=e.parseResult.value;this.format(r);const i=Ir(r).iterator();let s;do if(s=i.next(),!s.done){const o=s.value;this.insideRange(o.$cstNode.range,n)?this.format(o):i.prune()}while(!s.done)}nodeModeToKey(e,n){return`${e.offset}:${e.end}:${n}`}insideRange(e,n){return!n||e.start.line<=n.start.line&&e.end.line>=n.end.line||e.start.line>=n.start.line&&e.end.line<=n.end.line||e.start.line<=n.end.line&&e.end.line>=n.end.line}isNecessary(e,n){return e.newText!==n.getText(e.range).replace(/\r/g,"")}iterateCstFormatting(e,n,r,i){const s={indentation:0,options:r,document:e.textDocument},o=[],c=this.iterateCstTree(e,s).iterator();let u,l;do if(l=c.next(),!l.done){const d=l.value,f=Cs(d),h=this.nodeModeToKey(d,"prepend"),p=n.get(h);if(n.delete(h),p){const y=this.createTextEdit(u,d,p,s);for(const w of y)w&&this.insideRange(w.range,i)&&o.push(w)}const m=this.nodeModeToKey(d,"append"),g=n.get(m);if(n.delete(m),g){const y=GD(d);if(y){const w=this.createTextEdit(d,y,g,s);for(const E of w)E&&this.insideRange(E.range,i)&&o.push(E)}}if(!p&&d.hidden){const y=this.createHiddenTextEdits(u,d,void 0,s);for(const w of y)w&&this.insideRange(w.range,i)&&o.push(w)}f&&(u=d)}while(!l.done);return o}createHiddenTextEdits(e,n,r,i){var s;const o=n.range.start.line;if(e&&e.range.end.line===o)return[];const a=[],c={start:{character:0,line:o},end:n.range.start},u=i.document.getText(c),l=this.findFittingMove(c,(s=r?.moves)!==null&&s!==void 0?s:[],i),d=this.getExistingIndentationCharacterCount(u,i),h=this.getIndentationCharacterCount(i,l)-d;if(h===0)return[];let p="";h>0&&(p=(i.options.insertSpaces?" ":" ").repeat(h));const m=n.text.split(`
|
|
161
|
-
`);m[0]=u+m[0];for(let g=0;g<m.length;g++){const y=o+g,w={character:0,line:y};if(h>0)a.push({newText:p,range:{start:w,end:w}});else{const E=m[g];let k=0;for(;k<E.length;k++){const A=E.charAt(k);if(A!==" "&&A!==" ")break}a.push({newText:"",range:{start:w,end:{line:y,character:Math.min(k,Math.abs(h))}}})}}return a}getExistingIndentationCharacterCount(e,n){const r=" ".repeat(n.options.tabSize);return(n.options.insertSpaces?e.replaceAll(" ",r):e.replaceAll(r," ")).length}getIndentationCharacterCount(e,n){let r=e.indentation;return n&&n.tabs&&(r+=n.tabs),(e.options.insertSpaces?e.options.tabSize:1)*r}createTextEdit(e,n,r,i){var s;if(n.hidden)return this.createHiddenTextEdits(e,n,r,i);if(e&&(e.range.end.line>n.range.start.line||e.range.end.line===n.range.start.line&&e.range.end.character>n.range.start.character))return[];const o={start:(s=e?.range.end)!==null&&s!==void 0?s:{character:0,line:0},end:n.range.start},a=this.findFittingMove(o,r.moves,i);if(!a)return[];const c=a.characters,u=a.lines,l=a.tabs,d=i.indentation;i.indentation+=l??0;const f=[];return c!==void 0?e?.hidden||f.push(this.createSpaceTextEdit(o,c,r.options)):u!==void 0?f.push(this.createLineTextEdit(o,u,i,r.options)):l!==void 0&&f.push(this.createTabTextEdit(o,!!e,i)),Cs(n)&&(i.indentation=d),f}createSpaceTextEdit(e,n,r){if(e.start.line===e.end.line){const s=e.end.character-e.start.character;n=this.fitIntoOptions(n,s,r)}return{newText:" ".repeat(n),range:e}}createLineTextEdit(e,n,r,i){const s=e.end.line-e.start.line;n=this.fitIntoOptions(n,s,i);const a=(r.options.insertSpaces?" ".repeat(r.options.tabSize):" ").repeat(r.indentation);return{newText:`${`
|
|
162
|
-
`.repeat(n)}${a}`,range:e}}createTabTextEdit(e,n,r){const s=(r.options.insertSpaces?" ".repeat(r.options.tabSize):" ").repeat(r.indentation),o=n?1:0,a=Math.max(e.end.line-e.start.line,o);return{newText:`${`
|
|
163
|
-
`.repeat(a)}${s}`,range:e}}fitIntoOptions(e,n,r){return r.allowMore?e=Math.max(n,e):r.allowLess&&(e=Math.min(n,e)),e}findFittingMove(e,n,r){if(n.length===0)return;if(n.length===1)return n[0];const i=e.end.line-e.start.line;for(const s of n){if(s.lines!==void 0&&i<=s.lines)return s;if(s.lines===void 0&&i===0)return s}return n[n.length-1]}iterateCstTree(e,n){const i=e.parseResult.value.$cstNode;return i?new Fo(i,s=>this.iterateCst(s,n)):Lo}iterateCst(e,n){if(!ri(e))return Lo;const r=n.indentation;return new It(()=>({index:0}),i=>i.index<e.content.length?{done:!1,value:e.content[i.index++]}:(n.indentation=r,Xt))}}class EG{constructor(e,n){this.astNode=e,this.collector=n}node(e){return new Tr(e.$cstNode?[e.$cstNode]:[],this.collector)}nodes(...e){const n=[];for(const r of e)r.$cstNode&&n.push(r.$cstNode);return new Tr(n,this.collector)}property(e,n){const r=An(this.astNode.$cstNode,e,n);return new Tr(r?[r]:[],this.collector)}properties(...e){const n=[];for(const r of e){const i=Bo(this.astNode.$cstNode,r);n.push(...i)}return new Tr(n,this.collector)}keyword(e,n){const r=Ac(this.astNode.$cstNode,e,n);return new Tr(r?[r]:[],this.collector)}keywords(...e){const n=[];for(const r of e){const i=Cg(this.astNode.$cstNode,r);n.push(...i)}return new Tr(n,this.collector)}cst(e){return new Tr([...e],this.collector)}interior(e,n){const r=e.nodes,i=n.nodes;if(r.length!==1||i.length!==1)return new Tr([],this.collector);let s=r[0],o=i[0];if(s.offset>o.offset){const a=s;s=o,o=a}return new Tr(WD(s,o),this.collector)}}class Tr{constructor(e,n){this.nodes=e,this.collector=n}prepend(e){for(const n of this.nodes)this.collector(n,"prepend",e);return this}append(e){for(const n of this.nodes)this.collector(n,"append",e);return this}surround(e){for(const n of this.nodes)this.collector(n,"prepend",e),this.collector(n,"append",e);return this}slice(e,n){return new Tr(this.nodes.slice(e,n),this.collector)}}var Xi;(function(t){function e(...l){return{options:{},moves:l.flatMap(d=>d.moves).sort(u)}}t.fit=e;function n(l){return i(0,l)}t.noSpace=n;function r(l){return i(1,l)}t.oneSpace=r;function i(l,d){return{options:d??{},moves:[{characters:l}]}}t.spaces=i;function s(l){return o(1,l)}t.newLine=s;function o(l,d){return{options:d??{},moves:[{lines:l}]}}t.newLines=o;function a(l){return{options:l??{},moves:[{tabs:1,lines:1}]}}t.indent=a;function c(l){return{options:l??{},moves:[{tabs:0}]}}t.noIndent=c;function u(l,d){var f,h,p,m,g,y;const w=(f=l.lines)!==null&&f!==void 0?f:0,E=(h=d.lines)!==null&&h!==void 0?h:0,k=(p=l.tabs)!==null&&p!==void 0?p:0,A=(m=d.tabs)!==null&&m!==void 0?m:0,I=(g=l.characters)!==null&&g!==void 0?g:0,x=(y=d.characters)!==null&&y!==void 0?y:0;return w<E?-1:w>E?1:k<A?-1:k>A?1:I<x?-1:I>x?1:0}})(Xi||(Xi={}));var Rv,DC;function DG(){return DC||(DC=1,Rv=lC()),Rv}DG();class TG{constructor(){this.encoding="utf-8"}readFile(e){return H0.promises.readFile(e.fsPath,this.encoding)}async readDirectory(e){return(await H0.promises.readdir(e.fsPath,{withFileTypes:!0})).map(r=>({dirent:r,isFile:r.isFile(),isDirectory:r.isDirectory(),uri:Et.joinPath(e,r.name)}))}}const Ye={silent:Number.NEGATIVE_INFINITY,fatal:0,error:0,warn:1,log:2,info:3,success:3,fail:3,ready:3,start:3,box:3,debug:4,trace:5,verbose:Number.POSITIVE_INFINITY},TC={silent:{level:-1},fatal:{level:Ye.fatal},error:{level:Ye.error},warn:{level:Ye.warn},log:{level:Ye.log},info:{level:Ye.info},success:{level:Ye.success},fail:{level:Ye.fail},ready:{level:Ye.info},start:{level:Ye.info},box:{level:Ye.info},debug:{level:Ye.debug},trace:{level:Ye.trace},verbose:{level:Ye.verbose}};function Sv(t){return t!==null&&typeof t=="object"}function kv(t,e,n=".",r){if(!Sv(e))return kv(t,{},n);const i=Object.assign({},e);for(const s in t){if(s==="__proto__"||s==="constructor")continue;const o=t[s];o!=null&&(Array.isArray(o)&&Array.isArray(i[s])?i[s]=[...o,...i[s]]:Sv(o)&&Sv(i[s])?i[s]=kv(o,i[s],(n?`${n}.`:"")+s.toString()):i[s]=o)}return i}function RG(t){return(...e)=>e.reduce((n,r)=>kv(n,r,""),{})}const SG=RG();function kG(t){return Object.prototype.toString.call(t)==="[object Object]"}function $G(t){return!(!kG(t)||!t.message&&!t.args||t.stack)}let $v=!1;const RC=[];let hn=class m2{constructor(e={}){const n=e.types||TC;this.options=SG({...e,defaults:{...e.defaults},level:Cv(e.level,n),reporters:[...e.reporters||[]]},{types:TC,throttle:1e3,throttleMin:5,formatOptions:{date:!0,colors:!1,compact:!0}});for(const r in n){const i={type:r,...this.options.defaults,...n[r]};this[r]=this._wrapLogFn(i),this[r].raw=this._wrapLogFn(i,!0)}this.options.mockFn&&this.mockTypes(),this._lastLog={}}get level(){return this.options.level}set level(e){this.options.level=Cv(e,this.options.types,this.options.level)}prompt(e,n){if(!this.options.prompt)throw new Error("prompt is not supported!");return this.options.prompt(e,n)}create(e){const n=new m2({...this.options,...e});return this._mockFn&&n.mockTypes(this._mockFn),n}withDefaults(e){return this.create({...this.options,defaults:{...this.options.defaults,...e}})}withTag(e){return this.withDefaults({tag:this.options.defaults.tag?this.options.defaults.tag+":"+e:e})}addReporter(e){return this.options.reporters.push(e),this}removeReporter(e){if(e){const n=this.options.reporters.indexOf(e);if(n>=0)return this.options.reporters.splice(n,1)}else this.options.reporters.splice(0);return this}setReporters(e){return this.options.reporters=Array.isArray(e)?e:[e],this}wrapAll(){this.wrapConsole(),this.wrapStd()}restoreAll(){this.restoreConsole(),this.restoreStd()}wrapConsole(){for(const e in this.options.types)console["__"+e]||(console["__"+e]=console[e]),console[e]=this[e].raw}restoreConsole(){for(const e in this.options.types)console["__"+e]&&(console[e]=console["__"+e],delete console["__"+e])}wrapStd(){this._wrapStream(this.options.stdout,"log"),this._wrapStream(this.options.stderr,"log")}_wrapStream(e,n){e&&(e.__write||(e.__write=e.write),e.write=r=>{this[n].raw(String(r).trim())})}restoreStd(){this._restoreStream(this.options.stdout),this._restoreStream(this.options.stderr)}_restoreStream(e){e&&e.__write&&(e.write=e.__write,delete e.__write)}pauseLogs(){$v=!0}resumeLogs(){$v=!1;const e=RC.splice(0);for(const n of e)n[0]._logFn(n[1],n[2])}mockTypes(e){const n=e||this.options.mockFn;if(this._mockFn=n,typeof n=="function")for(const r in this.options.types)this[r]=n(r,this.options.types[r])||this[r],this[r].raw=this[r]}_wrapLogFn(e,n){return(...r)=>{if($v){RC.push([this,e,r,n]);return}return this._logFn(e,r,n)}}_logFn(e,n,r){if((e.level||0)>this.level)return!1;const i={date:new Date,args:[],...e,level:Cv(e.level,this.options.types)};!r&&n.length===1&&$G(n[0])?Object.assign(i,n[0]):i.args=[...n],i.message&&(i.args.unshift(i.message),delete i.message),i.additional&&(Array.isArray(i.additional)||(i.additional=i.additional.split(`
|
|
164
|
-
`)),i.args.push(`
|
|
165
|
-
`+i.additional.join(`
|
|
166
|
-
`)),delete i.additional),i.type=typeof i.type=="string"?i.type.toLowerCase():"log",i.tag=typeof i.tag=="string"?i.tag:"";const s=(a=!1)=>{const c=(this._lastLog.count||0)-this.options.throttleMin;if(this._lastLog.object&&c>0){const u=[...this._lastLog.object.args];c>1&&u.push(`(repeated ${c} times)`),this._log({...this._lastLog.object,args:u}),this._lastLog.count=1}a&&(this._lastLog.object=i,this._log(i))};clearTimeout(this._lastLog.timeout);const o=this._lastLog.time&&i.date?i.date.getTime()-this._lastLog.time.getTime():0;if(this._lastLog.time=i.date,o<this.options.throttle)try{const a=JSON.stringify([i.type,i.tag,i.args]),c=this._lastLog.serialized===a;if(this._lastLog.serialized=a,c&&(this._lastLog.count=(this._lastLog.count||0)+1,this._lastLog.count>this.options.throttleMin)){this._lastLog.timeout=setTimeout(s,this.options.throttle);return}}catch{}s(!0)}_log(e){for(const n of this.options.reporters)n.log(e,{options:this.options})}};function Cv(t,e={},n=3){return t===void 0?n:typeof t=="number"?t:e[t]&&e[t].level!==void 0?e[t].level:n}hn.prototype.add=hn.prototype.addReporter,hn.prototype.remove=hn.prototype.removeReporter,hn.prototype.clear=hn.prototype.removeReporter,hn.prototype.withScope=hn.prototype.withTag,hn.prototype.mock=hn.prototype.mockTypes,hn.prototype.pause=hn.prototype.pauseLogs,hn.prototype.resume=hn.prototype.resumeLogs;function CG(t={}){return new hn(t)}function SC(t){const e=process.cwd()+R2;return t.split(`
|
|
167
|
-
`).splice(1).map(n=>n.trim().replace("file://","").replace(e,""))}function _G(t,e){return(e.__write||e.write).call(e,t)}const _v=t=>t?`[${t}]`:"";let kC=class{formatStack(e,n){return" "+SC(e).join(`
|
|
168
|
-
`)}formatArgs(e,n){const r=e.map(i=>i&&typeof i.stack=="string"?i.message+`
|
|
169
|
-
`+this.formatStack(i.stack,n):i);return A2(n,...r)}formatDate(e,n){return n.date?e.toLocaleTimeString():""}filterAndJoin(e){return e.filter(Boolean).join(" ")}formatLogObj(e,n){const r=this.formatArgs(e.args,n);return e.type==="box"?`
|
|
170
|
-
`+[_v(e.tag),e.title&&e.title,...r.split(`
|
|
171
|
-
`)].filter(Boolean).map(i=>" > "+i).join(`
|
|
172
|
-
`)+`
|
|
173
|
-
`:this.filterAndJoin([_v(e.type),_v(e.tag),r])}log(e,n){const r=this.formatLogObj(e,{columns:n.options.stdout.columns||0,...n.options.formatOptions});return _G(r+`
|
|
174
|
-
`,e.level<2?n.options.stderr||process.stderr:n.options.stdout||process.stdout)}};const{env:Ji={},argv:$C=[],platform:AG=""}=typeof process>"u"?{}:process,xG="NO_COLOR"in Ji||$C.includes("--no-color"),IG="FORCE_COLOR"in Ji||$C.includes("--color"),PG=AG==="win32",CC=Ji.TERM==="dumb",NG=vm&&vm.isatty&&vm.isatty(1)&&Ji.TERM&&!CC,OG="CI"in Ji&&("GITHUB_ACTIONS"in Ji||"GITLAB_CI"in Ji||"CIRCLECI"in Ji),LG=!xG&&(IG||PG&&!CC||NG||OG);function _C(t,e,n,r,i=e.slice(0,Math.max(0,t))+r,s=e.slice(Math.max(0,t+n.length)),o=s.indexOf(n)){return i+(o<0?s:_C(o,s,n,r))}function FG(t,e,n,r,i){return t<0?n+e+r:n+_C(t,e,r,i)+r}function MG(t,e,n=t,r=t.length+1){return i=>i||!(i===""||i===void 0)?FG((""+i).indexOf(e,r),i,t,e,n):""}function ke(t,e,n){return MG(`\x1B[${t}m`,`\x1B[${e}m`,n)}const AC={reset:ke(0,0),bold:ke(1,22,"\x1B[22m\x1B[1m"),dim:ke(2,22,"\x1B[22m\x1B[2m"),italic:ke(3,23),underline:ke(4,24),inverse:ke(7,27),hidden:ke(8,28),strikethrough:ke(9,29),black:ke(30,39),red:ke(31,39),green:ke(32,39),yellow:ke(33,39),blue:ke(34,39),magenta:ke(35,39),cyan:ke(36,39),white:ke(37,39),gray:ke(90,39),bgBlack:ke(40,49),bgRed:ke(41,49),bgGreen:ke(42,49),bgYellow:ke(43,49),bgBlue:ke(44,49),bgMagenta:ke(45,49),bgCyan:ke(46,49),bgWhite:ke(47,49),blackBright:ke(90,39),redBright:ke(91,39),greenBright:ke(92,39),yellowBright:ke(93,39),blueBright:ke(94,39),magentaBright:ke(95,39),cyanBright:ke(96,39),whiteBright:ke(97,39),bgBlackBright:ke(100,49),bgRedBright:ke(101,49),bgGreenBright:ke(102,49),bgYellowBright:ke(103,49),bgBlueBright:ke(104,49),bgMagentaBright:ke(105,49),bgCyanBright:ke(106,49),bgWhiteBright:ke(107,49)};function zG(t=LG){return t?AC:Object.fromEntries(Object.keys(AC).map(e=>[e,String]))}const pn=zG();function BG(t,e="reset"){return pn[t]||pn[e]}const qG=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");function xu(t){return t.replace(new RegExp(qG,"g"),"")}const xC={solid:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502"},double:{tl:"\u2554",tr:"\u2557",bl:"\u255A",br:"\u255D",h:"\u2550",v:"\u2551"},doubleSingle:{tl:"\u2553",tr:"\u2556",bl:"\u2559",br:"\u255C",h:"\u2500",v:"\u2551"},doubleSingleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2551"},singleThick:{tl:"\u250F",tr:"\u2513",bl:"\u2517",br:"\u251B",h:"\u2501",v:"\u2503"},singleDouble:{tl:"\u2552",tr:"\u2555",bl:"\u2558",br:"\u255B",h:"\u2550",v:"\u2502"},singleDoubleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2550",v:"\u2502"},rounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2502"}},jG={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1};function UG(t,e={}){const n={...e,style:{...jG,...e.style}},r=t.split(`
|
|
175
|
-
`),i=[],s=BG(n.style.borderColor),o={...typeof n.style.borderStyle=="string"?xC[n.style.borderStyle]||xC.solid:n.style.borderStyle};if(s)for(const h in o)o[h]=s(o[h]);const a=n.style.padding%2===0?n.style.padding:n.style.padding+1,c=r.length+a,u=Math.max(...r.map(h=>h.length))+a,l=u+a,d=n.style.marginLeft>0?" ".repeat(n.style.marginLeft):"";if(n.style.marginTop>0&&i.push("".repeat(n.style.marginTop)),n.title){const h=o.h.repeat(Math.floor((u-xu(n.title).length)/2)),p=o.h.repeat(u-xu(n.title).length-xu(h).length+a);i.push(`${d}${o.tl}${h}${n.title}${p}${o.tr}`)}else i.push(`${d}${o.tl}${o.h.repeat(l)}${o.tr}`);const f=n.style.valign==="center"?Math.floor((c-r.length)/2):n.style.valign==="top"?c-r.length-a:c-r.length;for(let h=0;h<c;h++)if(h<f||h>=f+r.length)i.push(`${d}${o.v}${" ".repeat(l)}${o.v}`);else{const p=r[h-f],m=" ".repeat(a),g=" ".repeat(u-xu(p).length);i.push(`${d}${o.v}${m}${p}${g}${o.v}`)}return i.push(`${d}${o.bl}${o.h.repeat(l)}${o.br}`),n.style.marginBottom>0&&i.push("".repeat(n.style.marginBottom)),i.join(`
|
|
176
|
-
`)}const GG=[["APPVEYOR"],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"]];function WG(t){for(const e of GG){const n=e[1]||e[0];if(t[n])return{name:e[0].toLowerCase(),...e[2]}}return t.SHELL&&t.SHELL==="/bin/jsh"?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const yh=typeof process<"u"?process:{},Iu=yh.env||{},IC=WG(Iu),HG=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";yh.platform,IC.name;const VG=Pu(Iu.CI)||IC.ci!==!1;Pu(yh.stdout&&yh.stdout.isTTY);const KG=Pu(Iu.DEBUG),PC=HG==="test"||Pu(Iu.TEST);Pu(Iu.MINIMAL);function Pu(t){return t?t!=="false":!1}function YG({onlyFirst:t=!1}={}){const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}const XG=YG();function JG(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(XG,"")}function NC(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var OC={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(r){var i=r.charCodeAt(0),s=r.length==2?r.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=s&&s<=57343&&(i&=1023,s&=1023,o=i<<10|s,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},e.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function n(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var i=n(r),s=0,o=0;o<i.length;o++)s=s+this.characterLength(i[o]);return s},e.slice=function(r,i,s){textLen=e.length(r),i=i||0,s=s||1,i<0&&(i=textLen+i),s<0&&(s=textLen+s);for(var o="",a=0,c=n(r),u=0;u<c.length;u++){var l=c[u],d=e.length(l);if(a>=i-(d==2?1:0))if(a+d<=s)o+=l;else break;a+=d}return o}})(OC);var ZG=OC.exports;const QG=NC(ZG),eW=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function tW(t,e){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,countAnsiEscapeCodes:!1,...e},e.countAnsiEscapeCodes||(t=JG(t)),t.length===0))return 0;const n=e.ambiguousIsNarrow?1:2;let r=0;for(const{segment:i}of new Intl.Segmenter().segment(t)){const s=i.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879)){if(eW().test(i)){r+=2;continue}switch(QG.eastAsianWidth(i)){case"F":case"W":{r+=2;break}case"A":{r+=n;break}default:r+=1}}}return r}function LC(){return Oe.platform!=="win32"?Oe.env.TERM!=="linux":!!Oe.env.CI||!!Oe.env.WT_SESSION||!!Oe.env.TERMINUS_SUBLIME||Oe.env.ConEmuTask==="{cmd::Cmder}"||Oe.env.TERM_PROGRAM==="Terminus-Sublime"||Oe.env.TERM_PROGRAM==="vscode"||Oe.env.TERM==="xterm-256color"||Oe.env.TERM==="alacritty"||Oe.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const nW={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},rW={0:"red",1:"yellow"},iW=LC(),qr=(t,e)=>iW?t:e,FC={error:qr("\u2716","\xD7"),fatal:qr("\u2716","\xD7"),ready:qr("\u2714","\u221A"),warn:qr("\u26A0","\u203C"),info:qr("\u2139","i"),success:qr("\u2714","\u221A"),debug:qr("\u2699","D"),trace:qr("\u2192","\u2192"),fail:qr("\u2716","\xD7"),start:qr("\u25D0","o"),log:""};function MC(t){return Intl.Segmenter?tW(t):xu(t).length}class sW extends kC{formatStack(e){return`
|
|
177
|
-
`+SC(e).map(n=>" "+n.replace(/^at +/,r=>pn.gray(r)).replace(/\((.+)\)/,(r,i)=>`(${pn.cyan(i)})`)).join(`
|
|
178
|
-
`)}formatType(e,n,r){const i=nW[e.type]||rW[e.level]||"gray";if(n)return aW(i)(pn.black(` ${e.type.toUpperCase()} `));const s=typeof FC[e.type]=="string"?FC[e.type]:e.icon||e.type;return s?oW(i)(s):""}formatLogObj(e,n){const[r,...i]=this.formatArgs(e.args,n).split(`
|
|
179
|
-
`);if(e.type==="box")return UG(vh(r+(i.length>0?`
|
|
180
|
-
`+i.join(`
|
|
181
|
-
`):"")),{title:e.title?vh(e.title):void 0,style:e.style});const s=this.formatDate(e.date,n),o=s&&pn.gray(s),a=e.badge??e.level<2,c=this.formatType(e,a,n),u=e.tag?pn.gray(e.tag):"";let l;const d=this.filterAndJoin([c,vh(r)]),f=this.filterAndJoin(n.columns?[u,o]:[u]),h=(n.columns||0)-MC(d)-MC(f)-2;if(l=h>0&&(n.columns||0)>=80?d+" ".repeat(h)+f:(f?`${pn.gray(`[${f}]`)} `:"")+d,l+=vh(i.length>0?`
|
|
182
|
-
`+i.join(`
|
|
183
|
-
`):""),e.type==="trace"){const p=new Error("Trace: "+e.message);l+=this.formatStack(p.stack||"")}return a?`
|
|
184
|
-
`+l+`
|
|
185
|
-
`:l}}function vh(t){return t.replace(/`([^`]+)`/gm,(e,n)=>pn.cyan(n)).replace(/\s+_([^_]+)_\s+/gm,(e,n)=>` ${pn.underline(n)} `)}function oW(t="white"){return pn[t]||pn.white}function aW(t="bgWhite"){return pn[`bg${t[0].toUpperCase()}${t.slice(1)}`]||pn.bgWhite}function zC(t={}){let e=cW();return process.env.CONSOLA_LEVEL&&(e=Number.parseInt(process.env.CONSOLA_LEVEL)??e),CG({level:e,defaults:{level:e},stdout:process.stdout,stderr:process.stderr,prompt:(...n)=>import("../chunks/prompt.mjs").then(r=>r.prompt(...n)),reporters:t.reporters||[t.fancy??!(VG||PC)?new sW:new kC],...t})}function cW(){return KG?Ye.debug:PC?Ye.warn:Ye.info}zC();function uW(){return Ye.debug}const BC=uW(),Xe=zC({level:BC,defaults:{level:BC},formatOptions:{colors:!0,compact:!1,date:!1}});function lW(t,e=1,n={}){const{indent:r=" ",includeEmptyLines:i=!1}=n;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(e<0)throw new RangeError(`Expected \`count\` to be at least 0, got \`${e}\``);if(typeof r!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r}\``);if(e===0)return t;const s=i?/^/gm:/^(?!\s*$)/gm;return t.replace(s,r.repeat(e))}function dW(t){for(var e=t.length,n=0,r=0;r<e;){var i=t.charCodeAt(r++);if(i&4294967168)if(!(i&4294965248))n+=2;else{if(i>=55296&&i<=56319&&r<e){var s=t.charCodeAt(r);(s&64512)===56320&&(++r,i=((i&1023)<<10)+(s&1023)+65536)}i&4294901760?n+=4:n+=3}else{n++;continue}}return n}function fW(t,e,n){for(var r=t.length,i=n,s=0;s<r;){var o=t.charCodeAt(s++);if(o&4294967168)if(!(o&4294965248))e[i++]=o>>6&31|192;else{if(o>=55296&&o<=56319&&s<r){var a=t.charCodeAt(s);(a&64512)===56320&&(++s,o=((o&1023)<<10)+(a&1023)+65536)}o&4294901760?(e[i++]=o>>18&7|240,e[i++]=o>>12&63|128,e[i++]=o>>6&63|128):(e[i++]=o>>12&15|224,e[i++]=o>>6&63|128)}else{e[i++]=o;continue}e[i++]=o&63|128}}var hW=new TextEncoder,pW=50;function mW(t,e,n){hW.encodeInto(t,e.subarray(n))}function gW(t,e,n){t.length>pW?mW(t,e,n):fW(t,e,n)}var yW=4096;function qC(t,e,n){for(var r=e,i=r+n,s=[],o="";r<i;){var a=t[r++];if(!(a&128))s.push(a);else if((a&224)===192){var c=t[r++]&63;s.push((a&31)<<6|c)}else if((a&240)===224){var c=t[r++]&63,u=t[r++]&63;s.push((a&31)<<12|c<<6|u)}else if((a&248)===240){var c=t[r++]&63,u=t[r++]&63,l=t[r++]&63,d=(a&7)<<18|c<<12|u<<6|l;d>65535&&(d-=65536,s.push(d>>>10&1023|55296),d=56320|d&1023),s.push(d)}else s.push(a);s.length>=yW&&(o+=String.fromCharCode.apply(String,s),s.length=0)}return s.length>0&&(o+=String.fromCharCode.apply(String,s)),o}var vW=new TextDecoder,wW=200;function bW(t,e,n){var r=t.subarray(e,e+n);return vW.decode(r)}function EW(t,e,n){return n>wW?bW(t,e,n):qC(t,e,n)}var wh=function(){function t(e,n){this.type=e,this.data=n}return t}(),DW=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),jr=function(t){DW(e,t);function e(n){var r=t.call(this,n)||this,i=Object.create(e.prototype);return Object.setPrototypeOf(r,i),Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:e.name}),r}return e}(Error),Nu=4294967295;function TW(t,e,n){var r=n/4294967296,i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function jC(t,e,n){var r=Math.floor(n/4294967296),i=n;t.setUint32(e,r),t.setUint32(e+4,i)}function UC(t,e){var n=t.getInt32(e),r=t.getUint32(e+4);return n*4294967296+r}function RW(t,e){var n=t.getUint32(e),r=t.getUint32(e+4);return n*4294967296+r}var SW=-1,kW=4294967296-1,$W=17179869184-1;function CW(t){var e=t.sec,n=t.nsec;if(e>=0&&n>=0&&e<=$W)if(n===0&&e<=kW){var r=new Uint8Array(4),i=new DataView(r.buffer);return i.setUint32(0,e),r}else{var s=e/4294967296,o=e&4294967295,r=new Uint8Array(8),i=new DataView(r.buffer);return i.setUint32(0,n<<2|s&3),i.setUint32(4,o),r}else{var r=new Uint8Array(12),i=new DataView(r.buffer);return i.setUint32(0,n),jC(i,4,e),r}}function _W(t){var e=t.getTime(),n=Math.floor(e/1e3),r=(e-n*1e3)*1e6,i=Math.floor(r/1e9);return{sec:n+i,nsec:r-i*1e9}}function AW(t){if(t instanceof Date){var e=_W(t);return CW(e)}else return null}function xW(t){var e=new DataView(t.buffer,t.byteOffset,t.byteLength);switch(t.byteLength){case 4:{var n=e.getUint32(0),r=0;return{sec:n,nsec:r}}case 8:{var i=e.getUint32(0),s=e.getUint32(4),n=(i&3)*4294967296+s,r=i>>>2;return{sec:n,nsec:r}}case 12:{var n=UC(e,4),r=e.getUint32(0);return{sec:n,nsec:r}}default:throw new jr("Unrecognized data size for timestamp (expected 4, 8, or 12): ".concat(t.length))}}function IW(t){var e=xW(t);return new Date(e.sec*1e3+e.nsec/1e6)}var PW={type:SW,encode:AW,decode:IW},GC=function(){function t(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(PW)}return t.prototype.register=function(e){var n=e.type,r=e.encode,i=e.decode;if(n>=0)this.encoders[n]=r,this.decoders[n]=i;else{var s=1+n;this.builtInEncoders[s]=r,this.builtInDecoders[s]=i}},t.prototype.tryToEncode=function(e,n){for(var r=0;r<this.builtInEncoders.length;r++){var i=this.builtInEncoders[r];if(i!=null){var s=i(e,n);if(s!=null){var o=-1-r;return new wh(o,s)}}}for(var r=0;r<this.encoders.length;r++){var i=this.encoders[r];if(i!=null){var s=i(e,n);if(s!=null){var o=r;return new wh(o,s)}}}return e instanceof wh?e:null},t.prototype.decode=function(e,n,r){var i=n<0?this.builtInDecoders[-1-n]:this.decoders[n];return i?i(e,n,r):new wh(n,e)},t.defaultCodec=new t,t}();function bh(t){return t instanceof Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t instanceof ArrayBuffer?new Uint8Array(t):Uint8Array.from(t)}function NW(t){if(t instanceof ArrayBuffer)return new DataView(t);var e=bh(t);return new DataView(e.buffer,e.byteOffset,e.byteLength)}var OW=100,LW=2048,FW=function(){function t(e){var n,r,i,s,o,a,c,u;this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:GC.defaultCodec,this.context=e?.context,this.useBigInt64=(r=e?.useBigInt64)!==null&&r!==void 0?r:!1,this.maxDepth=(i=e?.maxDepth)!==null&&i!==void 0?i:OW,this.initialBufferSize=(s=e?.initialBufferSize)!==null&&s!==void 0?s:LW,this.sortKeys=(o=e?.sortKeys)!==null&&o!==void 0?o:!1,this.forceFloat32=(a=e?.forceFloat32)!==null&&a!==void 0?a:!1,this.ignoreUndefined=(c=e?.ignoreUndefined)!==null&&c!==void 0?c:!1,this.forceIntegerToFloat=(u=e?.forceIntegerToFloat)!==null&&u!==void 0?u:!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}return t.prototype.reinitializeState=function(){this.pos=0},t.prototype.encodeSharedRef=function(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.subarray(0,this.pos)},t.prototype.encode=function(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.slice(0,this.pos)},t.prototype.doEncode=function(e,n){if(n>this.maxDepth)throw new Error("Too deep objects in depth ".concat(n));e==null?this.encodeNil():typeof e=="boolean"?this.encodeBoolean(e):typeof e=="number"?this.forceIntegerToFloat?this.encodeNumberAsFloat(e):this.encodeNumber(e):typeof e=="string"?this.encodeString(e):this.useBigInt64&&typeof e=="bigint"?this.encodeBigInt64(e):this.encodeObject(e,n)},t.prototype.ensureBufferSizeToWrite=function(e){var n=this.pos+e;this.view.byteLength<n&&this.resizeBuffer(n*2)},t.prototype.resizeBuffer=function(e){var n=new ArrayBuffer(e),r=new Uint8Array(n),i=new DataView(n);r.set(this.bytes),this.view=i,this.bytes=r},t.prototype.encodeNil=function(){this.writeU8(192)},t.prototype.encodeBoolean=function(e){e===!1?this.writeU8(194):this.writeU8(195)},t.prototype.encodeNumber=function(e){!this.forceIntegerToFloat&&Number.isSafeInteger(e)?e>=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):this.useBigInt64?this.encodeNumberAsFloat(e):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):this.useBigInt64?this.encodeNumberAsFloat(e):(this.writeU8(211),this.writeI64(e)):this.encodeNumberAsFloat(e)},t.prototype.encodeNumberAsFloat=function(e){this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))},t.prototype.encodeBigInt64=function(e){e>=BigInt(0)?(this.writeU8(207),this.writeBigUint64(e)):(this.writeU8(211),this.writeBigInt64(e))},t.prototype.writeStringHeader=function(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else if(e<4294967296)this.writeU8(219),this.writeU32(e);else throw new Error("Too long string: ".concat(e," bytes in UTF-8"))},t.prototype.encodeString=function(e){var n=5,r=dW(e);this.ensureBufferSizeToWrite(n+r),this.writeStringHeader(r),gW(e,this.bytes,this.pos),this.pos+=r},t.prototype.encodeObject=function(e,n){var r=this.extensionCodec.tryToEncode(e,this.context);if(r!=null)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,n);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else if(typeof e=="object")this.encodeMap(e,n);else throw new Error("Unrecognized object: ".concat(Object.prototype.toString.apply(e)))},t.prototype.encodeBinary=function(e){var n=e.byteLength;if(n<256)this.writeU8(196),this.writeU8(n);else if(n<65536)this.writeU8(197),this.writeU16(n);else if(n<4294967296)this.writeU8(198),this.writeU32(n);else throw new Error("Too large binary: ".concat(n));var r=bh(e);this.writeU8a(r)},t.prototype.encodeArray=function(e,n){var r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else if(r<4294967296)this.writeU8(221),this.writeU32(r);else throw new Error("Too large array: ".concat(r));for(var i=0,s=e;i<s.length;i++){var o=s[i];this.doEncode(o,n+1)}},t.prototype.countWithoutUndefined=function(e,n){for(var r=0,i=0,s=n;i<s.length;i++){var o=s[i];e[o]!==void 0&&r++}return r},t.prototype.encodeMap=function(e,n){var r=Object.keys(e);this.sortKeys&&r.sort();var i=this.ignoreUndefined?this.countWithoutUndefined(e,r):r.length;if(i<16)this.writeU8(128+i);else if(i<65536)this.writeU8(222),this.writeU16(i);else if(i<4294967296)this.writeU8(223),this.writeU32(i);else throw new Error("Too large map object: ".concat(i));for(var s=0,o=r;s<o.length;s++){var a=o[s],c=e[a];this.ignoreUndefined&&c===void 0||(this.encodeString(a),this.doEncode(c,n+1))}},t.prototype.encodeExtension=function(e){var n=e.data.length;if(n===1)this.writeU8(212);else if(n===2)this.writeU8(213);else if(n===4)this.writeU8(214);else if(n===8)this.writeU8(215);else if(n===16)this.writeU8(216);else if(n<256)this.writeU8(199),this.writeU8(n);else if(n<65536)this.writeU8(200),this.writeU16(n);else if(n<4294967296)this.writeU8(201),this.writeU32(n);else throw new Error("Too large extension object: ".concat(n));this.writeI8(e.type),this.writeU8a(e.data)},t.prototype.writeU8=function(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++},t.prototype.writeU8a=function(e){var n=e.length;this.ensureBufferSizeToWrite(n),this.bytes.set(e,this.pos),this.pos+=n},t.prototype.writeI8=function(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++},t.prototype.writeU16=function(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2},t.prototype.writeI16=function(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2},t.prototype.writeU32=function(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4},t.prototype.writeI32=function(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4},t.prototype.writeF32=function(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4},t.prototype.writeF64=function(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8},t.prototype.writeU64=function(e){this.ensureBufferSizeToWrite(8),TW(this.view,this.pos,e),this.pos+=8},t.prototype.writeI64=function(e){this.ensureBufferSizeToWrite(8),jC(this.view,this.pos,e),this.pos+=8},t.prototype.writeBigUint64=function(e){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,e),this.pos+=8},t.prototype.writeBigInt64=function(e){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,e),this.pos+=8},t}();function MW(t,e){var n=new FW(e);return n.encodeSharedRef(t)}function Av(t){return"".concat(t<0?"-":"","0x").concat(Math.abs(t).toString(16).padStart(2,"0"))}var zW=16,BW=16,qW=function(){function t(e,n){e===void 0&&(e=zW),n===void 0&&(n=BW),this.maxKeyLength=e,this.maxLengthPerKey=n,this.hit=0,this.miss=0,this.caches=[];for(var r=0;r<this.maxKeyLength;r++)this.caches.push([])}return t.prototype.canBeCached=function(e){return e>0&&e<=this.maxKeyLength},t.prototype.find=function(e,n,r){var i=this.caches[r-1];e:for(var s=0,o=i;s<o.length;s++){for(var a=o[s],c=a.bytes,u=0;u<r;u++)if(c[u]!==e[n+u])continue e;return a.str}return null},t.prototype.store=function(e,n){var r=this.caches[e.length-1],i={bytes:e,str:n};r.length>=this.maxLengthPerKey?r[Math.random()*r.length|0]=i:r.push(i)},t.prototype.decode=function(e,n,r){var i=this.find(e,n,r);if(i!=null)return this.hit++,i;this.miss++;var s=qC(e,n,r),o=Uint8Array.prototype.slice.call(e,n,n+r);return this.store(o,s),s},t}(),jW=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{u(r.next(l))}catch(d){o(d)}}function c(l){try{u(r.throw(l))}catch(d){o(d)}}function u(l){l.done?s(l.value):i(l.value).then(a,c)}u((r=r.apply(t,e||[])).next())})},xv=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(l){u=[6,l],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},WC=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),i(a,c,o.done,o.value)})}}function i(s,o,a,c){Promise.resolve(c).then(function(u){s({value:u,done:a})},o)}},ca=function(t){return this instanceof ca?(this.v=t,this):new ca(t)},UW=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(f){r[f]&&(i[f]=function(h){return new Promise(function(p,m){s.push([f,h,p,m])>1||a(f,h)})})}function a(f,h){try{c(r[f](h))}catch(p){d(s[0][3],p)}}function c(f){f.value instanceof ca?Promise.resolve(f.value.v).then(u,l):d(s[0][2],f)}function u(f){a("next",f)}function l(f){a("throw",f)}function d(f,h){f(h),s.shift(),s.length&&a(s[0][0],s[0][1])}},HC="array",Eh="map_key",GW="map_value",WW=function(t){return typeof t=="string"||typeof t=="number"},Ou=-1,Iv=new DataView(new ArrayBuffer(0)),HW=new Uint8Array(Iv.buffer);try{Iv.getInt8(0)}catch(t){if(!(t instanceof RangeError))throw new Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var Pv=RangeError,VC=new Pv("Insufficient data"),VW=new qW,KW=function(){function t(e){var n,r,i,s,o,a,c;this.totalPos=0,this.pos=0,this.view=Iv,this.bytes=HW,this.headByte=Ou,this.stack=[],this.extensionCodec=(n=e?.extensionCodec)!==null&&n!==void 0?n:GC.defaultCodec,this.context=e?.context,this.useBigInt64=(r=e?.useBigInt64)!==null&&r!==void 0?r:!1,this.maxStrLength=(i=e?.maxStrLength)!==null&&i!==void 0?i:Nu,this.maxBinLength=(s=e?.maxBinLength)!==null&&s!==void 0?s:Nu,this.maxArrayLength=(o=e?.maxArrayLength)!==null&&o!==void 0?o:Nu,this.maxMapLength=(a=e?.maxMapLength)!==null&&a!==void 0?a:Nu,this.maxExtLength=(c=e?.maxExtLength)!==null&&c!==void 0?c:Nu,this.keyDecoder=e?.keyDecoder!==void 0?e.keyDecoder:VW}return t.prototype.reinitializeState=function(){this.totalPos=0,this.headByte=Ou,this.stack.length=0},t.prototype.setBuffer=function(e){this.bytes=bh(e),this.view=NW(this.bytes),this.pos=0},t.prototype.appendBuffer=function(e){if(this.headByte===Ou&&!this.hasRemaining(1))this.setBuffer(e);else{var n=this.bytes.subarray(this.pos),r=bh(e),i=new Uint8Array(n.length+r.length);i.set(n),i.set(r,n.length),this.setBuffer(i)}},t.prototype.hasRemaining=function(e){return this.view.byteLength-this.pos>=e},t.prototype.createExtraByteError=function(e){var n=this,r=n.view,i=n.pos;return new RangeError("Extra ".concat(r.byteLength-i," of ").concat(r.byteLength," byte(s) found at buffer[").concat(e,"]"))},t.prototype.decode=function(e){this.reinitializeState(),this.setBuffer(e);var n=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return n},t.prototype.decodeMulti=function(e){return xv(this,function(n){switch(n.label){case 0:this.reinitializeState(),this.setBuffer(e),n.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return n.sent(),[3,1];case 3:return[2]}})},t.prototype.decodeAsync=function(e){var n,r,i,s,o,a,c;return jW(this,void 0,void 0,function(){var u,l,d,f,h,p,m,g;return xv(this,function(y){switch(y.label){case 0:u=!1,y.label=1;case 1:y.trys.push([1,6,7,12]),n=!0,r=WC(e),y.label=2;case 2:return[4,r.next()];case 3:if(i=y.sent(),s=i.done,!!s)return[3,5];c=i.value,n=!1;try{if(d=c,u)throw this.createExtraByteError(this.totalPos);this.appendBuffer(d);try{l=this.doDecodeSync(),u=!0}catch(w){if(!(w instanceof Pv))throw w}this.totalPos+=this.pos}finally{n=!0}y.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return f=y.sent(),o={error:f},[3,12];case 7:return y.trys.push([7,,10,11]),!n&&!s&&(a=r.return)?[4,a.call(r)]:[3,9];case 8:y.sent(),y.label=9;case 9:return[3,11];case 10:if(o)throw o.error;return[7];case 11:return[7];case 12:if(u){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,l]}throw h=this,p=h.headByte,m=h.pos,g=h.totalPos,new RangeError("Insufficient data in parsing ".concat(Av(p)," at ").concat(g," (").concat(m," in the current buffer)"))}})})},t.prototype.decodeArrayStream=function(e){return this.decodeMultiAsync(e,!0)},t.prototype.decodeStream=function(e){return this.decodeMultiAsync(e,!1)},t.prototype.decodeMultiAsync=function(e,n){return UW(this,arguments,function(){var i,s,o,a,c,u,l,d,f,h,p,m;return xv(this,function(g){switch(g.label){case 0:i=n,s=-1,g.label=1;case 1:g.trys.push([1,15,16,21]),o=!0,a=WC(e),g.label=2;case 2:return[4,ca(a.next())];case 3:if(c=g.sent(),f=c.done,!!f)return[3,14];m=c.value,o=!1,g.label=4;case 4:if(g.trys.push([4,,12,13]),u=m,n&&s===0)throw this.createExtraByteError(this.totalPos);this.appendBuffer(u),i&&(s=this.readArraySize(),i=!1,this.complete()),g.label=5;case 5:g.trys.push([5,10,,11]),g.label=6;case 6:return[4,ca(this.doDecodeSync())];case 7:return[4,g.sent()];case 8:return g.sent(),--s===0?[3,9]:[3,6];case 9:return[3,11];case 10:if(l=g.sent(),!(l instanceof Pv))throw l;return[3,11];case 11:return this.totalPos+=this.pos,[3,13];case 12:return o=!0,[7];case 13:return[3,2];case 14:return[3,21];case 15:return d=g.sent(),h={error:d},[3,21];case 16:return g.trys.push([16,,19,20]),!o&&!f&&(p=a.return)?[4,ca(p.call(a))]:[3,18];case 17:g.sent(),g.label=18;case 18:return[3,20];case 19:if(h)throw h.error;return[7];case 20:return[7];case 21:return[2]}})})},t.prototype.doDecodeSync=function(){e:for(;;){var e=this.readHeadByte(),n=void 0;if(e>=224)n=e-256;else if(e<192)if(e<128)n=e;else if(e<144){var r=e-128;if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e<160){var r=e-144;if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else{var i=e-160;n=this.decodeUtf8String(i,0)}else if(e===192)n=null;else if(e===194)n=!1;else if(e===195)n=!0;else if(e===202)n=this.readF32();else if(e===203)n=this.readF64();else if(e===204)n=this.readU8();else if(e===205)n=this.readU16();else if(e===206)n=this.readU32();else if(e===207)this.useBigInt64?n=this.readU64AsBigInt():n=this.readU64();else if(e===208)n=this.readI8();else if(e===209)n=this.readI16();else if(e===210)n=this.readI32();else if(e===211)this.useBigInt64?n=this.readI64AsBigInt():n=this.readI64();else if(e===217){var i=this.lookU8();n=this.decodeUtf8String(i,1)}else if(e===218){var i=this.lookU16();n=this.decodeUtf8String(i,2)}else if(e===219){var i=this.lookU32();n=this.decodeUtf8String(i,4)}else if(e===220){var r=this.readU16();if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else if(e===221){var r=this.readU32();if(r!==0){this.pushArrayState(r),this.complete();continue e}else n=[]}else if(e===222){var r=this.readU16();if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e===223){var r=this.readU32();if(r!==0){this.pushMapState(r),this.complete();continue e}else n={}}else if(e===196){var r=this.lookU8();n=this.decodeBinary(r,1)}else if(e===197){var r=this.lookU16();n=this.decodeBinary(r,2)}else if(e===198){var r=this.lookU32();n=this.decodeBinary(r,4)}else if(e===212)n=this.decodeExtension(1,0);else if(e===213)n=this.decodeExtension(2,0);else if(e===214)n=this.decodeExtension(4,0);else if(e===215)n=this.decodeExtension(8,0);else if(e===216)n=this.decodeExtension(16,0);else if(e===199){var r=this.lookU8();n=this.decodeExtension(r,1)}else if(e===200){var r=this.lookU16();n=this.decodeExtension(r,2)}else if(e===201){var r=this.lookU32();n=this.decodeExtension(r,4)}else throw new jr("Unrecognized type byte: ".concat(Av(e)));this.complete();for(var s=this.stack;s.length>0;){var o=s[s.length-1];if(o.type===HC)if(o.array[o.position]=n,o.position++,o.position===o.size)s.pop(),n=o.array;else continue e;else if(o.type===Eh){if(!WW(n))throw new jr("The type of key must be string or number but "+typeof n);if(n==="__proto__")throw new jr("The key __proto__ is not allowed");o.key=n,o.type=GW;continue e}else if(o.map[o.key]=n,o.readCount++,o.readCount===o.size)s.pop(),n=o.map;else{o.key=null,o.type=Eh;continue e}}return n}},t.prototype.readHeadByte=function(){return this.headByte===Ou&&(this.headByte=this.readU8()),this.headByte},t.prototype.complete=function(){this.headByte=Ou},t.prototype.readArraySize=function(){var e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:{if(e<160)return e-144;throw new jr("Unrecognized array type byte: ".concat(Av(e)))}}},t.prototype.pushMapState=function(e){if(e>this.maxMapLength)throw new jr("Max length exceeded: map length (".concat(e,") > maxMapLengthLength (").concat(this.maxMapLength,")"));this.stack.push({type:Eh,size:e,key:null,readCount:0,map:{}})},t.prototype.pushArrayState=function(e){if(e>this.maxArrayLength)throw new jr("Max length exceeded: array length (".concat(e,") > maxArrayLength (").concat(this.maxArrayLength,")"));this.stack.push({type:HC,size:e,array:new Array(e),position:0})},t.prototype.decodeUtf8String=function(e,n){var r;if(e>this.maxStrLength)throw new jr("Max length exceeded: UTF-8 byte length (".concat(e,") > maxStrLength (").concat(this.maxStrLength,")"));if(this.bytes.byteLength<this.pos+n+e)throw VC;var i=this.pos+n,s;return this.stateIsMapKey()&&(!((r=this.keyDecoder)===null||r===void 0)&&r.canBeCached(e))?s=this.keyDecoder.decode(this.bytes,i,e):s=EW(this.bytes,i,e),this.pos+=n+e,s},t.prototype.stateIsMapKey=function(){if(this.stack.length>0){var e=this.stack[this.stack.length-1];return e.type===Eh}return!1},t.prototype.decodeBinary=function(e,n){if(e>this.maxBinLength)throw new jr("Max length exceeded: bin length (".concat(e,") > maxBinLength (").concat(this.maxBinLength,")"));if(!this.hasRemaining(e+n))throw VC;var r=this.pos+n,i=this.bytes.subarray(r,r+e);return this.pos+=n+e,i},t.prototype.decodeExtension=function(e,n){if(e>this.maxExtLength)throw new jr("Max length exceeded: ext length (".concat(e,") > maxExtLength (").concat(this.maxExtLength,")"));var r=this.view.getInt8(this.pos+n),i=this.decodeBinary(e,n+1);return this.extensionCodec.decode(i,r,this.context)},t.prototype.lookU8=function(){return this.view.getUint8(this.pos)},t.prototype.lookU16=function(){return this.view.getUint16(this.pos)},t.prototype.lookU32=function(){return this.view.getUint32(this.pos)},t.prototype.readU8=function(){var e=this.view.getUint8(this.pos);return this.pos++,e},t.prototype.readI8=function(){var e=this.view.getInt8(this.pos);return this.pos++,e},t.prototype.readU16=function(){var e=this.view.getUint16(this.pos);return this.pos+=2,e},t.prototype.readI16=function(){var e=this.view.getInt16(this.pos);return this.pos+=2,e},t.prototype.readU32=function(){var e=this.view.getUint32(this.pos);return this.pos+=4,e},t.prototype.readI32=function(){var e=this.view.getInt32(this.pos);return this.pos+=4,e},t.prototype.readU64=function(){var e=RW(this.view,this.pos);return this.pos+=8,e},t.prototype.readI64=function(){var e=UC(this.view,this.pos);return this.pos+=8,e},t.prototype.readU64AsBigInt=function(){var e=this.view.getBigUint64(this.pos);return this.pos+=8,e},t.prototype.readI64AsBigInt=function(){var e=this.view.getBigInt64(this.pos);return this.pos+=8,e},t.prototype.readF32=function(){var e=this.view.getFloat32(this.pos);return this.pos+=4,e},t.prototype.readF64=function(){var e=this.view.getFloat64(this.pos);return this.pos+=8,e},t}();function YW(t,e){var n=new KW(e);return n.decode(t)}const XW=t=>typeof ArrayBuffer=="function"&&t instanceof ArrayBuffer||Object.prototype.toString.call(t)==="[object ArrayBuffer]",JW=(t,e=0,n=t.byteLength-e)=>{if(!XW(t))throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof t} (${t})`);return Dm.from(t,e,n)},KC=(t,e)=>{if(typeof t!="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof t} (${t})`);return e?Dm.from(t,e):Dm.from(t)},ZW=/^[A-Za-z0-9+/]*={0,2}$/,QW=t=>{if(t.length*3%4!==0)throw new TypeError("Incorrect padding on base64 string.");if(!ZW.exec(t))throw new TypeError("Invalid base64 string.");const e=KC(t,"base64");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},eH=t=>{const e=KC(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)},tH=t=>{let e;if(typeof t=="string"?e=eH(t):e=t,typeof e!="object"||typeof e.byteOffset!="number"||typeof e.byteLength!="number")throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return JW(e.buffer,e.byteOffset,e.byteLength).toString("base64")},nH=`likec4lib { icons {
|
|
186
|
-
aws:activate
|
|
187
|
-
aws:alexa-for-business
|
|
188
|
-
aws:amplify
|
|
189
|
-
aws:apache-mxnet-on-aws
|
|
190
|
-
aws:api-gateway
|
|
191
|
-
aws:app-config
|
|
192
|
-
aws:app-flow
|
|
193
|
-
aws:app-mesh
|
|
194
|
-
aws:app-runner
|
|
195
|
-
aws:app-stream
|
|
196
|
-
aws:app-sync
|
|
197
|
-
aws:application-auto-scaling
|
|
198
|
-
aws:application-composer
|
|
199
|
-
aws:application-cost-profiler
|
|
200
|
-
aws:application-discovery-service
|
|
201
|
-
aws:application-migration-service
|
|
202
|
-
aws:artifact
|
|
203
|
-
aws:athena
|
|
204
|
-
aws:audit-manager
|
|
205
|
-
aws:augmented-ai-a2i
|
|
206
|
-
aws:aurora
|
|
207
|
-
aws:auto-scaling
|
|
208
|
-
aws:backint-agent
|
|
209
|
-
aws:backup
|
|
210
|
-
aws:batch
|
|
211
|
-
aws:billing-conductor
|
|
212
|
-
aws:bottlerocket
|
|
213
|
-
aws:braket
|
|
214
|
-
aws:budgets
|
|
215
|
-
aws:certificate-manager
|
|
216
|
-
aws:chatbot
|
|
217
|
-
aws:chime
|
|
218
|
-
aws:chime-sdk
|
|
219
|
-
aws:chime-voice-connector
|
|
220
|
-
aws:clean-rooms
|
|
221
|
-
aws:client-vpn
|
|
222
|
-
aws:cloud-control-api
|
|
223
|
-
aws:cloud-development-kit
|
|
224
|
-
aws:cloud-directory
|
|
225
|
-
aws:cloud-formation
|
|
226
|
-
aws:cloud-front
|
|
227
|
-
aws:cloud-hsm
|
|
228
|
-
aws:cloud-map
|
|
229
|
-
aws:cloud-search
|
|
230
|
-
aws:cloud-shell
|
|
231
|
-
aws:cloud-trail
|
|
232
|
-
aws:cloud-wan
|
|
233
|
-
aws:cloud-watch
|
|
234
|
-
aws:cloud9
|
|
235
|
-
aws:code-artifact
|
|
236
|
-
aws:code-build
|
|
237
|
-
aws:code-catalyst
|
|
238
|
-
aws:code-commit
|
|
239
|
-
aws:code-deploy
|
|
240
|
-
aws:code-guru
|
|
241
|
-
aws:code-pipeline
|
|
242
|
-
aws:code-star
|
|
243
|
-
aws:code-whisperer
|
|
244
|
-
aws:cognito
|
|
245
|
-
aws:command-line-interface
|
|
246
|
-
aws:comprehend
|
|
247
|
-
aws:comprehend-medical
|
|
248
|
-
aws:compute-optimizer
|
|
249
|
-
aws:config
|
|
250
|
-
aws:connect
|
|
251
|
-
aws:console-mobile-application
|
|
252
|
-
aws:control-tower
|
|
253
|
-
aws:corretto
|
|
254
|
-
aws:cost-and-usage-report
|
|
255
|
-
aws:cost-explorer
|
|
256
|
-
aws:data-exchange
|
|
257
|
-
aws:data-pipeline
|
|
258
|
-
aws:data-sync
|
|
259
|
-
aws:data-zone
|
|
260
|
-
aws:database-migration-service
|
|
261
|
-
aws:deep-composer
|
|
262
|
-
aws:deep-learning-amis
|
|
263
|
-
aws:deep-learning-containers
|
|
264
|
-
aws:deep-lens
|
|
265
|
-
aws:deep-racer
|
|
266
|
-
aws:detective
|
|
267
|
-
aws:dev-ops-guru
|
|
268
|
-
aws:device-farm
|
|
269
|
-
aws:direct-connect
|
|
270
|
-
aws:directory-service
|
|
271
|
-
aws:distro-for-open-telemetry
|
|
272
|
-
aws:document-db
|
|
273
|
-
aws:dynamo-db
|
|
274
|
-
aws:ec2
|
|
275
|
-
aws:ec2-auto-scaling
|
|
276
|
-
aws:ec2-image-builder
|
|
277
|
-
aws:ecs-anywhere
|
|
278
|
-
aws:efs
|
|
279
|
-
aws:eks-anywhere
|
|
280
|
-
aws:eks-cloud
|
|
281
|
-
aws:eks-distro
|
|
282
|
-
aws:elasti-cache
|
|
283
|
-
aws:elastic-beanstalk
|
|
284
|
-
aws:elastic-block-store
|
|
285
|
-
aws:elastic-container-registry
|
|
286
|
-
aws:elastic-container-service
|
|
287
|
-
aws:elastic-disaster-recovery
|
|
288
|
-
aws:elastic-fabric-adapter
|
|
289
|
-
aws:elastic-inference
|
|
290
|
-
aws:elastic-kubernetes-service
|
|
291
|
-
aws:elastic-load-balancing
|
|
292
|
-
aws:elastic-transcoder
|
|
293
|
-
aws:elemental-appliances-software
|
|
294
|
-
aws:elemental-conductor
|
|
295
|
-
aws:elemental-delta
|
|
296
|
-
aws:elemental-link
|
|
297
|
-
aws:elemental-live
|
|
298
|
-
aws:elemental-media-connect
|
|
299
|
-
aws:elemental-media-convert
|
|
300
|
-
aws:elemental-media-live
|
|
301
|
-
aws:elemental-media-package
|
|
302
|
-
aws:elemental-media-store
|
|
303
|
-
aws:elemental-media-tailor
|
|
304
|
-
aws:elemental-server
|
|
305
|
-
aws:emr
|
|
306
|
-
aws:event-bridge
|
|
307
|
-
aws:express-workflows
|
|
308
|
-
aws:fargate
|
|
309
|
-
aws:fault-injection-simulator
|
|
310
|
-
aws:file-cache
|
|
311
|
-
aws:fin-space
|
|
312
|
-
aws:firewall-manager
|
|
313
|
-
aws:forecast
|
|
314
|
-
aws:fraud-detector
|
|
315
|
-
aws:free-rtos
|
|
316
|
-
aws:fsx
|
|
317
|
-
aws:fsx-for-lustre
|
|
318
|
-
aws:fsx-for-net-app-ontap
|
|
319
|
-
aws:fsx-for-open-zfs
|
|
320
|
-
aws:fsx-for-wfs
|
|
321
|
-
aws:game-kit
|
|
322
|
-
aws:game-lift
|
|
323
|
-
aws:game-sparks
|
|
324
|
-
aws:genomics-cli
|
|
325
|
-
aws:global-accelerator
|
|
326
|
-
aws:glue
|
|
327
|
-
aws:glue-data-brew
|
|
328
|
-
aws:glue-elastic-views
|
|
329
|
-
aws:ground-station
|
|
330
|
-
aws:guard-duty
|
|
331
|
-
aws:health-lake
|
|
332
|
-
aws:honeycode
|
|
333
|
-
aws:iam-identity-center
|
|
334
|
-
aws:identity-and-access-management
|
|
335
|
-
aws:inspector
|
|
336
|
-
aws:interactive-video-service
|
|
337
|
-
aws:io-t-1-click
|
|
338
|
-
aws:io-t-analytics
|
|
339
|
-
aws:io-t-button
|
|
340
|
-
aws:io-t-core
|
|
341
|
-
aws:io-t-device-defender
|
|
342
|
-
aws:io-t-device-management
|
|
343
|
-
aws:io-t-edu-kit
|
|
344
|
-
aws:io-t-events
|
|
345
|
-
aws:io-t-express-link
|
|
346
|
-
aws:io-t-fleet-wise
|
|
347
|
-
aws:io-t-greengrass
|
|
348
|
-
aws:io-t-robo-runner
|
|
349
|
-
aws:io-t-site-wise
|
|
350
|
-
aws:io-t-things-graph
|
|
351
|
-
aws:io-t-twin-maker
|
|
352
|
-
aws:iq
|
|
353
|
-
aws:kendra
|
|
354
|
-
aws:key-management-service
|
|
355
|
-
aws:keyspaces
|
|
356
|
-
aws:kinesis
|
|
357
|
-
aws:kinesis-data-analytics
|
|
358
|
-
aws:kinesis-data-streams
|
|
359
|
-
aws:kinesis-firehose
|
|
360
|
-
aws:kinesis-video-streams
|
|
361
|
-
aws:lake-formation
|
|
362
|
-
aws:lambda
|
|
363
|
-
aws:launch-wizard
|
|
364
|
-
aws:lex
|
|
365
|
-
aws:license-manager
|
|
366
|
-
aws:lightsail
|
|
367
|
-
aws:local-zones
|
|
368
|
-
aws:location-service
|
|
369
|
-
aws:lookout-for-equipment
|
|
370
|
-
aws:lookout-for-metrics
|
|
371
|
-
aws:lookout-for-vision
|
|
372
|
-
aws:lumberyard
|
|
373
|
-
aws:macie
|
|
374
|
-
aws:mainframe-modernization
|
|
375
|
-
aws:managed-blockchain
|
|
376
|
-
aws:managed-grafana
|
|
377
|
-
aws:managed-service-for-prometheus
|
|
378
|
-
aws:managed-services
|
|
379
|
-
aws:managed-streaming-for-apache-kafka
|
|
380
|
-
aws:managed-workflows-for-apache-airflow
|
|
381
|
-
aws:management-console
|
|
382
|
-
aws:marketplace-dark
|
|
383
|
-
aws:marketplace-light
|
|
384
|
-
aws:memory-db-for-redis
|
|
385
|
-
aws:migration-evaluator
|
|
386
|
-
aws:migration-hub
|
|
387
|
-
aws:monitron
|
|
388
|
-
aws:mq
|
|
389
|
-
aws:neptune
|
|
390
|
-
aws:network-firewall
|
|
391
|
-
aws:neuron
|
|
392
|
-
aws:nice-dcv
|
|
393
|
-
aws:nice-engin-frame
|
|
394
|
-
aws:nimble-studio
|
|
395
|
-
aws:nitro-enclaves
|
|
396
|
-
aws:omics
|
|
397
|
-
aws:open-3d-engine
|
|
398
|
-
aws:open-search-service
|
|
399
|
-
aws:ops-works
|
|
400
|
-
aws:organizations
|
|
401
|
-
aws:outposts-family
|
|
402
|
-
aws:outposts-rack
|
|
403
|
-
aws:outposts-servers
|
|
404
|
-
aws:panorama
|
|
405
|
-
aws:parallel-cluster
|
|
406
|
-
aws:personal-health-dashboard
|
|
407
|
-
aws:personalize
|
|
408
|
-
aws:pinpoint
|
|
409
|
-
aws:pinpoint-apis
|
|
410
|
-
aws:polly
|
|
411
|
-
aws:private-5g
|
|
412
|
-
aws:private-certificate-authority
|
|
413
|
-
aws:private-link
|
|
414
|
-
aws:professional-services
|
|
415
|
-
aws:proton
|
|
416
|
-
aws:quantum-ledger-database
|
|
417
|
-
aws:quick-sight
|
|
418
|
-
aws:rds
|
|
419
|
-
aws:rds-on-vmware
|
|
420
|
-
aws:re-post
|
|
421
|
-
aws:red-hat-open-shift-service-on-aws
|
|
422
|
-
aws:redshift
|
|
423
|
-
aws:rekognition
|
|
424
|
-
aws:reserved-instance-reporting
|
|
425
|
-
aws:resilience-hub
|
|
426
|
-
aws:resource-access-manager
|
|
427
|
-
aws:resource-explorer
|
|
428
|
-
aws:robo-maker
|
|
429
|
-
aws:route-53
|
|
430
|
-
aws:s3-on-outposts
|
|
431
|
-
aws:sage-maker
|
|
432
|
-
aws:sage-maker-ground-truth
|
|
433
|
-
aws:sage-maker-studio-lab
|
|
434
|
-
aws:savings-plans
|
|
435
|
-
aws:secrets-manager
|
|
436
|
-
aws:security-hub
|
|
437
|
-
aws:security-lake
|
|
438
|
-
aws:server-migration-service
|
|
439
|
-
aws:serverless-application-repository
|
|
440
|
-
aws:service-catalog
|
|
441
|
-
aws:service-management-connector
|
|
442
|
-
aws:shield
|
|
443
|
-
aws:signer
|
|
444
|
-
aws:sim-space-weaver
|
|
445
|
-
aws:simple-email-service
|
|
446
|
-
aws:simple-notification-service
|
|
447
|
-
aws:simple-queue-service
|
|
448
|
-
aws:simple-storage-service
|
|
449
|
-
aws:simple-storage-service-glacier
|
|
450
|
-
aws:site-to-site-vpn
|
|
451
|
-
aws:snowball
|
|
452
|
-
aws:snowball-edge
|
|
453
|
-
aws:snowcone
|
|
454
|
-
aws:snowmobile
|
|
455
|
-
aws:step-functions
|
|
456
|
-
aws:storage-gateway
|
|
457
|
-
aws:sumerian
|
|
458
|
-
aws:supply-chain
|
|
459
|
-
aws:support
|
|
460
|
-
aws:systems-manager
|
|
461
|
-
aws:tensor-flow-on-aws
|
|
462
|
-
aws:textract
|
|
463
|
-
aws:thinkbox-deadline
|
|
464
|
-
aws:thinkbox-frost
|
|
465
|
-
aws:thinkbox-krakatoa
|
|
466
|
-
aws:thinkbox-sequoia
|
|
467
|
-
aws:thinkbox-stoke
|
|
468
|
-
aws:thinkbox-xmesh
|
|
469
|
-
aws:timestream
|
|
470
|
-
aws:tools-and-sdks
|
|
471
|
-
aws:torch-serve
|
|
472
|
-
aws:training-certification
|
|
473
|
-
aws:transcribe
|
|
474
|
-
aws:transfer-family
|
|
475
|
-
aws:transit-gateway
|
|
476
|
-
aws:translate
|
|
477
|
-
aws:trusted-advisor
|
|
478
|
-
aws:verified-access
|
|
479
|
-
aws:verified-permissions
|
|
480
|
-
aws:virtual-private-cloud
|
|
481
|
-
aws:vmware-cloud-on-aws
|
|
482
|
-
aws:vpc-lattice
|
|
483
|
-
aws:waf
|
|
484
|
-
aws:wavelength
|
|
485
|
-
aws:well-architected-tool
|
|
486
|
-
aws:wickr
|
|
487
|
-
aws:work-docs
|
|
488
|
-
aws:work-docs-sdk
|
|
489
|
-
aws:work-link
|
|
490
|
-
aws:work-mail
|
|
491
|
-
aws:work-spaces-family
|
|
492
|
-
aws:x-ray
|
|
493
|
-
azure:abs-member
|
|
494
|
-
azure:active-directory-connect-health
|
|
495
|
-
azure:activity-log
|
|
496
|
-
azure:administrative-units
|
|
497
|
-
azure:advisor
|
|
498
|
-
azure:ai-studio
|
|
499
|
-
azure:aks-automatic
|
|
500
|
-
azure:aks-istio
|
|
501
|
-
azure:alerts
|
|
502
|
-
azure:all-resources
|
|
503
|
-
azure:analysis-services
|
|
504
|
-
azure:anomaly-detector
|
|
505
|
-
azure:api-center
|
|
506
|
-
azure:api-connections
|
|
507
|
-
azure:api-management-services
|
|
508
|
-
azure:api-proxy
|
|
509
|
-
azure:app-compliance-automation
|
|
510
|
-
azure:app-configuration
|
|
511
|
-
azure:app-registrations
|
|
512
|
-
azure:app-service-certificates
|
|
513
|
-
azure:app-service-domains
|
|
514
|
-
azure:app-service-environments
|
|
515
|
-
azure:app-service-plans
|
|
516
|
-
azure:app-services
|
|
517
|
-
azure:app-space
|
|
518
|
-
azure:app-space-component
|
|
519
|
-
azure:applens
|
|
520
|
-
azure:application-gateway-containers
|
|
521
|
-
azure:application-gateways
|
|
522
|
-
azure:application-group
|
|
523
|
-
azure:application-insights
|
|
524
|
-
azure:application-security-groups
|
|
525
|
-
azure:aquila
|
|
526
|
-
azure:arc-data-services
|
|
527
|
-
azure:arc-kubernetes
|
|
528
|
-
azure:arc-machines
|
|
529
|
-
azure:arc-sql-managed-instance
|
|
530
|
-
azure:arc-sql-server
|
|
531
|
-
azure:atm-multistack
|
|
532
|
-
azure:auto-scale
|
|
533
|
-
azure:automanaged-vm
|
|
534
|
-
azure:automation-accounts
|
|
535
|
-
azure:availability-sets
|
|
536
|
-
azure:avs-vm
|
|
537
|
-
azure:azure-a
|
|
538
|
-
azure:azure-ad-b2c
|
|
539
|
-
azure:azure-api-for-fhir
|
|
540
|
-
azure:azure-applied-ai-services
|
|
541
|
-
azure:azure-arc
|
|
542
|
-
azure:azure-attestation
|
|
543
|
-
azure:azure-backup-center
|
|
544
|
-
azure:azure-blockchain-service
|
|
545
|
-
azure:azure-center-for-sap
|
|
546
|
-
azure:azure-chaos-studio
|
|
547
|
-
azure:azure-cloud-shell
|
|
548
|
-
azure:azure-communication-services
|
|
549
|
-
azure:azure-communications-gateway
|
|
550
|
-
azure:azure-compute-galleries
|
|
551
|
-
azure:azure-cosmos-db
|
|
552
|
-
azure:azure-data-catalog
|
|
553
|
-
azure:azure-data-explorer-clusters
|
|
554
|
-
azure:azure-database-maria-db-server
|
|
555
|
-
azure:azure-database-migration-services
|
|
556
|
-
azure:azure-database-my-sql-server
|
|
557
|
-
azure:azure-database-postgre-sql-server
|
|
558
|
-
azure:azure-database-postgre-sql-server-group
|
|
559
|
-
azure:azure-databox-gateway
|
|
560
|
-
azure:azure-databricks
|
|
561
|
-
azure:azure-deployment-environments
|
|
562
|
-
azure:azure-dev-ops
|
|
563
|
-
azure:azure-dev-tunnels
|
|
564
|
-
azure:azure-edge-hardware-center
|
|
565
|
-
azure:azure-experimentation-studio
|
|
566
|
-
azure:azure-fileshares
|
|
567
|
-
azure:azure-firewall-manager
|
|
568
|
-
azure:azure-firewall-policy
|
|
569
|
-
azure:azure-hcp-cache
|
|
570
|
-
azure:azure-hpc-workbenches
|
|
571
|
-
azure:azure-hybrid-center
|
|
572
|
-
azure:azure-information-protection
|
|
573
|
-
azure:azure-io-t-operations
|
|
574
|
-
azure:azure-lighthouse
|
|
575
|
-
azure:azure-load-testing
|
|
576
|
-
azure:azure-managed-grafana
|
|
577
|
-
azure:azure-maps-accounts
|
|
578
|
-
azure:azure-media-service
|
|
579
|
-
azure:azure-migrate
|
|
580
|
-
azure:azure-monitor-dashboard
|
|
581
|
-
azure:azure-monitor-pipeline
|
|
582
|
-
azure:azure-monitors-for-sap-solutions
|
|
583
|
-
azure:azure-net-app-files
|
|
584
|
-
azure:azure-network-function-manager
|
|
585
|
-
azure:azure-network-function-manager-functions
|
|
586
|
-
azure:azure-object-understanding
|
|
587
|
-
azure:azure-open-ai
|
|
588
|
-
azure:azure-operator-5g-core
|
|
589
|
-
azure:azure-operator-insights
|
|
590
|
-
azure:azure-operator-nexus
|
|
591
|
-
azure:azure-operator-service-manager
|
|
592
|
-
azure:azure-orbital
|
|
593
|
-
azure:azure-programmable-connectivity
|
|
594
|
-
azure:azure-purview-accounts
|
|
595
|
-
azure:azure-quotas
|
|
596
|
-
azure:azure-red-hat-open-shift
|
|
597
|
-
azure:azure-sentinel
|
|
598
|
-
azure:azure-service-bus
|
|
599
|
-
azure:azure-sphere
|
|
600
|
-
azure:azure-spring-apps
|
|
601
|
-
azure:azure-sql
|
|
602
|
-
azure:azure-sql-edge
|
|
603
|
-
azure:azure-sql-server-stretch-databases
|
|
604
|
-
azure:azure-sql-vm
|
|
605
|
-
azure:azure-stack
|
|
606
|
-
azure:azure-stack-edge
|
|
607
|
-
azure:azure-stack-hci-sizer
|
|
608
|
-
azure:azure-storage-mover
|
|
609
|
-
azure:azure-support-center-blue
|
|
610
|
-
azure:azure-sustainability
|
|
611
|
-
azure:azure-synapse-analytics
|
|
612
|
-
azure:azure-token-service
|
|
613
|
-
azure:azure-video-indexer
|
|
614
|
-
azure:azure-virtual-desktop
|
|
615
|
-
azure:azure-vmware-solution
|
|
616
|
-
azure:azure-workbooks
|
|
617
|
-
azure:azurite
|
|
618
|
-
azure:backlog
|
|
619
|
-
azure:backup-vault
|
|
620
|
-
azure:bare-metal-infrastructure
|
|
621
|
-
azure:bastions
|
|
622
|
-
azure:batch-accounts
|
|
623
|
-
azure:batch-ai
|
|
624
|
-
azure:biz-talk
|
|
625
|
-
azure:blob-block
|
|
626
|
-
azure:blob-page
|
|
627
|
-
azure:blockchain-applications
|
|
628
|
-
azure:blueprints
|
|
629
|
-
azure:bonsai
|
|
630
|
-
azure:bot-services
|
|
631
|
-
azure:branch
|
|
632
|
-
azure:browser
|
|
633
|
-
azure:bug
|
|
634
|
-
azure:builds
|
|
635
|
-
azure:business-process-tracking
|
|
636
|
-
azure:cache
|
|
637
|
-
azure:cache-redis
|
|
638
|
-
azure:capacity
|
|
639
|
-
azure:capacity-reservation-groups
|
|
640
|
-
azure:cdn-profiles
|
|
641
|
-
azure:central-service-instance-for-sap
|
|
642
|
-
azure:ceres
|
|
643
|
-
azure:change-analysis
|
|
644
|
-
azure:client-apps
|
|
645
|
-
azure:cloud-services-classic
|
|
646
|
-
azure:cloud-services-extended-support
|
|
647
|
-
azure:cloud-test
|
|
648
|
-
azure:code
|
|
649
|
-
azure:code-optimization
|
|
650
|
-
azure:cognitive-search
|
|
651
|
-
azure:cognitive-services
|
|
652
|
-
azure:cognitive-services-decisions
|
|
653
|
-
azure:collaborative-service
|
|
654
|
-
azure:commit
|
|
655
|
-
azure:community-images
|
|
656
|
-
azure:compliance
|
|
657
|
-
azure:compliance-center
|
|
658
|
-
azure:compute-fleet
|
|
659
|
-
azure:computer-vision
|
|
660
|
-
azure:conditional-access
|
|
661
|
-
azure:confidential-ledgers
|
|
662
|
-
azure:connected-cache
|
|
663
|
-
azure:connected-vehicle-platform
|
|
664
|
-
azure:connections
|
|
665
|
-
azure:consortium
|
|
666
|
-
azure:container-apps-environments
|
|
667
|
-
azure:container-instances
|
|
668
|
-
azure:container-registries
|
|
669
|
-
azure:container-services-deprecated
|
|
670
|
-
azure:content-moderators
|
|
671
|
-
azure:content-safety
|
|
672
|
-
azure:controls
|
|
673
|
-
azure:controls-horizontal
|
|
674
|
-
azure:cost-alerts
|
|
675
|
-
azure:cost-analysis
|
|
676
|
-
azure:cost-budgets
|
|
677
|
-
azure:cost-export
|
|
678
|
-
azure:cost-management
|
|
679
|
-
azure:cost-management-and-billing
|
|
680
|
-
azure:counter
|
|
681
|
-
azure:cubes
|
|
682
|
-
azure:custom-ip-prefix
|
|
683
|
-
azure:custom-vision
|
|
684
|
-
azure:customer-lockbox-for-microsoft-azure
|
|
685
|
-
azure:dashboard
|
|
686
|
-
azure:dashboard-hub
|
|
687
|
-
azure:data-box
|
|
688
|
-
azure:data-collection-rules
|
|
689
|
-
azure:data-factories
|
|
690
|
-
azure:data-lake-analytics
|
|
691
|
-
azure:data-lake-storage-gen1
|
|
692
|
-
azure:data-lake-store-gen1
|
|
693
|
-
azure:data-share-invitations
|
|
694
|
-
azure:data-shares
|
|
695
|
-
azure:database-instance-for-sap
|
|
696
|
-
azure:ddo-s-protection-plans
|
|
697
|
-
azure:dedicated-hsm
|
|
698
|
-
azure:defender-cm-local-manager
|
|
699
|
-
azure:defender-dcs-controller
|
|
700
|
-
azure:defender-distributer-control-system
|
|
701
|
-
azure:defender-engineering-station
|
|
702
|
-
azure:defender-external-management
|
|
703
|
-
azure:defender-freezer-monitor
|
|
704
|
-
azure:defender-historian
|
|
705
|
-
azure:defender-hmi
|
|
706
|
-
azure:defender-industrial-packaging-system
|
|
707
|
-
azure:defender-industrial-printer
|
|
708
|
-
azure:defender-industrial-robot
|
|
709
|
-
azure:defender-industrial-scale-system
|
|
710
|
-
azure:defender-marquee
|
|
711
|
-
azure:defender-meter
|
|
712
|
-
azure:defender-plc
|
|
713
|
-
azure:defender-pneumatic-device
|
|
714
|
-
azure:defender-programable-board
|
|
715
|
-
azure:defender-relay
|
|
716
|
-
azure:defender-robot-controller
|
|
717
|
-
azure:defender-rtu
|
|
718
|
-
azure:defender-sensor
|
|
719
|
-
azure:defender-slot
|
|
720
|
-
azure:defender-web-guiding-system
|
|
721
|
-
azure:detonation
|
|
722
|
-
azure:dev-console
|
|
723
|
-
azure:dev-ops-starter
|
|
724
|
-
azure:dev-test-labs
|
|
725
|
-
azure:device-compliance
|
|
726
|
-
azure:device-configuration
|
|
727
|
-
azure:device-enrollment
|
|
728
|
-
azure:device-provisioning-services
|
|
729
|
-
azure:device-security-apple
|
|
730
|
-
azure:device-security-google
|
|
731
|
-
azure:device-security-windows
|
|
732
|
-
azure:device-update-io-t-hub
|
|
733
|
-
azure:devices
|
|
734
|
-
azure:diagnostics-settings
|
|
735
|
-
azure:digital-twins
|
|
736
|
-
azure:disk-encryption-sets
|
|
737
|
-
azure:disk-pool
|
|
738
|
-
azure:disks
|
|
739
|
-
azure:disks-classic
|
|
740
|
-
azure:disks-snapshots
|
|
741
|
-
azure:dns-multistack
|
|
742
|
-
azure:dns-private-resolver
|
|
743
|
-
azure:dns-security-policy
|
|
744
|
-
azure:dns-zones
|
|
745
|
-
azure:download
|
|
746
|
-
azure:e-books
|
|
747
|
-
azure:edge-management
|
|
748
|
-
azure:education
|
|
749
|
-
azure:elastic-job-agents
|
|
750
|
-
azure:elastic-san
|
|
751
|
-
azure:endpoint-analytics
|
|
752
|
-
azure:enterprise-applications
|
|
753
|
-
azure:entra-connect
|
|
754
|
-
azure:entra-connect-health
|
|
755
|
-
azure:entra-connect-sync
|
|
756
|
-
azure:entra-domain-services
|
|
757
|
-
azure:entra-global-secure-access
|
|
758
|
-
azure:entra-id-protection
|
|
759
|
-
azure:entra-identity-custom-roles
|
|
760
|
-
azure:entra-identity-licenses
|
|
761
|
-
azure:entra-identity-risky-signins
|
|
762
|
-
azure:entra-identity-risky-users
|
|
763
|
-
azure:entra-identity-roles-and-administrators
|
|
764
|
-
azure:entra-internet-access
|
|
765
|
-
azure:entra-managed-identities
|
|
766
|
-
azure:entra-private-access
|
|
767
|
-
azure:entra-privleged-identity-management
|
|
768
|
-
azure:entra-verified-id
|
|
769
|
-
azure:error
|
|
770
|
-
azure:event-grid-domains
|
|
771
|
-
azure:event-grid-subscriptions
|
|
772
|
-
azure:event-grid-topics
|
|
773
|
-
azure:event-hub-clusters
|
|
774
|
-
azure:event-hubs
|
|
775
|
-
azure:exchange-access
|
|
776
|
-
azure:exchange-on-premises-access
|
|
777
|
-
azure:express-route-circuits
|
|
778
|
-
azure:express-route-direct
|
|
779
|
-
azure:express-route-traffic-collector
|
|
780
|
-
azure:extended-security-updates
|
|
781
|
-
azure:extensions
|
|
782
|
-
azure:external-identities
|
|
783
|
-
azure:face-apis
|
|
784
|
-
azure:feature-previews
|
|
785
|
-
azure:fhir-service
|
|
786
|
-
azure:fiji
|
|
787
|
-
azure:file
|
|
788
|
-
azure:files
|
|
789
|
-
azure:firewalls
|
|
790
|
-
azure:folder-blank
|
|
791
|
-
azure:folder-website
|
|
792
|
-
azure:form-recognizers
|
|
793
|
-
azure:free-services
|
|
794
|
-
azure:front-door-and-cdn-profiles
|
|
795
|
-
azure:ftp
|
|
796
|
-
azure:function-apps
|
|
797
|
-
azure:gear
|
|
798
|
-
azure:genomics
|
|
799
|
-
azure:genomics-accounts
|
|
800
|
-
azure:globe-error
|
|
801
|
-
azure:globe-success
|
|
802
|
-
azure:globe-warning
|
|
803
|
-
azure:groups
|
|
804
|
-
azure:guide
|
|
805
|
-
azure:hd-insight-clusters
|
|
806
|
-
azure:hdi-aks-cluster
|
|
807
|
-
azure:heart
|
|
808
|
-
azure:help-and-support
|
|
809
|
-
azure:host-groups
|
|
810
|
-
azure:host-pools
|
|
811
|
-
azure:hosts
|
|
812
|
-
azure:ic-m-troubleshooting
|
|
813
|
-
azure:identity-governance
|
|
814
|
-
azure:identity-multi-factor-authentication
|
|
815
|
-
azure:identity-secure-score
|
|
816
|
-
azure:image
|
|
817
|
-
azure:image-definitions
|
|
818
|
-
azure:image-templates
|
|
819
|
-
azure:image-versions
|
|
820
|
-
azure:images
|
|
821
|
-
azure:immersive-readers
|
|
822
|
-
azure:import-export-jobs
|
|
823
|
-
azure:industrial-io-t
|
|
824
|
-
azure:information
|
|
825
|
-
azure:infrastructure-backup
|
|
826
|
-
azure:input-output
|
|
827
|
-
azure:instance-pools
|
|
828
|
-
azure:integration-accounts
|
|
829
|
-
azure:integration-environments
|
|
830
|
-
azure:integration-service-environments
|
|
831
|
-
azure:internet-analyzer-profiles
|
|
832
|
-
azure:intune
|
|
833
|
-
azure:intune-app-protection
|
|
834
|
-
azure:intune-for-education
|
|
835
|
-
azure:intune-trends
|
|
836
|
-
azure:io-t-central-applications
|
|
837
|
-
azure:io-t-edge
|
|
838
|
-
azure:io-t-hub
|
|
839
|
-
azure:ip-address-manager
|
|
840
|
-
azure:ip-groups
|
|
841
|
-
azure:journey-hub
|
|
842
|
-
azure:key-vaults
|
|
843
|
-
azure:keys
|
|
844
|
-
azure:kubernetes-fleet-manager
|
|
845
|
-
azure:kubernetes-services
|
|
846
|
-
azure:lab-accounts
|
|
847
|
-
azure:lab-services
|
|
848
|
-
azure:language
|
|
849
|
-
azure:language-understanding
|
|
850
|
-
azure:launch-portal
|
|
851
|
-
azure:learn
|
|
852
|
-
azure:load-balancer-hub
|
|
853
|
-
azure:load-balancers
|
|
854
|
-
azure:load-test
|
|
855
|
-
azure:load-testing
|
|
856
|
-
azure:local-network-gateways
|
|
857
|
-
azure:location
|
|
858
|
-
azure:log-analytics-query-pack
|
|
859
|
-
azure:log-analytics-workspaces
|
|
860
|
-
azure:log-streaming
|
|
861
|
-
azure:logic-apps
|
|
862
|
-
azure:logic-apps-custom-connector
|
|
863
|
-
azure:machine-learning
|
|
864
|
-
azure:machine-learning-studio-classic-web-services
|
|
865
|
-
azure:machine-learning-studio-web-service-plans
|
|
866
|
-
azure:machine-learning-studio-workspaces
|
|
867
|
-
azure:machines-azure-arc
|
|
868
|
-
azure:maintenance-configuration
|
|
869
|
-
azure:managed-applications-center
|
|
870
|
-
azure:managed-database
|
|
871
|
-
azure:managed-desktop
|
|
872
|
-
azure:managed-dev-ops-pools
|
|
873
|
-
azure:managed-file-shares
|
|
874
|
-
azure:managed-identities
|
|
875
|
-
azure:managed-instance-apache-cassandra
|
|
876
|
-
azure:managed-service-fabric
|
|
877
|
-
azure:management-groups
|
|
878
|
-
azure:management-portal
|
|
879
|
-
azure:marketplace
|
|
880
|
-
azure:marketplace-management
|
|
881
|
-
azure:med-tech-service
|
|
882
|
-
azure:media
|
|
883
|
-
azure:media-file
|
|
884
|
-
azure:mesh-applications
|
|
885
|
-
azure:metrics
|
|
886
|
-
azure:metrics-advisor
|
|
887
|
-
azure:microsoft-defender-easm
|
|
888
|
-
azure:microsoft-defender-for-cloud
|
|
889
|
-
azure:microsoft-defender-for-io-t
|
|
890
|
-
azure:microsoft-dev-box
|
|
891
|
-
azure:mindaro
|
|
892
|
-
azure:mission-landing-zone
|
|
893
|
-
azure:mobile
|
|
894
|
-
azure:mobile-engagement
|
|
895
|
-
azure:mobile-networks
|
|
896
|
-
azure:modular-data-center
|
|
897
|
-
azure:module
|
|
898
|
-
azure:monitor
|
|
899
|
-
azure:monitor-health-models
|
|
900
|
-
azure:multi-tenancy
|
|
901
|
-
azure:multifactor-authentication
|
|
902
|
-
azure:my-customers
|
|
903
|
-
azure:nat
|
|
904
|
-
azure:network-interfaces
|
|
905
|
-
azure:network-managers
|
|
906
|
-
azure:network-security-groups
|
|
907
|
-
azure:network-security-perimeters
|
|
908
|
-
azure:network-watcher
|
|
909
|
-
azure:notification-hub-namespaces
|
|
910
|
-
azure:notification-hubs
|
|
911
|
-
azure:offers
|
|
912
|
-
azure:on-premises-data-gateways
|
|
913
|
-
azure:open-supply-chain-platform
|
|
914
|
-
azure:operation-log-classic
|
|
915
|
-
azure:oracle-database
|
|
916
|
-
azure:os-images-classic
|
|
917
|
-
azure:osconfig
|
|
918
|
-
azure:outbound-connection
|
|
919
|
-
azure:partner-namespace
|
|
920
|
-
azure:partner-registration
|
|
921
|
-
azure:partner-topic
|
|
922
|
-
azure:peering-service
|
|
923
|
-
azure:peerings
|
|
924
|
-
azure:personalizers
|
|
925
|
-
azure:plans
|
|
926
|
-
azure:policy
|
|
927
|
-
azure:power
|
|
928
|
-
azure:power-bi-embedded
|
|
929
|
-
azure:power-platform
|
|
930
|
-
azure:power-up
|
|
931
|
-
azure:powershell
|
|
932
|
-
azure:preview-features
|
|
933
|
-
azure:private-endpoints
|
|
934
|
-
azure:private-link
|
|
935
|
-
azure:private-link-service
|
|
936
|
-
azure:private-link-services
|
|
937
|
-
azure:process-explorer
|
|
938
|
-
azure:production-ready-database
|
|
939
|
-
azure:proximity-placement-groups
|
|
940
|
-
azure:public-ip-addresses
|
|
941
|
-
azure:public-ip-addresses-classic
|
|
942
|
-
azure:public-ip-prefixes
|
|
943
|
-
azure:qn-a-makers
|
|
944
|
-
azure:quickstart-center
|
|
945
|
-
azure:recent
|
|
946
|
-
azure:recovery-services-vaults
|
|
947
|
-
azure:region-management
|
|
948
|
-
azure:relays
|
|
949
|
-
azure:remote-rendering
|
|
950
|
-
azure:reservations
|
|
951
|
-
azure:reserved-capacity
|
|
952
|
-
azure:reserved-ip-addresses-classic
|
|
953
|
-
azure:resource-explorer
|
|
954
|
-
azure:resource-graph-explorer
|
|
955
|
-
azure:resource-group-list
|
|
956
|
-
azure:resource-groups
|
|
957
|
-
azure:resource-guard
|
|
958
|
-
azure:resource-linked
|
|
959
|
-
azure:resource-management-private-link
|
|
960
|
-
azure:resource-mover
|
|
961
|
-
azure:resources-provider
|
|
962
|
-
azure:restore-points
|
|
963
|
-
azure:restore-points-collections
|
|
964
|
-
azure:route-filters
|
|
965
|
-
azure:route-tables
|
|
966
|
-
azure:rtos
|
|
967
|
-
azure:savings-plans
|
|
968
|
-
azure:scheduler
|
|
969
|
-
azure:scheduler-job-collections
|
|
970
|
-
azure:scvmm-management-servers
|
|
971
|
-
azure:search
|
|
972
|
-
azure:search-grid
|
|
973
|
-
azure:security
|
|
974
|
-
azure:security-baselines
|
|
975
|
-
azure:send-grid-accounts
|
|
976
|
-
azure:server-farm
|
|
977
|
-
azure:serverless-search
|
|
978
|
-
azure:service-catalog-mad
|
|
979
|
-
azure:service-endpoint-policies
|
|
980
|
-
azure:service-fabric-clusters
|
|
981
|
-
azure:service-health
|
|
982
|
-
azure:service-providers
|
|
983
|
-
azure:shared-image-galleries
|
|
984
|
-
azure:signal-r
|
|
985
|
-
azure:software-as-a-service
|
|
986
|
-
azure:software-updates
|
|
987
|
-
azure:solutions
|
|
988
|
-
azure:sonic-dash
|
|
989
|
-
azure:spatial-anchor-accounts
|
|
990
|
-
azure:speech-services
|
|
991
|
-
azure:spot-vm
|
|
992
|
-
azure:spot-vmss
|
|
993
|
-
azure:sql-data-warehouses
|
|
994
|
-
azure:sql-database
|
|
995
|
-
azure:sql-elastic-pools
|
|
996
|
-
azure:sql-managed-instance
|
|
997
|
-
azure:sql-server
|
|
998
|
-
azure:sql-server-registries
|
|
999
|
-
azure:ssd
|
|
1000
|
-
azure:ssh-keys
|
|
1001
|
-
azure:ssis-lift-and-shift-ir
|
|
1002
|
-
azure:stack-hci-premium
|
|
1003
|
-
azure:static-apps
|
|
1004
|
-
azure:stor-simple-data-managers
|
|
1005
|
-
azure:stor-simple-device-managers
|
|
1006
|
-
azure:storage-accounts
|
|
1007
|
-
azure:storage-accounts-classic
|
|
1008
|
-
azure:storage-actions
|
|
1009
|
-
azure:storage-azure-files
|
|
1010
|
-
azure:storage-container
|
|
1011
|
-
azure:storage-explorer
|
|
1012
|
-
azure:storage-functions
|
|
1013
|
-
azure:storage-queue
|
|
1014
|
-
azure:storage-sync-services
|
|
1015
|
-
azure:stream-analytics-jobs
|
|
1016
|
-
azure:subnet
|
|
1017
|
-
azure:subscriptions
|
|
1018
|
-
azure:system-topic
|
|
1019
|
-
azure:table
|
|
1020
|
-
azure:tag
|
|
1021
|
-
azure:tags
|
|
1022
|
-
azure:targets-management
|
|
1023
|
-
azure:template-specs
|
|
1024
|
-
azure:templates
|
|
1025
|
-
azure:tenant-properties
|
|
1026
|
-
azure:tenant-status
|
|
1027
|
-
azure:test-base
|
|
1028
|
-
azure:tfs-vc-repository
|
|
1029
|
-
azure:time-series-data-sets
|
|
1030
|
-
azure:time-series-insights-access-policies
|
|
1031
|
-
azure:time-series-insights-environments
|
|
1032
|
-
azure:time-series-insights-event-sources
|
|
1033
|
-
azure:toolbox
|
|
1034
|
-
azure:traffic-manager-profiles
|
|
1035
|
-
azure:translator-text
|
|
1036
|
-
azure:troubleshoot
|
|
1037
|
-
azure:universal-print
|
|
1038
|
-
azure:update-management-center
|
|
1039
|
-
azure:updates
|
|
1040
|
-
azure:user-privacy
|
|
1041
|
-
azure:user-settings
|
|
1042
|
-
azure:user-subscriptions
|
|
1043
|
-
azure:users
|
|
1044
|
-
azure:verifiable-credentials
|
|
1045
|
-
azure:verification-as-a-service
|
|
1046
|
-
azure:versions
|
|
1047
|
-
azure:video-analyzers
|
|
1048
|
-
azure:virtual-clusters
|
|
1049
|
-
azure:virtual-enclaves
|
|
1050
|
-
azure:virtual-instance-for-sap
|
|
1051
|
-
azure:virtual-machine
|
|
1052
|
-
azure:virtual-machines-classic
|
|
1053
|
-
azure:virtual-network-gateways
|
|
1054
|
-
azure:virtual-networks
|
|
1055
|
-
azure:virtual-networks-classic
|
|
1056
|
-
azure:virtual-router
|
|
1057
|
-
azure:virtual-visits-builder
|
|
1058
|
-
azure:virtual-wan-hub
|
|
1059
|
-
azure:virtual-wans
|
|
1060
|
-
azure:vm-app-definitions
|
|
1061
|
-
azure:vm-app-versions
|
|
1062
|
-
azure:vm-image-version
|
|
1063
|
-
azure:vm-images-classic
|
|
1064
|
-
azure:vm-scale-sets
|
|
1065
|
-
azure:wac
|
|
1066
|
-
azure:wac-installer
|
|
1067
|
-
azure:web-app-database
|
|
1068
|
-
azure:web-application-firewall-policies-waf
|
|
1069
|
-
azure:web-jobs
|
|
1070
|
-
azure:web-slots
|
|
1071
|
-
azure:web-test
|
|
1072
|
-
azure:website-power
|
|
1073
|
-
azure:website-staging
|
|
1074
|
-
azure:windows-notification-services
|
|
1075
|
-
azure:windows10-core-services
|
|
1076
|
-
azure:workbooks
|
|
1077
|
-
azure:worker-container-app
|
|
1078
|
-
azure:workflow
|
|
1079
|
-
azure:workspace-gateway
|
|
1080
|
-
azure:workspaces
|
|
1081
|
-
gcp:access-context-manager
|
|
1082
|
-
gcp:administration
|
|
1083
|
-
gcp:advanced-agent-modeling
|
|
1084
|
-
gcp:advanced-solutions-lab
|
|
1085
|
-
gcp:agent-assist
|
|
1086
|
-
gcp:ai-hub
|
|
1087
|
-
gcp:ai-platform
|
|
1088
|
-
gcp:ai-platform-unified
|
|
1089
|
-
gcp:analytics-hub
|
|
1090
|
-
gcp:anthos
|
|
1091
|
-
gcp:anthos-config-management
|
|
1092
|
-
gcp:anthos-service-mesh
|
|
1093
|
-
gcp:api
|
|
1094
|
-
gcp:api-analytics
|
|
1095
|
-
gcp:api-monetization
|
|
1096
|
-
gcp:apigee-api-platform
|
|
1097
|
-
gcp:apigee-sense
|
|
1098
|
-
gcp:app-engine
|
|
1099
|
-
gcp:artifact-registry
|
|
1100
|
-
gcp:asset-inventory
|
|
1101
|
-
gcp:assured-workloads
|
|
1102
|
-
gcp:auto-ml
|
|
1103
|
-
gcp:auto-ml-natural-language
|
|
1104
|
-
gcp:auto-ml-tables
|
|
1105
|
-
gcp:auto-ml-translation
|
|
1106
|
-
gcp:auto-ml-video-intelligence
|
|
1107
|
-
gcp:auto-ml-vision
|
|
1108
|
-
gcp:bare-metal-solutions
|
|
1109
|
-
gcp:batch
|
|
1110
|
-
gcp:beyondcorp
|
|
1111
|
-
gcp:big-query
|
|
1112
|
-
gcp:bigtable
|
|
1113
|
-
gcp:billing
|
|
1114
|
-
gcp:binary-authorization
|
|
1115
|
-
gcp:catalog
|
|
1116
|
-
gcp:certificate-authority-service
|
|
1117
|
-
gcp:certificate-manager
|
|
1118
|
-
gcp:cloud-api-gateway
|
|
1119
|
-
gcp:cloud-apis
|
|
1120
|
-
gcp:cloud-armor
|
|
1121
|
-
gcp:cloud-asset-inventory
|
|
1122
|
-
gcp:cloud-audit-logs
|
|
1123
|
-
gcp:cloud-build
|
|
1124
|
-
gcp:cloud-cdn
|
|
1125
|
-
gcp:cloud-code
|
|
1126
|
-
gcp:cloud-composer
|
|
1127
|
-
gcp:cloud-data-fusion
|
|
1128
|
-
gcp:cloud-deploy
|
|
1129
|
-
gcp:cloud-deployment-manager
|
|
1130
|
-
gcp:cloud-dns
|
|
1131
|
-
gcp:cloud-domains
|
|
1132
|
-
gcp:cloud-ekm
|
|
1133
|
-
gcp:cloud-endpoints
|
|
1134
|
-
gcp:cloud-external-ip-addresses
|
|
1135
|
-
gcp:cloud-firewall-rules
|
|
1136
|
-
gcp:cloud-for-marketing
|
|
1137
|
-
gcp:cloud-functions
|
|
1138
|
-
gcp:cloud-generic
|
|
1139
|
-
gcp:cloud-gpu
|
|
1140
|
-
gcp:cloud-healthcare-api
|
|
1141
|
-
gcp:cloud-healthcare-marketplace
|
|
1142
|
-
gcp:cloud-hsm
|
|
1143
|
-
gcp:cloud-ids
|
|
1144
|
-
gcp:cloud-inference-api
|
|
1145
|
-
gcp:cloud-interconnect
|
|
1146
|
-
gcp:cloud-jobs-api
|
|
1147
|
-
gcp:cloud-load-balancing
|
|
1148
|
-
gcp:cloud-logging
|
|
1149
|
-
gcp:cloud-media-edge
|
|
1150
|
-
gcp:cloud-monitoring
|
|
1151
|
-
gcp:cloud-nat
|
|
1152
|
-
gcp:cloud-natural-language-api
|
|
1153
|
-
gcp:cloud-network
|
|
1154
|
-
gcp:cloud-ops
|
|
1155
|
-
gcp:cloud-optimization-ai
|
|
1156
|
-
gcp:cloud-optimization-ai-fleet-routing-api
|
|
1157
|
-
gcp:cloud-router
|
|
1158
|
-
gcp:cloud-routes
|
|
1159
|
-
gcp:cloud-run
|
|
1160
|
-
gcp:cloud-run-for-anthos
|
|
1161
|
-
gcp:cloud-scheduler
|
|
1162
|
-
gcp:cloud-security-scanner
|
|
1163
|
-
gcp:cloud-shell
|
|
1164
|
-
gcp:cloud-spanner
|
|
1165
|
-
gcp:cloud-sql
|
|
1166
|
-
gcp:cloud-storage
|
|
1167
|
-
gcp:cloud-tasks
|
|
1168
|
-
gcp:cloud-test-lab
|
|
1169
|
-
gcp:cloud-tpu
|
|
1170
|
-
gcp:cloud-translation-api
|
|
1171
|
-
gcp:cloud-vision-api
|
|
1172
|
-
gcp:cloud-vpn
|
|
1173
|
-
gcp:compute-engine
|
|
1174
|
-
gcp:configuration-management
|
|
1175
|
-
gcp:connectivity-test
|
|
1176
|
-
gcp:connectors
|
|
1177
|
-
gcp:contact-center-ai
|
|
1178
|
-
gcp:container-optimized-os
|
|
1179
|
-
gcp:container-registry
|
|
1180
|
-
gcp:data-catalog
|
|
1181
|
-
gcp:data-labeling
|
|
1182
|
-
gcp:data-layers
|
|
1183
|
-
gcp:data-loss-prevention-api
|
|
1184
|
-
gcp:data-qn-a
|
|
1185
|
-
gcp:data-studio
|
|
1186
|
-
gcp:data-transfer
|
|
1187
|
-
gcp:database-migration-service
|
|
1188
|
-
gcp:dataflow
|
|
1189
|
-
gcp:datalab
|
|
1190
|
-
gcp:dataplex
|
|
1191
|
-
gcp:datapol
|
|
1192
|
-
gcp:dataprep
|
|
1193
|
-
gcp:dataproc
|
|
1194
|
-
gcp:dataproc-metastore
|
|
1195
|
-
gcp:datashare
|
|
1196
|
-
gcp:datastore
|
|
1197
|
-
gcp:datastream
|
|
1198
|
-
gcp:debugger
|
|
1199
|
-
gcp:developer-portal
|
|
1200
|
-
gcp:dialogflow
|
|
1201
|
-
gcp:dialogflow-cx
|
|
1202
|
-
gcp:dialogflow-insights
|
|
1203
|
-
gcp:document-ai
|
|
1204
|
-
gcp:early-access-center
|
|
1205
|
-
gcp:error-reporting
|
|
1206
|
-
gcp:eventarc
|
|
1207
|
-
gcp:filestore
|
|
1208
|
-
gcp:financial-services-marketplace
|
|
1209
|
-
gcp:firestore
|
|
1210
|
-
gcp:fleet-engine
|
|
1211
|
-
gcp:free-trial
|
|
1212
|
-
gcp:game-servers
|
|
1213
|
-
gcp:gce-systems-management
|
|
1214
|
-
gcp:genomics
|
|
1215
|
-
gcp:gke-on-prem
|
|
1216
|
-
gcp:google-cloud-marketplace
|
|
1217
|
-
gcp:google-kubernetes-engine
|
|
1218
|
-
gcp:google-maps-platform
|
|
1219
|
-
gcp:healthcare-nlp-api
|
|
1220
|
-
gcp:home
|
|
1221
|
-
gcp:identity-and-access-management
|
|
1222
|
-
gcp:identity-aware-proxy
|
|
1223
|
-
gcp:identity-platform
|
|
1224
|
-
gcp:iot-core
|
|
1225
|
-
gcp:iot-edge
|
|
1226
|
-
gcp:key-access-justifications
|
|
1227
|
-
gcp:key-management-service
|
|
1228
|
-
gcp:kuberun
|
|
1229
|
-
gcp:launcher
|
|
1230
|
-
gcp:local-ssd
|
|
1231
|
-
gcp:looker
|
|
1232
|
-
gcp:managed-service-for-microsoft-active-directory
|
|
1233
|
-
gcp:media-translation-api
|
|
1234
|
-
gcp:memorystore
|
|
1235
|
-
gcp:migrate-for-anthos
|
|
1236
|
-
gcp:migrate-for-compute-engine
|
|
1237
|
-
gcp:my-cloud
|
|
1238
|
-
gcp:network-connectivity-center
|
|
1239
|
-
gcp:network-intelligence-center
|
|
1240
|
-
gcp:network-security
|
|
1241
|
-
gcp:network-tiers
|
|
1242
|
-
gcp:network-topology
|
|
1243
|
-
gcp:onboarding
|
|
1244
|
-
gcp:os-configuration-management
|
|
1245
|
-
gcp:os-inventory-management
|
|
1246
|
-
gcp:os-patch-management
|
|
1247
|
-
gcp:partner-interconnect
|
|
1248
|
-
gcp:partner-portal
|
|
1249
|
-
gcp:performance-dashboard
|
|
1250
|
-
gcp:permissions
|
|
1251
|
-
gcp:persistent-disk
|
|
1252
|
-
gcp:phishing-protection
|
|
1253
|
-
gcp:policy-analyzer
|
|
1254
|
-
gcp:premium-network-tier
|
|
1255
|
-
gcp:private-connectivity
|
|
1256
|
-
gcp:private-service-connect
|
|
1257
|
-
gcp:producer-portal
|
|
1258
|
-
gcp:profiler
|
|
1259
|
-
gcp:project
|
|
1260
|
-
gcp:pub-sub
|
|
1261
|
-
gcp:quantum-engine
|
|
1262
|
-
gcp:quotas
|
|
1263
|
-
gcp:real-world-insights
|
|
1264
|
-
gcp:recommendations-ai
|
|
1265
|
-
gcp:release-notes
|
|
1266
|
-
gcp:retail-api
|
|
1267
|
-
gcp:risk-manager
|
|
1268
|
-
gcp:runtime-config
|
|
1269
|
-
gcp:secret-manager
|
|
1270
|
-
gcp:security
|
|
1271
|
-
gcp:security-command-center
|
|
1272
|
-
gcp:security-health-advisor
|
|
1273
|
-
gcp:security-key-enforcement
|
|
1274
|
-
gcp:service-discovery
|
|
1275
|
-
gcp:speech-to-text
|
|
1276
|
-
gcp:stackdriver
|
|
1277
|
-
gcp:standard-network-tier
|
|
1278
|
-
gcp:stream-suite
|
|
1279
|
-
gcp:support
|
|
1280
|
-
gcp:tensorflow-enterprise
|
|
1281
|
-
gcp:text-to-speech
|
|
1282
|
-
gcp:tools-for-powershell
|
|
1283
|
-
gcp:trace
|
|
1284
|
-
gcp:traffic-director
|
|
1285
|
-
gcp:transfer
|
|
1286
|
-
gcp:transfer-appliance
|
|
1287
|
-
gcp:user-preferences
|
|
1288
|
-
gcp:vertex-ai
|
|
1289
|
-
gcp:video-intelligence-api
|
|
1290
|
-
gcp:virtual-private-cloud
|
|
1291
|
-
gcp:visual-inspection
|
|
1292
|
-
gcp:vmware-engine
|
|
1293
|
-
gcp:web-risk
|
|
1294
|
-
gcp:web-security-scanner
|
|
1295
|
-
gcp:workflows
|
|
1296
|
-
gcp:workload-identity-pool
|
|
1297
|
-
tech:aarch64
|
|
1298
|
-
tech:adobe-illustrator
|
|
1299
|
-
tech:adobe-photoshop
|
|
1300
|
-
tech:adobe-premiere-pro
|
|
1301
|
-
tech:adobe-xd
|
|
1302
|
-
tech:adonis-js
|
|
1303
|
-
tech:after-effects
|
|
1304
|
-
tech:airflow
|
|
1305
|
-
tech:akka
|
|
1306
|
-
tech:algolia
|
|
1307
|
-
tech:alpine-js
|
|
1308
|
-
tech:amazon-web-services
|
|
1309
|
-
tech:anaconda
|
|
1310
|
-
tech:android
|
|
1311
|
-
tech:android-studio
|
|
1312
|
-
tech:angular
|
|
1313
|
-
tech:angular-js
|
|
1314
|
-
tech:ansible
|
|
1315
|
-
tech:ant-design
|
|
1316
|
-
tech:apache
|
|
1317
|
-
tech:apl
|
|
1318
|
-
tech:appcelerator
|
|
1319
|
-
tech:apple
|
|
1320
|
-
tech:apple-safari
|
|
1321
|
-
tech:appwrite
|
|
1322
|
-
tech:arch-linux
|
|
1323
|
-
tech:arduino
|
|
1324
|
-
tech:argo-cd
|
|
1325
|
-
tech:astro
|
|
1326
|
-
tech:atom
|
|
1327
|
-
tech:autodesk-maya
|
|
1328
|
-
tech:autodesk-shot-grid
|
|
1329
|
-
tech:awk
|
|
1330
|
-
tech:azios
|
|
1331
|
-
tech:azure
|
|
1332
|
-
tech:azure-devops
|
|
1333
|
-
tech:azure-sql-database
|
|
1334
|
-
tech:babel
|
|
1335
|
-
tech:backbone-js
|
|
1336
|
-
tech:ballerina
|
|
1337
|
-
tech:bamboo
|
|
1338
|
-
tech:bash
|
|
1339
|
-
tech:behance
|
|
1340
|
-
tech:bitbucket
|
|
1341
|
-
tech:blender
|
|
1342
|
-
tech:bootstrap
|
|
1343
|
-
tech:bower
|
|
1344
|
-
tech:browserstack
|
|
1345
|
-
tech:bulma
|
|
1346
|
-
tech:bun
|
|
1347
|
-
tech:c
|
|
1348
|
-
tech:cairo-graphics
|
|
1349
|
-
tech:cake-php
|
|
1350
|
-
tech:canva
|
|
1351
|
-
tech:capacitor
|
|
1352
|
-
tech:cassandra
|
|
1353
|
-
tech:cent-os
|
|
1354
|
-
tech:chrome
|
|
1355
|
-
tech:circle-ci
|
|
1356
|
-
tech:clarity
|
|
1357
|
-
tech:clion
|
|
1358
|
-
tech:clojure
|
|
1359
|
-
tech:clojure-script
|
|
1360
|
-
tech:cloudflare
|
|
1361
|
-
tech:cloudflare-workers
|
|
1362
|
-
tech:cmake
|
|
1363
|
-
tech:code-igniter
|
|
1364
|
-
tech:code-pen
|
|
1365
|
-
tech:codeac
|
|
1366
|
-
tech:codecov
|
|
1367
|
-
tech:coffee-script
|
|
1368
|
-
tech:composer
|
|
1369
|
-
tech:confluence
|
|
1370
|
-
tech:consul
|
|
1371
|
-
tech:contao
|
|
1372
|
-
tech:corejs
|
|
1373
|
-
tech:cosmosdb
|
|
1374
|
-
tech:couchdb
|
|
1375
|
-
tech:cplusplus
|
|
1376
|
-
tech:crystal
|
|
1377
|
-
tech:csharp
|
|
1378
|
-
tech:css3
|
|
1379
|
-
tech:cucumber
|
|
1380
|
-
tech:cypress
|
|
1381
|
-
tech:d3js
|
|
1382
|
-
tech:dart
|
|
1383
|
-
tech:data-grip
|
|
1384
|
-
tech:data-spell
|
|
1385
|
-
tech:dbeaver
|
|
1386
|
-
tech:debian
|
|
1387
|
-
tech:deno
|
|
1388
|
-
tech:devicon
|
|
1389
|
-
tech:digital-ocean
|
|
1390
|
-
tech:discord-js
|
|
1391
|
-
tech:django
|
|
1392
|
-
tech:django-rest
|
|
1393
|
-
tech:docker
|
|
1394
|
-
tech:doctrine
|
|
1395
|
-
tech:dropwizard
|
|
1396
|
-
tech:drupal
|
|
1397
|
-
tech:eclipse-ceylon
|
|
1398
|
-
tech:eclipse-ide
|
|
1399
|
-
tech:eclipse-vert-x
|
|
1400
|
-
tech:elasticbeats
|
|
1401
|
-
tech:elasticsearch
|
|
1402
|
-
tech:electron
|
|
1403
|
-
tech:eleventy-11ty
|
|
1404
|
-
tech:elixir
|
|
1405
|
-
tech:elm
|
|
1406
|
-
tech:embedded-c
|
|
1407
|
-
tech:ember-js
|
|
1408
|
-
tech:envoy
|
|
1409
|
-
tech:erlang
|
|
1410
|
-
tech:eslint
|
|
1411
|
-
tech:express
|
|
1412
|
-
tech:facebook
|
|
1413
|
-
tech:fast-api
|
|
1414
|
-
tech:fastify
|
|
1415
|
-
tech:fauna
|
|
1416
|
-
tech:feathers
|
|
1417
|
-
tech:fedora
|
|
1418
|
-
tech:figma
|
|
1419
|
-
tech:file-zilla
|
|
1420
|
-
tech:firebase
|
|
1421
|
-
tech:firefox
|
|
1422
|
-
tech:flask
|
|
1423
|
-
tech:flutter
|
|
1424
|
-
tech:fortran
|
|
1425
|
-
tech:foundation
|
|
1426
|
-
tech:fsharp
|
|
1427
|
-
tech:gatling
|
|
1428
|
-
tech:gatsby
|
|
1429
|
-
tech:gazebo
|
|
1430
|
-
tech:gcc
|
|
1431
|
-
tech:gentoo
|
|
1432
|
-
tech:ghost
|
|
1433
|
-
tech:gimp
|
|
1434
|
-
tech:git
|
|
1435
|
-
tech:gitbook
|
|
1436
|
-
tech:github
|
|
1437
|
-
tech:github-actions
|
|
1438
|
-
tech:github-codespaces
|
|
1439
|
-
tech:gitlab
|
|
1440
|
-
tech:gitpod
|
|
1441
|
-
tech:gitter
|
|
1442
|
-
tech:gnu-emacs
|
|
1443
|
-
tech:go
|
|
1444
|
-
tech:go-land
|
|
1445
|
-
tech:godot-engine
|
|
1446
|
-
tech:google
|
|
1447
|
-
tech:google-cloud
|
|
1448
|
-
tech:gradle
|
|
1449
|
-
tech:grafana
|
|
1450
|
-
tech:grails
|
|
1451
|
-
tech:graphql
|
|
1452
|
-
tech:groovy
|
|
1453
|
-
tech:grunt-js
|
|
1454
|
-
tech:gulp-js
|
|
1455
|
-
tech:hadoop
|
|
1456
|
-
tech:handlebars
|
|
1457
|
-
tech:hardhat
|
|
1458
|
-
tech:harvester
|
|
1459
|
-
tech:hashicorp-vault
|
|
1460
|
-
tech:haskell
|
|
1461
|
-
tech:haxe
|
|
1462
|
-
tech:helm
|
|
1463
|
-
tech:heroku
|
|
1464
|
-
tech:hibernate
|
|
1465
|
-
tech:homebrew
|
|
1466
|
-
tech:html5
|
|
1467
|
-
tech:hugo
|
|
1468
|
-
tech:ibm-spss-statistics
|
|
1469
|
-
tech:ie10
|
|
1470
|
-
tech:ifttt
|
|
1471
|
-
tech:influxdb
|
|
1472
|
-
tech:inkscape
|
|
1473
|
-
tech:insomnia
|
|
1474
|
-
tech:intellij-idea
|
|
1475
|
-
tech:ionic
|
|
1476
|
-
tech:jaeger
|
|
1477
|
-
tech:jamstack
|
|
1478
|
-
tech:jasmine
|
|
1479
|
-
tech:java
|
|
1480
|
-
tech:javascript
|
|
1481
|
-
tech:jeet
|
|
1482
|
-
tech:jekyll
|
|
1483
|
-
tech:jenkins
|
|
1484
|
-
tech:jest
|
|
1485
|
-
tech:jetbrains
|
|
1486
|
-
tech:jira
|
|
1487
|
-
tech:jira-align
|
|
1488
|
-
tech:jquery
|
|
1489
|
-
tech:json
|
|
1490
|
-
tech:jule
|
|
1491
|
-
tech:julia
|
|
1492
|
-
tech:junit
|
|
1493
|
-
tech:jupyter
|
|
1494
|
-
tech:k3os
|
|
1495
|
-
tech:k3s
|
|
1496
|
-
tech:kafka
|
|
1497
|
-
tech:kaggle
|
|
1498
|
-
tech:karate
|
|
1499
|
-
tech:karma
|
|
1500
|
-
tech:keras
|
|
1501
|
-
tech:kibana
|
|
1502
|
-
tech:knex-js
|
|
1503
|
-
tech:knockout
|
|
1504
|
-
tech:kotlin
|
|
1505
|
-
tech:krakenjs
|
|
1506
|
-
tech:ktor
|
|
1507
|
-
tech:kubernetes
|
|
1508
|
-
tech:labview
|
|
1509
|
-
tech:laravel
|
|
1510
|
-
tech:latex
|
|
1511
|
-
tech:less-js
|
|
1512
|
-
tech:linkedin
|
|
1513
|
-
tech:linux
|
|
1514
|
-
tech:liquibase
|
|
1515
|
-
tech:livewire
|
|
1516
|
-
tech:llvm
|
|
1517
|
-
tech:logstash
|
|
1518
|
-
tech:lua
|
|
1519
|
-
tech:lumen
|
|
1520
|
-
tech:magento
|
|
1521
|
-
tech:markdown
|
|
1522
|
-
tech:material-ui
|
|
1523
|
-
tech:materialize
|
|
1524
|
-
tech:matlab
|
|
1525
|
-
tech:matplotlib
|
|
1526
|
-
tech:maven
|
|
1527
|
-
tech:meteor-js
|
|
1528
|
-
tech:microsoft-sql-server
|
|
1529
|
-
tech:minitab
|
|
1530
|
-
tech:mob-x
|
|
1531
|
-
tech:mocha
|
|
1532
|
-
tech:modx
|
|
1533
|
-
tech:moleculer
|
|
1534
|
-
tech:mongodb
|
|
1535
|
-
tech:mongoose-js
|
|
1536
|
-
tech:moodle
|
|
1537
|
-
tech:ms-dos
|
|
1538
|
-
tech:mysql
|
|
1539
|
-
tech:nano
|
|
1540
|
-
tech:nerog
|
|
1541
|
-
tech:nestjs
|
|
1542
|
-
tech:net
|
|
1543
|
-
tech:net-core
|
|
1544
|
-
tech:network-x
|
|
1545
|
-
tech:new4j
|
|
1546
|
-
tech:nextjs
|
|
1547
|
-
tech:nginx
|
|
1548
|
-
tech:nhibernate
|
|
1549
|
-
tech:nim
|
|
1550
|
-
tech:nimble
|
|
1551
|
-
tech:nix
|
|
1552
|
-
tech:nodejs
|
|
1553
|
-
tech:nodemon
|
|
1554
|
-
tech:nodewebkit
|
|
1555
|
-
tech:npm
|
|
1556
|
-
tech:nuget
|
|
1557
|
-
tech:num-py
|
|
1558
|
-
tech:nuxt-js
|
|
1559
|
-
tech:objective-c
|
|
1560
|
-
tech:ocaml
|
|
1561
|
-
tech:oh-my-zsh
|
|
1562
|
-
tech:okta
|
|
1563
|
-
tech:open-al
|
|
1564
|
-
tech:open-api
|
|
1565
|
-
tech:open-cl
|
|
1566
|
-
tech:open-cv
|
|
1567
|
-
tech:open-gl
|
|
1568
|
-
tech:open-stack
|
|
1569
|
-
tech:open-suse
|
|
1570
|
-
tech:open-telemetry
|
|
1571
|
-
tech:opera
|
|
1572
|
-
tech:oracle
|
|
1573
|
-
tech:p5js
|
|
1574
|
-
tech:packer
|
|
1575
|
-
tech:pandas
|
|
1576
|
-
tech:perl
|
|
1577
|
-
tech:pf-sense
|
|
1578
|
-
tech:phalcon
|
|
1579
|
-
tech:phoenix-framework
|
|
1580
|
-
tech:photon-engine
|
|
1581
|
-
tech:php
|
|
1582
|
-
tech:php-storm
|
|
1583
|
-
tech:playwrite
|
|
1584
|
-
tech:ploty
|
|
1585
|
-
tech:podman
|
|
1586
|
-
tech:polygon
|
|
1587
|
-
tech:portainer
|
|
1588
|
-
tech:postcss
|
|
1589
|
-
tech:postgresql
|
|
1590
|
-
tech:postman
|
|
1591
|
-
tech:powershell
|
|
1592
|
-
tech:processing
|
|
1593
|
-
tech:prometheus
|
|
1594
|
-
tech:protractor
|
|
1595
|
-
tech:purescript
|
|
1596
|
-
tech:putty
|
|
1597
|
-
tech:pycharm
|
|
1598
|
-
tech:pyscript
|
|
1599
|
-
tech:pytest
|
|
1600
|
-
tech:python
|
|
1601
|
-
tech:python-poetry
|
|
1602
|
-
tech:pytorch
|
|
1603
|
-
tech:qodana
|
|
1604
|
-
tech:qt
|
|
1605
|
-
tech:quarkus
|
|
1606
|
-
tech:quasar
|
|
1607
|
-
tech:qwik
|
|
1608
|
-
tech:r
|
|
1609
|
-
tech:rabbitmq
|
|
1610
|
-
tech:rancher
|
|
1611
|
-
tech:raspberrypi
|
|
1612
|
-
tech:reach
|
|
1613
|
-
tech:react
|
|
1614
|
-
tech:react-bootstrap
|
|
1615
|
-
tech:realm
|
|
1616
|
-
tech:red-cube-s-epic-compiler-thingy-programming-re-ct
|
|
1617
|
-
tech:redhat
|
|
1618
|
-
tech:redis
|
|
1619
|
-
tech:redux
|
|
1620
|
-
tech:ren-py
|
|
1621
|
-
tech:rider
|
|
1622
|
-
tech:robot-operating-system-ros
|
|
1623
|
-
tech:rocksdb
|
|
1624
|
-
tech:rollup-js
|
|
1625
|
-
tech:rspec
|
|
1626
|
-
tech:rstudio
|
|
1627
|
-
tech:ruby
|
|
1628
|
-
tech:ruby-mine
|
|
1629
|
-
tech:ruby-on-rails
|
|
1630
|
-
tech:rust
|
|
1631
|
-
tech:salesforce
|
|
1632
|
-
tech:sanity
|
|
1633
|
-
tech:sass
|
|
1634
|
-
tech:scala
|
|
1635
|
-
tech:scalingo
|
|
1636
|
-
tech:sdl
|
|
1637
|
-
tech:selenium
|
|
1638
|
-
tech:sema-software
|
|
1639
|
-
tech:sequelize
|
|
1640
|
-
tech:shopware
|
|
1641
|
-
tech:sketch
|
|
1642
|
-
tech:slack
|
|
1643
|
-
tech:socket-io
|
|
1644
|
-
tech:solid-js
|
|
1645
|
-
tech:solidity
|
|
1646
|
-
tech:sonarqube
|
|
1647
|
-
tech:sourcetree
|
|
1648
|
-
tech:spark
|
|
1649
|
-
tech:splunk
|
|
1650
|
-
tech:spring
|
|
1651
|
-
tech:sql-developer
|
|
1652
|
-
tech:sqlalchemy
|
|
1653
|
-
tech:sqlite
|
|
1654
|
-
tech:ssh
|
|
1655
|
-
tech:stackoverflow
|
|
1656
|
-
tech:stata
|
|
1657
|
-
tech:storybook
|
|
1658
|
-
tech:streamlit
|
|
1659
|
-
tech:stylus
|
|
1660
|
-
tech:subversion
|
|
1661
|
-
tech:svelte
|
|
1662
|
-
tech:swagger
|
|
1663
|
-
tech:swift
|
|
1664
|
-
tech:symfony
|
|
1665
|
-
tech:tailwind-css
|
|
1666
|
-
tech:tauri
|
|
1667
|
-
tech:tensorflow
|
|
1668
|
-
tech:terraform
|
|
1669
|
-
tech:tex
|
|
1670
|
-
tech:the-algorithms
|
|
1671
|
-
tech:three-js
|
|
1672
|
-
tech:titanium-sdk
|
|
1673
|
-
tech:tomcat
|
|
1674
|
-
tech:tortoise-git
|
|
1675
|
-
tech:tower
|
|
1676
|
-
tech:traefik-mesh
|
|
1677
|
-
tech:traefik-proxy
|
|
1678
|
-
tech:travis-ci
|
|
1679
|
-
tech:trello
|
|
1680
|
-
tech:twitter
|
|
1681
|
-
tech:typescript
|
|
1682
|
-
tech:typo3
|
|
1683
|
-
tech:ubuntu
|
|
1684
|
-
tech:uml
|
|
1685
|
-
tech:unity
|
|
1686
|
-
tech:unix
|
|
1687
|
-
tech:unreal-engine
|
|
1688
|
-
tech:uwsgi
|
|
1689
|
-
tech:v8
|
|
1690
|
-
tech:vagrant
|
|
1691
|
-
tech:vala
|
|
1692
|
-
tech:vercel
|
|
1693
|
-
tech:veutify
|
|
1694
|
-
tech:vim
|
|
1695
|
-
tech:visualstudio
|
|
1696
|
-
tech:vite
|
|
1697
|
-
tech:vitejs
|
|
1698
|
-
tech:vscode
|
|
1699
|
-
tech:vsphere
|
|
1700
|
-
tech:vue
|
|
1701
|
-
tech:vue-storefront
|
|
1702
|
-
tech:vyper
|
|
1703
|
-
tech:webassembly
|
|
1704
|
-
tech:webflow
|
|
1705
|
-
tech:weblate
|
|
1706
|
-
tech:webpack
|
|
1707
|
-
tech:webstorm
|
|
1708
|
-
tech:windows8
|
|
1709
|
-
tech:windows11
|
|
1710
|
-
tech:woo-commerce
|
|
1711
|
-
tech:wordpress
|
|
1712
|
-
tech:xamarin
|
|
1713
|
-
tech:xcode
|
|
1714
|
-
tech:xml
|
|
1715
|
-
tech:yaml
|
|
1716
|
-
tech:yarn
|
|
1717
|
-
tech:yii-framework
|
|
1718
|
-
tech:yuno-host
|
|
1719
|
-
tech:zend-framework
|
|
1720
|
-
tech:zig
|
|
1721
|
-
}}`,YC="likec4builtin",rH=`${YC}:///likec4/lib/icons.c4`;var no=Ks();const iH=new no.NotificationType("likec4/onDidChangeModel"),sH=new no.RequestType0("likec4/fetchModel"),oH=new no.RequestType("likec4/fetchComputedModel"),aH=new no.RequestType("likec4/computeView"),cH=new no.RequestType("likec4/build"),uH=new no.RequestType("likec4/locate"),lH=new no.RequestType("likec4/change-view");var Nv,XC;function dH(){return XC||(XC=1,Nv=t=>{const e=t.match(/^[ \t]*(?=\S)/gm);return e?e.reduce((n,r)=>Math.min(n,r.length),1/0):0}),Nv}var fH=dH();function Ov(t){const e=fH(t);if(e===0)return t;const n=new RegExp(`^[ \\t]{${e}}`,"gm");return t.replace(n,"")}var Lv,JC;function hH(){if(JC)return Lv;JC=1;function t(e){for(var n=5381,r=e.length;r;)n=n*33^e.charCodeAt(--r);return n>>>0}return Lv=t,Lv}var pH=hH(),mH=Object.getOwnPropertyNames,gH=Object.getOwnPropertySymbols,yH=Object.prototype.hasOwnProperty;function ZC(t,e){return function(r,i,s){return t(r,i,s)&&e(r,i,s)}}function Dh(t){return function(n,r,i){if(!n||!r||typeof n!="object"||typeof r!="object")return t(n,r,i);var s=i.cache,o=s.get(n),a=s.get(r);if(o&&a)return o===r&&a===n;s.set(n,r),s.set(r,n);var c=t(n,r,i);return s.delete(n),s.delete(r),c}}function QC(t){return mH(t).concat(gH(t))}var e_=Object.hasOwn||function(t,e){return yH.call(t,e)};function ua(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var t_="_owner",n_=Object.getOwnPropertyDescriptor,r_=Object.keys;function vH(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function wH(t,e){return ua(t.getTime(),e.getTime())}function i_(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.entries(),s=0,o,a;(o=i.next())&&!o.done;){for(var c=e.entries(),u=!1,l=0;(a=c.next())&&!a.done;){var d=o.value,f=d[0],h=d[1],p=a.value,m=p[0],g=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,g,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function bH(t,e,n){var r=r_(t),i=r.length;if(r_(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===t_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!e_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function Lu(t,e,n){var r=QC(t),i=r.length;if(QC(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===t_&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!e_(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=n_(t,s),a=n_(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function EH(t,e){return ua(t.valueOf(),e.valueOf())}function DH(t,e){return t.source===e.source&&t.flags===e.flags}function s_(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.values(),s,o;(s=i.next())&&!s.done;){for(var a=e.values(),c=!1,u=0;(o=a.next())&&!o.done;)!c&&!r[u]&&(c=n.equals(s.value,o.value,s.value,o.value,t,e,n))&&(r[u]=!0),u++;if(!c)return!1}return!0}function TH(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var RH="[object Arguments]",SH="[object Boolean]",kH="[object Date]",$H="[object Map]",CH="[object Number]",_H="[object Object]",AH="[object RegExp]",xH="[object Set]",IH="[object String]",PH=Array.isArray,o_=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,a_=Object.assign,NH=Object.prototype.toString.call.bind(Object.prototype.toString);function OH(t){var e=t.areArraysEqual,n=t.areDatesEqual,r=t.areMapsEqual,i=t.areObjectsEqual,s=t.arePrimitiveWrappersEqual,o=t.areRegExpsEqual,a=t.areSetsEqual,c=t.areTypedArraysEqual;return function(l,d,f){if(l===d)return!0;if(l==null||d==null||typeof l!="object"||typeof d!="object")return l!==l&&d!==d;var h=l.constructor;if(h!==d.constructor)return!1;if(h===Object)return i(l,d,f);if(PH(l))return e(l,d,f);if(o_!=null&&o_(l))return c(l,d,f);if(h===Date)return n(l,d,f);if(h===RegExp)return o(l,d,f);if(h===Map)return r(l,d,f);if(h===Set)return a(l,d,f);var p=NH(l);return p===kH?n(l,d,f):p===AH?o(l,d,f):p===$H?r(l,d,f):p===xH?a(l,d,f):p===_H?typeof l.then!="function"&&typeof d.then!="function"&&i(l,d,f):p===RH?i(l,d,f):p===SH||p===CH||p===IH?s(l,d,f):!1}}function LH(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?Lu:vH,areDatesEqual:wH,areMapsEqual:r?ZC(i_,Lu):i_,areObjectsEqual:r?Lu:bH,arePrimitiveWrappersEqual:EH,areRegExpsEqual:DH,areSetsEqual:r?ZC(s_,Lu):s_,areTypedArraysEqual:r?Lu:TH};if(n&&(i=a_({},i,n(i))),e){var s=Dh(i.areArraysEqual),o=Dh(i.areMapsEqual),a=Dh(i.areObjectsEqual),c=Dh(i.areSetsEqual);i=a_({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function FH(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function MH(t){var e=t.circular,n=t.comparator,r=t.createState,i=t.equals,s=t.strict;if(r)return function(c,u){var l=r(),d=l.cache,f=d===void 0?e?new WeakMap:void 0:d,h=l.meta;return n(c,u,{cache:f,equals:i,meta:h,strict:s})};if(e)return function(c,u){return n(c,u,{cache:new WeakMap,equals:i,meta:void 0,strict:s})};var o={cache:void 0,equals:i,meta:void 0,strict:s};return function(c,u){return n(c,u,o)}}var c_=Zi();Zi({strict:!0}),Zi({circular:!0}),Zi({circular:!0,strict:!0}),Zi({createInternalComparator:function(){return ua}}),Zi({strict:!0,createInternalComparator:function(){return ua}}),Zi({circular:!0,createInternalComparator:function(){return ua}}),Zi({circular:!0,createInternalComparator:function(){return ua},strict:!0});function Zi(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,r=t.createInternalComparator,i=t.createState,s=t.strict,o=s===void 0?!1:s,a=LH(t),c=OH(a),u=r?r(c):FH(c);return MH({circular:n,comparator:c,createState:i,equals:u,strict:o})}var Fv,u_;function Mv(){if(u_)return Fv;u_=1;var t="\0",e="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(l){l&&(this._isDirected=Object.hasOwn(l,"directed")?l.directed:!0,this._isMultigraph=Object.hasOwn(l,"multigraph")?l.multigraph:!1,this._isCompound=Object.hasOwn(l,"compound")?l.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[e]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(l){return this._label=l,this}graph(){return this._label}setDefaultNodeLabel(l){return this._defaultNodeLabelFn=l,typeof l!="function"&&(this._defaultNodeLabelFn=()=>l),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var l=this;return this.nodes().filter(d=>Object.keys(l._in[d]).length===0)}sinks(){var l=this;return this.nodes().filter(d=>Object.keys(l._out[d]).length===0)}setNodes(l,d){var f=arguments,h=this;return l.forEach(function(p){f.length>1?h.setNode(p,d):h.setNode(p)}),this}setNode(l,d){return Object.hasOwn(this._nodes,l)?(arguments.length>1&&(this._nodes[l]=d),this):(this._nodes[l]=arguments.length>1?d:this._defaultNodeLabelFn(l),this._isCompound&&(this._parent[l]=e,this._children[l]={},this._children[e][l]=!0),this._in[l]={},this._preds[l]={},this._out[l]={},this._sucs[l]={},++this._nodeCount,this)}node(l){return this._nodes[l]}hasNode(l){return Object.hasOwn(this._nodes,l)}removeNode(l){var d=this;if(Object.hasOwn(this._nodes,l)){var f=h=>d.removeEdge(d._edgeObjs[h]);delete this._nodes[l],this._isCompound&&(this._removeFromParentsChildList(l),delete this._parent[l],this.children(l).forEach(function(h){d.setParent(h)}),delete this._children[l]),Object.keys(this._in[l]).forEach(f),delete this._in[l],delete this._preds[l],Object.keys(this._out[l]).forEach(f),delete this._out[l],delete this._sucs[l],--this._nodeCount}return this}setParent(l,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d===void 0)d=e;else{d+="";for(var f=d;f!==void 0;f=this.parent(f))if(f===l)throw new Error("Setting "+d+" as parent of "+l+" would create a cycle");this.setNode(d)}return this.setNode(l),this._removeFromParentsChildList(l),this._parent[l]=d,this._children[d][l]=!0,this}_removeFromParentsChildList(l){delete this._children[this._parent[l]][l]}parent(l){if(this._isCompound){var d=this._parent[l];if(d!==e)return d}}children(l=e){if(this._isCompound){var d=this._children[l];if(d)return Object.keys(d)}else{if(l===e)return this.nodes();if(this.hasNode(l))return[]}}predecessors(l){var d=this._preds[l];if(d)return Object.keys(d)}successors(l){var d=this._sucs[l];if(d)return Object.keys(d)}neighbors(l){var d=this.predecessors(l);if(d){const h=new Set(d);for(var f of this.successors(l))h.add(f);return Array.from(h.values())}}isLeaf(l){var d;return this.isDirected()?d=this.successors(l):d=this.neighbors(l),d.length===0}filterNodes(l){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([m,g]){l(m)&&d.setNode(m,g)}),Object.values(this._edgeObjs).forEach(function(m){d.hasNode(m.v)&&d.hasNode(m.w)&&d.setEdge(m,f.edge(m))});var h={};function p(m){var g=f.parent(m);return g===void 0||d.hasNode(g)?(h[m]=g,g):g in h?h[g]:p(g)}return this._isCompound&&d.nodes().forEach(m=>d.setParent(m,p(m))),d}setDefaultEdgeLabel(l){return this._defaultEdgeLabelFn=l,typeof l!="function"&&(this._defaultEdgeLabelFn=()=>l),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(l,d){var f=this,h=arguments;return l.reduce(function(p,m){return h.length>1?f.setEdge(p,m,d):f.setEdge(p,m),m}),this}setEdge(){var l,d,f,h,p=!1,m=arguments[0];typeof m=="object"&&m!==null&&"v"in m?(l=m.v,d=m.w,f=m.name,arguments.length===2&&(h=arguments[1],p=!0)):(l=m,d=arguments[1],f=arguments[3],arguments.length>2&&(h=arguments[2],p=!0)),l=""+l,d=""+d,f!==void 0&&(f=""+f);var g=o(this._isDirected,l,d,f);if(Object.hasOwn(this._edgeLabels,g))return p&&(this._edgeLabels[g]=h),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(l),this.setNode(d),this._edgeLabels[g]=p?h:this._defaultEdgeLabelFn(l,d,f);var y=a(this._isDirected,l,d,f);return l=y.v,d=y.w,Object.freeze(y),this._edgeObjs[g]=y,i(this._preds[d],l),i(this._sucs[l],d),this._in[d][g]=y,this._out[l][g]=y,this._edgeCount++,this}edge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f);return this._edgeLabels[h]}edgeAsObj(){const l=this.edge(...arguments);return typeof l!="object"?{label:l}:l}hasEdge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f);return Object.hasOwn(this._edgeLabels,h)}removeEdge(l,d,f){var h=arguments.length===1?c(this._isDirected,arguments[0]):o(this._isDirected,l,d,f),p=this._edgeObjs[h];return p&&(l=p.v,d=p.w,delete this._edgeLabels[h],delete this._edgeObjs[h],s(this._preds[d],l),s(this._sucs[l],d),delete this._in[d][h],delete this._out[l][h],this._edgeCount--),this}inEdges(l,d){var f=this._in[l];if(f){var h=Object.values(f);return d?h.filter(p=>p.v===d):h}}outEdges(l,d){var f=this._out[l];if(f){var h=Object.values(f);return d?h.filter(p=>p.w===d):h}}nodeEdges(l,d){var f=this.inEdges(l,d);if(f)return f.concat(this.outEdges(l,d))}}function i(u,l){u[l]?u[l]++:u[l]=1}function s(u,l){--u[l]||delete u[l]}function o(u,l,d,f){var h=""+l,p=""+d;if(!u&&h>p){var m=h;h=p,p=m}return h+n+p+n+(f===void 0?t:f)}function a(u,l,d,f){var h=""+l,p=""+d;if(!u&&h>p){var m=h;h=p,p=m}var g={v:h,w:p};return f&&(g.name=f),g}function c(u,l){return o(u,l.v,l.w,l.name)}return Fv=r,Fv}var zv,l_;function zH(){return l_||(l_=1,zv="2.2.4"),zv}var Bv,d_;function BH(){return d_||(d_=1,Bv={Graph:Mv(),version:zH()}),Bv}var qv,f_;function qH(){if(f_)return qv;f_=1;var t=Mv();qv={write:e,read:i};function e(s){var o={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:n(s),edges:r(s)};return s.graph()!==void 0&&(o.value=structuredClone(s.graph())),o}function n(s){return s.nodes().map(function(o){var a=s.node(o),c=s.parent(o),u={v:o};return a!==void 0&&(u.value=a),c!==void 0&&(u.parent=c),u})}function r(s){return s.edges().map(function(o){var a=s.edge(o),c={v:o.v,w:o.w};return o.name!==void 0&&(c.name=o.name),a!==void 0&&(c.value=a),c})}function i(s){var o=new t(s.options).setGraph(s.value);return s.nodes.forEach(function(a){o.setNode(a.v,a.value),a.parent&&o.setParent(a.v,a.parent)}),s.edges.forEach(function(a){o.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),o}return qv}var jv,h_;function jH(){if(h_)return jv;h_=1,jv=t;function t(e){var n={},r=[],i;function s(o){Object.hasOwn(n,o)||(n[o]=!0,i.push(o),e.successors(o).forEach(s),e.predecessors(o).forEach(s))}return e.nodes().forEach(function(o){i=[],s(o),i.length&&r.push(i)}),r}return jv}var Uv,p_;function m_(){if(p_)return Uv;p_=1;class t{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var s=this._arr,o=s.length;return i[n]=o,s.push({key:n,priority:r}),this._decrease(o),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)}_heapify(n){var r=this._arr,i=2*n,s=i+1,o=n;i<r.length&&(o=r[i].priority<r[o].priority?i:o,s<r.length&&(o=r[s].priority<r[o].priority?s:o),o!==n&&(this._swap(n,o),this._heapify(o)))}_decrease(n){for(var r=this._arr,i=r[n].priority,s;n!==0&&(s=n>>1,!(r[s].priority<i));)this._swap(n,s),n=s}_swap(n,r){var i=this._arr,s=this._keyIndices,o=i[n],a=i[r];i[n]=a,i[r]=o,s[a.key]=n,s[o.key]=r}}return Uv=t,Uv}var Gv,g_;function y_(){if(g_)return Gv;g_=1;var t=m_();Gv=n;var e=()=>1;function n(i,s,o,a){return r(i,String(s),o||e,a||function(c){return i.outEdges(c)})}function r(i,s,o,a){var c={},u=new t,l,d,f=function(h){var p=h.v!==l?h.v:h.w,m=c[p],g=o(h),y=d.distance+g;if(g<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+g);y<m.distance&&(m.distance=y,m.predecessor=l,u.decrease(p,y))};for(i.nodes().forEach(function(h){var p=h===s?0:Number.POSITIVE_INFINITY;c[h]={distance:p},u.add(h,p)});u.size()>0&&(l=u.removeMin(),d=c[l],d.distance!==Number.POSITIVE_INFINITY);)a(l).forEach(f);return c}return Gv}var Wv,v_;function UH(){if(v_)return Wv;v_=1;var t=y_();Wv=e;function e(n,r,i){return n.nodes().reduce(function(s,o){return s[o]=t(n,o,r,i),s},{})}return Wv}var Hv,w_;function b_(){if(w_)return Hv;w_=1,Hv=t;function t(e){var n=0,r=[],i={},s=[];function o(a){var c=i[a]={onStack:!0,lowlink:n,index:n++};if(r.push(a),e.successors(a).forEach(function(d){Object.hasOwn(i,d)?i[d].onStack&&(c.lowlink=Math.min(c.lowlink,i[d].index)):(o(d),c.lowlink=Math.min(c.lowlink,i[d].lowlink))}),c.lowlink===c.index){var u=[],l;do l=r.pop(),i[l].onStack=!1,u.push(l);while(a!==l);s.push(u)}}return e.nodes().forEach(function(a){Object.hasOwn(i,a)||o(a)}),s}return Hv}var Vv,E_;function GH(){if(E_)return Vv;E_=1;var t=b_();Vv=e;function e(n){return t(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Vv}var Kv,D_;function WH(){if(D_)return Kv;D_=1,Kv=e;var t=()=>1;function e(r,i,s){return n(r,i||t,s||function(o){return r.outEdges(o)})}function n(r,i,s){var o={},a=r.nodes();return a.forEach(function(c){o[c]={},o[c][c]={distance:0},a.forEach(function(u){c!==u&&(o[c][u]={distance:Number.POSITIVE_INFINITY})}),s(c).forEach(function(u){var l=u.v===c?u.w:u.v,d=i(u);o[c][l]={distance:d,predecessor:c}})}),a.forEach(function(c){var u=o[c];a.forEach(function(l){var d=o[l];a.forEach(function(f){var h=d[c],p=u[f],m=d[f],g=h.distance+p.distance;g<m.distance&&(m.distance=g,m.predecessor=p.predecessor)})})}),o}return Kv}var Yv,T_;function R_(){if(T_)return Yv;T_=1;function t(n){var r={},i={},s=[];function o(a){if(Object.hasOwn(i,a))throw new e;Object.hasOwn(r,a)||(i[a]=!0,r[a]=!0,n.predecessors(a).forEach(o),delete i[a],s.push(a))}if(n.sinks().forEach(o),Object.keys(r).length!==n.nodeCount())throw new e;return s}class e extends Error{constructor(){super(...arguments)}}return Yv=t,t.CycleException=e,Yv}var Xv,S_;function HH(){if(S_)return Xv;S_=1;var t=R_();Xv=e;function e(n){try{t(n)}catch(r){if(r instanceof t.CycleException)return!1;throw r}return!0}return Xv}var Jv,k_;function $_(){if(k_)return Jv;k_=1,Jv=t;function t(i,s,o){Array.isArray(s)||(s=[s]);var a=i.isDirected()?d=>i.successors(d):d=>i.neighbors(d),c=o==="post"?e:n,u=[],l={};return s.forEach(d=>{if(!i.hasNode(d))throw new Error("Graph does not have node: "+d);c(d,a,l,u)}),u}function e(i,s,o,a){for(var c=[[i,!1]];c.length>0;){var u=c.pop();u[1]?a.push(u[0]):Object.hasOwn(o,u[0])||(o[u[0]]=!0,c.push([u[0],!0]),r(s(u[0]),l=>c.push([l,!1])))}}function n(i,s,o,a){for(var c=[i];c.length>0;){var u=c.pop();Object.hasOwn(o,u)||(o[u]=!0,a.push(u),r(s(u),l=>c.push(l)))}}function r(i,s){for(var o=i.length;o--;)s(i[o],o,i);return i}return Jv}var Zv,C_;function VH(){if(C_)return Zv;C_=1;var t=$_();Zv=e;function e(n,r){return t(n,r,"post")}return Zv}var Qv,__;function KH(){if(__)return Qv;__=1;var t=$_();Qv=e;function e(n,r){return t(n,r,"pre")}return Qv}var ew,A_;function YH(){if(A_)return ew;A_=1;var t=Mv(),e=m_();ew=n;function n(r,i){var s=new t,o={},a=new e,c;function u(d){var f=d.v===c?d.w:d.v,h=a.priority(f);if(h!==void 0){var p=i(d);p<h&&(o[f]=c,a.decrease(f,p))}}if(r.nodeCount()===0)return s;r.nodes().forEach(function(d){a.add(d,Number.POSITIVE_INFINITY),s.setNode(d)}),a.decrease(r.nodes()[0],0);for(var l=!1;a.size()>0;){if(c=a.removeMin(),Object.hasOwn(o,c))s.setEdge(c,o[c]);else{if(l)throw new Error("Input graph is not connected: "+r);l=!0}r.nodeEdges(c).forEach(u)}return s}return ew}var tw,x_;function XH(){return x_||(x_=1,tw={components:jH(),dijkstra:y_(),dijkstraAll:UH(),findCycles:GH(),floydWarshall:WH(),isAcyclic:HH(),postorder:VH(),preorder:KH(),prim:YH(),tarjan:b_(),topsort:R_()}),tw}var nw,I_;function yr(){if(I_)return nw;I_=1;var t=BH();return nw={Graph:t.Graph,json:qH(),alg:XH(),version:t.version},nw}var rw,P_;function JH(){if(P_)return rw;P_=1;class t{constructor(){let i={};i._next=i._prev=i,this._sentinel=i}dequeue(){let i=this._sentinel,s=i._prev;if(s!==i)return e(s),s}enqueue(i){let s=this._sentinel;i._prev&&i._next&&e(i),i._next=s._next,s._next._prev=i,s._next=i,i._prev=s}toString(){let i=[],s=this._sentinel,o=s._prev;for(;o!==s;)i.push(JSON.stringify(o,n)),o=o._prev;return"["+i.join(", ")+"]"}}function e(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,i){if(r!=="_next"&&r!=="_prev")return i}return rw=t,rw}var iw,N_;function ZH(){if(N_)return iw;N_=1;let t=yr().Graph,e=JH();iw=r;let n=()=>1;function r(u,l){if(u.nodeCount()<=1)return[];let d=o(u,l||n);return i(d.graph,d.buckets,d.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function i(u,l,d){let f=[],h=l[l.length-1],p=l[0],m;for(;u.nodeCount();){for(;m=p.dequeue();)s(u,l,d,m);for(;m=h.dequeue();)s(u,l,d,m);if(u.nodeCount()){for(let g=l.length-2;g>0;--g)if(m=l[g].dequeue(),m){f=f.concat(s(u,l,d,m,!0));break}}}return f}function s(u,l,d,f,h){let p=h?[]:void 0;return u.inEdges(f.v).forEach(m=>{let g=u.edge(m),y=u.node(m.v);h&&p.push({v:m.v,w:m.w}),y.out-=g,a(l,d,y)}),u.outEdges(f.v).forEach(m=>{let g=u.edge(m),y=m.w,w=u.node(y);w.in-=g,a(l,d,w)}),u.removeNode(f.v),p}function o(u,l){let d=new t,f=0,h=0;u.nodes().forEach(g=>{d.setNode(g,{v:g,in:0,out:0})}),u.edges().forEach(g=>{let y=d.edge(g.v,g.w)||0,w=l(g),E=y+w;d.setEdge(g.v,g.w,E),h=Math.max(h,d.node(g.v).out+=w),f=Math.max(f,d.node(g.w).in+=w)});let p=c(h+f+3).map(()=>new e),m=f+1;return d.nodes().forEach(g=>{a(p,m,d.node(g))}),{graph:d,buckets:p,zeroIdx:m}}function a(u,l,d){d.out?d.in?u[d.out-d.in+l].enqueue(d):u[u.length-1].enqueue(d):u[0].enqueue(d)}function c(u){const l=[];for(let d=0;d<u;d++)l.push(d);return l}return iw}var sw,O_;function xt(){if(O_)return sw;O_=1;let t=yr().Graph;sw={addBorderNode:l,addDummyNode:e,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:a,intersectRect:o,mapValues:I,maxRank:p,normalizeRanks:c,notime:y,partition:m,pick:A,predecessorWeights:s,range:k,removeEmptyRanks:u,simplify:n,successorWeights:i,time:g,uniqueId:E,zipObject:x};function e(_,P,O,C){let D;do D=E(C);while(_.hasNode(D));return O.dummy=P,_.setNode(D,O),D}function n(_){let P=new t().setGraph(_.graph());return _.nodes().forEach(O=>P.setNode(O,_.node(O))),_.edges().forEach(O=>{let C=P.edge(O.v,O.w)||{weight:0,minlen:1},D=_.edge(O);P.setEdge(O.v,O.w,{weight:C.weight+D.weight,minlen:Math.max(C.minlen,D.minlen)})}),P}function r(_){let P=new t({multigraph:_.isMultigraph()}).setGraph(_.graph());return _.nodes().forEach(O=>{_.children(O).length||P.setNode(O,_.node(O))}),_.edges().forEach(O=>{P.setEdge(O,_.edge(O))}),P}function i(_){let P=_.nodes().map(O=>{let C={};return _.outEdges(O).forEach(D=>{C[D.w]=(C[D.w]||0)+_.edge(D).weight}),C});return x(_.nodes(),P)}function s(_){let P=_.nodes().map(O=>{let C={};return _.inEdges(O).forEach(D=>{C[D.v]=(C[D.v]||0)+_.edge(D).weight}),C});return x(_.nodes(),P)}function o(_,P){let O=_.x,C=_.y,D=P.x-O,R=P.y-C,F=_.width/2,W=_.height/2;if(!D&&!R)throw new Error("Not possible to find intersection inside of the rectangle");let V,Z;return Math.abs(R)*F>Math.abs(D)*W?(R<0&&(W=-W),V=W*D/R,Z=W):(D<0&&(F=-F),V=F,Z=F*R/D),{x:O+V,y:C+Z}}function a(_){let P=k(p(_)+1).map(()=>[]);return _.nodes().forEach(O=>{let C=_.node(O),D=C.rank;D!==void 0&&(P[D][C.order]=O)}),P}function c(_){let P=_.nodes().map(C=>{let D=_.node(C).rank;return D===void 0?Number.MAX_VALUE:D}),O=h(Math.min,P);_.nodes().forEach(C=>{let D=_.node(C);Object.hasOwn(D,"rank")&&(D.rank-=O)})}function u(_){let P=_.nodes().map(F=>_.node(F).rank),O=h(Math.min,P),C=[];_.nodes().forEach(F=>{let W=_.node(F).rank-O;C[W]||(C[W]=[]),C[W].push(F)});let D=0,R=_.graph().nodeRankFactor;Array.from(C).forEach((F,W)=>{F===void 0&&W%R!==0?--D:F!==void 0&&D&&F.forEach(V=>_.node(V).rank+=D)})}function l(_,P,O,C){let D={width:0,height:0};return arguments.length>=4&&(D.rank=O,D.order=C),e(_,"border",D,P)}function d(_,P=f){const O=[];for(let C=0;C<_.length;C+=P){const D=_.slice(C,C+P);O.push(D)}return O}const f=65535;function h(_,P){if(P.length>f){const O=d(P);return _.apply(null,O.map(C=>_.apply(null,C)))}else return _.apply(null,P)}function p(_){const O=_.nodes().map(C=>{let D=_.node(C).rank;return D===void 0?Number.MIN_VALUE:D});return h(Math.max,O)}function m(_,P){let O={lhs:[],rhs:[]};return _.forEach(C=>{P(C)?O.lhs.push(C):O.rhs.push(C)}),O}function g(_,P){let O=Date.now();try{return P()}finally{console.log(_+" time: "+(Date.now()-O)+"ms")}}function y(_,P){return P()}let w=0;function E(_){var P=++w;return toString(_)+P}function k(_,P,O=1){P==null&&(P=_,_=0);let C=R=>R<P;O<0&&(C=R=>P<R);const D=[];for(let R=_;C(R);R+=O)D.push(R);return D}function A(_,P){const O={};for(const C of P)_[C]!==void 0&&(O[C]=_[C]);return O}function I(_,P){let O=P;return typeof P=="string"&&(O=C=>C[P]),Object.entries(_).reduce((C,[D,R])=>(C[D]=O(R,D),C),{})}function x(_,P){return _.reduce((O,C,D)=>(O[C]=P[D],O),{})}return sw}var ow,L_;function QH(){if(L_)return ow;L_=1;let t=ZH(),e=xt().uniqueId;ow={run:n,undo:i};function n(s){(s.graph().acyclicer==="greedy"?t(s,a(s)):r(s)).forEach(c=>{let u=s.edge(c);s.removeEdge(c),u.forwardName=c.name,u.reversed=!0,s.setEdge(c.w,c.v,u,e("rev"))});function a(c){return u=>c.edge(u).weight}}function r(s){let o=[],a={},c={};function u(l){Object.hasOwn(c,l)||(c[l]=!0,a[l]=!0,s.outEdges(l).forEach(d=>{Object.hasOwn(a,d.w)?o.push(d):u(d.w)}),delete a[l])}return s.nodes().forEach(u),o}function i(s){s.edges().forEach(o=>{let a=s.edge(o);if(a.reversed){s.removeEdge(o);let c=a.forwardName;delete a.reversed,delete a.forwardName,s.setEdge(o.w,o.v,a,c)}})}return ow}var aw,F_;function eV(){if(F_)return aw;F_=1;let t=xt();aw={run:e,undo:r};function e(i){i.graph().dummyChains=[],i.edges().forEach(s=>n(i,s))}function n(i,s){let o=s.v,a=i.node(o).rank,c=s.w,u=i.node(c).rank,l=s.name,d=i.edge(s),f=d.labelRank;if(u===a+1)return;i.removeEdge(s);let h,p,m;for(m=0,++a;a<u;++m,++a)d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:s,rank:a},h=t.addDummyNode(i,"edge",p,"_d"),a===f&&(p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos),i.setEdge(o,h,{weight:d.weight},l),m===0&&i.graph().dummyChains.push(h),o=h;i.setEdge(o,c,{weight:d.weight},l)}function r(i){i.graph().dummyChains.forEach(s=>{let o=i.node(s),a=o.edgeLabel,c;for(i.setEdge(o.edgeObj,a);o.dummy;)c=i.successors(s)[0],i.removeNode(s),a.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(a.x=o.x,a.y=o.y,a.width=o.width,a.height=o.height),s=c,o=i.node(s)})}return aw}var cw,M_;function Th(){if(M_)return cw;M_=1;const{applyWithChunking:t}=xt();cw={longestPath:e,slack:n};function e(r){var i={};function s(o){var a=r.node(o);if(Object.hasOwn(i,o))return a.rank;i[o]=!0;let c=r.outEdges(o).map(l=>l==null?Number.POSITIVE_INFINITY:s(l.w)-r.edge(l).minlen);var u=t(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),a.rank=u}r.sources().forEach(s)}function n(r,i){return r.node(i.w).rank-r.node(i.v).rank-r.edge(i).minlen}return cw}var uw,z_;function B_(){if(z_)return uw;z_=1;var t=yr().Graph,e=Th().slack;uw=n;function n(o){var a=new t({directed:!1}),c=o.nodes()[0],u=o.nodeCount();a.setNode(c,{});for(var l,d;r(a,o)<u;)l=i(a,o),d=a.hasNode(l.v)?e(o,l):-e(o,l),s(a,o,d);return a}function r(o,a){function c(u){a.nodeEdges(u).forEach(l=>{var d=l.v,f=u===d?l.w:d;!o.hasNode(f)&&!e(a,l)&&(o.setNode(f,{}),o.setEdge(u,f,{}),c(f))})}return o.nodes().forEach(c),o.nodeCount()}function i(o,a){return a.edges().reduce((u,l)=>{let d=Number.POSITIVE_INFINITY;return o.hasNode(l.v)!==o.hasNode(l.w)&&(d=e(a,l)),d<u[0]?[d,l]:u},[Number.POSITIVE_INFINITY,null])[1]}function s(o,a,c){o.nodes().forEach(u=>a.node(u).rank+=c)}return uw}var lw,q_;function tV(){if(q_)return lw;q_=1;var t=B_(),e=Th().slack,n=Th().longestPath,r=yr().alg.preorder,i=yr().alg.postorder,s=xt().simplify;lw=o,o.initLowLimValues=l,o.initCutValues=a,o.calcCutValue=u,o.leaveEdge=f,o.enterEdge=h,o.exchangeEdges=p;function o(w){w=s(w),n(w);var E=t(w);l(E),a(E,w);for(var k,A;k=f(E);)A=h(E,w,k),p(E,w,k,A)}function a(w,E){var k=i(w,w.nodes());k=k.slice(0,k.length-1),k.forEach(A=>c(w,E,A))}function c(w,E,k){var A=w.node(k),I=A.parent;w.edge(k,I).cutvalue=u(w,E,k)}function u(w,E,k){var A=w.node(k),I=A.parent,x=!0,_=E.edge(k,I),P=0;return _||(x=!1,_=E.edge(I,k)),P=_.weight,E.nodeEdges(k).forEach(O=>{var C=O.v===k,D=C?O.w:O.v;if(D!==I){var R=C===x,F=E.edge(O).weight;if(P+=R?F:-F,g(w,k,D)){var W=w.edge(k,D).cutvalue;P+=R?-W:W}}}),P}function l(w,E){arguments.length<2&&(E=w.nodes()[0]),d(w,{},1,E)}function d(w,E,k,A,I){var x=k,_=w.node(A);return E[A]=!0,w.neighbors(A).forEach(P=>{Object.hasOwn(E,P)||(k=d(w,E,k,P,A))}),_.low=x,_.lim=k++,I?_.parent=I:delete _.parent,k}function f(w){return w.edges().find(E=>w.edge(E).cutvalue<0)}function h(w,E,k){var A=k.v,I=k.w;E.hasEdge(A,I)||(A=k.w,I=k.v);var x=w.node(A),_=w.node(I),P=x,O=!1;x.lim>_.lim&&(P=_,O=!0);var C=E.edges().filter(D=>O===y(w,w.node(D.v),P)&&O!==y(w,w.node(D.w),P));return C.reduce((D,R)=>e(E,R)<e(E,D)?R:D)}function p(w,E,k,A){var I=k.v,x=k.w;w.removeEdge(I,x),w.setEdge(A.v,A.w,{}),l(w),a(w,E),m(w,E)}function m(w,E){var k=w.nodes().find(I=>!E.node(I).parent),A=r(w,k);A=A.slice(1),A.forEach(I=>{var x=w.node(I).parent,_=E.edge(I,x),P=!1;_||(_=E.edge(x,I),P=!0),E.node(I).rank=E.node(x).rank+(P?_.minlen:-_.minlen)})}function g(w,E,k){return w.hasEdge(E,k)}function y(w,E,k){return k.low<=E.lim&&E.lim<=k.lim}return lw}var dw,j_;function nV(){if(j_)return dw;j_=1;var t=Th(),e=t.longestPath,n=B_(),r=tV();dw=i;function i(c){switch(c.graph().ranker){case"network-simplex":a(c);break;case"tight-tree":o(c);break;case"longest-path":s(c);break;default:a(c)}}var s=e;function o(c){e(c),n(c)}function a(c){r(c)}return dw}var fw,U_;function rV(){if(U_)return fw;U_=1,fw=t;function t(r){let i=n(r);r.graph().dummyChains.forEach(s=>{let o=r.node(s),a=o.edgeObj,c=e(r,i,a.v,a.w),u=c.path,l=c.lca,d=0,f=u[d],h=!0;for(;s!==a.w;){if(o=r.node(s),h){for(;(f=u[d])!==l&&r.node(f).maxRank<o.rank;)d++;f===l&&(h=!1)}if(!h){for(;d<u.length-1&&r.node(f=u[d+1]).minRank<=o.rank;)d++;f=u[d]}r.setParent(s,f),s=r.successors(s)[0]}})}function e(r,i,s,o){let a=[],c=[],u=Math.min(i[s].low,i[o].low),l=Math.max(i[s].lim,i[o].lim),d,f;d=s;do d=r.parent(d),a.push(d);while(d&&(i[d].low>u||l>i[d].lim));for(f=d,d=o;(d=r.parent(d))!==f;)c.push(d);return{path:a.concat(c.reverse()),lca:f}}function n(r){let i={},s=0;function o(a){let c=s;r.children(a).forEach(o),i[a]={low:c,lim:s++}}return r.children().forEach(o),i}return fw}var hw,G_;function iV(){if(G_)return hw;G_=1;let t=xt();hw={run:e,cleanup:s};function e(o){let a=t.addDummyNode(o,"root",{},"_root"),c=r(o),u=Object.values(c),l=t.applyWithChunking(Math.max,u)-1,d=2*l+1;o.graph().nestingRoot=a,o.edges().forEach(h=>o.edge(h).minlen*=d);let f=i(o)+1;o.children().forEach(h=>n(o,a,d,f,l,c,h)),o.graph().nodeRankFactor=d}function n(o,a,c,u,l,d,f){let h=o.children(f);if(!h.length){f!==a&&o.setEdge(a,f,{weight:0,minlen:c});return}let p=t.addBorderNode(o,"_bt"),m=t.addBorderNode(o,"_bb"),g=o.node(f);o.setParent(p,f),g.borderTop=p,o.setParent(m,f),g.borderBottom=m,h.forEach(y=>{n(o,a,c,u,l,d,y);let w=o.node(y),E=w.borderTop?w.borderTop:y,k=w.borderBottom?w.borderBottom:y,A=w.borderTop?u:2*u,I=E!==k?1:l-d[f]+1;o.setEdge(p,E,{weight:A,minlen:I,nestingEdge:!0}),o.setEdge(k,m,{weight:A,minlen:I,nestingEdge:!0})}),o.parent(f)||o.setEdge(a,p,{weight:0,minlen:l+d[f]})}function r(o){var a={};function c(u,l){var d=o.children(u);d&&d.length&&d.forEach(f=>c(f,l+1)),a[u]=l}return o.children().forEach(u=>c(u,1)),a}function i(o){return o.edges().reduce((a,c)=>a+o.edge(c).weight,0)}function s(o){var a=o.graph();o.removeNode(a.nestingRoot),delete a.nestingRoot,o.edges().forEach(c=>{var u=o.edge(c);u.nestingEdge&&o.removeEdge(c)})}return hw}var pw,W_;function sV(){if(W_)return pw;W_=1;let t=xt();pw=e;function e(r){function i(s){let o=r.children(s),a=r.node(s);if(o.length&&o.forEach(i),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let c=a.minRank,u=a.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",s,a,c),n(r,"borderRight","_br",s,a,c)}}r.children().forEach(i)}function n(r,i,s,o,a,c){let u={width:0,height:0,rank:c,borderType:i},l=a[i][c-1],d=t.addDummyNode(r,"border",u,s);a[i][c]=d,r.setParent(d,o),l&&r.setEdge(l,d,{weight:1})}return pw}var mw,H_;function oV(){if(H_)return mw;H_=1,mw={adjust:t,undo:e};function t(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function e(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&i(c),(u==="lr"||u==="rl")&&(o(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function i(c){c.nodes().forEach(u=>s(c.node(u))),c.edges().forEach(u=>{let l=c.edge(u);l.points.forEach(s),Object.hasOwn(l,"y")&&s(l)})}function s(c){c.y=-c.y}function o(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let l=c.edge(u);l.points.forEach(a),Object.hasOwn(l,"x")&&a(l)})}function a(c){let u=c.x;c.x=c.y,c.y=u}return mw}var gw,V_;function aV(){if(V_)return gw;V_=1;let t=xt();gw=e;function e(n){let r={},i=n.nodes().filter(l=>!n.children(l).length),s=i.map(l=>n.node(l).rank),o=t.applyWithChunking(Math.max,s),a=t.range(o+1).map(()=>[]);function c(l){if(r[l])return;r[l]=!0;let d=n.node(l);a[d.rank].push(l),n.successors(l).forEach(c)}return i.sort((l,d)=>n.node(l).rank-n.node(d).rank).forEach(c),a}return gw}var yw,K_;function cV(){if(K_)return yw;K_=1;let t=xt().zipObject;yw=e;function e(r,i){let s=0;for(let o=1;o<i.length;++o)s+=n(r,i[o-1],i[o]);return s}function n(r,i,s){let o=t(s,s.map((f,h)=>h)),a=i.flatMap(f=>r.outEdges(f).map(h=>({pos:o[h.w],weight:r.edge(h).weight})).sort((h,p)=>h.pos-p.pos)),c=1;for(;c<s.length;)c<<=1;let u=2*c-1;c-=1;let l=new Array(u).fill(0),d=0;return a.forEach(f=>{let h=f.pos+c;l[h]+=f.weight;let p=0;for(;h>0;)h%2&&(p+=l[h+1]),h=h-1>>1,l[h]+=f.weight;d+=f.weight*p}),d}return yw}var vw,Y_;function uV(){if(Y_)return vw;Y_=1,vw=t;function t(e,n=[]){return n.map(r=>{let i=e.inEdges(r);if(i.length){let s=i.reduce((o,a)=>{let c=e.edge(a),u=e.node(a.v);return{sum:o.sum+c.weight*u.order,weight:o.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:r}})}return vw}var ww,X_;function lV(){if(X_)return ww;X_=1;let t=xt();ww=e;function e(i,s){let o={};i.forEach((c,u)=>{let l=o[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(l.barycenter=c.barycenter,l.weight=c.weight)}),s.edges().forEach(c=>{let u=o[c.v],l=o[c.w];u!==void 0&&l!==void 0&&(l.indegree++,u.out.push(o[c.w]))});let a=Object.values(o).filter(c=>!c.indegree);return n(a)}function n(i){let s=[];function o(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function a(c){return u=>{u.in.push(c),--u.indegree===0&&i.push(u)}}for(;i.length;){let c=i.pop();s.push(c),c.in.reverse().forEach(o(c)),c.out.forEach(a(c))}return s.filter(c=>!c.merged).map(c=>t.pick(c,["vs","i","barycenter","weight"]))}function r(i,s){let o=0,a=0;i.weight&&(o+=i.barycenter*i.weight,a+=i.weight),s.weight&&(o+=s.barycenter*s.weight,a+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=o/a,i.weight=a,i.i=Math.min(s.i,i.i),s.merged=!0}return ww}var bw,J_;function dV(){if(J_)return bw;J_=1;let t=xt();bw=e;function e(i,s){let o=t.partition(i,p=>Object.hasOwn(p,"barycenter")),a=o.lhs,c=o.rhs.sort((p,m)=>m.i-p.i),u=[],l=0,d=0,f=0;a.sort(r(!!s)),f=n(u,c,f),a.forEach(p=>{f+=p.vs.length,u.push(p.vs),l+=p.barycenter*p.weight,d+=p.weight,f=n(u,c,f)});let h={vs:u.flat(!0)};return d&&(h.barycenter=l/d,h.weight=d),h}function n(i,s,o){let a;for(;s.length&&(a=s[s.length-1]).i<=o;)s.pop(),i.push(a.vs),o++;return o}function r(i){return(s,o)=>s.barycenter<o.barycenter?-1:s.barycenter>o.barycenter?1:i?o.i-s.i:s.i-o.i}return bw}var Ew,Z_;function fV(){if(Z_)return Ew;Z_=1;let t=uV(),e=lV(),n=dV();Ew=r;function r(o,a,c,u){let l=o.children(a),d=o.node(a),f=d?d.borderLeft:void 0,h=d?d.borderRight:void 0,p={};f&&(l=l.filter(w=>w!==f&&w!==h));let m=t(o,l);m.forEach(w=>{if(o.children(w.v).length){let E=r(o,w.v,c,u);p[w.v]=E,Object.hasOwn(E,"barycenter")&&s(w,E)}});let g=e(m,c);i(g,p);let y=n(g,u);if(f&&(y.vs=[f,y.vs,h].flat(!0),o.predecessors(f).length)){let w=o.node(o.predecessors(f)[0]),E=o.node(o.predecessors(h)[0]);Object.hasOwn(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+w.order+E.order)/(y.weight+2),y.weight+=2}return y}function i(o,a){o.forEach(c=>{c.vs=c.vs.flatMap(u=>a[u]?a[u].vs:u)})}function s(o,a){o.barycenter!==void 0?(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight):(o.barycenter=a.barycenter,o.weight=a.weight)}return Ew}var Dw,Q_;function hV(){if(Q_)return Dw;Q_=1;let t=yr().Graph,e=xt();Dw=n;function n(i,s,o){let a=r(i),c=new t({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(u=>i.node(u));return i.nodes().forEach(u=>{let l=i.node(u),d=i.parent(u);(l.rank===s||l.minRank<=s&&s<=l.maxRank)&&(c.setNode(u),c.setParent(u,d||a),i[o](u).forEach(f=>{let h=f.v===u?f.w:f.v,p=c.edge(h,u),m=p!==void 0?p.weight:0;c.setEdge(h,u,{weight:i.edge(f).weight+m})}),Object.hasOwn(l,"minRank")&&c.setNode(u,{borderLeft:l.borderLeft[s],borderRight:l.borderRight[s]}))}),c}function r(i){for(var s;i.hasNode(s=e.uniqueId("_root")););return s}return Dw}var Tw,eA;function pV(){if(eA)return Tw;eA=1,Tw=t;function t(e,n,r){let i={},s;r.forEach(o=>{let a=e.parent(o),c,u;for(;a;){if(c=e.parent(a),c?(u=i[c],i[c]=a):(u=s,s=a),u&&u!==a){n.setEdge(u,a);return}a=c}})}return Tw}var Rw,tA;function mV(){if(tA)return Rw;tA=1;let t=aV(),e=cV(),n=fV(),r=hV(),i=pV(),s=yr().Graph,o=xt();Rw=a;function a(d,f){if(f&&typeof f.customOrder=="function"){f.customOrder(d,a);return}let h=o.maxRank(d),p=c(d,o.range(1,h+1),"inEdges"),m=c(d,o.range(h-1,-1,-1),"outEdges"),g=t(d);if(l(d,g),f&&f.disableOptimalOrderHeuristic)return;let y=Number.POSITIVE_INFINITY,w;for(let E=0,k=0;k<4;++E,++k){u(E%2?p:m,E%4>=2),g=o.buildLayerMatrix(d);let A=e(d,g);A<y&&(k=0,w=Object.assign({},g),y=A)}l(d,w)}function c(d,f,h){return f.map(function(p){return r(d,p,h)})}function u(d,f){let h=new s;d.forEach(function(p){let m=p.graph().root,g=n(p,m,h,f);g.vs.forEach((y,w)=>p.node(y).order=w),i(p,h,g.vs)})}function l(d,f){Object.values(f).forEach(h=>h.forEach((p,m)=>d.node(p).order=m))}return Rw}var Sw,nA;function gV(){if(nA)return Sw;nA=1;let t=yr().Graph,e=xt();Sw={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:s,hasConflict:o,verticalAlignment:a,horizontalCompaction:c,alignCoordinates:d,findSmallestWidthAlignment:l,balance:f};function n(g,y){let w={};function E(k,A){let I=0,x=0,_=k.length,P=A[A.length-1];return A.forEach((O,C)=>{let D=i(g,O),R=D?g.node(D).order:_;(D||O===P)&&(A.slice(x,C+1).forEach(F=>{g.predecessors(F).forEach(W=>{let V=g.node(W),Z=V.order;(Z<I||R<Z)&&!(V.dummy&&g.node(F).dummy)&&s(w,W,F)})}),x=C+1,I=R)}),A}return y.length&&y.reduce(E),w}function r(g,y){let w={};function E(A,I,x,_,P){let O;e.range(I,x).forEach(C=>{O=A[C],g.node(O).dummy&&g.predecessors(O).forEach(D=>{let R=g.node(D);R.dummy&&(R.order<_||R.order>P)&&s(w,D,O)})})}function k(A,I){let x=-1,_,P=0;return I.forEach((O,C)=>{if(g.node(O).dummy==="border"){let D=g.predecessors(O);D.length&&(_=g.node(D[0]).order,E(I,P,C,x,_),P=C,x=_)}E(I,P,I.length,_,A.length)}),I}return y.length&&y.reduce(k),w}function i(g,y){if(g.node(y).dummy)return g.predecessors(y).find(w=>g.node(w).dummy)}function s(g,y,w){if(y>w){let k=y;y=w,w=k}let E=g[y];E||(g[y]=E={}),E[w]=!0}function o(g,y,w){if(y>w){let E=y;y=w,w=E}return!!g[y]&&Object.hasOwn(g[y],w)}function a(g,y,w,E){let k={},A={},I={};return y.forEach(x=>{x.forEach((_,P)=>{k[_]=_,A[_]=_,I[_]=P})}),y.forEach(x=>{let _=-1;x.forEach(P=>{let O=E(P);if(O.length){O=O.sort((D,R)=>I[D]-I[R]);let C=(O.length-1)/2;for(let D=Math.floor(C),R=Math.ceil(C);D<=R;++D){let F=O[D];A[P]===P&&_<I[F]&&!o(w,P,F)&&(A[F]=P,A[P]=k[P]=k[F],_=I[F])}}})}),{root:k,align:A}}function c(g,y,w,E,k){let A={},I=u(g,y,w,k),x=k?"borderLeft":"borderRight";function _(C,D){let R=I.nodes(),F=R.pop(),W={};for(;F;)W[F]?C(F):(W[F]=!0,R.push(F),R=R.concat(D(F))),F=R.pop()}function P(C){A[C]=I.inEdges(C).reduce((D,R)=>Math.max(D,A[R.v]+I.edge(R)),0)}function O(C){let D=I.outEdges(C).reduce((F,W)=>Math.min(F,A[W.w]-I.edge(W)),Number.POSITIVE_INFINITY),R=g.node(C);D!==Number.POSITIVE_INFINITY&&R.borderType!==x&&(A[C]=Math.max(A[C],D))}return _(P,I.predecessors.bind(I)),_(O,I.successors.bind(I)),Object.keys(E).forEach(C=>A[C]=A[w[C]]),A}function u(g,y,w,E){let k=new t,A=g.graph(),I=p(A.nodesep,A.edgesep,E);return y.forEach(x=>{let _;x.forEach(P=>{let O=w[P];if(k.setNode(O),_){var C=w[_],D=k.edge(C,O);k.setEdge(C,O,Math.max(I(g,P,_),D||0))}_=P})}),k}function l(g,y){return Object.values(y).reduce((w,E)=>{let k=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([x,_])=>{let P=m(g,x)/2;k=Math.max(_+P,k),A=Math.min(_-P,A)});const I=k-A;return I<w[0]&&(w=[I,E]),w},[Number.POSITIVE_INFINITY,null])[1]}function d(g,y){let w=Object.values(y),E=e.applyWithChunking(Math.min,w),k=e.applyWithChunking(Math.max,w);["u","d"].forEach(A=>{["l","r"].forEach(I=>{let x=A+I,_=g[x];if(_===y)return;let P=Object.values(_),O=E-e.applyWithChunking(Math.min,P);I!=="l"&&(O=k-e.applyWithChunking(Math.max,P)),O&&(g[x]=e.mapValues(_,C=>C+O))})})}function f(g,y){return e.mapValues(g.ul,(w,E)=>{if(y)return g[y.toLowerCase()][E];{let k=Object.values(g).map(A=>A[E]).sort((A,I)=>A-I);return(k[1]+k[2])/2}})}function h(g){let y=e.buildLayerMatrix(g),w=Object.assign(n(g,y),r(g,y)),E={},k;["u","d"].forEach(I=>{k=I==="u"?y:Object.values(y).reverse(),["l","r"].forEach(x=>{x==="r"&&(k=k.map(C=>Object.values(C).reverse()));let _=(I==="u"?g.predecessors:g.successors).bind(g),P=a(g,k,w,_),O=c(g,k,P.root,P.align,x==="r");x==="r"&&(O=e.mapValues(O,C=>-C)),E[I+x]=O})});let A=l(g,E);return d(E,A),f(E,g.graph().align)}function p(g,y,w){return(E,k,A)=>{let I=E.node(k),x=E.node(A),_=0,P;if(_+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":P=-I.width/2;break;case"r":P=I.width/2;break}if(P&&(_+=w?P:-P),P=0,_+=(I.dummy?y:g)/2,_+=(x.dummy?y:g)/2,_+=x.width/2,Object.hasOwn(x,"labelpos"))switch(x.labelpos.toLowerCase()){case"l":P=x.width/2;break;case"r":P=-x.width/2;break}return P&&(_+=w?P:-P),P=0,_}}function m(g,y){return g.node(y).width}return Sw}var kw,rA;function yV(){if(rA)return kw;rA=1;let t=xt(),e=gV().positionX;kw=n;function n(i){i=t.asNonCompoundGraph(i),r(i),Object.entries(e(i)).forEach(([s,o])=>i.node(s).x=o)}function r(i){let s=t.buildLayerMatrix(i),o=i.graph().ranksep,a=0;s.forEach(c=>{const u=c.reduce((l,d)=>{const f=i.node(d).height;return l>f?l:f},0);c.forEach(l=>i.node(l).y=a+u/2),a+=u+o})}return kw}var $w,iA;function vV(){if(iA)return $w;iA=1;let t=QH(),e=eV(),n=nV(),r=xt().normalizeRanks,i=rV(),s=xt().removeEmptyRanks,o=iV(),a=sV(),c=oV(),u=mV(),l=yV(),d=xt(),f=yr().Graph;$w=h;function h(H,Y){let ee=Y&&Y.debugTiming?d.time:d.notime;ee("layout",()=>{let ne=ee(" buildLayoutGraph",()=>_(H));ee(" runLayout",()=>p(ne,ee,Y)),ee(" updateInputGraph",()=>m(H,ne))})}function p(H,Y,ee){Y(" makeSpaceForEdgeLabels",()=>P(H)),Y(" removeSelfEdges",()=>Le(H)),Y(" acyclic",()=>t.run(H)),Y(" nestingGraph.run",()=>o.run(H)),Y(" rank",()=>n(d.asNonCompoundGraph(H))),Y(" injectEdgeLabelProxies",()=>O(H)),Y(" removeEmptyRanks",()=>s(H)),Y(" nestingGraph.cleanup",()=>o.cleanup(H)),Y(" normalizeRanks",()=>r(H)),Y(" assignRankMinMax",()=>C(H)),Y(" removeEdgeLabelProxies",()=>D(H)),Y(" normalize.run",()=>e.run(H)),Y(" parentDummyChains",()=>i(H)),Y(" addBorderSegments",()=>a(H)),Y(" order",()=>u(H,ee)),Y(" insertSelfEdges",()=>se(H)),Y(" adjustCoordinateSystem",()=>c.adjust(H)),Y(" position",()=>l(H)),Y(" positionSelfEdges",()=>K(H)),Y(" removeBorderNodes",()=>Z(H)),Y(" normalize.undo",()=>e.undo(H)),Y(" fixupEdgeLabelCoords",()=>W(H)),Y(" undoCoordinateSystem",()=>c.undo(H)),Y(" translateGraph",()=>R(H)),Y(" assignNodeIntersects",()=>F(H)),Y(" reversePoints",()=>V(H)),Y(" acyclic.undo",()=>t.undo(H))}function m(H,Y){H.nodes().forEach(ee=>{let ne=H.node(ee),fe=Y.node(ee);ne&&(ne.x=fe.x,ne.y=fe.y,ne.rank=fe.rank,Y.children(ee).length&&(ne.width=fe.width,ne.height=fe.height))}),H.edges().forEach(ee=>{let ne=H.edge(ee),fe=Y.edge(ee);ne.points=fe.points,Object.hasOwn(fe,"x")&&(ne.x=fe.x,ne.y=fe.y)}),H.graph().width=Y.graph().width,H.graph().height=Y.graph().height}let g=["nodesep","edgesep","ranksep","marginx","marginy"],y={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],E=["width","height"],k={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},x=["labelpos"];function _(H){let Y=new f({multigraph:!0,compound:!0}),ee=ut(H.graph());return Y.setGraph(Object.assign({},y,Te(ee,g),d.pick(ee,w))),H.nodes().forEach(ne=>{let fe=ut(H.node(ne));const Ee=Te(fe,E);Object.keys(k).forEach(ge=>{Ee[ge]===void 0&&(Ee[ge]=k[ge])}),Y.setNode(ne,Ee),Y.setParent(ne,H.parent(ne))}),H.edges().forEach(ne=>{let fe=ut(H.edge(ne));Y.setEdge(ne,Object.assign({},I,Te(fe,A),d.pick(fe,x)))}),Y}function P(H){let Y=H.graph();Y.ranksep/=2,H.edges().forEach(ee=>{let ne=H.edge(ee);ne.minlen*=2,ne.labelpos.toLowerCase()!=="c"&&(Y.rankdir==="TB"||Y.rankdir==="BT"?ne.width+=ne.labeloffset:ne.height+=ne.labeloffset)})}function O(H){H.edges().forEach(Y=>{let ee=H.edge(Y);if(ee.width&&ee.height){let ne=H.node(Y.v),Ee={rank:(H.node(Y.w).rank-ne.rank)/2+ne.rank,e:Y};d.addDummyNode(H,"edge-proxy",Ee,"_ep")}})}function C(H){let Y=0;H.nodes().forEach(ee=>{let ne=H.node(ee);ne.borderTop&&(ne.minRank=H.node(ne.borderTop).rank,ne.maxRank=H.node(ne.borderBottom).rank,Y=Math.max(Y,ne.maxRank))}),H.graph().maxRank=Y}function D(H){H.nodes().forEach(Y=>{let ee=H.node(Y);ee.dummy==="edge-proxy"&&(H.edge(ee.e).labelRank=ee.rank,H.removeNode(Y))})}function R(H){let Y=Number.POSITIVE_INFINITY,ee=0,ne=Number.POSITIVE_INFINITY,fe=0,Ee=H.graph(),ge=Ee.marginx||0,ce=Ee.marginy||0;function M(U){let oe=U.x,G=U.y,Fe=U.width,yt=U.height;Y=Math.min(Y,oe-Fe/2),ee=Math.max(ee,oe+Fe/2),ne=Math.min(ne,G-yt/2),fe=Math.max(fe,G+yt/2)}H.nodes().forEach(U=>M(H.node(U))),H.edges().forEach(U=>{let oe=H.edge(U);Object.hasOwn(oe,"x")&&M(oe)}),Y-=ge,ne-=ce,H.nodes().forEach(U=>{let oe=H.node(U);oe.x-=Y,oe.y-=ne}),H.edges().forEach(U=>{let oe=H.edge(U);oe.points.forEach(G=>{G.x-=Y,G.y-=ne}),Object.hasOwn(oe,"x")&&(oe.x-=Y),Object.hasOwn(oe,"y")&&(oe.y-=ne)}),Ee.width=ee-Y+ge,Ee.height=fe-ne+ce}function F(H){H.edges().forEach(Y=>{let ee=H.edge(Y),ne=H.node(Y.v),fe=H.node(Y.w),Ee,ge;ee.points?(Ee=ee.points[0],ge=ee.points[ee.points.length-1]):(ee.points=[],Ee=fe,ge=ne),ee.points.unshift(d.intersectRect(ne,Ee)),ee.points.push(d.intersectRect(fe,ge))})}function W(H){H.edges().forEach(Y=>{let ee=H.edge(Y);if(Object.hasOwn(ee,"x"))switch((ee.labelpos==="l"||ee.labelpos==="r")&&(ee.width-=ee.labeloffset),ee.labelpos){case"l":ee.x-=ee.width/2+ee.labeloffset;break;case"r":ee.x+=ee.width/2+ee.labeloffset;break}})}function V(H){H.edges().forEach(Y=>{let ee=H.edge(Y);ee.reversed&&ee.points.reverse()})}function Z(H){H.nodes().forEach(Y=>{if(H.children(Y).length){let ee=H.node(Y),ne=H.node(ee.borderTop),fe=H.node(ee.borderBottom),Ee=H.node(ee.borderLeft[ee.borderLeft.length-1]),ge=H.node(ee.borderRight[ee.borderRight.length-1]);ee.width=Math.abs(ge.x-Ee.x),ee.height=Math.abs(fe.y-ne.y),ee.x=Ee.x+ee.width/2,ee.y=ne.y+ee.height/2}}),H.nodes().forEach(Y=>{H.node(Y).dummy==="border"&&H.removeNode(Y)})}function Le(H){H.edges().forEach(Y=>{if(Y.v===Y.w){var ee=H.node(Y.v);ee.selfEdges||(ee.selfEdges=[]),ee.selfEdges.push({e:Y,label:H.edge(Y)}),H.removeEdge(Y)}})}function se(H){var Y=d.buildLayerMatrix(H);Y.forEach(ee=>{var ne=0;ee.forEach((fe,Ee)=>{var ge=H.node(fe);ge.order=Ee+ne,(ge.selfEdges||[]).forEach(ce=>{d.addDummyNode(H,"selfedge",{width:ce.label.width,height:ce.label.height,rank:ge.rank,order:Ee+ ++ne,e:ce.e,label:ce.label},"_se")}),delete ge.selfEdges})})}function K(H){H.nodes().forEach(Y=>{var ee=H.node(Y);if(ee.dummy==="selfedge"){var ne=H.node(ee.e.v),fe=ne.x+ne.width/2,Ee=ne.y,ge=ee.x-fe,ce=ne.height/2;H.setEdge(ee.e,ee.label),H.removeNode(Y),ee.label.points=[{x:fe+2*ge/3,y:Ee-ce},{x:fe+5*ge/6,y:Ee-ce},{x:fe+ge,y:Ee},{x:fe+5*ge/6,y:Ee+ce},{x:fe+2*ge/3,y:Ee+ce}],ee.label.x=ee.x,ee.label.y=ee.y}})}function Te(H,Y){return d.mapValues(d.pick(H,Y),Number)}function ut(H){var Y={};return H&&Object.entries(H).forEach(([ee,ne])=>{typeof ee=="string"&&(ee=ee.toLowerCase()),Y[ee]=ne}),Y}return $w}var Cw,sA;function wV(){if(sA)return Cw;sA=1;let t=xt(),e=yr().Graph;Cw={debugOrdering:n};function n(r){let i=t.buildLayerMatrix(r),s=new e({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(o=>{s.setNode(o,{label:o}),s.setParent(o,"layer"+r.node(o).rank)}),r.edges().forEach(o=>s.setEdge(o.v,o.w,{},o.name)),i.forEach((o,a)=>{let c="layer"+a;s.setNode(c,{rank:"same"}),o.reduce((u,l)=>(s.setEdge(u,l,{style:"invis"}),l))}),s}return Cw}var _w,oA;function bV(){return oA||(oA=1,_w="1.1.4"),_w}var Aw,aA;function EV(){return aA||(aA=1,Aw={graphlib:yr(),layout:vV(),debug:wV(),util:{time:xt().time,notime:xt().notime},version:bV()}),Aw}var Rh=EV(),Sh={exports:{}},cA;function DV(){return cA||(cA=1,function(t,e){var n=t$;e=t.exports=r;function r(d,f){return f=o(d,f),c(d,f)}e.sha1=function(d){return r(d)},e.keys=function(d){return r(d,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},e.MD5=function(d){return r(d,{algorithm:"md5",encoding:"hex"})},e.keysMD5=function(d){return r(d,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var i=n.getHashes?n.getHashes().slice():["sha1","md5"];i.push("passthrough");var s=["buffer","hex","binary","base64"];function o(d,f){f=f||{};var h={};if(h.algorithm=f.algorithm||"sha1",h.encoding=f.encoding||"hex",h.excludeValues=!!f.excludeValues,h.algorithm=h.algorithm.toLowerCase(),h.encoding=h.encoding.toLowerCase(),h.ignoreUnknown=f.ignoreUnknown===!0,h.respectType=f.respectType!==!1,h.respectFunctionNames=f.respectFunctionNames!==!1,h.respectFunctionProperties=f.respectFunctionProperties!==!1,h.unorderedArrays=f.unorderedArrays===!0,h.unorderedSets=f.unorderedSets!==!1,h.unorderedObjects=f.unorderedObjects!==!1,h.replacer=f.replacer||void 0,h.excludeKeys=f.excludeKeys||void 0,typeof d>"u")throw new Error("Object argument required.");for(var p=0;p<i.length;++p)i[p].toLowerCase()===h.algorithm.toLowerCase()&&(h.algorithm=i[p]);if(i.indexOf(h.algorithm)===-1)throw new Error('Algorithm "'+h.algorithm+'" not supported. supported values: '+i.join(", "));if(s.indexOf(h.encoding)===-1&&h.algorithm!=="passthrough")throw new Error('Encoding "'+h.encoding+'" not supported. supported values: '+s.join(", "));return h}function a(d){if(typeof d!="function")return!1;var f=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return f.exec(Function.prototype.toString.call(d))!=null}function c(d,f){var h;f.algorithm!=="passthrough"?h=n.createHash(f.algorithm):h=new l,typeof h.write>"u"&&(h.write=h.update,h.end=h.update);var p=u(f,h);if(p.dispatch(d),h.update||h.end(""),h.digest)return h.digest(f.encoding==="buffer"?void 0:f.encoding);var m=h.read();return f.encoding==="buffer"?m:m.toString(f.encoding)}e.writeToStream=function(d,f,h){return typeof h>"u"&&(h=f,f={}),f=o(d,f),u(f,h).dispatch(d)};function u(d,f,h){h=h||[];var p=function(m){return f.update?f.update(m,"utf8"):f.write(m,"utf8")};return{dispatch:function(m){d.replacer&&(m=d.replacer(m));var g=typeof m;return m===null&&(g="null"),this["_"+g](m)},_object:function(m){var g=/\[object (.*)\]/i,y=Object.prototype.toString.call(m),w=g.exec(y);w?w=w[1]:w="unknown:["+y+"]",w=w.toLowerCase();var E=null;if((E=h.indexOf(m))>=0)return this.dispatch("[CIRCULAR:"+E+"]");if(h.push(m),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(m))return p("buffer:"),p(m);if(w!=="object"&&w!=="function"&&w!=="asyncfunction")if(this["_"+w])this["_"+w](m);else{if(d.ignoreUnknown)return p("["+w+"]");throw new Error('Unknown object type "'+w+'"')}else{var k=Object.keys(m);d.unorderedObjects&&(k=k.sort()),d.respectType!==!1&&!a(m)&&k.splice(0,0,"prototype","__proto__","constructor"),d.excludeKeys&&(k=k.filter(function(I){return!d.excludeKeys(I)})),p("object:"+k.length+":");var A=this;return k.forEach(function(I){A.dispatch(I),p(":"),d.excludeValues||A.dispatch(m[I]),p(",")})}},_array:function(m,g){g=typeof g<"u"?g:d.unorderedArrays!==!1;var y=this;if(p("array:"+m.length+":"),!g||m.length<=1)return m.forEach(function(k){return y.dispatch(k)});var w=[],E=m.map(function(k){var A=new l,I=h.slice(),x=u(d,A,I);return x.dispatch(k),w=w.concat(I.slice(h.length)),A.read().toString()});return h=h.concat(w),E.sort(),this._array(E,!1)},_date:function(m){return p("date:"+m.toJSON())},_symbol:function(m){return p("symbol:"+m.toString())},_error:function(m){return p("error:"+m.toString())},_boolean:function(m){return p("bool:"+m.toString())},_string:function(m){p("string:"+m.length+":"),p(m.toString())},_function:function(m){p("fn:"),a(m)?this.dispatch("[native]"):this.dispatch(m.toString()),d.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(m.name)),d.respectFunctionProperties&&this._object(m)},_number:function(m){return p("number:"+m.toString())},_xml:function(m){return p("xml:"+m.toString())},_null:function(){return p("Null")},_undefined:function(){return p("Undefined")},_regexp:function(m){return p("regex:"+m.toString())},_uint8array:function(m){return p("uint8array:"),this.dispatch(Array.prototype.slice.call(m))},_uint8clampedarray:function(m){return p("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(m))},_int8array:function(m){return p("int8array:"),this.dispatch(Array.prototype.slice.call(m))},_uint16array:function(m){return p("uint16array:"),this.dispatch(Array.prototype.slice.call(m))},_int16array:function(m){return p("int16array:"),this.dispatch(Array.prototype.slice.call(m))},_uint32array:function(m){return p("uint32array:"),this.dispatch(Array.prototype.slice.call(m))},_int32array:function(m){return p("int32array:"),this.dispatch(Array.prototype.slice.call(m))},_float32array:function(m){return p("float32array:"),this.dispatch(Array.prototype.slice.call(m))},_float64array:function(m){return p("float64array:"),this.dispatch(Array.prototype.slice.call(m))},_arraybuffer:function(m){return p("arraybuffer:"),this.dispatch(new Uint8Array(m))},_url:function(m){return p("url:"+m.toString())},_map:function(m){p("map:");var g=Array.from(m);return this._array(g,d.unorderedSets!==!1)},_set:function(m){p("set:");var g=Array.from(m);return this._array(g,d.unorderedSets!==!1)},_file:function(m){return p("file:"),this.dispatch([m.name,m.size,m.type,m.lastModfied])},_blob:function(){if(d.ignoreUnknown)return p("[blob]");throw Error(`Hashing Blob objects is currently not supported
|
|
1722
|
-
(see https://github.com/puleos/object-hash/issues/26)
|
|
1723
|
-
Use "options.replacer" or "options.ignoreUnknown"
|
|
1724
|
-
`)},_domwindow:function(){return p("domwindow")},_bigint:function(m){return p("bigint:"+m.toString())},_process:function(){return p("process")},_timer:function(){return p("timer")},_pipe:function(){return p("pipe")},_tcp:function(){return p("tcp")},_udp:function(){return p("udp")},_tty:function(){return p("tty")},_statwatcher:function(){return p("statwatcher")},_securecontext:function(){return p("securecontext")},_connection:function(){return p("connection")},_zlib:function(){return p("zlib")},_context:function(){return p("context")},_nodescript:function(){return p("nodescript")},_httpparser:function(){return p("httpparser")},_dataview:function(){return p("dataview")},_signal:function(){return p("signal")},_fsevent:function(){return p("fsevent")},_tlswrap:function(){return p("tlswrap")}}}function l(){return{buf:"",write:function(d){this.buf+=d},end:function(d){this.buf+=d},read:function(){return this.buf}}}}(Sh,Sh.exports)),Sh.exports}var TV=DV();function RV(t,e){return t.rules.reduce((n,r)=>{if(DE(r)){const i=e.predicates[r.predicateId];return at(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(TE(r)){const i=e.styles[r.styleId];return at(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function SV(t,e){return t.rules.reduce((n,r)=>{if(DE(r)){const i=e.dynamicPredicates[r.predicateId];return at(i)?(Xe.warn(`Global predicate not found: ${r.predicateId}`),n):n.concat(i)}if(TE(r)){const i=e.styles[r.styleId];return at(i)?(Xe.warn(`Global style not found: ${r.styleId}`),n):n.concat(i)}return n.push(r),n},[])}function uA(t){const e={id:t.id,__:t.__??"element",autoLayout:t.autoLayout,nodes:Ke(t.nodes,Dt(ov(["id","title","description","technology","shape","icon","children"])),vi(({id:n,icon:r,...i})=>[n,{...i,icon:ae(r)?"Y":"N"}])),edges:Ke(t.edges,Dt(ov(["source","target","label","description","technology","dir","head","tail","line"])),vi(({source:n,target:r,...i})=>[`${n}:${r}`,i]))};return t.hash=TV(e,{ignoreUnknown:!0,respectType:!1}),t}function $n(t){if(ye.isElementWhere(t)){const e=$n(t.where.expr),n=Ds(t.where.condition);return r=>e(r)&&n(r)}if(ye.isWildcard(t))return()=>!0;if(ye.isElementKindExpr(t))return t.isEqual?e=>e.kind===t.elementKind:e=>e.kind!==t.elementKind;if(ye.isElementTagExpr(t))return t.isEqual?({tags:e})=>!!e&&e.includes(t.elementTag):({tags:e})=>at(e)||!e.includes(t.elementTag);if(ye.isExpandedElementExpr(t))return e=>e.id===t.expanded||kt(e.id)===t.expanded;if(ye.isElementRef(t)){const{element:e,isDescedants:n}=t;return n?r=>r.id.startsWith(e+"."):r=>r.id===e}if(ye.isCustomElement(t))return $n(t.custom.expr);Ie(t)}function xw(t){return e=>Cm(e)?e.groupRules.flatMap(xw(t)):EE(e)?"include"in e?e.include.filter(t):[]:[]}function lA(t,e){const n=t.flatMap(xw(ye.isCustomElement));if(n.length===0)return e;const r=[...e];for(const{custom:{expr:i,...s}}of n){const{border:o,opacity:a,...c}=Pk(s,at),u=!Yi(c),l=$n(i);r.forEach((d,f)=>{if(Td.isNodesGroup(d)||!l(d))return;u&&(d={...d,isCustomized:!0,...c});let h;o!==void 0&&(h={border:o}),a!==void 0&&(h={...h,opacity:a}),h&&(d={...d,isCustomized:!0,style:{...d.style,...h}}),r[f]=d})}return r}function dA(t){switch(!0){case ye.isRelationWhere(t):const e=dA(t.where.expr),n=Ds(t.where.condition);return r=>e(r)&&n(r);case ye.isRelation(t):{const r=$n(t.source),i=$n(t.target);return s=>r(s.source)&&i(s.target)||!!t.isBidirectional&&r(s.target)&&i(s.source)}case ye.isInOut(t):{const r=$n(t.inout);return i=>r(i.source)||r(i.target)}case ye.isIncoming(t):{const r=$n(t.incoming);return i=>r(i.target)}case ye.isOutgoing(t):{const r=$n(t.outgoing);return i=>r(i.source)}default:Ie(t)}}function kV(t,e,n){const r=t.flatMap(xw(ye.isCustomRelationExpr)),i=Array.from(n);if(r.length===0||i.length===0)return i;for(const{customRelation:{relation:s,title:o,...a}}of r){const c=Pk(a,at),u=dA(s);i.forEach((l,d)=>{const f=e.find(p=>p.id===l.source),h=e.find(p=>p.id===l.target);!f||!h||u({source:f,target:h,...ov(l,["kind","tags"])})&&(i[d]={...l,...c,label:o??l.label,isCustomized:!0})})}return i}function fA(t,e){const n=t.filter(mO);if(n.length===0)return e;for(const r of n){const i=[];for(const s of r.targets)i.push($n(s));Ke(e,nt(g9(Td.isNodesGroup)),nt(lv(i)),D9(s=>{s.shape=r.style.shape??s.shape,s.color=r.style.color??s.color,At(r.style.icon)&&(s.icon=r.style.icon),At(r.notation)&&(s.notation=r.notation);let o;At(r.style.border)&&(o={border:r.style.border}),At(r.style.opacity)&&(o={...o,opacity:r.style.opacity}),o&&(s.style={...s.style,...o})}))}return e}function $V(t,e){let n;for(;t.parent&&(n=e.get(t.parent));){const r=n.depth??1;if(n.depth=Math.max(r,(t.depth??0)+1),n.depth===r)break;t=n}}function hA(t,e){const n=new Map,r=new Map;return e?.forEach(({id:i,parent:s,viewRule:o,explicits:a})=>{s&&et(n.get(s),`Parent group node ${s} not found`).children.push(i),n.set(i,{id:i,parent:s,kind:To.Group,title:o.title??"",color:o.color??"muted",shape:"rectangle",children:[],inEdges:[],outEdges:[],level:0,depth:0,description:null,technology:null,tags:null,links:null,style:{border:o.border??"dashed",opacity:o.opacity??0}});for(const c of a)r.set(c.id,i)}),Array.from(t).sort(qa).reduce((i,{id:s,color:o,shape:a,style:c,kind:u,title:l,...d})=>{let f=kt(s),h=0,p;for(;f&&(p=i.get(f),!p);)f=kt(f);!p&&r.has(s)&&(f=r.get(s),p=i.get(f)),p&&(p.children.length==0&&(p.depth=1,$V(p,i)),p.children.push(s),h=p.level+1);const m={id:s,parent:f,kind:u,title:l,color:o??Oa,shape:a??Tm,children:[],inEdges:[],outEdges:[],level:h,...d,style:{...c}};return i.set(s,m),i},n)}function pA(t){return Ke(t,dh(yi("notation")),Vi(av(dh(yi("shape")),Vi(av(dh(yi("color")),Vi(av(Dt(yi("kind")),zr())),oa(),Dt(([e,n])=>({kinds:n,color:e})))),oa(),wi(([e,n])=>n.map(({color:r,kinds:i})=>({shape:e,color:r,kinds:i}))))),oa(),wi(([e,n])=>n.map(({shape:r,color:i,kinds:s})=>({title:e,shape:r,color:i,kinds:s}))),n9(yi("shape"),yi("title"),[e=>e.kinds.length,"desc"]))}const mA=Rh.graphlib.Graph,gA=Rh.graphlib.alg.postorder,CV=Rh.graphlib.alg.findCycles,_V=Rh.graphlib.alg.isAcyclic;function yA(t){t.forEach(e=>{e.children.length>0&&(e.children=t.flatMap(n=>n.parent===e.id?n.id:[]))})}function AV({nodes:t,edges:e}){if(t.length<2)return t;if(e.length===0)return Ke(t,ra(qa),QU(yA));const n=new mA({compound:!1,directed:!0,multigraph:!1}),r=a=>et(t.find(c=>c.id===a),"Edge not found"),i=a=>et(e.find(c=>c.id===a),"Edge not found");for(const a of[...e].sort(Ha))n.setEdge(a.source,a.target);for(const a of t)n.setNode(a.id,a.id),a.children.length>0&&a.inEdges.forEach(c=>{const u=i(c);u.target!==a.id&&r(u.source).children.length===0&&n.setEdge(u.source,a.id)}),a.parent&&n.setEdge(a.parent,a.id);let s=n.sources();s.length===0&&(s=Ke(t,nt(a=>a.inEdges.length===0||a.parent===null),ra(qa),Dt(a=>a.id)));const o=gA(n,s).reverse().map(r);if(o.length<t.length){const a=Fk(t,o).sort(qa);o.push(...a)}return we(o.length===t.length,"Not all nodes were processed by graphlib"),yA(o),o}function xV(t){const e=Ke(t,wi(n=>n.tags??[]),zr(),ra(za));return Rd(e,1)?e:null}const vr=()=>!0,Iw=t=>t,Pw=t=>t===vr?Iw:nt(t),IV=t=>t===vr?Iw:e=>t(e)?e:null;function PV(t,e=vr){const n=[...this.resolvedElements],r=Pw(e)(t.isDescedants===!0?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)]);if(r.length!==0&&(this.addElement(...r),r.length>1&&this.addEdges(this.graph.edgesWithin(r)),n.length>0&&r.length>0))for(const i of r)this.addEdges(this.graph.anyEdgesBetween(i,n))}function NV(t,e=vr){const n=[...this.resolvedElements].filter(Mk([$n(t),e]));this.excludeElement(...n)}function OV(t,e=vr){const n=this.root;if(!n){const u=this.graph.rootElements.filter(e);if(u.length<=0)return;const l=[...this.resolvedElements];if(this.addElement(...u),this.addEdges(this.graph.edgesWithin(u)),l.length>0)for(const d of u)this.addEdges(this.graph.anyEdgesBetween(d,l));return}const r=[...this.resolvedElements],i=IV(e)(this.graph.element(n));i&&this.addElement(i);const s=Pw(e),o=s(this.graph.children(n)),a=o.length>0;a?(this.addElement(...o),this.addEdges(this.graph.edgesWithin(o))):i&&o.push(i);const c=[...r,...s([...this.graph.siblings(n),...this.graph.ancestors(n).flatMap(u=>this.graph.siblings(u.id))])];for(const u of o)this.addEdges(this.graph.anyEdgesBetween(u,c)).forEach(l=>{this.addImplicit(l.source,l.target)});if(!a&&i&&this.graph.anyEdgesBetween(i,this.graph.siblings(n)).length===0){const u=kt(n),l=u&&this.graph.element(u);l&&e(l)&&this.addElement(l)}}function LV(t,e=vr){if(e!==vr){const r=[...this.resolvedElements].filter(e);this.excludeElement(...r);return}const n=this.root;n?(this.excludeElement(this.graph.element(n),...this.graph.children(n)),this.excludeRelation(...this.graph.connectedRelations(n))):this.reset()}function FV(t,e=vr){const n=Pw(e),r=[...this.resolvedElements],i=this.graph.element(t.expanded);if(e(i)){this.addElement(i);const o=this.graph.anyEdgesBetween(i,r);this.addEdges(o)}const s=[];for(const o of n(this.graph.children(t.expanded))){this.addImplicit(o);const a=this.graph.anyEdgesBetween(o,r);a.length>0&&(this.addEdges(a),s.push(o))}s.length>1&&this.addEdges(this.graph.edgesWithin(s))}function MV(t,e=vr){const n=[...this.resolvedElements].filter(Mk([$n(t),e]));this.excludeElement(...n)}const vA=t=>t.isEqual?ye.isElementKindExpr(t)?e=>e.kind===t.elementKind:({tags:e})=>!!e&&e.includes(t.elementTag):ye.isElementKindExpr(t)?e=>e.kind!==t.elementKind:({tags:e})=>at(e)||e.length===0||!e.includes(t.elementTag);function zV(t,e=vr){const n=this.graph.elements.filter(vA(t)).filter(e);if(n.length>0){const r=[...this.resolvedElements];this.addElement(...n),this.addEdges(this.graph.edgesWithin(n));for(const i of n)this.addEdges(this.graph.anyEdgesBetween(i,r))}}function BV(t,e=vr){const n=[...this.resolvedElements].filter(vA(t)).filter(e);n.length>0&&this.excludeElement(...n)}function Fu(t){return ye.isElementRef(t)?this.graph.ascendingSiblings(t.element):this.root?this.graph.ascendingSiblings(this.root):this.graph.rootElements}function kh(t){return ye.isWildcard(t)?this.root?[...this.graph.children(this.root),this.graph.element(this.root)]:this.graph.rootElements:ye.isElementKindExpr(t)?this.graph.elements.filter(e=>t.isEqual?e.kind===t.elementKind:e.kind!==t.elementKind):ye.isElementTagExpr(t)?this.graph.elements.filter(e=>{const n=e.tags;return t.isEqual?!!n&&n.includes(t.elementTag):at(n)||n.length===0||!n.includes(t.elementTag)}):ye.isExpandedElementExpr(t)?[this.graph.element(t.expanded)]:ye.isElementRef(t)?this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(this.root),this.graph.element(this.root)]:t.isDescedants?this.graph.childrenOrElement(t.element):[this.graph.element(t.element)]:Ie(t)}function wA(t){if(ye.isWildcard(t)){if(!this.root)return[];const r=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(r,i)}const e=kh.call(this,t);if(e.length===0)return[];let n=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const r=t.element??t.expanded,i=t.isDescedants??!1;n=n.filter(s=>!$r(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Fu.call(this,t)),this.graph.edgesBetween(n,e)}const Mu=(t,e)=>e?Ke(t,Dt(n=>({...n,relations:n.relations.filter(e)})),nt(n=>n.relations.length>0)):t,Nw=(t,e)=>Ke(t,wi(n=>n.relations),e?nt(e):Iw,zr());function qV(t,e){const n=Mu(wA.call(this,t.incoming),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.target)})}function jV(t,e){let n=Nw(wA.call(this,t.incoming),e);this.excludeRelation(...n)}function bA(t){if(ye.isWildcard(t)){if(!this.root)return[];const r=this.graph.ascendingSiblings(this.root),i=[...this.graph.children(this.root),this.graph.element(this.root)];return this.graph.edgesBetween(i,r)}const e=kh.call(this,t);if(e.length===0)return[];let n=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const r=t.element??t.expanded,i=t.isDescedants??!1;n=n.filter(s=>!$r(r,s.id)||i&&kt(s.id)===r)}return n.length===0&&(n=Fu.call(this,t)),this.graph.edgesBetween(e,n)}function UV(t,e){const n=Mu(bA.call(this,t.outgoing),e);n.length!==0&&this.addEdges(n).forEach(r=>{this.addImplicit(r.source)})}function GV(t,e){const n=Nw(bA.call(this,t.outgoing),e);this.excludeRelation(...n)}var $h;(t=>{t.Empty={implicits:[],edges:[]}})($h||($h={}));function EA({inout:t},e){if(ye.isWildcard(t)){if(!this.root)return $h.Empty;const i=this.graph.ascendingSiblings(this.root);return{edges:Mu(this.graph.anyEdgesBetween(this.graph.element(this.root),i),e),implicits:[]}}const n=kh.call(this,t);if(n.length===0)return $h.Empty;let r=[...this.resolvedElements];if(ye.isElementRef(t)||ye.isExpandedElementExpr(t)){const i=t.element??t.expanded,s=t.isDescedants??!1;r=r.filter(o=>!$r(i,o.id)||s&&kt(o.id)===i)}return r.length===0&&(r=Fu.call(this,t)),n.reduce((i,s)=>{const o=Mu(this.graph.anyEdgesBetween(s,r),e);return o.length>0&&(i.implicits.push(s),i.edges.push(...o)),i},{implicits:[],edges:[]})}function WV(t,e){const{implicits:n,edges:r}=EA.call(this,t,e);this.addEdges(r),this.addImplicit(...n)}function HV(t,e){const{edges:n}=EA.call(this,t,e);this.excludeRelation(...n.flatMap(r=>r.relations))}function Ch(t){return ye.isElementRef(t)&&this.root===t.element&&t.isDescedants!==!0?[...this.graph.children(t.element),this.graph.element(t.element)]:ye.isExpandedElementExpr(t)&&this.root===t.expanded?[...this.graph.children(t.expanded),this.graph.element(t.expanded)]:kh.call(this,t)}function VV(t,e){let n,r;ye.isWildcard(t.source)&&!ye.isWildcard(t.target)?(n=Fu.call(this,t.target),r=Ch.call(this,t.target)):!ye.isWildcard(t.source)&&ye.isWildcard(t.target)?(n=Ch.call(this,t.source),r=Fu.call(this,t.source)):(n=Ch.call(this,t.source),r=Ch.call(this,t.target));const i=this.graph.edgesBetween(n,r);t.isBidirectional===!0&&i.push(...this.graph.edgesBetween(r,n)),this.addEdges(Mu(i,e)).forEach(s=>{this.activeGroup.addImplicit(s.source,s.target)})}function KV(t,e){const n=$n(t.source),r=$n(t.target),i=a=>{let c=n(a.source)&&r(a.target);return!c&&t.isBidirectional&&(c=n(a.target)&&r(a.source)),c},s=this.edges.filter(i),o=Nw(s,e);this.excludeRelation(...o)}function YV(t,e){return Ha({source:t.source.id,target:t.target.id},{source:e.source.id,target:e.target.id})}let Ow=class q0{constructor(e,n,r=null){this.id=e,this.viewRule=n,this.parent=r}static kind=To.Group;static root(){return new q0("@root",{title:null,groupRules:[]})}static is(e){return e.kind===q0.kind}explicits=new Set;implicits=new Set;addElement(...e){for(const n of e)this.explicits.add(n),this.implicits.add(n)}addImplicit(...e){for(const n of e)this.implicits.add(n)}excludeElement(...e){for(const n of e)this.explicits.delete(n),this.implicits.delete(n)}isEmpty(){return this.explicits.size===0&&this.implicits.size===0}},XV=class g2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;implicits=new Set;ctxEdges=[];__rootGroup=Ow.root();groups=[];activeGroupStack=[];get activeGroup(){return this.activeGroupStack[0]??this.__rootGroup}get includedElements(){return new Set([...this.explicits,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}get resolvedElements(){return new Set([...this.explicits,...this.implicits,...this.ctxEdges.flatMap(e=>[e.source,e.target])])}get edges(){return this.ctxEdges}get root(){return _m(this.view)?this.view.viewOf:null}static elementView(e,n){return new g2(e,n).compute()}compute(){this.reset();const{docUri:e,rules:n,...r}=this.view,i=RV(this.view,this.graph.globals),s=i.filter(lv([EE,Cm]));this.root&&s.length==0&&this.addElement(this.graph.element(this.root)),this.processPredicates(s),this.removeRedundantImplicitEdges(),this.groups.length>0&&this.cleanGroupElements();const o=[...this.includedElements],a=hA(o,this.groups),c=this.computeEdges(),u=new Map(c.map(m=>[m.id,m]));this.linkNodesAndEdges(a,c);let l=o.map(m=>et(a.get(m.id),`Node ${m.id} not found in nodesMap`));this.groups.length>0&&(l=O9(this.groups.map(m=>et(a.get(m.id),`Node ${m.id} not found in nodesMap`)),l));const d=lA(i,fA(i,AV({nodes:l,edges:c}))),f=new Set([...d.flatMap(m=>m.children.length===0?m.outEdges.flatMap(g=>u.get(g)??[]):[]),...c]),h=this.view.rules.findLast(RE),p=pA(d);return uA({...r,autoLayout:{direction:h?.direction??"TB",...h?.nodeSep&&{nodeSep:h.nodeSep},...h?.rankSep&&{rankSep:h.rankSep}},nodes:Dt(d,m=>(delete m.notation,m.icon==="none"&&delete m.icon,m)),edges:kV(i,d,f),...p.length>0&&{notation:{elements:p}}})}computeEdges(){return this.ctxEdges.map(e=>{we(Hi(e.relations,1),"Edge must have at least one relation");const n=ra(e.relations,Ha),r=e.source.id,i=e.target.id,s={id:`${r}:${i}`,parent:ks(r,i),source:r,target:i,label:null,relations:n.map(c=>c.id)};let o;if(o=kn(n)??Ke(n,nt(c=>c.source===r&&c.target===i),kn()),!o){const c=Ke(n,Ik((u,l)=>(ae(l.title)&&!u.title.includes(l.title)&&u.title.push(l.title),ae(l.description)&&!u.description.includes(l.description)&&u.description.push(l.description),ae(l.technology)&&!u.technology.includes(l.technology)&&u.technology.push(l.technology),ae(l.kind)&&!u.kind.includes(l.kind)&&u.kind.push(l.kind),ae(l.color)&&!u.color.includes(l.color)&&u.color.push(l.color),ae(l.line)&&!u.line.includes(l.line)&&u.line.push(l.line),ae(l.head)&&!u.head.includes(l.head)&&u.head.push(l.head),ae(l.tail)&&!u.tail.includes(l.tail)&&u.tail.push(l.tail),ae(l.navigateTo)&&!u.navigateTo.includes(l.navigateTo)&&u.navigateTo.push(l.navigateTo),u),{title:[],description:[],technology:[],kind:[],head:[],tail:[],color:[],line:[],navigateTo:[]}));o={title:kn(c.title)??"[...]",description:kn(c.description),technology:kn(c.technology),kind:kn(c.kind),head:kn(c.head),tail:kn(c.tail),color:kn(c.color),line:kn(c.line),navigateTo:kn(c.navigateTo)}}const a=xV(n);return Object.assign(s,this.getEdgeLabel(o),ae(o.description)&&{description:o.description},ae(o.technology)&&{technology:o.technology},ae(o.kind)&&{kind:o.kind},o.color&&{color:o.color},o.line&&{line:o.line},o.head&&{head:o.head},o.tail&&{tail:o.tail},o.navigateTo&&{navigateTo:o.navigateTo},a&&{tags:a})})}linkNodesAndEdges(e,n){for(const r of n){const i=e.get(r.source),s=e.get(r.target);we(i,`Source node ${r.source} not found`),we(s,`Target node ${r.target} not found`);const o=this.ancestorsOf(i,e),a=this.ancestorsOf(s,e),c=ia(aM(uh(o),uh(a)));r.parent=c?.id??null,i.outEdges.push(r.id),s.inEdges.push(r.id);for(const u of o){if(u===c)break;u.outEdges.push(r.id)}for(const u of a){if(u===c)break;u.inEdges.push(r.id)}}}addEdges(e){const n=[];for(const r of e){if(!Hi(r.relations,1))continue;const i=this.ctxEdges.find(s=>s.source.id===r.source.id&&s.target.id===r.target.id);if(i){i.relations=zr([...i.relations,...r.relations]),n.push(i);continue}n.push(r),this.ctxEdges.push(r)}return n}addElement(...e){for(const n of e)this.explicits.has(n)?this.activeGroup!==this.__rootGroup&&(this.groups.forEach(r=>{r.implicits.delete(n)}),this.activeGroup.addImplicit(n)):this.activeGroup.addElement(n),this.explicits.add(n),this.implicits.add(n)}addImplicit(...e){for(const n of e)this.implicits.add(n),this.activeGroup!==this.__rootGroup&&this.groups.forEach(r=>{r.implicits.delete(n)});this.activeGroup.addImplicit(...e)}excludeElement(...e){for(const n of e)this.ctxEdges=this.ctxEdges.filter(r=>r.source.id!==n.id&&r.target.id!==n.id),this.explicits.delete(n),this.implicits.delete(n);this.__rootGroup.excludeElement(...e),this.groups.forEach(n=>{n.excludeElement(...e)})}excludeRelation(...e){if(e.length===0)return;const n=new Set,r=Ke(this.ctxEdges,Dt(s=>{const o=s.relations.filter(a=>!e.includes(a));return o.length===0?(n.add(s.source),n.add(s.target),null):o.length!==s.relations.length?{...s,relations:o}:s}),nt(m9));this.ctxEdges=r;const i=this.includedElements;if(i.size===0){this.implicits.clear(),this.__rootGroup.implicits.clear(),this.groups.forEach(s=>s.implicits.clear());return}for(const s of n)i.has(s)||(this.implicits.delete(s),this.__rootGroup.implicits.delete(s),this.groups.forEach(o=>o.implicits.delete(s)))}reset(){this.explicits.clear(),this.implicits.clear(),this.ctxEdges=[],this.__rootGroup=Ow.root(),this.groups=[],this.activeGroupStack=[]}removeRedundantImplicitEdges(){const e=new Set,n=s=>s.reduce((o,a)=>(e.has(a)||(o.push(a),e.add(a)),o),[]),r=s=>{const{source:o,target:a}=s;return c=>{const u=o.id===c.source.id,l=a.id===c.target.id;if(u&&l)return!0;const d=$r(o.id,c.source.id),f=$r(a.id,c.target.id);return d&&f||u&&f||l&&d}},i=[...this.ctxEdges].sort(YV).reverse();this.ctxEdges=i.reduce((s,o)=>{const a=n(o.relations);return a.length===0||s.length>0&&s.some(r(o))||s.push({source:o.source,target:o.target,relations:a}),s},[])}cleanGroupElements(){const e=new Set(Fk([...this.includedElements],[...this.__rootGroup.explicits]));for(const n of this.groups){const r=[...n.explicits];n.explicits.clear();for(const i of r)e.delete(i)&&n.explicits.add(i)}for(const n of this.groups){for(const r of n.implicits)e.delete(r)&&n.explicits.add(r);n.implicits.clear()}}processPredicates(e){for(const n of e){if(Cm(n)){const s=sa(this.activeGroupStack),o=`@gr${this.groups.length+1}`,a=new Ow(o,n,s?.id??null);this.groups.push(a),this.activeGroupStack.unshift(a),this.processPredicates(n.groupRules),this.activeGroupStack.shift();continue}const r="include"in n,i=n.include??n.exclude;for(const s of i){if(ye.isElementPredicateExpr(s)){this.processElementPredicate(s,r);continue}if(ye.isRelationPredicateExpr(s)){this.processRelationPredicate(s,r);continue}Ie(s)}}return this}processElementPredicate(e,n,r){if(ye.isCustomElement(e))return n&&this.processElementPredicate(e.custom.expr,n),this;if(ye.isElementWhere(e)){const i=Ds(e.where.condition);return this.processElementPredicate(e.where.expr,n,i),this}if(ye.isExpandedElementExpr(e))return n?FV.call(this,e,r):MV.call(this,e,r),this;if(ye.isElementKindExpr(e)||ye.isElementTagExpr(e))return n?zV.call(this,e,r):BV.call(this,e,r),this;if(ye.isElementRef(e))return n?PV.call(this,e,r):NV.call(this,e,r),this;if(ye.isWildcard(e))return n?OV.call(this,e,r):LV.call(this,e,r),this;Ie(e)}processRelationPredicate(e,n,r){if(ye.isCustomRelationExpr(e))return n&&this.processRelationPredicate(e.customRelation.relation,n),this;if(ye.isRelationWhere(e)){const i=Ds(e.where.condition);return this.processRelationPredicate(e.where.expr,n,i),this}if(ye.isIncoming(e))return n?qV.call(this,e,r):jV.call(this,e,r),this;if(ye.isOutgoing(e))return n?UV.call(this,e,r):GV.call(this,e,r),this;if(ye.isInOut(e))return n?WV.call(this,e,r):HV.call(this,e,r),this;if(ye.isRelation(e))return n?VV.call(this,e,r):KV.call(this,e,r),this;Ie(e)}ancestorsOf(e,n){const r=[];let i=e.parent;for(;i;){const s=n.get(i);if(!s)break;r.push(s),i=s.parent}return r}getEdgeLabel(e){const n=[];return ae(e.title)&&n.push(e.title),ae(e.technology)&&n.push(`[${e.technology}]`),n.length>0?{label:n.join(`
|
|
1725
|
-
`)}:{}}};function JV(t,e){return XV.elementView(t,e)}function DA(t,e){try{return{isSuccess:!0,view:JV(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}let ZV=class y2{constructor(e,n){this.view=e,this.graph=n}explicits=new Set;steps=[];static compute(e,n){return new y2(e,n).compute()}addStep({source:e,target:n,title:r,isBackward:i,navigateTo:s,...o},a,c){const u=c?kE(c,a):kE(a),l=this.graph.element(e),d=this.graph.element(n);this.explicits.add(l),this.explicits.add(d);const{title:f,relations:h,tags:p,navigateTo:m}=this.findRelations(l,d),g=ae(s)&&s!==this.view.id?s:m;this.steps.push({id:u,...o,source:l,target:d,title:r??f,relations:h??[],isBackward:i??!1,...g?{navigateTo:g}:{},...p?{tags:p}:{}})}compute(){const{docUri:e,rules:n,steps:r,...i}=this.view;let s=1;for(const h of r){if(vO(h)){if(h.__parallel.length===0)continue;h.__parallel.length===1?this.addStep(h.__parallel[0],s):h.__parallel.forEach((p,m)=>this.addStep(p,m+1,s))}else this.addStep(h,s);s++}const o=SV(this.view,this.graph.globals);for(const h of o)if(yO(h))for(const p of h.include){const m=$n(p);this.graph.elements.filter(m).forEach(g=>this.explicits.add(g))}const a=[...this.explicits],c=hA(a),u=this.steps.map(({source:h,target:p,relations:m,title:g,isBackward:y,...w})=>{const E=et(c.get(h.id),`Source node ${h.id} not found`),k=et(c.get(p.id),`Target node ${p.id} not found`),A={parent:ks(h.id,p.id),source:h.id,target:p.id,label:g,relations:m,color:Ts,line:wE,head:Ro,...w};for(y&&(A.dir="back");A.parent&&!c.has(A.parent);)A.parent=kt(A.parent);E.outEdges.push(A.id),k.inEdges.push(A.id);for(const I of Zr(A.source)){if(I===A.parent)break;c.get(I)?.outEdges.push(A.id)}for(const I of Zr(A.target)){if(I===A.parent)break;c.get(I)?.inEdges.push(A.id)}return A}),l=lA(o,fA(o,a.map(h=>et(c.get(h.id))))),d=o.findLast(RE),f=pA(l);return uA({...i,autoLayout:{direction:d?.direction??"LR",...d?.nodeSep&&{nodeSep:d.nodeSep},...d?.rankSep&&{rankSep:d.rankSep}},nodes:Dt(l,h=>(delete h.notation,h.icon==="none"&&delete h.icon,h)),edges:u,...f.length>0&&{notation:{elements:f}}})}findRelations(e,n){const r=zr(this.graph.edgesBetween(e,n).flatMap(l=>l.relations));if(r.length===0)return{title:null,tags:null,relations:null,navigateTo:null};const i=Ke(r,wi(l=>l.tags),nt(ae),zr()),s=Hi(i,1)?i:null,o=Hi(r,1)?Dt(r,l=>l.id):null,a=kn(r)||r.find(l=>l.source===e.id&&l.target===n.id),c=ae(a?.title)?a.title:Ke(r,Dt(l=>l.title),nt(ae),zr(),kn()),u=a?.navigateTo&&a.navigateTo!==this.view.id?a.navigateTo:Ke(r,Dt(l=>l.navigateTo),nt(ae),nt(l=>l!==this.view.id),zr(),kn());return{title:c??null,tags:s,relations:o,navigateTo:u??null}}};function TA(t,e){try{return{isSuccess:!0,view:ZV.compute(t,e)}}catch(n){return{isSuccess:!1,error:n instanceof Error?n:new Error(`Unknown error: ${n}`),view:void 0}}}const Lw=Set,Fw=Map;function Mw(t,e){return t.size===0||e.size===0?new Set:new Set([...t].filter(n=>e.has(n)))}let RA=class{#e=new Map;#t=new Map;#n=new Map;#r=new Set;#s=new Map;#i=new Fw;#o=new Fw;#a=new Fw;#c=new Map;globals;constructor({elements:e,relations:n,globals:r}){this.globals=r??{predicates:{},dynamicPredicates:{},styles:{}};for(const i of Object.values(e))this.addElement(i);for(const i of Object.values(n))this.addRelation(i)}get rootElements(){return[...this.#r]}get elements(){return[...this.#e.values()]}element(e){const n=this.#e.get(e);return we(n,`Element ${e} not found`),n}connectedRelations(e){return[...this._incomingTo(e),...this._outgoingFrom(e),...this._internalOf(e)]}children(e){return this._childrenOf(e).slice()}childrenOrElement(e){const n=this.children(e);return n.length>0?n:[this.element(e)]}siblings(e){const n=Ki(e)?e:e.id,r=kt(n);return(r?this._childrenOf(r):this.rootElements).filter(i=>i.id!==n)}ancestors(e){let n=Ki(e)?e:e.id;const r=[];let i;for(;i=this.#t.get(n);)r.push(i),n=i.id;return r}ascendingSiblings(e){const n=Ki(e)?e:e.id;let r=this.#c.get(n);return r||(r=[...this.siblings(n),...this.ancestors(n).flatMap(i=>this.siblings(i.id))],this.#c.set(n,r)),r.slice()}anyEdgesBetween(e,n){if(n.length===0)return[];const r=Ki(e)?this.element(e):e,i=this._incomingTo(r.id),s=this._outgoingFrom(r.id);if(i.size===0&&s.size===0)return[];const o=[];for(const a of n){const c=Ki(a)?this.element(a):a;if(!Ba(r,c)){if(s.size>0){const u=Mw(this._incomingTo(c.id),s);u.size>0&&o.push({source:r,target:c,relations:[...u]})}if(i.size>0){const u=Mw(this._outgoingFrom(c.id),i);u.size>0&&o.push({source:c,target:r,relations:[...u]})}}}return o}edgesWithin(e){return e.length<2?[]:e.reduce((n,r,i,s)=>(i===s.length-1||n.push(...this.anyEdgesBetween(r,s.slice(i+1))),n),[])}edgesBetween(e,n){const r=Nk(e)?e:[e],i=Nk(n)?n:[n];if(r.length===0||i.length===0)return[];const s=[];for(const o of r){const a=Ki(o)?this.element(o):o,c=this._outgoingFrom(a.id);if(c.size!==0)for(const u of i){const l=Ki(u)?this.element(u):u;if(Ba(a,l))continue;const d=this._incomingTo(l.id),f=Mw(c,d);f.size>0&&s.push({source:a,target:l,relations:[...f]})}}return s}addElement(e){if(this.#e.has(e.id))throw new Error(`Element ${e.id} already exists`);this.#e.set(e.id,e);const n=kt(e.id);n?(this.#t.set(e.id,this.element(n)),this._childrenOf(n).push(e)):this.#r.add(e)}addRelation(e){if(this.#s.has(e.id))throw new Error(`Relation ${e.id} already exists`);this.#s.set(e.id,e),this._incomingTo(e.target).add(e),this._outgoingFrom(e.source).add(e);const n=ks(e.source,e.target);if(n)for(const r of[n,...Zr(n)])this._internalOf(r).add(e);for(const r of Zr(e.source)){if(r===n)break;this._outgoingFrom(r).add(e)}for(const r of Zr(e.target)){if(r===n)break;this._incomingTo(r).add(e)}}_childrenOf(e){let n=this.#n.get(e);return n||(n=[],this.#n.set(e,n)),n}_incomingTo(e){let n=this.#i.get(e);return n||(n=new Lw,this.#i.set(e,n)),n}_outgoingFrom(e){let n=this.#o.get(e);return n||(n=new Lw,this.#o.set(e,n)),n}_internalOf(e){let n=this.#a.get(e);return n||(n=new Lw,this.#a.set(e,n)),n}};const QV=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,eK=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,tK=/^([/\\]\s*){2,}[^/\\]/;function SA(t){return["./","../"].some(e=>t.startsWith(e))}function zw(t,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?QV.test(t):eK.test(t)||(e.acceptRelative?tK.test(t):!1)}function nK(t="",e){return t.endsWith("/")}function rK(t="",e){return(nK(t)?t.slice(0,-1):t)||"/"}function iK(t="",e){return t.endsWith("/")?t:t+"/"}function _h(t=""){return t.startsWith("/")}function kA(t=""){return(_h(t)?t.slice(1):t)||"/"}function sK(t=""){return _h(t)?t:"/"+t}function oK(t,e){if(aK(e))return t;const n=rK(e);if(!t.startsWith(n))return t;const r=t.slice(n.length);return r[0]==="/"?r:"/"+r}function aK(t){return!t||t==="/"}function Ah(t=""){const[e="",n="",r=""]=(t.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:e,search:n,hash:r}}const xh="DynamicViewRule";function Bw(t){return Q.isInstance(t,xh)}const Ih="ElementExpression";function qw(t){return Q.isInstance(t,Ih)}const Ph="ElementPredicate";function cK(t){return Q.isInstance(t,Ph)}const Nh="ElementPredicateOrWhere";function uK(t){return Q.isInstance(t,Nh)}const ro="ElementProperty";function lK(t){return Q.isInstance(t,ro)}const io="LikeC4View";function jw(t){return Q.isInstance(t,io)}const Oh="MetadataProperty";function $A(t){return Q.isInstance(t,Oh)}const CA="Predicate",Lh="RelationExpression";function Uw(t){return Q.isInstance(t,Lh)}const Fh="RelationPredicate";function dK(t){return Q.isInstance(t,Fh)}const Mh="RelationPredicateOrWhere";function fK(t){return Q.isInstance(t,Mh)}const la="RelationProperty";function hK(t){return Q.isInstance(t,la)}const zh="RelationshipStyleProperty";function pK(t){return Q.isInstance(t,zh)}const da="StringProperty";function mK(t){return Q.isInstance(t,da)}const zu="StyleProperty";function _A(t){return Q.isInstance(t,zu)}const Bh="ViewProperty";function gK(t){return Q.isInstance(t,Bh)}const qh="ViewRule";function yK(t){return Q.isInstance(t,qh)}const jh="ViewRulePredicate";function Uh(t){return Q.isInstance(t,jh)}const Gh="ViewRuleStyleOrGlobalRef";function AA(t){return Q.isInstance(t,Gh)}const Bu="WhereElement";function xA(t){return Q.isInstance(t,Bu)}const qu="WhereElementExpression";function vK(t){return Q.isInstance(t,qu)}const IA="WhereExpression",Wh="WhereKindEqual";function wK(t){return Q.isInstance(t,Wh)}const ju="WhereRelation";function PA(t){return Q.isInstance(t,ju)}const Uu="WhereRelationExpression";function bK(t){return Q.isInstance(t,Uu)}const Hh="WhereTagEqual";function EK(t){return Q.isInstance(t,Hh)}const Gu="ArrowProperty";function Wu(t){return Q.isInstance(t,Gu)}const Hu="BorderProperty";function Vh(t){return Q.isInstance(t,Hu)}const Vu="ColorProperty";function so(t){return Q.isInstance(t,Vu)}const oo="CustomColor",Kh="CustomElementProperties";function DK(t){return Q.isInstance(t,Kh)}const Yh="CustomRelationProperties";function TK(t){return Q.isInstance(t,Yh)}const Ku="DirectedRelationExpression";function Gw(t){return Q.isInstance(t,Ku)}const fa="DynamicView";function RK(t){return Q.isInstance(t,fa)}const Xh="DynamicViewBody";function NA(t){return Q.isInstance(t,Xh)}const Yu="DynamicViewGlobalPredicateRef";function SK(t){return Q.isInstance(t,Yu)}const Xu="DynamicViewIncludePredicate";function kK(t){return Q.isInstance(t,Xu)}const Jh="DynamicViewParallelSteps";function Ww(t){return Q.isInstance(t,Jh)}const Zh="DynamicViewPredicateIterator";function OA(t){return Q.isInstance(t,Zh)}const Hw="DynamicViewRef",Qh="DynamicViewStep";function Vw(t){return Q.isInstance(t,Qh)}const Ur="Element";function Gr(t){return Q.isInstance(t,Ur)}const ep="ElementBody";function ha(t){return Q.isInstance(t,ep)}const Ju="ElementDescedantsExpression";function Kw(t){return Q.isInstance(t,Ju)}const tp="ElementExpressionsIterator";function $K(t){return Q.isInstance(t,tp)}const Qi="ElementKind";function CK(t){return Q.isInstance(t,Qi)}const Zu="ElementKindExpression";function np(t){return Q.isInstance(t,Zu)}const Qu="ElementPredicateWhere";function Yw(t){return Q.isInstance(t,Qu)}const el="ElementPredicateWith";function rp(t){return Q.isInstance(t,el)}const tl="ElementRef";function nl(t){return Q.isInstance(t,tl)}const rl="ElementStringProperty";function Xw(t){return Q.isInstance(t,rl)}const il="ElementStyleProperty";function sl(t){return Q.isInstance(t,il)}const ol="ElementTagExpression";function ip(t){return Q.isInstance(t,ol)}const pa="ElementView";function sp(t){return Q.isInstance(t,pa)}const op="ElementViewBody";function Jw(t){return Q.isInstance(t,op)}const Zw="ElementViewRef",al="ExcludePredicate";function ap(t){return Q.isInstance(t,al)}const cl="ExpandElementExpression";function LA(t){return Q.isInstance(t,cl)}const ma="ExtendElement";function ga(t){return Q.isInstance(t,ma)}const cp="ExtendElementBody";function Qw(t){return Q.isInstance(t,cp)}const up="FqnElementRef";function FA(t){return Q.isInstance(t,up)}const ya="GlobalDynamicPredicateGroup";function MA(t){return Q.isInstance(t,ya)}const va="GlobalPredicateGroup";function zA(t){return Q.isInstance(t,va)}const lp="Globals";function eb(t){return Q.isInstance(t,lp)}const dp="GlobalStyle";function ul(t){return Q.isInstance(t,dp)}const fp="GlobalStyleGroup";function ll(t){return Q.isInstance(t,fp)}const dl="GlobalStyleId",fl="IconProperty";function es(t){return Q.isInstance(t,fl)}const hl="IncludePredicate";function tb(t){return Q.isInstance(t,hl)}const pl="IncomingRelationExpression";function BA(t){return Q.isInstance(t,pl)}const ml="InOutRelationExpression";function nb(t){return Q.isInstance(t,ml)}const ao="LibIcon";function _K(t){return Q.isInstance(t,ao)}const rb="LikeC4Grammar",hp="LikeC4Lib";function qA(t){return Q.isInstance(t,hp)}const gl="LineProperty";function yl(t){return Q.isInstance(t,gl)}const vl="LinkProperty";function pp(t){return Q.isInstance(t,vl)}const wl="MetadataAttribute";function AK(t){return Q.isInstance(t,wl)}const bl="MetadataBody";function xK(t){return Q.isInstance(t,bl)}const wa="Model";function ib(t){return Q.isInstance(t,wa)}const ba="ModelViews";function mp(t){return Q.isInstance(t,ba)}const gp="NavigateToProperty";function sb(t){return Q.isInstance(t,gp)}const El="NotationProperty";function Dl(t){return Q.isInstance(t,El)}const Tl="NotesProperty";function jA(t){return Q.isInstance(t,Tl)}const Rl="OpacityProperty";function yp(t){return Q.isInstance(t,Rl)}const Sl="OutgoingRelationExpression";function ob(t){return Q.isInstance(t,Sl)}const vp="Predicates";function UA(t){return Q.isInstance(t,vp)}const wp="Relation";function Wr(t){return Q.isInstance(t,wp)}const bp="RelationBody";function GA(t){return Q.isInstance(t,bp)}const kl="RelationNavigateToProperty";function Ep(t){return Q.isInstance(t,kl)}const $l="RelationPredicateWhere";function WA(t){return Q.isInstance(t,$l)}const Cl="RelationPredicateWith";function ab(t){return Q.isInstance(t,Cl)}const ts="RelationshipKind";function IK(t){return Q.isInstance(t,ts)}const _l="RelationStringProperty";function Dp(t){return Q.isInstance(t,_l)}const Al="RelationStyleProperty";function cb(t){return Q.isInstance(t,Al)}const xl="ShapeProperty";function Tp(t){return Q.isInstance(t,xl)}const Rp="SpecificationColor";function Sp(t){return Q.isInstance(t,Rp)}const Ea="SpecificationElementKind";function Da(t){return Q.isInstance(t,Ea)}const Il="SpecificationElementStringProperty";function HA(t){return Q.isInstance(t,Il)}const Ta="SpecificationRelationshipKind";function Ra(t){return Q.isInstance(t,Ta)}const Pl="SpecificationRelationshipStringProperty";function VA(t){return Q.isInstance(t,Pl)}const Sa="SpecificationRule";function ub(t){return Q.isInstance(t,Sa)}const ka="SpecificationTag";function kp(t){return Q.isInstance(t,ka)}const ns="Tag";function KA(t){return Q.isInstance(t,ns)}const $p="Tags";function lb(t){return Q.isInstance(t,$p)}const db="ViewRef",Nl="ViewRuleAutoLayout";function Cp(t){return Q.isInstance(t,Nl)}const Ol="ViewRuleGlobalPredicateRef";function PK(t){return Q.isInstance(t,Ol)}const Ll="ViewRuleGlobalStyle";function YA(t){return Q.isInstance(t,Ll)}const Fl="ViewRuleGroup";function _p(t){return Q.isInstance(t,Fl)}const Ml="ViewRuleStyle";function zl(t){return Q.isInstance(t,Ml)}const Bl="ViewStringProperty";function NK(t){return Q.isInstance(t,Bl)}const ql="WhereBinaryExpression";function OK(t){return Q.isInstance(t,ql)}const jl="WhereElementKind";function LK(t){return Q.isInstance(t,jl)}const Ul="WhereElementNegation";function XA(t){return Q.isInstance(t,Ul)}const Gl="WhereElementTag";function FK(t){return Q.isInstance(t,Gl)}const Wl="WhereRelationKind";function JA(t){return Q.isInstance(t,Wl)}const Hl="WhereRelationNegation";function ZA(t){return Q.isInstance(t,Hl)}const Vl="WhereRelationTag";function MK(t){return Q.isInstance(t,Vl)}const Kl="WildcardExpression";function $a(t){return Q.isInstance(t,Kl)}class QA extends FD{getAllTypes(){return[Gu,Hu,Vu,oo,Kh,Yh,Ku,fa,Xh,Yu,Xu,Jh,Zh,Hw,xh,Qh,Ur,ep,Ju,Ih,tp,Qi,Zu,Ph,Nh,Qu,el,ro,tl,rl,il,ol,pa,op,Zw,al,cl,ma,cp,up,ya,va,dp,fp,dl,lp,fl,ml,hl,pl,ao,rb,hp,io,gl,vl,wl,bl,Oh,wa,ba,gp,El,Tl,Rl,Sl,CA,vp,wp,bp,Lh,kl,Fh,Mh,$l,Cl,la,_l,Al,ts,zh,xl,Rp,Ea,Il,Ta,Pl,Sa,ka,da,zu,ns,$p,Bh,db,qh,Nl,Ol,Ll,Fl,jh,Ml,Gh,Bl,ql,Bu,qu,jl,Ul,Gl,IA,Wh,ju,Uu,Wl,Hl,Vl,Hh,Kl]}computeIsSubtype(e,n){switch(e){case Gu:case gl:return this.isSubtype(zh,n);case Hu:case Rl:case xl:return this.isSubtype(zu,n);case Vu:return this.isSubtype(zh,n)||this.isSubtype(zu,n);case Ku:case pl:case ml:case Sl:return this.isSubtype(Lh,n);case fa:case pa:return this.isSubtype(io,n);case Yu:case Xu:return this.isSubtype(xh,n);case Ju:case Zu:case tl:case ol:case cl:case Kl:return this.isSubtype(Ih,n);case Ih:case Qu:return this.isSubtype(Nh,n);case Ph:case Fh:return this.isSubtype(CA,n);case Nh:case el:return this.isSubtype(Ph,n);case rl:return this.isSubtype(ro,n)||this.isSubtype(da,n);case il:return this.isSubtype(ro,n);case al:case hl:return this.isSubtype(jh,n);case fl:return this.isSubtype(ro,n)||this.isSubtype(zu,n);case vl:return this.isSubtype(ro,n)||this.isSubtype(la,n)||this.isSubtype(Bh,n);case wl:case El:case Tl:case Il:case Pl:return this.isSubtype(da,n);case bl:return this.isSubtype(Oh,n);case Oh:return this.isSubtype(ro,n)||this.isSubtype(la,n);case Lh:case $l:return this.isSubtype(Mh,n);case kl:case Al:return this.isSubtype(la,n);case Mh:case Cl:return this.isSubtype(Fh,n);case _l:return this.isSubtype(la,n)||this.isSubtype(da,n);case Nl:case Gh:return this.isSubtype(xh,n)||this.isSubtype(qh,n);case Ol:case Fl:case jh:return this.isSubtype(qh,n);case Ll:case Ml:return this.isSubtype(Gh,n);case Bl:return this.isSubtype(da,n)||this.isSubtype(Bh,n);case ql:return this.isSubtype(qu,n)||this.isSubtype(Uu,n);case Bu:case Ul:return this.isSubtype(qu,n);case qu:case Uu:return this.isSubtype(IA,n);case jl:return this.isSubtype(Bu,n)||this.isSubtype(Wh,n);case Gl:return this.isSubtype(Bu,n)||this.isSubtype(Hh,n);case ju:case Hl:return this.isSubtype(Uu,n);case Wl:return this.isSubtype(Wh,n)||this.isSubtype(ju,n);case Vl:return this.isSubtype(ju,n)||this.isSubtype(Hh,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"ColorProperty:customColor":return oo;case"DynamicViewGlobalPredicateRef:predicate":return ya;case"DynamicViewRef:view":return fa;case"DynamicViewStep:kind":case"OutgoingRelationExpression:kind":case"Relation:kind":case"WhereRelationKind:value":return ts;case"Element:kind":case"ElementKindExpression:kind":case"WhereElementKind:value":return Qi;case"ElementRef:el":case"FqnElementRef:el":return Ur;case"ElementTagExpression:tag":case"Tags:values":case"WhereElementTag:value":case"WhereRelationTag:value":return ns;case"ElementViewRef:view":return pa;case"IconProperty:libicon":return ao;case"ViewRef:view":return io;case"ViewRuleGlobalPredicateRef:predicate":return va;case"ViewRuleGlobalStyle:style":return dl;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Gu:return{name:Gu,properties:[{name:"key"},{name:"value"}]};case Hu:return{name:Hu,properties:[{name:"key"},{name:"value"}]};case Vu:return{name:Vu,properties:[{name:"customColor"},{name:"key"},{name:"themeColor"}]};case oo:return{name:oo,properties:[{name:"name"}]};case Kh:return{name:Kh,properties:[{name:"props",defaultValue:[]}]};case Yh:return{name:Yh,properties:[{name:"props",defaultValue:[]}]};case Ku:return{name:Ku,properties:[{name:"source"},{name:"target"}]};case fa:return{name:fa,properties:[{name:"body"},{name:"name"}]};case Xh:return{name:Xh,properties:[{name:"props",defaultValue:[]},{name:"rules",defaultValue:[]},{name:"steps",defaultValue:[]},{name:"tags"}]};case Yu:return{name:Yu,properties:[{name:"predicate"}]};case Xu:return{name:Xu,properties:[{name:"predicates"}]};case Jh:return{name:Jh,properties:[{name:"steps",defaultValue:[]}]};case Zh:return{name:Zh,properties:[{name:"prev"},{name:"value"}]};case Hw:return{name:Hw,properties:[{name:"view"}]};case Qh:return{name:Qh,properties:[{name:"custom"},{name:"isBackward",defaultValue:!1},{name:"kind"},{name:"source"},{name:"target"},{name:"title"}]};case Ur:return{name:Ur,properties:[{name:"body"},{name:"kind"},{name:"name"},{name:"props",defaultValue:[]}]};case ep:return{name:ep,properties:[{name:"elements",defaultValue:[]},{name:"props",defaultValue:[]},{name:"tags"}]};case Ju:return{name:Ju,properties:[{name:"parent"}]};case tp:return{name:tp,properties:[{name:"prev"},{name:"value"}]};case Qi:return{name:Qi,properties:[{name:"name"}]};case Zu:return{name:Zu,properties:[{name:"isEqual",defaultValue:!1},{name:"kind"}]};case Qu:return{name:Qu,properties:[{name:"subject"},{name:"where"}]};case el:return{name:el,properties:[{name:"custom"},{name:"subject"}]};case tl:return{name:tl,properties:[{name:"el"},{name:"parent"}]};case rl:return{name:rl,properties:[{name:"key"},{name:"value"}]};case il:return{name:il,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case ol:return{name:ol,properties:[{name:"isEqual",defaultValue:!1},{name:"tag"}]};case pa:return{name:pa,properties:[{name:"body"},{name:"extends"},{name:"name"},{name:"viewOf"}]};case op:return{name:op,properties:[{name:"props",defaultValue:[]},{name:"rules",defaultValue:[]},{name:"tags"}]};case Zw:return{name:Zw,properties:[{name:"view"}]};case al:return{name:al,properties:[{name:"predicates"}]};case cl:return{name:cl,properties:[{name:"expand"}]};case ma:return{name:ma,properties:[{name:"body"},{name:"element"}]};case cp:return{name:cp,properties:[{name:"elements",defaultValue:[]}]};case up:return{name:up,properties:[{name:"el"},{name:"parent"}]};case ya:return{name:ya,properties:[{name:"name"},{name:"predicates",defaultValue:[]}]};case va:return{name:va,properties:[{name:"name"},{name:"predicates",defaultValue:[]}]};case lp:return{name:lp,properties:[{name:"name"},{name:"predicates",defaultValue:[]},{name:"styles",defaultValue:[]}]};case dp:return{name:dp,properties:[{name:"id"},{name:"props",defaultValue:[]},{name:"target"}]};case fp:return{name:fp,properties:[{name:"id"},{name:"styles",defaultValue:[]}]};case dl:return{name:dl,properties:[{name:"name"}]};case fl:return{name:fl,properties:[{name:"key"},{name:"libicon"},{name:"value"}]};case hl:return{name:hl,properties:[{name:"predicates"}]};case pl:return{name:pl,properties:[{name:"to"}]};case ml:return{name:ml,properties:[{name:"inout"}]};case ao:return{name:ao,properties:[{name:"name"}]};case rb:return{name:rb,properties:[{name:"globals",defaultValue:[]},{name:"likec4lib",defaultValue:[]},{name:"models",defaultValue:[]},{name:"specifications",defaultValue:[]},{name:"views",defaultValue:[]}]};case hp:return{name:hp,properties:[{name:"icons",defaultValue:[]}]};case gl:return{name:gl,properties:[{name:"key"},{name:"value"}]};case vl:return{name:vl,properties:[{name:"key"},{name:"title"},{name:"value"}]};case wl:return{name:wl,properties:[{name:"key"},{name:"value"}]};case bl:return{name:bl,properties:[{name:"props",defaultValue:[]}]};case wa:return{name:wa,properties:[{name:"elements",defaultValue:[]},{name:"name"}]};case ba:return{name:ba,properties:[{name:"name"},{name:"styles",defaultValue:[]},{name:"views",defaultValue:[]}]};case gp:return{name:gp,properties:[{name:"key"},{name:"value"}]};case El:return{name:El,properties:[{name:"key"},{name:"value"}]};case Tl:return{name:Tl,properties:[{name:"key"},{name:"value"}]};case Rl:return{name:Rl,properties:[{name:"key"},{name:"value"}]};case Sl:return{name:Sl,properties:[{name:"from"},{name:"isBidirectional",defaultValue:!1},{name:"kind"}]};case vp:return{name:vp,properties:[{name:"prev"},{name:"value"}]};case wp:return{name:wp,properties:[{name:"body"},{name:"kind"},{name:"source"},{name:"tags"},{name:"target"},{name:"technology"},{name:"title"}]};case bp:return{name:bp,properties:[{name:"props",defaultValue:[]},{name:"tags"}]};case kl:return{name:kl,properties:[{name:"key"},{name:"value"}]};case $l:return{name:$l,properties:[{name:"subject"},{name:"where"}]};case Cl:return{name:Cl,properties:[{name:"custom"},{name:"subject"}]};case ts:return{name:ts,properties:[{name:"name"}]};case _l:return{name:_l,properties:[{name:"key"},{name:"value"}]};case Al:return{name:Al,properties:[{name:"key"},{name:"props",defaultValue:[]}]};case xl:return{name:xl,properties:[{name:"key"},{name:"value"}]};case Rp:return{name:Rp,properties:[{name:"color"},{name:"name"}]};case Ea:return{name:Ea,properties:[{name:"kind"},{name:"props",defaultValue:[]}]};case Il:return{name:Il,properties:[{name:"key"},{name:"value"}]};case Ta:return{name:Ta,properties:[{name:"kind"},{name:"props",defaultValue:[]}]};case Pl:return{name:Pl,properties:[{name:"key"},{name:"value"}]};case Sa:return{name:Sa,properties:[{name:"colors",defaultValue:[]},{name:"elements",defaultValue:[]},{name:"name"},{name:"relationships",defaultValue:[]},{name:"tags",defaultValue:[]}]};case ka:return{name:ka,properties:[{name:"tag"}]};case ns:return{name:ns,properties:[{name:"name"}]};case $p:return{name:$p,properties:[{name:"prev"},{name:"values",defaultValue:[]}]};case db:return{name:db,properties:[{name:"view"}]};case Nl:return{name:Nl,properties:[{name:"direction"},{name:"nodeSep"},{name:"rankSep"}]};case Ol:return{name:Ol,properties:[{name:"predicate"}]};case Ll:return{name:Ll,properties:[{name:"style"}]};case Fl:return{name:Fl,properties:[{name:"groupRules",defaultValue:[]},{name:"props",defaultValue:[]},{name:"title"}]};case Ml:return{name:Ml,properties:[{name:"props",defaultValue:[]},{name:"target"}]};case Bl:return{name:Bl,properties:[{name:"key"},{name:"value"}]};case ql:return{name:ql,properties:[{name:"left"},{name:"operator"},{name:"right"}]};case jl:return{name:jl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Ul:return{name:Ul,properties:[{name:"value"}]};case Gl:return{name:Gl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Wl:return{name:Wl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Hl:return{name:Hl,properties:[{name:"value"}]};case Vl:return{name:Vl,properties:[{name:"not",defaultValue:!1},{name:"operator"},{name:"value"}]};case Kl:return{name:Kl,properties:[{name:"isWildcard",defaultValue:!1}]};default:return{name:e,properties:[]}}}}const Q=new QA;let ex;const zK=()=>ex??(ex=BU(`{"$type":"Grammar","isDeclared":true,"name":"LikeC4","rules":[{"$type":"ParserRule","name":"LikeC4Grammar","entry":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"specifications","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"models","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"views","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]}},{"$type":"Assignment","feature":"globals","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@93"},"arguments":[]}},{"$type":"Assignment","feature":"likec4lib","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LikeC4Lib","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"likec4lib"},{"$type":"Keyword","value":"{"},{"$type":"Keyword","value":"icons"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"icons","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LibIcon","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@116"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementKind","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Tag","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationshipKind","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColor","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@120"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRule","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"specification"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"relationships","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"colors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationElementKind","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"element"},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@107"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationElementStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"notation"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationTag","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"tag"},{"$type":"Assignment","feature":"tag","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationColor","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"color"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"color","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@115"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRelationshipKind","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"relationship"},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SpecificationRelationshipStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"notation"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Model","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"model"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":true},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Element","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false}}]}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}],"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"*"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":false},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@107"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@102"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ExtendElement","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"extend"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ExtendElementBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[{"$type":"NamedArgument","value":{"$type":"BooleanLiteral","true":true},"calledByName":false}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"FqnElementRef","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"FqnElementRef"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@134"},"arguments":[]},{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementRef","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementRef"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@134"},"arguments":[]},{"$type":"Assignment","feature":"el","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@15"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Tags","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"values","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Tags"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"values","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"*"}],"cardinality":"*"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Relation","parameters":[{"$type":"Parameter","name":"isExplicit"}],"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","guardCondition":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@24/parameters@0"}},"elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}]},{"$type":"Group","guardCondition":{"$type":"Negation","value":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@24/parameters@0"}}},"elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},"cardinality":"?"}]}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Assignment","feature":"technology","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"wildcard":false},{"$type":"ParserRule","name":"RelationBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@92"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"technology"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationStyleProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"style"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataProperty","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"metadata"},{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"MetadataAttribute","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ModelViews","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"views"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"views","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]}},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LikeC4ViewRule","returnType":{"$ref":"#/types@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementView","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"view"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"extends"},{"$type":"Assignment","feature":"extends","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"of"},{"$type":"Assignment","feature":"viewOf","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}]}],"cardinality":"?"},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicView","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"dynamic"},{"$type":"Keyword","value":"view"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}},{"$type":"Assignment","feature":"body","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@34"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewRef","definition":{"$type":"Assignment","feature":"view","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@35"},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementViewBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]},"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewBody","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"tags","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]},"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"steps","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]}},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@99"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewStringProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"title"},{"$type":"Keyword","value":"description"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewLayoutDirection","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"TopBottom"},{"$type":"Keyword","value":"LeftRight"},{"$type":"Keyword","value":"BottomTop"},{"$type":"Keyword","value":"RightLeft"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@86"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@105"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@101"},"arguments":[]}]},"cardinality":"*"},{"$type":"Assignment","feature":"groupRules","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@80"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@81"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@85"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@86"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewParallelSteps","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"parallel"},{"$type":"Keyword","value":"par"}]},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"steps","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewStep","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"source","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isBackward","operator":"?=","terminal":{"$type":"Keyword","value":"<-"}},{"$type":"Keyword","value":"->"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}}]},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@90"},"arguments":[]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRulePredicate","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"IncludePredicate"}},{"$type":"Keyword","value":"include"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ExcludePredicate"}},{"$type":"Keyword","value":"exclude"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Predicates","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Predicates"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Predicate","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@65"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGlobalPredicateRef","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"predicate"},{"$type":"Assignment","feature":"predicate","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@94"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicate","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicates","inferredType":{"$type":"InferredType","name":"ElementPredicate"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@55"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementPredicateWith"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@89"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementPredicateOrWhere","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementPredicateWhere"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"where"},{"$type":"Assignment","feature":"where","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementExpression","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@57"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementOr","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"or"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementAnd","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"and"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementPrimary","inferredType":{"$type":"InferredType","name":"WhereElementExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElementNegation","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"not"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereElement","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereElementTag"}},{"$type":"Keyword","value":"tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereElementKind"}},{"$type":"Keyword","value":"kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementExpression","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@63"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@64"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementSelectorExpression","inferredType":{"$type":"InferredType","name":"ElementExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WildcardExpression"}},{"$type":"Assignment","feature":"isWildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementTagExpression"}},{"$type":"Keyword","value":"element.tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@123"},"arguments":[]},{"$type":"Assignment","feature":"tag","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementKindExpression"}},{"$type":"Keyword","value":"element.kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@123"},"arguments":[]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementDescedantsExpression","inferredType":{"$type":"InferredType","name":"ElementExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ExpandElementExpression"},"feature":"expand","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@131"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementDescedantsExpression"},"feature":"parent","operator":"="},{"$type":"RuleCall","rule":{"$ref":"#/rules@132"},"arguments":[]}]}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicate","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@66"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicates","inferredType":{"$type":"InferredType","name":"RelationPredicate"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@67"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RelationPredicateWith"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"custom","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@90"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationPredicateOrWhere","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@74"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RelationPredicateWhere"},"feature":"subject","operator":"="},{"$type":"Keyword","value":"where"},{"$type":"Assignment","feature":"where","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationExpression","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@69"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationOr","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@70"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"or"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@70"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationAnd","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@71"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereBinaryExpression"},"feature":"left","operator":"="},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"and"}},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@71"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationPrimary","inferredType":{"$type":"InferredType","name":"WhereRelationExpression"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@72"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@73"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelationNegation","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"not"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@68"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"WhereRelation","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereRelationTag"}},{"$type":"Keyword","value":"tag"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@4"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@118"},"arguments":[]},"deprecatedSyntax":false},"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"WhereRelationKind"}},{"$type":"Keyword","value":"kind"},{"$type":"RuleCall","rule":{"$ref":"#/rules@122"},"arguments":[]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationExpression","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@75"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@77"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"InOutRelationExpressions","inferredType":{"$type":"InferredType","name":"RelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@76"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"InOutRelationExpression"},"feature":"inout","operator":"="},{"$type":"Keyword","value":"->"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IncomingRelationExpression","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DirectedRelationExpressions","inferredType":{"$type":"InferredType","name":"RelationExpression"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@78"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"DirectedRelationExpression"},"feature":"source","operator":"="},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"OutgoingRelationExpression","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isBidirectional","operator":"?=","terminal":{"$type":"Keyword","value":"<->"}},{"$type":"Keyword","value":"->"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-["},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"deprecatedSyntax":false}},{"$type":"Keyword","value":"]->"}]},{"$type":"Assignment","feature":"kind","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@5"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@119"},"arguments":[]},"deprecatedSyntax":false}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementExpressionsIterator","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ElementExpressionsIterator"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@62"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewIncludePredicate","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"include"},{"$type":"Assignment","feature":"predicates","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@82"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewGlobalPredicateRef","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"predicate"},{"$type":"Assignment","feature":"predicate","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@95"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DynamicViewPredicateIterator","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"DynamicViewPredicateIterator"},"feature":"prev","operator":"="},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]},"cardinality":"?"}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@79"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleGlobalStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"global"},{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"style","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@96"},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleStyleOrGlobalRef","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@83"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@84"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ViewRuleAutoLayout","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"autoLayout"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@43"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"rankSep","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]}},{"$type":"Assignment","feature":"nodeSep","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]},"cardinality":"?"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NotationProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"notation"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NotesProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"notes"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomElementProperties","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@91"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomRelationProperties","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@92"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@88"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@110"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NavigateToProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"navigateTo"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationNavigateToProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"navigateTo"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Globals","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"global"}},{"$type":"Keyword","value":"{"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@94"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@95"},"arguments":[]}]},"cardinality":"*"},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@97"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@98"},"arguments":[]}]},"cardinality":"*"}],"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalPredicateGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"predicateGroup"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalDynamicPredicateGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"dynamicPredicateGroup"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"predicates","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@80"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyleId","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyle","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"style"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@96"},"arguments":[]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@79"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@87"},"arguments":[]}]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GlobalStyleGroup","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"styleGroup"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@96"},"arguments":[]}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"styles","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@83"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LinkProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"link"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@117"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@139"},"arguments":[]},"cardinality":"?"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ColorProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"color"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"themeColor","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@113"},"arguments":[]}},{"$type":"Assignment","feature":"customColor","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@6"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@120"},"arguments":[]},"deprecatedSyntax":false}}]},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"OpacityProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"opacity"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@138"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IconProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"icon"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"libicon","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@116"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"none"},{"$type":"RuleCall","rule":{"$ref":"#/rules@117"},"arguments":[]}]}}]},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ShapeProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"shape"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"BorderStyleValue","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"none"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"BorderProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"border"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@104"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"StyleProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@103"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@105"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@101"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@102"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementStyleProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"style"}},{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"props","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@106"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LineProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Keyword","value":"line"}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrowProperty","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"key","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"head"},{"$type":"Keyword","value":"tail"}]}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RelationshipStyleProperty","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@100"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@108"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@109"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LineOptions","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"solid"},{"$type":"Keyword","value":"dashed"},{"$type":"Keyword","value":"dotted"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrowType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"none"},{"$type":"Keyword","value":"normal"},{"$type":"Keyword","value":"onormal"},{"$type":"Keyword","value":"dot"},{"$type":"Keyword","value":"odot"},{"$type":"Keyword","value":"diamond"},{"$type":"Keyword","value":"odiamond"},{"$type":"Keyword","value":"crow"},{"$type":"Keyword","value":"open"},{"$type":"Keyword","value":"vee"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ThemeColor","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"primary"},{"$type":"Keyword","value":"secondary"},{"$type":"Keyword","value":"muted"},{"$type":"Keyword","value":"slate"},{"$type":"Keyword","value":"blue"},{"$type":"Keyword","value":"indigo"},{"$type":"Keyword","value":"sky"},{"$type":"Keyword","value":"red"},{"$type":"Keyword","value":"gray"},{"$type":"Keyword","value":"green"},{"$type":"Keyword","value":"amber"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ElementShape","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rectangle"},{"$type":"Keyword","value":"person"},{"$type":"Keyword","value":"browser"},{"$type":"Keyword","value":"mobile"},{"$type":"Keyword","value":"cylinder"},{"$type":"Keyword","value":"storage"},{"$type":"Keyword","value":"queue"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColorValue","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@133"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@142"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@141"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IconId","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@128"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Uri","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@129"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@130"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TagId","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@133"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DotId","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@135"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@121"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CustomColorId","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"element"},{"$type":"Keyword","value":"model"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Id","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@140"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@114"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@113"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@112"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@111"},"arguments":[]},{"$type":"Keyword","value":"element"},{"$type":"Keyword","value":"model"},{"$type":"Keyword","value":"group"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EqOperator","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@136"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"is"}},{"$type":"Assignment","feature":"not","operator":"?=","terminal":{"$type":"Keyword","value":"not"},"cardinality":"?"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"IsEqual","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"isEqual","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@137"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@136"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","hidden":true,"name":"BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/[\\\\r\\\\n]+/"},"fragment":false},{"$type":"TerminalRule","name":"LIB_ICON","definition":{"$type":"RegexToken","regex":"/(aws|azure|gcp|tech):[-\\\\w]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"URI_WITH_SCHEMA","definition":{"$type":"RegexToken","regex":"/\\\\w+:\\\\/\\\\/\\\\S+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"URI_RELATIVE","definition":{"$type":"RegexToken","regex":"/\\\\.{0,2}\\\\/[^\\\\/]\\\\S+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DotUnderscore","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\._/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DotWildcard","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\.\\\\*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Hash","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"#"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"StickyDot","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\./"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Dot","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"."}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NotEqual","definition":{"$type":"RegexToken","regex":"/\\\\!\\\\={1,2}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Eq","definition":{"$type":"RegexToken","regex":"/\\\\={1,2}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Percent","definition":{"$type":"RegexToken","regex":"/\\\\b\\\\d+%/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"String","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"IdTerminal","definition":{"$type":"RegexToken","regex":"/[_]*[a-zA-Z][-\\\\w]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Number","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/\\\\b\\\\d+\\\\b/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"Hex","definition":{"$type":"RegexToken","regex":"/\\\\b[a-zA-Z0-9]+\\\\b/"},"fragment":false,"hidden":false}],"types":[{"$type":"Type","name":"LikeC4View","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@34"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@35"}}]}},{"$type":"Type","name":"StringProperty","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@18"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@42"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@27"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@31"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@13"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@87"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@88"}}]}},{"$type":"Type","name":"WhereTagEqual","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@61/definition/elements@0/elements@0/inferredType"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@73/definition/elements@0/elements@0/inferredType"}}]}},{"$type":"Type","name":"WhereKindEqual","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@61/definition/elements@1/elements@0/inferredType"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@73/definition/elements@1/elements@0/inferredType"}}]}},{"$type":"Type","name":"WhereExpression","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@56"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@68"}}]}}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"interfaces":[],"usedGrammars":[]}`)),tx={languageId:"likec4",fileExtensions:[".c4",".likec4",".like-c4"],caseInsensitive:!1},BK={skipValidations:!0,recoveryEnabled:!0,nodeLocationTracking:"full"},qK={AstReflection:()=>new QA},jK={Grammar:()=>zK(),LanguageMetaData:()=>tx,parser:{ParserConfig:()=>BK}},Ne=Xe.withTag("lsp");function Bt(t){Ne.error(t)}function ct(t){if(t instanceof Error){Ne.warn(t.stack??t.message);return}Ne.warn(t)}function UK(t){Ne.level=Ye[t]}function GK(t){const e={log:({level:n,...r},i)=>{if(n!==Ye.error&&n!==Ye.fatal)return;const s=r.tag||"",o=r.args.map(c=>cv(c)?c.stack??c.message:typeof c=="string"?c:""+c);s&&o.unshift(`[${s}]`);const a=o.join(" ");t.telemetry.logEvent({eventName:"error",error:a})}};Xe.addReporter(e),Ne.setReporters(Xe.options.reporters)}function WK(t){const e={log:({level:n,...r},i)=>{const s=r.tag||"",o=r.args.map(c=>cv(c)?c.stack??c.message:typeof c=="string"?c:""+c);s&&o.unshift(`[${s}]`);const a=o.join(" ");switch(!0){case n>=Ye.debug:{t.console.debug(a);break}case n>=Ye.log:{t.console.info(a);break}case n>=Ye.warn:{t.console.warn(a);break}case n>=Ye.fatal:{t.console.error(a);break}default:t.console.log(a)}}};Xe.setReporters([e]),Ne.setReporters(Xe.options.reporters)}function Cn(t){return t.el.ref}function Ap(t){const e=[t.el.$refText];let n=t.parent;for(;n;)e.push(n.el.$refText),n=n.parent;return e.length===1?e[0]:e.reverse().join(".")}const Yl=Symbol.for("idattr"),fb={writeId(t,e){return t[Yl]=e,t},readId(t){return t[Yl]}},nx={writeId(t,e){return at(e)?t[Yl]=void 0:t[Yl]=e,t},readId(t){return t[Yl]}};function HK(t){return Object.assign(t,{c4Specification:{tags:new Set,elements:{},relationships:{},colors:{}},c4Elements:[],c4Relations:[],c4Globals:{predicates:{},dynamicPredicates:{},styles:{}},c4Views:[]})}function xp(t){return t.textDocument.languageId===tx.languageId}function rx(t){return xp(t)&&t.state>=Ve.IndexedContent&&!!t.c4fqnIndex}function Xl(t){return xp(t)&&t.state==Ve.Validated&&!!t.c4Specification&&!!t.c4Elements&&!!t.c4Relations&&!!t.c4Views&&!!t.c4fqnIndex}function VK(t){return e=>t.some(n=>n(e))}const KK=VK([eb,zA,MA,ul,ll,OA,rp,ab,qw,Uw,Ww,Vw,gK,_A,lb,yK,Bw,Jw,NA,jw,hK,GA,Wr,lK,ha,Gr,Qw,ga,Da,Ra,kp,Sp,ub,mp,ib]),YK=t=>{let e=t;for(;e;){if(KK(e))return e;e=e.$container}};function XK(t){const e=t.diagnostics?.filter(r=>r.severity===Zc.Error)??[],n=new WeakSet(e.flatMap(r=>YK(r.node)??[]));return{isValid:r=>!n.has(r),invalidNodes:n}}function*JK(t,e){const n=t.parseResult.value.models.flatMap(s=>s.elements),r=[];let i;for(;i=n.shift();)if(e(i)){if(Wr(i)){r.push(i);continue}if(ga(i)){i.body&&i.body.elements.length>0&&n.push(...i.body.elements);continue}i.body&&i.body.elements.length>0&&n.push(...i.body.elements),yield i}for(const s of r)yield s}function ZK(t){const e=Cn(t.target);if(!e)throw new Error("RelationRefError: Invalid reference to target");if(At(t.source)){const n=Cn(t.source);if(!n)throw new Error("RelationRefError: Invalid reference to source");return{source:n,target:e}}if(!ha(t.$container))throw new Error("RelationRefError: Invalid container for sourceless relation");return{source:t.$container.$container,target:e}}function ix({value:t}){const e=parseFloat(t);return isNaN(e)?100:zk(e,{min:0,max:100})}function Ip(t,e){const n={};if(!t||t.length===0)return n;for(const r of t)if(e(r))switch(!0){case Vh(r):{ae(r.value)&&(n.border=r.value);break}case so(r):{const i=Jl(r);ae(i)&&(n.color=i);break}case Tp(r):{ae(r.value)&&(n.shape=r.value);break}case es(r):{const i=r.libicon?.ref?.name??r.value;ae(i)&&(n.icon=i);break}case yp(r):{n.opacity=ix(r);break}default:Ie(r.$type)}return n}function QK(t){const e={};if(!t||t.length===0)return e;for(const n of t){if(so(n)){const r=Jl(n);ae(r)&&(e.color=r);continue}if(yl(n)){e.line=n.value;continue}if(Wu(n)){switch(n.key){case"head":{e.head=n.value;break}case"tail":{e.tail=n.value;break}default:Ie(n)}continue}Ie(n)}return e}function sx(t){const{color:e,line:n,head:r,tail:i}=QK(t?.filter(pK));return{...e&&e!==Ts?{color:e}:{},...n&&n!==wE?{line:n}:{},...r&&r!==Ro?{head:r}:{},...i?{tail:i}:{}}}function Jl(t){return t?.themeColor??t?.customColor?.$refText}function ox(t){const e=t.rankSep,n=t.nodeSep;let r;switch(t.direction){case"TopBottom":{r="TB";break}case"BottomTop":{r="BT";break}case"LeftRight":{r="LR";break}case"RightLeft":{r="RL";break}default:Ie(t.direction)}return{direction:r,...n&&{nodeSep:n},...e&&{rankSep:e}}}function eY(t){switch(t){case"TB":return"TopBottom";case"BT":return"BottomTop";case"LR":return"LeftRight";case"RL":return"RightLeft";default:Ie(t)}}function ax(t){if(qw(t))return t;if(Yw(t))return t.subject;if(rp(t))return ax(t.subject);Ie(t)}class tY{constructor(e){this.services=e}async provideCodeLens(e,n,r){return e.state!==Ve.Validated&&(Ne.debug(`Waiting for document ${e.uri.path} to be validated`),await this.services.shared.workspace.DocumentBuilder.waitUntil(Ve.Validated,e.uri,r),Ne.debug(`Document ${e.uri.path} is validated`)),Xl(e)?e.parseResult.value.views.flatMap(i=>i.views).flatMap(i=>{const s=fb.readId(i),o=i.$cstNode?.range;return!o||!s?[]:{range:{start:o.start,end:{line:o.start.line,character:o.start.character+4}},command:{command:"likec4.open-preview",arguments:[s],title:"open preview"}}}):void 0}}class nY extends pC{completionOptions={triggerCharacters:["."]};completionForKeyword(e,n,r){if(this.filterKeyword(e,n)){if(["title","description","technology"].includes(n.value))return r(e,{label:n.value,kind:Lt.Property,insertTextFormat:pr.Snippet,insertText:`${n.value} '\${0}'`});if(["views","specification","model","with"].includes(n.value))return r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} {
|
|
1726
|
-
$0
|
|
1727
|
-
}`});if(n.value==="group")return r(e,{label:n.value,detail:"Insert group block",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:["group '${1:Title}' {"," $0","}"].join(`
|
|
1728
|
-
`)});if(n.value==="dynamic")return r(e,{label:n.value,detail:"Insert dynamic view",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:["dynamic view ${1:view_${TM_FILENAME_BASE}_${CURRENT_SECOND}} {"," title '${2:Untitled}'"," "," $0","}"].join(`
|
|
1729
|
-
`)});if(n.value==="style"&&e.node)return $c(e.node,ul)?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} \${1:name} \${2:*} {
|
|
1730
|
-
\${3|color,shape,border,opacity,icon|} $0
|
|
1731
|
-
}`}):$c(e.node,lv([mp,ll]))?r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} \${1:*} {
|
|
1732
|
-
\${2|color,shape,border,opacity,icon|} $0
|
|
1733
|
-
}`}):r(e,{label:n.value,detail:`Insert ${n.value} block`,kind:Lt.Module,insertTextFormat:pr.Snippet,insertText:`${n.value} {
|
|
1734
|
-
\${1|color,shape,border,opacity,icon|} $0
|
|
1735
|
-
}`});if(n.value==="extend")return r(e,{label:n.value,detail:"Extend another view",kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:`extend \${1:element} {
|
|
1736
|
-
$0
|
|
1737
|
-
}`});if(n.value==="autoLayout")return r(e,{label:n.value,kind:Lt.Class,insertTextFormat:pr.Snippet,insertText:"autoLayout ${1|TopBottom,BottomTop,LeftRight,RightLeft|}$0"});r(e,{label:n.value,kind:this.getKeywordCompletionItemKind(n),detail:"Keyword",sortText:"1"})}}}class rY extends mC{createDocumentHighlight(e){return me.DocumentHighlight.create(e.segment.range,me.DocumentHighlightKind.Read)}}class iY{constructor(e){this.services=e}getDocumentLinks(e,n){return Xl(e)?Ir(e.parseResult.value).filter(pp).map(r=>{try{const i=An(r.$cstNode,"value")?.range,s=this.resolveLink(e,r.value);if(i&&zw(s))return{range:i,target:s}}catch(i){ct(i)}return null}).nonNullable().toArray():[]}resolveLink(e,n){if(zw(n)||_h(n))return n;const r=SA(n)?new URL(e.uri.toString(!0)):this.services.shared.workspace.WorkspaceManager.workspaceURL;return new URL(n,r).toString()}relativeLink(e,n){if(_h(n))return kA(n);if(SA(n)){const r=new URL(e.uri.toString(!0)),i=new URL(n,r).toString();return kA(oK(i,this.services.shared.workspace.WorkspaceManager.workspaceURL.toString()))}return null}}class sY{constructor(e){this.services=e,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}nodeKindProvider;getSymbols({parseResult:{value:{specifications:e,models:n,views:r,likec4lib:i}}}){return[...i.map(s=>()=>this.getLikec4LibSymbol(s)),...e.map(s=>()=>this.getSpecSymbol(s)),...n.map(s=>()=>this.getModelSymbol(s)),...r.map(s=>()=>this.getModelViewsSymbol(s))].flatMap(s=>{try{return s()??[]}catch(o){return Bt(o),[]}})}getLikec4LibSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=e.icons.map(i=>this.getLibIconSymbol(i)).filter(ae);return r.length===0?[]:[{kind:mr.Namespace,name:"icons",range:n.range,selectionRange:Ac(n,"icons")?.range??n.range,children:r}]}getSpecSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=An(n,"name");if(!r)return[];const i=Ke([...e.elements,...e.tags,...e.relationships],Dt(s=>{try{if(Da(s)||Ra(s))return this.getKindSymbol(s);if(kp(s))return this.getTagSymbol(s)}catch(o){return Bt(o),null}Ie(s)}),nt(ae));return i.length===0?[]:[{kind:mr.Namespace,name:e.name,range:n.range,selectionRange:r.range,children:i}]}getModelSymbol(e){const n=e.$cstNode;if(!n)return[];const r=An(n,"name");return r?[{kind:this.symbolKind(e),name:e.name,range:n.range,selectionRange:r.range,children:e.elements.flatMap(i=>this.getElementsSymbol(i))}]:[]}getElementsSymbol(e){try{if(ga(e))return this.getExtendElementSymbol(e);if(Gr(e))return this.getElementSymbol(e)}catch(n){Bt(n)}return[]}getExtendElementSymbol(e){const n=e.$cstNode,r=e.element.$cstNode,i=e.body;return!n||!r?[]:[{kind:this.symbolKind(e),name:Ap(e.element),range:n.range,selectionRange:r.range,children:i.elements.flatMap(s=>this.getElementsSymbol(s))}]}getElementSymbol(e){const n=e.$cstNode,r=An(n,"name");if(!r||!n)return[];const i=e.name,s=e.kind.$refText;return[{kind:this.symbolKind(e),name:i,range:n.range,selectionRange:r.range,detail:s,children:e.body?.elements.flatMap(o=>this.getElementsSymbol(o))??[]}]}getModelViewsSymbol(e){const n=e.$cstNode,r=An(n,"name");return!r||!n?[]:[{kind:this.symbolKind(e),name:e.name,range:n.range,selectionRange:r.range,children:e.views.flatMap(i=>this.getViewSymbol(i))}]}getKindSymbol(e){return!e.$cstNode||!e.kind.$cstNode||Yi(e.kind.name)?null:{kind:this.symbolKind(e),name:e.kind.name,range:e.$cstNode.range,selectionRange:e.kind.$cstNode.range}}getTagSymbol(e){return!e.$cstNode||!e.tag.$cstNode||Yi(e.tag.name)?null:{kind:this.symbolKind(e),name:"#"+e.tag.name,range:e.$cstNode.range,selectionRange:e.tag.$cstNode.range}}getLibIconSymbol(e){return!e.$cstNode||Yi(e.name)?null:{kind:this.symbolKind(e),name:e.name,range:e.$cstNode.range,selectionRange:e.$cstNode.range}}getViewSymbol(e){const n=e?.$cstNode;if(!n)return[];const r=e.name?An(n,"name"):null;return r?[{kind:this.symbolKind(e),name:r.text,range:n.range,selectionRange:r.range,children:[]}]:[]}symbolKind(e){return this.nodeKindProvider.getSymbolKind(e)}}class oY extends wC{locator;constructor(e){super(e),this.locator=e.likec4.ModelLocator}getAstNodeHoverContent(e){if(KA(e))return{contents:{kind:"markdown",value:Ov(`
|
|
1738
|
-
tag: \`${e.name}\`
|
|
1739
|
-
`)}};if(Gr(e)){const n=this.locator.getParsedElement(e);return n?{contents:{kind:"markdown",value:[n.id,`### ${n.title}`,"`"+n.kind+"` "].join(`
|
|
1740
|
-
`)}}:void 0}}}class aY extends uG{highlightElement(e,n){if(IK(e))return n({node:e,property:"name",type:qe.function});if(_K(e))return n({node:e,property:"name",type:qe.type,modifier:[lt.definition]}),"prune";if(ob(e)&&"kind"in e){n({node:e,property:"kind",type:qe.function});return}if(Wr(e)&&"kind"in e&&n({node:e,property:"kind",type:qe.function}),sb(e)||Ep(e))return n({node:e,property:"key",type:qe.property}),n({node:e,property:"value",type:qe.variable,modifier:[lt.definition,lt.readonly]}),"prune";if((Kw(e)||$a(e))&&e.$cstNode)return n({cst:e.$cstNode,type:qe.variable,modifier:[lt.definition,lt.readonly]}),"prune";if(JA(e)&&ae(e.value)){n({node:e,property:"value",type:qe.function});return}if((xA(e)||PA(e))&&ae(e.value)){n({node:e,property:"value",type:qe.type,modifier:[lt.definition,lt.readonly]});return}if(np(e)&&ae(e.kind))return n({node:e,property:"kind",type:qe.type,modifier:[lt.definition]}),"prune";if(ip(e)&&ae(e.tag))return n({node:e,property:"tag",type:qe.type,modifier:[lt.definition]}),"prune";if(nl(e)||FA(e))return n({node:e,property:"el",type:e.parent?qe.property:qe.variable,modifier:[lt.definition,lt.readonly]}),e.parent?void 0:"prune";if(Sp(e)){n({node:e,keyword:"color",type:qe.keyword}),n({node:e,property:"name",type:qe.type,modifier:[lt.declaration,lt.readonly]});return}if((Da(e)||Ra(e))&&n({node:e,property:"kind",type:qe.type,modifier:[lt.declaration,lt.readonly]}),lb(e))return n({node:e,property:"values",type:qe.interface});if(KA(e))return n({node:e,property:"name",type:qe.type,modifier:[lt.definition]});if((cb(e)||sl(e)&&ha(e.$container))&&n({node:e,property:"key",type:qe.property}),yp(e))return n({node:e,property:"key",type:qe.property}),n({node:e,property:"value",type:qe.number}),"prune";if(pp(e)||es(e)||mK(e))return n({node:e,property:"key",type:qe.property}),es(e)?(e.libicon?n({node:e,property:"libicon",type:qe.enum,modifier:[lt.defaultLibrary]}):e.value==="none"?n({node:e,property:"value",type:qe.enum,modifier:[lt.defaultLibrary]}):n({node:e,property:"value",type:qe.string}),"prune"):("value"in e&&e.value&&n({node:e,property:"value",type:qe.string}),"prune");if(so(e)||Tp(e)||Wu(e)||yl(e)||Vh(e))return n({node:e,property:"key",type:qe.property}),"value"in e&&n({node:e,property:"value",type:qe.enum}),"prune";if(Gr(e))return this.highlightAstElement(e,n);if(jw(e))return this.highlightView(e,n)}highlightAstElement(e,n){n({node:e,property:"name",type:qe.variable,modifier:[lt.declaration,lt.readonly]}),n({node:e,property:"kind",type:qe.keyword,modifier:[]})}highlightView(e,n){e.name&&n({node:e,property:"name",type:qe.variable,modifier:[lt.declaration,lt.readonly,"local"]})}}const{findNodeForProperty:cY}=af,{toDocumentSegment:cx}=hM;function uY(t,e,n){const r=cY(e.$cstNode,"name");return{documentUri:n.uri,name:e.name,...e.$cstNode&&{selectionSegment:cx(e.$cstNode)},...r&&{nameSegment:cx(r)},path:t.getAstNodePath(e),type:Ur}}function lY(t,e){const n=t.c4fqnIndex=new Mr,r=t.parseResult.value.models.flatMap(a=>a.elements);if(r.length===0)return;const i=e.workspace.AstNodeLocator,s=r.map(a=>[a,null]);let o;for(;o=s.shift();)try{const[a,c]=o;if(Wr(a))continue;if(ga(a)){if(At(a.body)&&!Yi(a.body.elements)){const u=Ap(a.element);for(const l of a.body.elements)Wr(l)||s.push([l,u])}continue}if(Gr(a)){const u=aO(a.name,c);if(n.add(u,{...uY(i,a,t),fqn:u}),nx.writeId(a,u),At(a.body)&&!Yi(a.body.elements))for(const l of a.body.elements)Wr(l)||s.push([l,u]);continue}Ie(a)}catch(a){Bt(a)}}class dY{constructor(e){this.services=e,this.langiumDocuments=e.shared.workspace.LangiumDocuments,e.shared.workspace.DocumentBuilder.onBuildPhase(Ve.IndexedContent,async(n,r)=>{for(const i of n)if(xp(i)){delete i.c4fqnIndex,delete i.c4Elements,delete i.c4Specification,delete i.c4Relations,delete i.c4Views;try{lY(i,e)}catch(s){ct(s)}}return await Promise.resolve()}),Ne.debug("[FqnIndex] Created")}langiumDocuments;get documents(){return this.langiumDocuments.all.filter(rx)}entries(e){return this.documents.flatMap(n=>n.c4fqnIndex.keys().filter(e).flatMap(r=>n.c4fqnIndex.get(r)))}getFqn(e){return nx.readId(e)??null}byFqn(e){return this.documents.flatMap(n=>n.c4fqnIndex.get(e))}directChildrenOf(e){return Qe([e]).flatMap(n=>{const r=this.entries(i=>kt(i)===n).map(i=>[i.name,i]).toArray();return r.length===0?[]:new Mr(r).entriesGroupedByKey().flatMap(([i,s])=>s.length===1?s:[]).iterator()})}uniqueDescedants(e){return new It(()=>{const n=`${e}.`,r=new Set,i=[],s=new Mr;if(this.entries(o=>o.startsWith(n)).forEach(o=>{const a=So(o.fqn),c={...o,name:a};kt(o.fqn)===e?(r.add(a),s.add(a,c)):i.push(c)}),s.size+i.length===0)return null;for(const o of i)r.has(o.name)||s.add(o.name,o);return s.entriesGroupedByKey().flatMap(([o,a])=>a.length===1?a:[]).iterator()},n=>n?n.next():Xt)}}function fY(t){const e=new Map;for(const n of t)if(wO(n)&&n.viewOf&&at(n.extends)){const r=e.get(n.viewOf)??[];r.push(n.id),e.set(n.viewOf,r)}for(const{id:n,nodes:r}of t)for(const i of r){if(i.navigateTo)continue;const s=Lk(e.get(i.id)??[],o=>o!==n);s&&(i.navigateTo=s)}return t}function hY(t){const e=new mA({directed:!0,multigraph:!1,compound:!1});for(const n of ch(t))e.setNode(n.id,n.id),SE(n)&&e.setEdge(n.id,n.extends);if(e.edgeCount()===0)return t;for(;!_V(e);){const n=sa(CV(e));if(!n)break;const r=ia(n);if(!r)break;e.removeNode(r)}return gA(e,e.sources()).reduce((n,r)=>{const i=t[r];if(!i)return n;if(SE(i)){const s=n[i.extends];return s?Object.assign(n,{[i.id]:{...s,...i,rules:[...s.rules,...i.rules]}}):(Xe.debug(`View "${i.id}" extends from "${i.extends}" which does not exist`),n)}return Object.assign(n,{[i.id]:i})},{})}function pY(t,e="/"){const n=Ke(t,Dt(c=>c.docUri),nt(ae),zr());if(n.length===0)return"";if(n.length===1){const c=Ah(n[0]).pathname.split(e);return c.length<=1?e:(c.pop(),c.join(e)+e)}we(Hi(n,2),"Expected at least 2 unique URIs");const[r,...i]=n,s=Ah(r).pathname.split(e);let o=s.length;for(const c of i){if(c===r)continue;const u=Ah(c).pathname.split(e);for(let l=0;l<o;l++)u[l]!==s[l]&&(o=l);if(o===0)return""}const a=s.slice(0,o).join(e);return a.endsWith(e)?a:a+e}function mY(t){const e="/",n=pY(t,e);return t.map(r=>{if(!r.docUri)return{view:r,parts:[]};let i=Ah(r.docUri).pathname;return n.length>0?(we(i.startsWith(n),`Expect path "${i}" to start with common prefix: "${n}"`),i=i.slice(n.length)):i=i.includes(e)?i.slice(i.lastIndexOf(e)+1):i,{view:r,parts:i.split(e)}}).sort((r,i)=>{if(r.parts.length!==i.parts.length)return r.parts.length-i.parts.length;for(let s=0;s<r.parts.length;s++){const o=za(r.parts[s],i.parts[s]);if(o!==0)return o}return za(r.view.title??r.view.id,i.view.title??i.view.id)}).map(({parts:r,view:i})=>({...i,relativePath:r.join(e)}))}function gY(t,e){const n={tags:new Set,elements:{},relationships:{},colors:{}},r={predicates:{},dynamicPredicates:{},styles:{}};for(const h of e){const{c4Specification:p,c4Globals:m}=h;p.tags.forEach(g=>n.tags.add(g)),Object.assign(n.elements,p.elements),Object.assign(n.relationships,p.relationships),Object.assign(n.colors,p.colors),Object.assign(r.predicates,m.predicates),Object.assign(r.dynamicPredicates,m.dynamicPredicates),Object.assign(r.styles,m.styles)}function i(h,p){return Dt(p,m=>{try{const g=t.lsp.DocumentLinkProvider.relativeLink(h,m.url);if(g&&g!==m.url)return{...m,relative:g}}catch(g){ct(g)}return m})}const s=Vi(n.colors,h=>oM(h.color));function o(h){return({tags:p,links:m,style:{color:g,shape:y,icon:w,opacity:E,border:k},id:A,kind:I,title:x,description:_,technology:P,metadata:O})=>{try{const C=n.elements[I];if(!C)return Ne.warn(`No kind '${I}' found for ${A}`),null;const D=m?i(h,m):null;return g??=C.style.color,y??=C.style.shape,w??=C.style.icon,E??=C.style.opacity,k??=C.style.border,P??=C.technology,{...g&&{color:g},...y&&{shape:y},...w&&{icon:w},...O&&!Yi(O)&&{metadata:O},...C.notation&&{notation:C.notation},style:{...k&&{border:k},...lh(E)&&{opacity:E}},links:D,tags:p??null,technology:P??null,description:_??null,title:x,kind:I,id:A}}catch(C){ct(C)}return null}}const a=Ke(e,wi(h=>Dt(h.c4Elements,o(h))),nt(ae),VO,Ik((h,p)=>{const m=kt(p.id);return m&&at(h[m])?(ct(`No parent found for ${p.id}`),h):(h[p.id]=p,h)},{}));function c(h){return({astPath:p,source:m,target:g,kind:y,links:w,id:E,...k})=>{if(at(a[m])||at(a[g]))return Ne.warn(`Invalid relation ${E}, source: ${m}(${!!a[m]}), target: ${g}(${!!a[g]})`),null;const A=w?i(h,w):null;return Br(y)&&y in n.relationships?{...n.relationships[y],...k,...A&&{links:A},source:m,target:g,kind:y,id:E}:{...A&&{links:A},...k,source:m,target:g,id:E}}}const u=Ke(e,wi(h=>Dt(h.c4Relations,c(h))),nt(ae),ra(Ha),uh(),uv(yi("id")));function l(h){const p=h.uri.toString();return m=>{let{id:g,title:y,description:w,tags:E,links:k,astPath:A,...I}=m;m.__==="element"&&at(y)&&"viewOf"in m&&(y=a[m.viewOf]?.title??null),at(y)&&g==="index"&&(y="Landscape view");const x=k?i(h,k):null;return{...I,customColorDefinitions:s,tags:E,links:x,docUri:p,description:w,title:y,id:g}}}const d=Ke(e,wi(h=>Dt(h.c4Views,l(h))),mY);d.some(h=>h.id==="index")||d.unshift({__:"element",id:"index",title:"Landscape view",description:null,tags:null,links:null,customColorDefinitions:s,rules:[{include:[{wildcard:!0}]}]});const f=Ke(d,uv(yi("id")),hY);return{specification:{tags:Array.from(n.tags),elements:n.elements,relationships:n.relationships},elements:a,relations:u,globals:r,views:f}}const hb="ParsedLikeC4Model",pb="ComputedLikeC4Model";class yY{constructor(e){this.services=e,this.langiumDocuments=e.shared.workspace.LangiumDocuments;const n=e.likec4.ModelParser;e.shared.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.notifyListeners(i)}),e.shared.workspace.DocumentBuilder.onBuildPhase(Ve.Validated,async(r,i)=>{let s=[];try{Ne.debug(`[ModelBuilder] onValidated (${r.length} docs)`);for(const o of n.parse(r))s.push(o.uri)}catch(o){ct(o)}return s.length>0&&this.notifyListeners(s),await Promise.resolve()}),Ne.debug("[ModelBuilder] Created")}langiumDocuments;listeners=[];unsafeSyncBuildModel(){return this.services.WorkspaceCache.get(hb,()=>{const e=this.documents();return e.length===0?(Ne.debug("[ModelBuilder] No documents to build model from"),null):(Ne.debug(`[ModelBuilder] buildModel (${e.length} docs)`),gY(this.services,e))})}async buildModel(e){const n=this.services.WorkspaceCache;return n.has(hb)?n.get(hb):await this.services.shared.workspace.WorkspaceLock.read(async()=>(e&&await zt(e),this.unsafeSyncBuildModel()))}previousViews={};unsafeSyncBuildComputedModel(e){const n=this.services.WorkspaceCache,r=this.services.WorkspaceCache;return n.get(pb,()=>{const i=new RA(e),s=[];for(const a of ch(e.views)){const c=Dd(a)?DA(a,i):TA(a,i);if(!c.isSuccess){ct(c.error);continue}s.push(c.view)}fY(s);const o=vi(s,a=>{const c=this.previousViews[a.id],u=c&&c_(a,c)?c:a;return r.set(ux(a.id),u),[a.id,u]});return this.previousViews={...o},{specification:e.specification,elements:e.elements,relations:e.relations,globals:e.globals,views:o}})}async buildComputedModel(e){const n=this.services.WorkspaceCache;return n.has(pb)?n.get(pb):await this.services.shared.workspace.WorkspaceLock.read(async()=>{e&&await zt(e);const r=this.unsafeSyncBuildModel();return r?this.unsafeSyncBuildComputedModel(r):null})}async computeView(e,n){const r=this.services.WorkspaceCache,i=ux(e);return r.has(i)?r.get(i):await this.services.shared.workspace.WorkspaceLock.read(async()=>(n&&await zt(n),r.get(i,()=>{const s=this.unsafeSyncBuildModel(),o=s?.views[e];if(!o)return Ne.warn(`[ModelBuilder] Cannot find view ${e}`),null;const a=new RA(s),c=Dd(o)?DA(o,a):TA(o,a);if(!c.isSuccess)return Bt(c.error),null;let u=c.view;const l=Ke(s.views,ch(),nt(_m),nt(f=>f.id!==e),dh(f=>f.viewOf));for(const f of u.nodes)if(!f.navigateTo){const h=l[f.id];h&&(f.navigateTo=h[0].id)}const d=this.previousViews[e];return u=d&&c_(u,d)?d:u,this.previousViews[e]=u,u})))}onModelParsed(e){return this.listeners.push(e),Us.create(()=>{const n=this.listeners.indexOf(e);n>=0&&this.listeners.splice(n,1)})}documents(){return this.langiumDocuments.all.filter(Xl).toArray()}notifyListeners(e){for(const n of this.listeners)try{n(e)}catch(r){Bt(r)}}}function ux(t){return`computed-view-${t}`}const{findNodeForKeyword:vY,findNodeForProperty:Pp}=af,{getDocument:wY}=Zd;class bY{constructor(e){this.services=e,this.fqnIndex=e.likec4.FqnIndex,this.langiumDocuments=e.shared.workspace.LangiumDocuments}fqnIndex;langiumDocuments;documents(){return this.langiumDocuments.all.filter(Xl)}getParsedElement(e){const n=this.fqnIndex.getFqn(e);if(!n)return null;const r=wY(e);return Xl(r)?r.c4Elements.find(i=>i.id===n)??null:null}locateElement(e,n){const r=this.fqnIndex.byFqn(e).head(),i=r?.nameSegment??r?.selectionSegment;return!r||!i?null:{uri:r.documentUri.toString(),range:i.range}}locateRelation(e){for(const n of this.documents()){const r=n.c4Relations.find(o=>o.id===e);if(!r)continue;const i=this.services.workspace.AstNodeLocator.getAstNode(n.parseResult.value,r.astPath);if(!Wr(i))continue;let s=i.title?Pp(i.$cstNode,"title"):void 0;if(s??=i.kind?Pp(i.$cstNode,"kind"):void 0,s??=Pp(i.$cstNode,"target"),s??=i.$cstNode,!!s)return{uri:n.uri.toString(),range:s.range}}return null}locateViewAst(e){for(const n of this.documents()){const r=n.c4Views.find(s=>s.id===e);if(!r)continue;const i=this.services.workspace.AstNodeLocator.getAstNode(n.parseResult.value,r.astPath);if(jw(i))return{doc:n,view:r,viewAst:i}}return null}locateView(e){const n=this.locateViewAst(e);if(!n)return null;const r=n.viewAst;let i=r.name?Pp(r.$cstNode,"name"):void 0;return i??=vY(r.$cstNode,"view"),i??=r.$cstNode,i?{uri:n.doc.uri.toString(),range:i.range}:null}}function mb(...t){var e=t.length>1?t.join(":::"):t[0];return pH(e).toString(36)}function EY({nodes:t,edges:e,...n}){return{...n,nodes:Vi(t,({x:r,y:i,width:s,height:o,isCompound:a,...c})=>({...c,b:[r,i,s,o],c:a})),edges:Vi(e,({points:r,controlPoints:i,labelBBox:s,dotpos:o,...a})=>({...!!i&&{cp:i},...!!s&&{l:s},...!!o&&{dp:o},...a,p:r}))}}function DY({nodes:t,edges:e,autoLayout:n,...r}){return{...r,autoLayout:gO(n)?{direction:n}:n,nodes:Vi(t,({b:i,c:s,...o})=>({x:i[0],y:i[1],width:i[2],height:i[3],isCompound:s,...o})),edges:Vi(e,({p:i,cp:s,l:o,dp:a,...c})=>({...!!s&&{controlPoints:s},...!!o&&{labelBBox:o},...!!a&&{dotpos:a},...c,points:i}))}}const lx=500;function TY(t){const e=MW(EY(t)),n=tH(e),r=[];let i=0;for(;i<n.length;)r.push(" * "+n.slice(i,Math.min(i+lx,n.length))),i+=lx;return r.unshift("/**"," * @likec4-generated(v1)"),r.push(" */"),r.join(`
|
|
1741
|
-
`)}function dx(t){return t.includes("@likec4-generated")}function RY(t){if(!dx(t))throw new Error(`Not a likec4-generated comment: ${t}`);const e=t.trim().split(`
|
|
1742
|
-
`).filter(r=>!r.includes("**")&&!r.includes("@likec4-")&&!r.includes("*/")).map(r=>r.replaceAll("*","").trim()).join(""),n=QW(e);return DY(YW(n))}const fx=({operator:t,not:e},n)=>t.startsWith("!=")?{neq:n}:t.startsWith("=")?{eq:n}:e?{neq:n}:{eq:n};function Zl(t){switch(!0){case EK(t):{const e=t.value?.ref?.name;return we(e,"Expected tag name"),{tag:fx(t,e)}}case wK(t):{const e=t.value?.ref?.name;return we(e,"Expected kind name"),{kind:fx(t,e)}}case(XA(t)||ZA(t)):return{not:Zl(t.value)};case OK(t):{const e=Zl(t.left),n=Zl(t.right),r=t.operator.toLowerCase();switch(r){case"and":{const i=[km(e)?e.and:e,km(n)?n.and:n].flat();return we(Ss(i),"Expected non-empty array"),{and:i}}case"or":{const i=[$m(e)?e.or:e,$m(n)?n.or:n].flat();return we(Ss(i),"Expected non-empty array"),{or:i}}default:Ie(r)}}default:Ie(t)}}const{getDocument:gb}=Zd;function rs(t){return Br(t)?Zt(t).split(`
|
|
1743
|
-
`).join(" "):void 0}function Zt(t){return Br(t)?Ov(t).trim():void 0}class SY{constructor(e){this.services=e,this.fqnIndex=e.likec4.FqnIndex,Ne.debug("[ModelParser] Created")}fqnIndex;parse(e){const n=Array.isArray(e)?e:[e],r=[];for(const i of n){if(!rx(i)){Ne.warn(`Not a FqnIndexedDocument: ${i.uri.toString(!0)}`);continue}try{r.push(this.parseLikeC4Document(i))}catch(s){Bt(new Error(`Error parsing document ${i.uri.toString()}`,{cause:s}))}}return r}parseLikeC4Document(e){const n=HK(e),{isValid:r}=XK(n);return this.parseSpecification(n,r),this.parseModel(n,r),this.parseGlobal(n,r),this.parseViews(n,r),n}parseSpecification(e,n){const{parseResult:r,c4Specification:i}=e,s=r.value.specifications.filter(n),o=s.flatMap(l=>l.elements.filter(n));for(const{kind:l,props:d}of o)try{const f=l.name;if(!ae(f))continue;if(f in i.elements){Ne.warn(`Element kind "${f}" is already defined`);continue}const h=d.find(sl),p=vi(d.filter(HA).filter(m=>Br(m.value))??[],m=>[m.key,Zt(m.value)]);i.elements[f]={...p,style:{...Ip(h?.props,n)}}}catch(f){ct(f)}const a=s.flatMap(l=>l.relationships.filter(n));for(const{kind:l,props:d}of a)try{const f=l.name;if(!ae(f))continue;if(f in i.relationships){Ne.warn(`Relationship kind "${f}" is already defined`);continue}const h=vi(d.filter(VA).filter(p=>Br(p.value))??[],p=>[p.key,Zt(p.value)]);i.relationships[f]={...h,...sx(d)}}catch(f){ct(f)}const c=s.flatMap(l=>l.tags.filter(n));for(const l of c){const d=l.tag.name;ae(d)&&i.tags.add(d)}const u=s.flatMap(l=>l.colors.filter(n));for(const{name:l,color:d}of u)try{const f=l.name;if(f in i.colors){Ne.warn(`Custom color "${f}" is already defined`);continue}i.colors[f]={color:d}}catch(f){ct(f)}}parseModel(e,n){for(const r of JK(e,n)){if(Gr(r)){try{e.c4Elements.push(this.parseElement(r,n))}catch(i){ct(i)}continue}if(Wr(r)){try{e.c4Relations.push(this.parseRelation(r))}catch(i){ct(i)}continue}Ie(r)}}parseElement(e,n){const r=this.resolveFqn(e),i=e.kind.$refText,s=this.convertTags(e.body),o=e.body?.props.find(sl)?.props,a=Ip(o,n),c=this.getMetadata(e.body?.props.find($A)),u=this.getAstNodePath(e);let[l,d,f]=e.props??[];const h=vi(e.body?.props.filter(Xw)??[],g=>[g.key,g.value||void 0]);l=rs(l??h.title),d=Zt(h.description??d),f=rs(h.technology??f);const p=this.convertLinks(e.body),m=e.body?.props.find(es);if(m){const g=m.libicon?.ref?.name??m.value;ae(g)&&(a.icon=g)}return{id:r,kind:i,astPath:u,title:l??e.name,...c&&{metadata:c},...s&&{tags:s},...p&&Ss(p)&&{links:p},...ae(f)&&{technology:f},...ae(d)&&{description:d},style:a}}parseRelation(e){const n=ZK(e),r=this.resolveFqn(n.target),i=this.resolveFqn(n.source),s=this.convertTags(e)??this.convertTags(e.body),o=this.convertLinks(e.body),a=e.kind?.ref?.name,c=this.getMetadata(e.body?.props.find($A)),u=this.getAstNodePath(e),l=vi(e.body?.props.filter(Dp).filter(g=>Br(g.value))??[],g=>[g.key,g.value]),d=Ke(e.body?.props??[],nt(Ep),Dt(g=>g.value.view.ref?.name),nt(ae),sa()),f=Zt(e.title??l.title)??"",h=Zt(l.description),p=Zt(e.technology)??rs(l.technology),m=e.body?.props.find(cb);return{id:mb(u,i,r),astPath:u,source:i,target:r,title:f,...c&&{metadata:c},...ae(p)&&{technology:p},...ae(h)&&{description:h},...a&&{kind:a},...s&&{tags:s},...Ss(o)&&{links:o},...sx(m?.props),...d&&{navigateTo:d}}}parseGlobal(e,n){const{parseResult:r,c4Globals:i}=e,s=r.value.globals.filter(n),o=s.flatMap(c=>c.predicates.filter(n));for(const c of o)try{const u=c.name;if(!ae(u))continue;if(u in i.predicates){Ne.warn(`Global predicate named "${u}" is already defined`);continue}this.parseAndStoreGlobalPredicateGroupOrDynamic(c,u,i,n)}catch(u){ct(u)}const a=s.flatMap(c=>c.styles.filter(n));for(const c of a)try{const u=c.id.name;if(!ae(u))continue;if(u in i.styles){Ne.warn(`Global style named "${u}" is already defined`);continue}const l=this.parseGlobalStyleOrGroup(c,n);l.length>0&&(i.styles[u]=l)}catch(u){ct(u)}}parseAndStoreGlobalPredicateGroupOrDynamic(e,n,r,i){if(zA(e)){const s=this.parseGlobalPredicateGroup(e,i);s.length>0&&(r.predicates[n]=s);return}if(MA(e)){const s=this.parseGlobalDynamicPredicateGroup(e,i);s.length>0&&(r.dynamicPredicates[n]=s);return}Ie(e)}parseGlobalPredicateGroup(e,n){return e.predicates.map(r=>this.parseViewRulePredicate(r,n))}parseGlobalDynamicPredicateGroup(e,n){return e.predicates.map(r=>this.parseDynamicViewIncludePredicate(r,n))}parseGlobalStyleOrGroup(e,n){if(ul(e))return[this.parseViewRuleStyle(e,n)];if(ll(e))return e.styles.map(r=>this.parseViewRuleStyle(r,n));Ie(e)}parseViews(e,n){const r=e.parseResult.value.views.filter(i=>n(i));for(const i of r){const s=i.styles.flatMap(o=>{try{return this.parseViewRuleStyleOrGlobalRef(o,n)}catch(a){return ct(a),[]}});for(const o of i.views)try{if(!n(o))continue;e.c4Views.push(sp(o)?this.parseElementView(o,s,n):this.parseDynamicElementView(o,s,n))}catch(a){ct(a)}}}parseViewRulePredicate(e,n){const r=[];let i=e.predicates;for(;i;){try{ae(i.value)&&n(i.value)&&r.unshift(this.parsePredicate(i.value,n))}catch(s){ct(s)}i=i.prev}return tb(e)?{include:r}:{exclude:r}}parsePredicate(e,n){if(cK(e))return this.parseElementPredicate(e,n);if(dK(e))return this.parseRelationPredicate(e,n);Ie(e)}parseElementExpressionsIterator(e){const n=[];let r=e;for(;r;){try{n.unshift(this.parseElementExpr(r.value))}catch(i){ct(i)}r=r.prev}return n}parseElementPredicate(e,n){if(rp(e))return this.parseElementPredicateWith(e,n);if(Yw(e))return this.parseElementPredicateWhere(e);if(qw(e))return this.parseElementExpr(e);Ie(e)}parseElementExpr(e){if($a(e))return{wildcard:!0};if(np(e))return we(e.kind?.ref,"ElementKindExpr kind is not resolved: "+e.$cstNode?.text),{elementKind:e.kind.ref.name,isEqual:e.isEqual};if(ip(e)){we(e.tag?.ref,"ElementTagExpr tag is not resolved: "+e.$cstNode?.text);let n=e.tag.$refText;return n.startsWith("#")&&(n=n.slice(1)),{elementTag:n,isEqual:e.isEqual}}if(LA(e)){const n=Cn(e.expand);return we(n,"Element not found "+e.expand.$cstNode?.text),{expanded:this.resolveFqn(n)}}if(Kw(e)){const n=Cn(e.parent);return we(n,"Element not found "+e.parent.$cstNode?.text),{element:this.resolveFqn(n),isDescedants:!0}}if(nl(e)){const n=Cn(e);return we(n,"Element not found "+e.$cstNode?.text),{element:this.resolveFqn(n)}}Ie(e)}parseElementPredicateWith(e,n){const r=this.parseElementPredicate(e.subject,n);return(e.custom?.props??[]).reduce((i,s)=>{if(sb(s)){const o=s.value.view.$refText;return ae(o)&&(i.custom.navigateTo=o),i}if(Xw(s)){if(At(s.value)){let o=s.key==="description"?Zt(s.value):rs(s.value);i.custom[s.key]=o||""}return i}if(es(s)){const o=s.libicon?.ref?.name??s.value;return At(o)&&(i.custom[s.key]=o),i}if(so(s)){const o=Jl(s);return At(o)&&(i.custom[s.key]=o),i}if(Tp(s)||Vh(s))return At(s.value)&&(i.custom[s.key]=s.value),i;if(yp(s))return At(s.value)&&(i.custom[s.key]=ix(s)),i;if(Dl(s))return ae(s.value)&&(i.custom[s.key]=Zt(s.value)),i;Ie(s)},{custom:{expr:r}})}parseElementPredicateWhere(e){return{where:{expr:this.parseElementExpr(e.subject),condition:e.where?Zl(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicate(e,n){if(ab(e)){let r=WA(e.subject)?this.parseRelationPredicateWhere(e.subject):this.parseRelationExpr(e.subject);return this.parseRelationPredicateWith(e,r)}if(WA(e))return this.parseRelationPredicateWhere(e);if(Uw(e))return this.parseRelationExpr(e);Ie(e)}parseRelationPredicateWhere(e){return{where:{expr:this.parseRelationExpr(e.subject),condition:e.where?Zl(e.where):{kind:{neq:"--always-true--"}}}}}parseRelationPredicateWith(e,n){return(e.custom?.props??[]).reduce((r,i)=>{if(Dp(i)||Dl(i)||jA(i))return At(i.value)&&(r.customRelation[i.key]=Zt(i.value)??""),r;if(Wu(i))return ae(i.value)&&(r.customRelation[i.key]=i.value),r;if(so(i)){const s=Jl(i);return ae(s)&&(r.customRelation[i.key]=s),r}if(yl(i))return ae(i.value)&&(r.customRelation[i.key]=i.value),r;if(Ep(i)){const s=i.value.view.ref?.name;return ae(s)&&(r.customRelation.navigateTo=s),r}Ie(i)},{customRelation:{relation:n}})}parseRelationExpr(e){if(Gw(e))return{source:this.parseElementExpr(e.source.from),target:this.parseElementExpr(e.target),isBidirectional:e.source.isBidirectional};if(nb(e))return{inout:this.parseElementExpr(e.inout.to)};if(ob(e))return{outgoing:this.parseElementExpr(e.from)};if(BA(e))return{incoming:this.parseElementExpr(e.to)};Ie(e)}parseViewRule(e,n){if(Uh(e))return this.parseViewRulePredicate(e,n);if(PK(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(AA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ox(e);if(_p(e))return this.parseViewRuleGroup(e,n);Ie(e)}parseViewRuleGlobalPredicateRef(e,n){return{predicateId:e.predicate.$refText}}parseViewRuleStyleOrGlobalRef(e,n){if(zl(e))return this.parseViewRuleStyle(e,n);if(YA(e))return this.parseViewRuleGlobalStyle(e,n);Ie(e)}parseViewRuleStyle(e,n){const r=e.props.filter(_A),i=e.target,s=e.props.find(Dl);return this.parseRuleStyle(r,i,n,s)}parseViewRuleGroup(e,n){const r=[];for(const i of e.groupRules)try{if(!n(i))continue;if(Uh(i)){r.push(this.parseViewRulePredicate(i,n));continue}if(_p(i)){r.push(this.parseViewRuleGroup(i,n));continue}Ie(i)}catch(s){ct(s)}return{title:rs(e.title)??null,groupRules:r,...Ip(e.props,n)}}parseRuleStyle(e,n,r,i){const s=Ip(e,r),o=Zt(i?.value);return{targets:this.parseElementExpressionsIterator(n),...o&&{notation:o},style:{...s}}}parseViewRuleGlobalStyle(e,n){return{styleId:e.style.$refText}}parseViewManualLaout(e){const n=zd(e.$cstNode,["BLOCK_COMMENT"]);if(!(!n||!dx(n.text)))try{return RY(n.text)}catch(r){const i=gb(e);Ne.warn(r),Ne.warn(`Ignoring manual layout of "${e.name??"unnamed"}" at ${i.uri.fsPath}:${1+(n.range.start.line||0)}`);return}}parseDynamicParallelSteps(e){return{__parallel:e.steps.map(n=>this.parseDynamicStep(n))}}parseDynamicStep(e){const n=Cn(e.source);if(!n)throw new Error("Invalid reference to source");const r=Cn(e.target);if(!r)throw new Error("Invalid reference to target");let i=this.resolveFqn(n),s=this.resolveFqn(r);const o=Zt(e.title)??null;let a={source:i,target:s,title:o};if(e.isBackward&&(a={source:s,target:i,title:o,isBackward:!0}),Array.isArray(e.custom?.props))for(const c of e.custom.props)try{if(Dp(c)||Dl(c)||jA(c)){At(c.value)&&(a[c.key]=Zt(c.value)??"");continue}if(Wu(c)){At(c.value)&&(a[c.key]=c.value);continue}if(so(c)){const u=Jl(c);At(u)&&(a[c.key]=u);continue}if(yl(c)){At(c.value)&&(a[c.key]=c.value);continue}if(Ep(c)){const u=c.value.view.ref?.name;ae(u)&&(a.navigateTo=u);continue}Ie(c)}catch(u){ct(u)}return a}parseElementView(e,n,r){const i=e.body;we(i,"ElementView body is not defined");const s=this.getAstNodePath(e);let o=null;if("viewOf"in e){const p=Cn(e.viewOf),m=p&&this.resolveFqn(p);m?o=m:Ne.warn("viewOf is not resolved: "+e.$cstNode?.text)}let a=e.name;a||(a="view_"+mb(gb(e).uri.toString(),s,o??""));const c=rs(i.props.find(p=>p.key==="title")?.value)??null,u=Zt(i.props.find(p=>p.key==="description")?.value)??null,l=this.convertTags(i),d=this.convertLinks(i),f=this.parseViewManualLaout(e),h={__:"element",id:a,astPath:s,title:c,description:u,tags:l,links:Ss(d)?d:null,rules:[...n,...i.rules.flatMap(p=>{try{return r(p)?this.parseViewRule(p,r):[]}catch(m){return ct(m),[]}})],...o&&{viewOf:o},...f&&{manualLayout:f}};if(fb.writeId(e,h.id),"extends"in e){const p=e.extends.view.ref;return we(p?.name,"view extends is not resolved: "+e.$cstNode?.text),Object.assign(h,{extends:p.name})}return h}parseDynamicElementView(e,n,r){const i=e.body;we(i,"DynamicElementView body is not defined");const s=i.props.filter(r),o=this.getAstNodePath(e);let a=e.name;a||(a="dynamic_"+mb(gb(e).uri.toString(),o));const c=rs(s.find(h=>h.key==="title")?.value)??null,u=Zt(s.find(h=>h.key==="description")?.value)??null,l=this.convertTags(i),d=this.convertLinks(i);fb.writeId(e,a);const f=this.parseViewManualLaout(e);return{__:"dynamic",id:a,astPath:o,title:c,description:u,tags:l,links:Ss(d)?d:null,rules:[...n,...i.rules.flatMap(h=>{try{return r(h)?this.parseDynamicViewRule(h,r):[]}catch(p){return ct(p),[]}},[])],steps:i.steps.reduce((h,p)=>{try{r(p)&&(Ww(p)?h.push(this.parseDynamicParallelSteps(p)):h.push(this.parseDynamicStep(p)))}catch(m){ct(m)}return h},[]),...f&&{manualLayout:f}}}parseDynamicViewRule(e,n){if(kK(e))return this.parseDynamicViewIncludePredicate(e,n);if(SK(e))return this.parseViewRuleGlobalPredicateRef(e,n);if(AA(e))return this.parseViewRuleStyleOrGlobalRef(e,n);if(Cp(e))return ox(e);Ie(e)}parseDynamicViewIncludePredicate(e,n){const r=[];let i=e.predicates;for(;i;){try{if(n(i.value)){const s=this.parseElementPredicate(i.value,n);r.unshift(s)}}catch(s){ct(s)}i=i.prev}return{include:r}}resolveFqn(e){if(ga(e))return Ap(e.element);const n=this.fqnIndex.getFqn(e);return we(n,`Not indexed element: ${this.getAstNodePath(e)}`),n}getAstNodePath(e){return this.services.workspace.AstNodeLocator.getAstNodePath(e)}getMetadata(e){return e?.props!=null?vi(e.props,n=>[n.key,Zt(n.value)]):void 0}convertTags(e){let n=e?.tags;if(!n)return null;const r=[];for(;n;){try{const i=n.values.map(s=>s.ref?.name).filter(ae);i.length>0&&r.unshift(...i)}catch{}n=n.prev}return Ss(r)?r:null}convertLinks(e){if(!(!e?.props||e.props.length===0))return Ke(e.props,nt(pp),wi(n=>{const r=n.value;if(ae(r)){const i=ae(n.title)?rs(n.title):void 0;return i?{url:r,title:i}:{url:r}}return[]}))}}const{findNodeForKeyword:kY,findNodeForProperty:Yae}=af,$Y=(t,e,n=0)=>{const r=n>0?" ".repeat(n):"";return[r+`style ${t} {`,...oa(e).map(([i,s])=>r+` ${i} ${i==="opacity"?s.toString()+"%":s}`),r+"}"]},CY=(t,e)=>n=>{if(!zl(n))return!1;const r=n.target.value;if(!r||ae(n.target.prev)||!nl(r))return!1;const i=r.el.ref;return(i?e.getFqn(i):null)===t};function _Y(t,{view:e,viewAst:n,targets:r,style:i}){we(n.body,`View ${e.id} has no body`);const s=n.$cstNode;we(s,"viewCstNode");const o=ia(n.body.rules)?.$cstNode?.range.end??n.body.$cstNode?.range.end;we(o,"insertPos is not defined");const a=s.range.start.character+2,c=t.likec4.FqnIndex,u=nt(n.body.rules,zl),l=e.__==="element"?e.viewOf:null,d=[],f=[];r.forEach(g=>{const y=A9(u,CY(g,c)),w=l&&$r(l,g)?g.substring(l.length+1):g;y?d.push({fqn:w,rule:y}):f.push({fqn:w})});const h={start:o,end:o},p=g=>{g.start.line<=h.start.line&&(g.start.line==h.start.line?h.start.character=Math.min(g.start.character,h.start.character):h.start=g.start),g.end.line>=h.end.line&&(g.end.line==h.end.line?h.end.character=Math.max(g.end.character,h.end.character):h.end=g.end)},m=[];if(f.length>0){const g=f.flatMap(({fqn:y})=>$Y(y,i,a));m.push(Sn.insert(o,`
|
|
1744
|
-
`+g.join(`
|
|
1745
|
-
`))),h.start={line:o.line+1,character:a},h.end={line:o.line+g.length,character:ia(g)?.length??0}}if(d.length>0)for(const{rule:g}of d){const y=g.$cstNode;we(y,"RuleCstNode not found");for(const[w,E]of oa(i)){const k=w==="opacity"?E.toString()+"%":E,A=g.props.find(P=>P.key===w);if(A&&A.$cstNode){const{range:{start:P,end:O}}=A.$cstNode;p({start:P,end:O}),m.push(Sn.replace({start:P,end:O},w+" "+k));continue}const I=kY(y,"{")?.range.end;we(I,"Opening brace not found");const x=" ".repeat(2+y.range.start.character),_=x+w+" "+k;m.push(Sn.insert(I,`
|
|
1746
|
-
`+_)),p({start:{line:I.line+1,character:x.length},end:{line:I.line+1,character:_.length}})}}return{modifiedRange:h,edits:m}}const{findNodeForProperty:Xae,findNodeForKeyword:AY}=af;function xY(t,{view:e,viewAst:n,layout:r}){we(n.body,`View ${e.id} has no body`);const i=n.$cstNode;we(i,"viewCstNode");const s=eY(r.direction),o=n.body.rules.findLast(Cp);let a=`autoLayout ${s}`;if(lh(r.rankSep)&&(a+=` ${r.rankSep}`,lh(r.nodeSep)&&(a+=` ${r.nodeSep}`)),o&&o.$cstNode)return Sn.replace(o.$cstNode.range,a);const c=AY(n.body.$cstNode,"}")?.range.start;we(c,"Closing brace not found");const u=` ${a}
|
|
1747
|
-
`;return Sn.insert(c,u)}function IY(t,{viewAst:e,layout:n}){we(e.$cstNode,"invalid view.$cstNode");const r=zd(e.$cstNode,["BLOCK_COMMENT"]);let i=TY(n);return e.$cstNode.range.start.character>0&&(i=lW(i,e.$cstNode.range.start.character)),r?Sn.replace(r.range,i.trimStart()):Sn.insert({line:e.$cstNode.range.start.line,character:0},i+`
|
|
1748
|
-
`)}class PY{constructor(e){this.services=e,this.locator=e.likec4.ModelLocator}locator;async applyChange(e){const n=this.services.shared.lsp.Connection;we(n,"LSP Connection not available");let r=null;try{await this.services.shared.workspace.WorkspaceLock.write(async()=>{const{doc:i,edits:s,modifiedRange:o}=this.convertToTextEdit(e),a={uri:i.textDocument.uri,version:i.textDocument.version};if(!s.length)return;const c=await n.workspace.applyEdit({label:`LikeC4 - change view ${e.viewId}`,edit:{changes:{[a.uri]:s}}});if(!c.applied){n.window.showErrorMessage(`Failed to apply changes ${c.failureReason}`);return}r={uri:a.uri,range:o}})}catch(i){Xe.error(`Failed to apply change ${e.change.op} ${e.viewId}`,i)}return r}convertToTextEdit({viewId:e,change:n}){const r=this.locator.locateViewAst(e);if(!r)throw new Error(`LikeC4ModelChanges: view not found: ${e}`);switch(n.op){case"change-element-style":return{doc:r.doc,..._Y(this.services,{...r,targets:n.targets,style:n.style})};case"change-autolayout":{const s=xY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:s.range,edits:[s]}}case"save-manual-layout":const i=IY(this.services,{...r,layout:n.layout});return{doc:r.doc,modifiedRange:i.range,edits:[i]};default:Ie(n)}}}class NY extends rk{async computeExports(e,n){const r=[];try{const{specifications:i,models:s,views:o,globals:a,likec4lib:c}=e.parseResult.value;this.exportLibrary(c,r,e),this.exportSpecification(i,r,e),this.exportModel(s,r,e),this.exportViews(o,r,e),this.exportGlobals(a,r,e)}catch(i){Bt(i)}return r}exportViews(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>s.views))try{ae(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){Bt(s)}}exportGlobals(e,n,r){if(!(at(e)||e.length===0)){for(const i of e.flatMap(s=>s.predicates))try{const s=i;ae(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){Bt(s)}for(const i of e.flatMap(s=>s.styles))try{const s=i.id;ae(s.name)&&n.push(this.descriptions.createDescription(s,s.name,r))}catch(s){Bt(s)}}}exportModel(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>s.elements))try{Gr(i)&&ae(i.name)&&n.push(this.descriptions.createDescription(i,i.name,r))}catch(s){Bt(s)}}exportLibrary(e,n,r){if(!at(e))try{for(const i of e.flatMap(s=>s.icons))n.push(this.descriptions.createDescription(i,i.name,r))}catch(i){Bt(i)}}exportSpecification(e,n,r){if(!(at(e)||e.length===0))for(const i of e.flatMap(s=>[...s.elements,...s.relationships,...s.tags,...s.colors]))try{switch(!0){case Da(i):{ae(i.kind.name)&&n.push(this.descriptions.createDescription(i.kind,i.kind.name,r));continue}case kp(i):{ae(i.tag.name)&&n.push(this.descriptions.createDescription(i.tag,"#"+i.tag.name,r));continue}case Ra(i):{ae(i.kind.name)&&n.push(this.descriptions.createDescription(i.kind,i.kind.name,r),this.descriptions.createDescription(i.kind,"."+i.kind.name,r));continue}case Sp(i):{ae(i.name.name)&&n.push(this.descriptions.createDescription(i.name,i.name.name,r));continue}default:Ie(i)}}catch(s){Bt(s)}}computeLocalScopes(e,n){return new Promise(r=>{const i=e.parseResult.value,s=new Mr;for(const o of i.models)try{const a=this.processContainer(o,s,e);s.addAll(i,a.values())}catch(a){Bt(a)}r(s)})}processContainer(e,n,r){const i=new Mr,s=new Mr;for(const o of e.elements){if(Wr(o))continue;let a;if(Gr(o)?(ae(o.name)&&i.add(o.name,this.descriptions.createDescription(o,o.name,r)),a=o.body):ga(o)&&(a=o.body),a&&a.elements.length>0)try{const c=this.processContainer(a,n,r);for(const[u,l]of c)s.add(u,l)}catch(c){Bt(c)}}if(s.size>0)for(const[o,a]of s.entriesGroupedByKey())!i.has(o)&&a.length===1&&i.add(o,a[0]);return n.addAll(e,i.values()),i}}const{getDocument:OY}=Zd;class LY extends ck{fqnIndex;constructor(e){super(e),this.fqnIndex=e.likec4.FqnIndex}directChildrenOf(e){return this.fqnIndex.directChildrenOf(e)}uniqueDescedants(e){return new It(()=>{const n=e(),r=n&&this.fqnIndex.getFqn(n);return r?this.fqnIndex.uniqueDescedants(r).iterator():null},n=>n?n.next():Xt)}scopeElementRef(e){return this.uniqueDescedants(()=>e.el.ref)}scopeExtendElement({element:e}){return Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>Cn(e)))}scopeElementView({viewOf:e,extends:n}){return e?Qe([e.el.$nodeDescription]).nonNullable().concat(this.uniqueDescedants(()=>Cn(e))):n?Qe([n]).flatMap(r=>{const i=r.view.ref;return i?this.scopeElementView(i):Lo}):Lo}getScope(e){try{const n=this.reflection.getReferenceType(e);if(n!==Ur)return this.getGlobalScope(n);try{const r=e.container;if(FA(r)&&e.property==="el"){const i=r.parent;return i?new nu(this.directChildrenOf(Ap(i))):this.getGlobalScope(n)}if(nl(r)&&e.property==="el"){const i=r.parent;if(i)return new nu(this.scopeElementRef(i));if(e.reference.$refText==="this"||e.reference.$refText==="it"){const s=wn(r,Gr);return s?new ik([this.descriptions.createDescription(s,e.reference.$refText)]):sk}}return this.computeScope(e)}catch(r){return Ne.warn(r),this.getGlobalScope(n)}}catch(n){return Ne.warn(n),sk}}computeScope(e){const n=this.reflection.getReferenceType(e);we(n===Ur,"Invalid reference type");const r=[],i=OY(e.container).precomputedScopes;if(i){const s=a=>this.reflection.isSubtype(a.type,n);let o=e.container;for(;o;){const a=i.get(o).filter(s);a.length>0&&r.push(Qe(a)),Qw(o)&&r.push(this.scopeExtendElement(o.$container)),Jw(o)&&r.push(this.scopeElementView(o.$container)),o=o.$container}}return r.reduceRight((s,o)=>this.createScope(o,s),this.getGlobalScope(n))}getGlobalScope(e){return new nu(this.indexManager.allElements(e))}}class FY{constructor(e){this.services=e}disposables=[];init(){const e=this.services.likec4.ModelBuilder,n=this.services.likec4.ModelLocator,r=this.services.likec4.ModelChanges,i=this.services.shared.lsp.Connection;if(!i){Ne.info("[ServerRpc] no connection, not initializing");return}Ne.info("[ServerRpc] init");const s=this.services.shared.workspace.LangiumDocuments,o=this.services.shared.workspace.DocumentBuilder,a=F9(()=>{i.sendNotification(iH,"").catch(u=>(Ne.error(`[ServerRpc] error sending onDidChangeModel: ${u}`),Promise.resolve()))},{timing:"both",waitMs:250,maxWaitMs:500});let c=!0;this.disposables.push(Us.create(()=>{a.cancel()}),e.onModelParsed(()=>a.call()),i.onRequest(oH,async({cleanCaches:u},l)=>(u&&this.services.WorkspaceCache.clear(),{model:await e.buildComputedModel(l)})),i.onRequest(sH,async u=>({model:await e.buildModel(u)})),i.onRequest(aH,async({viewId:u},l)=>({view:await e.computeView(u,l)})),i.onRequest(cH,async({docs:u},l)=>{const d=u.map(p=>Vt.parse(p)),f=p=>d.every(m=>!Et.equals(m,p)),h=s.all.filter(p=>xp(p)&&f(p.uri)&&p.uri.scheme!==YC).map(p=>p.uri).toArray();Ne.debug(`[ServerRpc] received request to build:
|
|
1749
|
-
changed (total ${d.length}):${u.map(p=>`
|
|
1750
|
-
- `+p).join("")}
|
|
1751
|
-
deleted (total ${h.length}):${h.map(p=>`
|
|
1752
|
-
- `+p.toString()).join(`
|
|
1753
|
-
`)}`),!c&&d.length+h.length>0&&(await Promise.allSettled([...d,...h].map(async p=>{const m=p.toString();Ne.debug(`clear diagnostics for ${m}`);try{await i.sendDiagnostics({uri:m,diagnostics:[]})}catch(g){Ne.warn(`error clearing diagnostics for ${m}: ${g}`)}})),await zt(l)),c=!1,await o.update(d,h,l)}),i.onRequest(uH,u=>{if("element"in u)return n.locateElement(u.element,u.property??"name");if("relation"in u)return n.locateRelation(u.relation);if("view"in u)return n.locateView(u.view);Ie(u)}),i.onRequest(lH,async(u,l)=>await r.applyChange(u)))}dispose(){let e;for(;e=this.disposables.pop();)try{e.dispose()}catch(n){Bt(n)}}}class MY{constructor(e){this.services=e}getSymbolKind(e){const n=vt(e)?e.$type:e.type,r=(...i)=>i.some(s=>this.services.AstReflection.isSubtype(n,s));switch(!0){case r(Ur,ma):return mr.Constructor;case r(wa,ba,Sa):return mr.Namespace;case r(io):return mr.Class;case r(ns,ao,oo,ka):return mr.EnumMember;case r(ts,Ta):return mr.Event;case r(Qi,Ea):return mr.TypeParameter}return mr.Field}getCompletionItemKind(e){const n=vt(e)?e.$type:e.type,r=(...i)=>i.some(s=>this.services.AstReflection.isSubtype(n,s));switch(!0){case r(oo):return Lt.Color;case r(Ur,ma):return Lt.Constructor;case r(wa,ba,Sa):return Lt.Module;case r(io):return Lt.Class;case r(ns,ao,oo,ka):return Lt.EnumMember;case r(ts,Ta):return Lt.Event;case r(Qi,Ea):return Lt.TypeParameter;default:return Lt.Reference}}}class zY extends lk{documentFactory;constructor(e){super(e),this.documentFactory=e.workspace.LangiumDocumentFactory}async loadAdditionalDocuments(e,n){n(this.documentFactory.fromString(nH,Vt.parse(rH))),await super.loadAdditionalDocuments(e,n)}workspace(){return this.folders&&Rd(this.folders,1)?this.folders[0]:null}get workspaceUri(){const e=this.workspace();return we(e,"Workspace not initialized"),Vt.parse(e.uri)}get workspaceURL(){const e=this.workspace();return we(e,"Workspace not initialized"),new URL(e.uri)}}class BY extends EC{}const qY=t=>(e,n)=>{const r=ax(e.value);switch(!0){case np(r):case ip(r):case $a(r):{n("warning","Predicate is ignored, as not supported in dynamic views",{node:e});return}}},jY=t=>{const e=t.likec4.FqnIndex;return(n,r)=>{try{const i=Cn(n.source),s=i&&e.getFqn(i);s||r("error","Source not found (not parsed/indexed yet)",{node:n,property:"source"});const o=Cn(n.target),a=o&&e.getFqn(o);a||r("error","Target not found (not parsed/indexed yet)",{node:n,property:"target"}),s&&a&&($r(s,a)||$r(a,s))&&r("error","Invalid parent-child relationship",{node:n})}catch(i){Bt(i)}}},Np=["this","it","self","super","likec4lib","global"];function Op(t){return async(e,n,r)=>{r&&await zt(r);try{await t(e,n,r)}catch(i){ct(i)}}}const{getDocument:UY}=Zd,GY=t=>{const e=t.likec4.FqnIndex,n=t.workspace.AstNodeLocator;return Op((r,i)=>{const s=e.getFqn(r);if(!s){i("error","Not indexed element",{node:r,property:"name"});return}Np.includes(r.name)&&i("error",`Reserved word: ${r.name}`,{node:r,property:"name"});const o=UY(r).uri,a=n.getAstNodePath(r),c=e.byFqn(s).filter(u=>u.documentUri!==o||u.path!==a).head();if(c){const u=c.documentUri!==o;i("error",`Duplicate element name ${r.name!==s?r.name+" ("+s+")":r.name}`,{node:r,property:"name",...u&&{relatedInformation:[{location:{range:c.nameSegment?.range??c.selectionSegment?.range,uri:c.documentUri.toString()},message:"conflicting element"}]}})}})},WY=t=>(e,n)=>{const r=parseFloat(e.value);(isNaN(r)||r<0||r>100)&&n("warning","Value ignored, must be between 0% and 100%",{node:e,property:"value"})},HY=t=>(e,n)=>{const r=e.$container;r.props.some(i=>es(i)&&i!==e)&&n("error","Icon must be defined once",{node:e}),sl(r)&&ha(r.$container)&&r.$container.props.some(i=>es(i))&&n("warning","Redundant as icon defined on element",{node:e})},VY=t=>(e,n)=>{$c(e,Vw)||n("error","Notes can be defined only inside dynamic view",{node:e})},KY=t=>{const e=t.likec4.FqnIndex;return Op((n,r)=>{const i=Cn(n.target),s=i&&e.getFqn(i);s||r("error","Target not resolved",{node:n,property:"target"});let o;if(At(n.source)){if(o=Cn(n.source),!o)return r("error","Source not resolved",{node:n,property:"source"})}else{if(!ha(n.$container))return r("error","Sourceless relation must be nested",{node:n});o=n.$container.$container}const a=e.getFqn(o);a||r("error","Source not resolved",{node:n}),a&&s&&Ba(a,s)&&r("error","Invalid parent-child relationship",{node:n})})},YY=t=>Op((e,n)=>{e.$container.tags?.values&&e.tags?.values&&n("error","Relation cannot have tags in both header and body",{node:e.tags})}),XY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one specification per document",{node:e,property:"name"})},JY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one model per document",{node:e,property:"name"})},ZY=t=>(e,n)=>{e.$containerIndex&&e.$containerIndex>0&&n("warning","Prefer one global block per document",{node:e,property:"name"})},QY=t=>{const e=t.shared.workspace.IndexManager;return Op((n,r)=>{Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"});const i=e.allElements(Qi).filter(s=>s.name===n.name&&s.node!==n).head();if(i){const s=i.documentUri!==sn(n).uri;r("error",`Duplicate element kind '${n.name}'`,{node:n,property:"name",...s&&{relatedInformation:[{location:{range:i.nameSegment.range,uri:i.documentUri.toString()},message:"conflicting definition"}]}})}})},eX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{const i="#"+n.name,s=e.allElements(ns).filter(o=>o.name===i&&o.node!==n).head();if(s){const o=s.documentUri!==sn(n).uri;r("error",`Duplicate tag '${n.name}'`,{node:n,property:"name",...o&&{relatedInformation:[{location:{range:s.nameSegment.range,uri:s.documentUri.toString()},message:"conflicting definition"}]}})}}},tX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"}),e.allElements(ts).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate RelationshipKind '${n.name}'`,{node:n,property:"name"})}},hx=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{const i=e.allElements(va),s=e.allElements(ya);i.concat(s).filter(o=>o.name===n.name).limit(2).count()>1&&r("error",`Duplicate GlobalPredicateGroup or GlobalDynamicPredicateGroup name '${n.name}'`,{node:n,property:"name"})}},nX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{e.allElements(dl).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate GlobalStyleId name '${n.name}'`,{node:n,property:"name"})}},rX=t=>{const e=t.shared.workspace.IndexManager;return(n,r)=>{n.name&&(Np.includes(n.name)&&r("error",`Reserved word: ${n.name}`,{node:n,property:"name"}),e.allElements(io).filter(i=>i.name===n.name).limit(2).count()>1&&r("error",`Duplicate view '${n.name}'`,{node:n,property:"name"}))}},iX=t=>(e,n)=>{const r=wn(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e});const i=Yw(e.subject)?e.subject.subject:e.subject;switch(!0){case nl(i):case Kw(i):case LA(i):case $a(i):return;case np(i):case ip(i):n("error","Invalid target (expect reference to specific element)",{node:e,property:"subject"});return;default:Ie(i)}},sX=t=>(e,n)=>{$c(e,Uw)&&n("warning","Redundant usage, expand predicate resolves parent element only when used in relations",{node:e})},oX=t=>(e,n)=>{if($a(e.to)&&!nb(e.$container)){const r=wn(e,sp);at(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},aX=t=>(e,n)=>{if($a(e.from)&&!Gw(e.$container)){const r=wn(e,sp);at(r?.viewOf)&&n("warning","Predicate is ignored as it concerns all relationships",{node:e})}},cX=t=>(e,n)=>{const r=wn(e,Uh);ap(r)&&n("error",'Invalid usage inside "exclude"',{node:e})};function uX(t){Ne.info("registerValidationChecks"),t.validation.ValidationRegistry.register({NotesProperty:VY(),OpacityProperty:WY(),IconProperty:HY(),SpecificationRule:XY(),Model:JY(),Globals:ZY(),GlobalPredicateGroup:hx(t),GlobalDynamicPredicateGroup:hx(t),GlobalStyleId:nX(t),DynamicViewStep:jY(t),LikeC4View:rX(t),Element:GY(t),ElementKind:QY(t),Relation:KY(t),RelationBody:YY(),Tag:eX(t),DynamicViewPredicateIterator:qY(),ElementPredicateWith:iX(),RelationPredicateWith:cX(),ExpandElementExpression:sX(),RelationshipKind:tX(t),IncomingRelationExpression:oX(),OutgoingRelationExpression:aX()});const e=t.shared.lsp.Connection;e&&t.shared.workspace.DocumentBuilder.onUpdate((n,r)=>{for(const i of r)Ne.debug(`clear diagnostics for deleted ${i.path}`),e.sendDiagnostics({uri:i.toString(),diagnostics:[]})})}function lX(t,e){return[t,e]=px(t,e)>0?[e,t]:[t,e],dX(t.range,e.range.start)}function px(t,e){const n=t.range.start.line-e.range.start.line;return n!==0?n:t.range.start.character-e.range.start.character}function dX(t,e){return!(e.line<t.start.line||e.line>t.end.line||e.line==t.start.line&&e.character<t.start.character||e.line==t.end.line&&e.character>t.end.character)}function mx(t){return t.range.start.line!=t.range.end.line}const ue={newLine:Xi.newLine({allowMore:!0}),oneSpace:Xi.oneSpace(),noSpace:Xi.noSpace(),indent:Xi.indent({allowMore:!0}),noIndent:Xi.noIndent()};class fX extends bG{format(e){this.removeIndentFromTopLevelStatements(e),this.indentContentInBraces(e),this.formatSpecificationRule(e),this.formatGlobals(e),this.formatElementDeclaration(e),this.formatRelation(e),this.formatMetadataProperty(e),this.formatView(e),this.formatViewRuleGroup(e),this.formatViewRuleGlobalStyle(e),this.formatIncludeExcludeExpressions(e),this.formatWhereExpression(e),this.formatAutolayoutProperty(e),this.formatWithPredicate(e),this.formatViewRuleStyle(e),this.formatLeafProperty(e),this.formatLinkProperty(e),this.formatNavigateToProperty(e),this.formatTags(e)}formatTags(e){this.on(e,lb,(n,r)=>{r.cst(Bo(n.$cstNode,"values").slice(1)).prepend(ue.oneSpace),r.keywords(",").prepend(ue.noSpace).append(ue.oneSpace)})}formatRelation(e){this.on(e,Wr,(n,r)=>{const i=n?.source?.$cstNode?[n?.source?.$cstNode]:[];r.cst(i).append(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace),r.keywords("-[").append(ue.noSpace),r.properties("target","title","technology","tags").prepend(ue.oneSpace)}),this.on(e,Vw,(n,r)=>{r.keywords("->","<-").surround(ue.oneSpace);const i=r.property("kind");i.nodes[0]?.text.startsWith(".")&&i.surround(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace).append(ue.oneSpace),r.keywords("-[").prepend(ue.oneSpace).append(ue.noSpace),r.properties("title").prepend(ue.oneSpace)}),this.on(e,Gw)?.property("target").prepend(ue.oneSpace),this.on(e,ob,(n,r)=>{r.property("from").append(ue.oneSpace),r.keywords("]->").prepend(ue.noSpace),r.keywords("-[").append(ue.noSpace)}),this.on(e,BA)?.keywords("->").append(ue.oneSpace),this.on(e,nb)?.keyword("->").prepend(ue.oneSpace)}removeIndentFromTopLevelStatements(e){(ib(e)||ub(e)||mp(e)||qA(e)||eb(e))&&this.getNodeFormatter(e).keywords("specification","model","views","likec4lib","global").prepend(ue.noIndent)}indentContentInBraces(e){if(qA(e)||ub(e)||Da(e)||Ra(e)||eb(e)||ul(e)||ll(e)||ib(e)||ha(e)||Qw(e)||GA(e)||cb(e)||xK(e)||mp(e)||Jw(e)||NA(e)||zl(e)||_p(e)||DK(e)||TK(e)||sl(e)||Ww(e)){const n=this.getNodeFormatter(e),r=n.keywords("{"),i=n.keywords("}"),s=n.interior(r,i);let o=null;for(const a of s.nodes)(!o||!lX(o,a))&&n.cst([a]).prepend(ue.indent),o=a;r.prepend(ue.noIndent).prepend(ue.oneSpace),i.prepend(ue.noIndent).prepend(Xi.newLine({allowMore:!0}))}}appendKeywordsWithSpace(e){this.on(e,CK)?.keywords("element").append(ue.oneSpace)}formatView(e){this.on(e,sp,(n,r)=>{(n.extends||n.viewOf||n.name)&&r.keywords("view").append(ue.oneSpace),r.keywords("of","extends").surround(ue.oneSpace)}),this.on(e,RK)?.keywords("dynamic","view").append(ue.oneSpace)}formatLeafProperty(e){if(Xw(e)||Dp(e)||NK(e)||Dl(e)||HA(e)||VA(e)||so(e)||yl(e)||Wu(e)||es(e)||Tp(e)||Vh(e)||yp(e)){const n=this.getNodeFormatter(e),r=n.keyword(":"),i=n.keywords("title","description","technology","notation","color","line","head","tail","icon","shape","border","opacity");r.nodes.length===0?i.append(ue.oneSpace):r.prepend(ue.noSpace).append(ue.oneSpace),n.keyword(";").prepend(ue.noSpace).append(ue.newLine)}}formatLinkProperty(e){this.on(e,pp,(n,r)=>{r.keyword("link").append(ue.oneSpace),r.property("value").append(ue.oneSpace),r.keyword(":").prepend(ue.noSpace).append(ue.oneSpace),r.keyword(";").prepend(ue.noSpace).append(ue.newLine)})}formatNavigateToProperty(e){this.on(e,sb)?.property("key").append(ue.oneSpace)}formatAutolayoutProperty(e){this.on(e,Cp,(n,r)=>{r.keyword("autoLayout").append(ue.oneSpace),r.property("rankSep").prepend(ue.oneSpace),r.property("nodeSep").prepend(ue.oneSpace)})}formatMetadataProperty(e){this.on(e,AK,(n,r)=>{r.property("key").append(ue.oneSpace),r.keyword(":").prepend(ue.noSpace).append(ue.oneSpace),r.keyword(";").prepend(ue.noSpace).append(ue.newLine)})}formatElementDeclaration(e){this.on(e,Gr,(n,r)=>{const i=An(n.$cstNode,"kind"),s=An(n.$cstNode,"name");s&&i&&(px(s,i)>0?r.cst([i]).append(ue.oneSpace):(r.cst([s]).append(ue.oneSpace),r.cst([i]).prepend(ue.oneSpace))),r.properties("props").prepend(ue.oneSpace)})}formatGlobals(e){this.on(e,ul,(n,r)=>{r.keyword("style").append(ue.oneSpace),r.property("id").append(ue.oneSpace)}),this.on(e,ll,(n,r)=>{r.keyword("styleGroup").append(ue.oneSpace)})}formatSpecificationRule(e){if((Da(e)||Ra(e)||kp(e))&&this.getNodeFormatter(e).keywords("element","relationship","tag").append(ue.oneSpace),Sp(e)){const n=this.getNodeFormatter(e);n.keyword("color").append(ue.oneSpace),n.property("name").append(ue.oneSpace)}}formatWithPredicate(e){const n=this.getNodeFormatter(e);(rp(e)||ab(e))&&n.keyword("with").prepend(ue.oneSpace)}formatViewRuleGlobalStyle(e){this.on(e,YA,(n,r)=>{r.keywords("global","style").append(ue.oneSpace)})}formatViewRuleGroup(e){this.on(e,_p,(n,r)=>{r.keyword("group").append(ue.oneSpace)})}formatViewRuleStyle(e){this.on(e,zl)?.keyword("style").append(ue.oneSpace),this.on(e,$K)?.keyword(",").prepend(ue.noSpace).append(ue.oneSpace)}formatWhereExpression(e){if((fK(e)||uK(e))&&this.getNodeFormatter(e).keyword("where").append(ue.oneSpace),(bK(e)||vK(e))&&this.getNodeFormatter(e).property("operator").surround(ue.oneSpace),(XA(e)||ZA(e))&&this.getNodeFormatter(e).keyword("not").append(ue.oneSpace),xA(e)||FK(e)||LK(e)||PA(e)||MK(e)||JA(e)){const n=this.getNodeFormatter(e);n.property("operator").surround(ue.oneSpace),n.property("not").surround(ue.oneSpace)}}formatIncludeExcludeExpressions(e){if(Bw(e)||tb(e)||ap(e)){const n=this.getNodeFormatter(e);(!e.$cstNode||!mx(e.$cstNode))&&n.keywords("include","exclude").append(ue.oneSpace)}if(OA(e)||UA(e)||UA(e)){const n=this.getNodeFormatter(e),r=this.findPredicateExpressionRoot(e),i=r?.$cstNode&&mx(r?.$cstNode);i&&n.property("value").prepend(ue.indent),n.keyword(",").prepend(ue.noSpace).append(i?ue.newLine:ue.oneSpace)}}findPredicateExpressionRoot(e){let n=e.$container;for(;;){if(!n||Bw(n)||tb(n)||ap(n))return n;n=n.$container}}on(e,n,r){const i=n(e)?this.getNodeFormatter(e):void 0;return r&&i&&r(e,i),i}}const hX={lsp:{NodeKindProvider:t=>new MY(t),WorkspaceSymbolProvider:t=>new BY(t)},workspace:{WorkspaceManager:t=>new zY(t)}};function Qt(t){return e=>new t(e)}const pX={WorkspaceCache:t=>new ak(t.shared),Rpc:Qt(FY),likec4:{ModelChanges:Qt(PY),FqnIndex:Qt(dY),ModelParser:Qt(SY),ModelBuilder:Qt(yY),ModelLocator:Qt(bY)},lsp:{CompletionProvider:Qt(nY),DocumentHighlightProvider:Qt(rY),DocumentSymbolProvider:Qt(sY),SemanticTokenProvider:Qt(aY),HoverProvider:Qt(oY),CodeLensProvider:Qt(tY),DocumentLinkProvider:Qt(iY),Formatter:Qt(fX)},references:{ScopeComputation:Qt(NY),ScopeProvider:Qt(LY)}};function mX(t,e,n,r){const i=gX(t),s=[gG({shared:i}),jK,pX,e,n,r].reduce(gx,{}),o=oh(s);return i.ServiceRegistry.register(o),uX(o),t.connection?o.Rpc.init():i.workspace.ConfigurationProvider.initialized({}),{shared:i,likec4:o}}function gX(t={}){const e={...$k,...t};return t.connection&&(WK(t.connection),GK(t.connection)),oh(vG(e),qK,hX)}function gx(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=gx(i,r):t[n]=r}}return t}const yX={fileSystemProvider:()=>new vX};let vX=class extends TG{async readDirectory(e){return(await U2(e.fsPath,{withFileTypes:!0})).map(n=>this.followUri(Et.joinPath(e,n.name)))}followUri(e){const n=S2(e.fsPath),r=w2(e.fsPath);if(r.isSymbolicLink()){const i=b2(e.fsPath),s=X0(n,i);return this.followUri(Vt.file(s))}else return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}};function yx(t){return typeof t=="object"&&t!==null&&typeof t.id=="string"}function yb(t){return typeof t=="object"&&t!==null&&t.$$type==="Node"&&typeof t.id=="string"}function vx(t){return yb(t)||yx(t)}function Ql(t){return typeof t=="string"||vx(t)}function wX(t){return Array.isArray(t)&&t.every(Ql)}function bX(t){return["n","ne","e","se","s","sw","w","nw","c"].includes(t)}function wx(t){if(vx(t))return t;const[e,n,r]=t.split(":");return bX(r)?{id:e,port:n,compass:r}:{id:e,port:n}}function EX(t){if(t.length<2&&(Ql(t[0])&&Ql(t[1]))===!1)throw Error("EdgeTargets must have at least 2 elements.");return t.map(e=>wx(e))}const Lp=Object.seal({Graph:null,Digraph:null,Subgraph:null,Node:null,Edge:null});function DX(t){return Object.assign(Object.seal(Object.assign({},Lp)),t)}function TX(...t){const[e,...n]=t;return(...r)=>n.reduce((i,s)=>s(i),e(...r))}function Zn(t,...e){return TX(t,...e)}const RX=t=>(...e)=>n=>t(n,...e),SX=t=>({[Symbol.iterator]:t}),wr=RX((t,e)=>Array.from(SX(function*(){for(const n of t)yield e(n)})));class bx{options;getLocation(){return this.options?.locationFunction?.()??null}constructor(e){this.options=e}createElement(e,n,r=[]){return{location:this.getLocation(),...n,type:e,children:r}}}const We=bx.prototype.createElement.bind(new bx),kX=/\r?\n/;function br(t){return e=>e.join(t)}function $X(t){return e=>t+e+t}function is(t,e){return n=>t+n+e}function Fp(t){return e=>t+e}const Ex=t=>t.replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/"/g,'\\"'),Mp=t=>t.split(kX),ed=(t,e,n)=>Zn(Mp,wr(Fp(t==="space"?" ".repeat(e):`
|
|
1754
|
-
`)),br(n)),co=t=>{switch(t){case"crlf":return`\r
|
|
1755
|
-
`;case"lf":return`
|
|
1756
|
-
`}},CX={match(t){return t.type==="AttributeList"},print(t,e){if(e.children.length===0)return`${e.kind.toLocaleLowerCase()} [];`;const n=co(t.endOfLine);return Zn(wr(t.print),br(n),ed(t.indentStyle,t.indentSize,n),is(`${e.kind.toLocaleLowerCase()} [${n}`,`${n}];`))(e.children)}},_X={match(t){return t.type==="Attribute"},print(t,e){return`${t.print(e.key)} = ${t.print(e.value)};`}},AX={match(t){return t.type==="Comment"},print(t,e){const n=co(t.endOfLine);switch(e.kind){case"Block":return Zn(Mp,wr(Fp(" * ")),br(n),is(`/**${n}`,`${n} */`))(e.value);case"Macro":return Zn(Mp,wr(Fp("# ")),br(n))(e.value);case"Slash":default:return Zn(Mp,wr(Fp("// ")),br(n))(e.value)}}},xX={match(t){return t.type==="Dot"},print(t,e){return e.children.map(t.print).join(co(t.endOfLine))}},IX={match(t){return t.type==="Edge"},print(t,e){const n=Zn(wr(t.print),br(t.directed?" -> ":" -- "))(e.targets);if(e.children.length===0)return`${n};`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},PX={match(t){return t.type==="Graph"},print(t,e){t.directed=e.directed;const n=[];if(e.strict&&n.push("strict"),n.push(e.directed?"digraph":"graph"),e.id&&n.push(t.print(e.id)),e.children.length===0)return`${n.join(" ")} {}`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},NX=Zn(Ex,$X('"')),OX=is("<",">"),LX={match(t){return t.type==="Literal"},print(t,e){switch(e.quoted){case"html":return OX(e.value);case!0:return NX(e.value);case!1:default:return Ex(e.value)}}},FX={match(t){return t.type==="Node"},print(t,e){const n=t.print(e.id);if(e.children.length===0)return`${n};`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`[${r}`,`${r}];`))(e.children);return`${n} ${i}`}},MX={match(t){return t.type==="NodeRefGroup"},print(t,e){return Zn(wr(t.print),br(" "),is("{","}"))(e.children)}},zX={match(t){return t.type==="NodeRef"},print(t,e){const n=[t.print(e.id)];return e.port&&n.push(t.print(e.port)),e.compass&&n.push(t.print(e.compass)),n.join(":")}},BX={match(t){return t.type==="Subgraph"},print(t,e){const n=["subgraph"];if(e.id&&n.push(t.print(e.id)),e.children.length===0)return`${n.join(" ")} {}`;const r=co(t.endOfLine),i=Zn(wr(t.print),br(r),ed(t.indentStyle,t.indentSize,r),is(`{${r}`,`${r}}`))(e.children);return`${n.join(" ")} ${i}`}},qX=[CX,_X,AX,xX,IX,PX,LX,FX,MX,zX,BX];class jX{options;#e=[...qX];constructor(e={}){this.options=e}print(e){const n=[...this.#e],{indentSize:r=2,indentStyle:i="space",endOfLine:s="lf"}=this.options,o={directed:!0,indentSize:r,indentStyle:i,endOfLine:s,print(a){for(const c of n)if(c.match(a))return c.print(o,a);throw Error()}};return o.print(e)}}function UX(t,e){const n=new jX(e).print(t);if(!n)throw new Error;return n}function zp(t,e){if(typeof e=="string"){const n=e.trim();return/^<.+>$/ms.test(n)?We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:n.slice(1,n.length-1),quoted:"html"},[])},[]):We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:e,quoted:!0},[])},[])}return We("Attribute",{key:We("Literal",{value:t,quoted:!1},[]),value:We("Literal",{value:String(e),quoted:!1},[])},[])}function uo(t,e){return We("Comment",{kind:e,value:t},[])}function Dx(t,e){return Array.from(function*(){for(const[n,r]of e.values)yield zp(n,r);for(const n of Object.values(e.attributes))n.size>0&&(n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n));for(const n of e.nodes)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n);for(const n of e.subgraphs)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n);for(const n of e.edges)n.comment&&(yield uo(n.comment,t.commentKind)),yield t.convert(n)}())}const GX={match(t){return t.$$type==="AttributeList"},convert(t,e){return We("AttributeList",{kind:e.$$kind},e.values.map(([n,r])=>zp(n,r)))}},WX={match(t){return t.$$type==="Edge"},convert(t,e){return We("Edge",{targets:e.targets.map(n=>yb(n)?We("NodeRef",{id:We("Literal",{value:n.id,quoted:!0},[])},[]):yx(n)?We("NodeRef",{id:We("Literal",{value:n.id,quoted:!0},[]),port:n.port?We("Literal",{value:n.port,quoted:!0},[]):void 0,compass:n.compass?We("Literal",{value:n.compass,quoted:!0},[]):void 0},[]):We("NodeRefGroup",{},n.map(r=>yb(r)?We("NodeRef",{id:We("Literal",{value:r.id,quoted:!0},[])},[]):We("NodeRef",{id:We("Literal",{value:r.id,quoted:!0},[]),port:r.port?We("Literal",{value:r.port,quoted:!0},[]):void 0,compass:r.compass?We("Literal",{value:r.compass,quoted:!0},[]):void 0},[]))))},[...e.attributes.comment?[uo(e.attributes.comment,t.commentKind)]:[],...e.attributes.values.map(([n,r])=>zp(n,r))])}},HX={match(t){return t.$$type==="Graph"},convert(t,e){return We("Dot",{},[...e.comment?[uo(e.comment,t.commentKind)]:[],We("Graph",{directed:e.directed,strict:e.strict,id:e.id?We("Literal",{value:e.id,quoted:!0},[]):void 0},Dx(t,e))])}},VX={match(t){return t.$$type==="Node"},convert(t,e){return We("Node",{id:We("Literal",{value:e.id,quoted:!0},[])},[...e.attributes.comment?[uo(e.attributes.comment,t.commentKind)]:[],...e.attributes.values.map(([n,r])=>zp(n,r))])}},KX={match(t){return t.$$type==="Subgraph"},convert(t,e){return We("Subgraph",{id:e.id?We("Literal",{value:e.id,quoted:!0},[]):void 0},Dx(t,e))}},YX=[GX,WX,VX,HX,KX];class XX{options;#e=[...YX];constructor(e={}){this.options=e}convert(e){const n=[...this.#e],{commentKind:r="Slash"}=this.options,i={commentKind:r,convert(s){for(const o of n)if(o.match(s))return o.convert(i,s);throw Error()}};return i.convert(e)}}function JX(t,e){return new XX(e).convert(t)}const j=new Proxy(Object.freeze({}),{get:(t,e)=>e});class vb{}class wb extends vb{#e=new Map;constructor(e){super(),e!==void 0&&this.apply(e)}get values(){return Array.from(this.#e.entries())}get size(){return this.#e.size}get(e){return this.#e.get(e)}set(e,n){n!=null&&this.#e.set(e,n)}delete(e){this.#e.delete(e)}apply(e){const n=Array.isArray(e)?e:Object.entries(e);for(const[r,i]of n)this.set(r,i)}clear(){this.#e.clear()}}class bb extends wb{$$kind;get $$type(){return"AttributeList"}comment;constructor(e,n){super(n),this.$$kind=e}}class Tx extends wb{#e=Lp;id;comment;attributes=Object.freeze({graph:new bb("Graph"),edge:new bb("Edge"),node:new bb("Node")});get nodes(){return Array.from(this.#t.nodes.values())}get edges(){return Array.from(this.#t.edges.values())}get subgraphs(){return Array.from(this.#t.subgraphs.values())}#t={nodes:new Map,edges:new Set,subgraphs:new Set};with(e){this.#e=DX(e)}addNode(e){this.#t.nodes.set(e.id,e)}addEdge(e){this.#t.edges.add(e)}addSubgraph(e){this.#t.subgraphs.add(e)}existNode(e){return this.#t.nodes.has(e)}existEdge(e){return this.#t.edges.has(e)}existSubgraph(e){return this.#t.subgraphs.has(e)}createSubgraph(...e){const n=new this.#e.Subgraph(...e);return n.with(this.#e),this.addSubgraph(n),n}removeNode(e){this.#t.nodes.delete(typeof e=="string"?e:e.id)}removeEdge(e){this.#t.edges.delete(e)}removeSubgraph(e){this.#t.subgraphs.delete(e)}createNode(e,n){const r=new this.#e.Node(e,n);return this.addNode(r),r}getSubgraph(e){return Array.from(this.#t.subgraphs.values()).find(n=>n.id===e)}getNode(e){return this.#t.nodes.get(e)}createEdge(e,n){const r=e.map(s=>wX(s)?EX(s):wx(s)),i=new this.#e.Edge(r,n);return this.addEdge(i),i}subgraph(...e){const n=e.find(o=>typeof o=="string"),r=e.find(o=>typeof o=="object"&&o!==null),i=e.find(o=>typeof o=="function"),s=n?this.getSubgraph(n)??this.createSubgraph(n):this.createSubgraph();return r!==void 0&&s.apply(r),i!==void 0&&i(s),s}node(e,...n){if(typeof e=="string"){const r=e,i=n.find(a=>typeof a=="object"&&a!==null),s=n.find(a=>typeof a=="function"),o=this.getNode(r)??this.createNode(r);return i!==void 0&&o.attributes.apply(i),s!==void 0&&s(o),o}typeof e=="object"&&e!==null&&this.attributes.node.apply(e)}edge(e,...n){if(Array.isArray(e)){const r=e,i=n.find(a=>typeof a=="object"),s=n.find(a=>typeof a=="function"),o=this.createEdge(r,i);return s!==void 0&&s(o),o}typeof e=="object"&&e!==null&&this.attributes.edge.apply(e)}graph(e){this.attributes.graph.apply(e)}}class Rx extends Tx{get $$type(){return"Graph"}id;strict;constructor(...e){super(),this.id=e.find(r=>typeof r=="string"),this.strict=e.find(r=>typeof r=="boolean")??!1;const n=e.find(r=>typeof r=="object"&&r!==null);n!==void 0&&this.apply(n)}}class ZX extends Rx{get directed(){return!0}}class QX extends Rx{get directed(){return!1}}class eJ extends Tx{get $$type(){return"Subgraph"}id;constructor(...e){super(),this.id=e.find(r=>typeof r=="string");const n=e.find(r=>typeof r=="object"&&r!==null);n!==void 0&&this.apply(n)}isSubgraphCluster(){return typeof this.id=="string"?this.id.startsWith("cluster"):!1}}class Sx extends wb{comment}let tJ=class extends vb{id;get $$type(){return"Node"}comment;attributes;constructor(e,n){super(),this.id=e,this.attributes=new Sx(n)}port(e){return typeof e=="string"?{id:this.id,port:e}:{id:this.id,...e}}};class nJ extends vb{targets;get $$type(){return"Edge"}comment;attributes;constructor(e,n){if(super(),this.targets=e,e.length<2&&(Ql(e[0])&&Ql(e[1]))===!1)throw Error("The element of Edge target is missing or not satisfied as Edge target.");this.attributes=new Sx(n)}}Object.assign(Lp,{Graph:QX,Digraph:ZX,Subgraph:eJ,Node:tJ,Edge:nJ});function kx(t,e){return(...n)=>{const r=t?this.Digraph:this.Graph,i=n.find(c=>typeof c=="string"),s=n.find(c=>typeof c=="object"),o=n.find(c=>typeof c=="function"),a=new r(i,e,s);return a.with(this),typeof o=="function"&&o(a),a}}function $x(t,e=Lp){return Object.freeze({digraph:kx.call(e,!0,t),graph:kx.call(e,!1,t)})}const Cx=$x(!1),rJ=Cx.digraph;Cx.graph;const iJ=$x(!0);function _x(t,e){const n=JX(t,e?.convert);return UX(n,e?.print)}var Eb,Ax;function sJ(){if(Ax)return Eb;Ax=1;function t(r){let i=r.length-1,s=r[i];for(;s===" "||s===" ";)s=r[--i];return r.substring(0,i+1)}function e(r){return r.split(`
|
|
1757
|
-
`).map(o=>t(o)).join(`
|
|
1758
|
-
`)}Eb=function(r,i){if(i=i||{},r==null)return r;var s=i.width||50,o=typeof i.indent=="string"?i.indent:" ",a=i.newline||`
|
|
1759
|
-
`+o,c=typeof i.escape=="function"?i.escape:n,u=".{1,"+s+"}";i.cut!==!0&&(u+="([\\s\u200B]+|$)|[^\\s\u200B]+?([\\s\u200B]+|$)");var l=new RegExp(u,"g"),d=r.match(l)||[],f=o+d.map(function(h){return h.slice(-1)===`
|
|
1760
|
-
`&&(h=h.slice(0,h.length-1)),c(h)}).join(a);return i.trim===!0&&(f=e(f)),f};function n(r){return r}return Eb}var oJ=sJ();const Bp={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},r)=>{if(!e)return n*2.55;t/=360,e/=100,n/=100;const i=n<.5?n*(1+e):n+e-n*e,s=2*n-i;switch(r){case"r":return Bp.hue2rgb(s,i,t+1/3)*255;case"g":return Bp.hue2rgb(s,i,t)*255;case"b":return Bp.hue2rgb(s,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:n},r)=>{t/=255,e/=255,n/=255;const i=Math.max(t,e,n),s=Math.min(t,e,n),o=(i+s)/2;if(r==="l")return o*100;if(i===s)return 0;const a=i-s,c=o>.5?a/(2-i-s):a/(i+s);if(r==="s")return c*100;switch(i){case t:return((e-n)/a+(e<n?6:0))*60;case e:return((n-t)/a+2)*60;case n:return((t-e)/a+4)*60;default:return-1}}},aJ={clamp:(t,e,n)=>e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},cJ={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},Ce={channel:Bp,lang:aJ,unit:cJ},ss={};for(let t=0;t<=255;t++)ss[t]=Ce.unit.dec2hex(t);const en={ALL:0,RGB:1,HSL:2};class uJ{constructor(){this.type=en.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=en.ALL}is(e){return this.type===e}}class lJ{constructor(e,n){this.color=n,this.changed=!1,this.data=e,this.type=new uJ}set(e,n){return this.color=n,this.changed=!1,this.data=e,this.type.type=en.ALL,this}_ensureHSL(){const e=this.data,{h:n,s:r,l:i}=e;n===void 0&&(e.h=Ce.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=Ce.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Ce.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:n,g:r,b:i}=e;n===void 0&&(e.r=Ce.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=Ce.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Ce.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,n=e.r;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,n=e.g;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,n=e.b;return!this.type.is(en.HSL)&&n!==void 0?n:(this._ensureHSL(),Ce.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,n=e.h;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,n=e.s;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,n=e.l;return!this.type.is(en.RGB)&&n!==void 0?n:(this._ensureRGB(),Ce.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(en.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(en.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(en.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(en.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(en.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(en.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Db=new lJ({r:0,g:0,b:0,a:0},"transparent"),Ca={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ca.re);if(!e)return;const n=e[1],r=parseInt(n,16),i=n.length,s=i%4===0,o=i>4,a=o?1:17,c=o?8:4,u=s?0:-1,l=o?255:15;return Db.set({r:(r>>c*(u+3)&l)*a,g:(r>>c*(u+2)&l)*a,b:(r>>c*(u+1)&l)*a,a:s?(r&l)*a/255:1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`#${ss[Math.round(e)]}${ss[Math.round(n)]}${ss[Math.round(r)]}${ss[Math.round(i*255)]}`:`#${ss[Math.round(e)]}${ss[Math.round(n)]}${ss[Math.round(r)]}`}},lo={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(lo.hueRe);if(e){const[,n,r]=e;switch(r){case"grad":return Ce.channel.clamp.h(parseFloat(n)*.9);case"rad":return Ce.channel.clamp.h(parseFloat(n)*180/Math.PI);case"turn":return Ce.channel.clamp.h(parseFloat(n)*360)}}return Ce.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const n=t.match(lo.re);if(!n)return;const[,r,i,s,o,a]=n;return Db.set({h:lo._hue2deg(r),s:Ce.channel.clamp.s(parseFloat(i)),l:Ce.channel.clamp.l(parseFloat(s)),a:o?Ce.channel.clamp.a(a?parseFloat(o)/100:parseFloat(o)):1},t)},stringify:t=>{const{h:e,s:n,l:r,a:i}=t;return i<1?`hsla(${Ce.lang.round(e)}, ${Ce.lang.round(n)}%, ${Ce.lang.round(r)}%, ${i})`:`hsl(${Ce.lang.round(e)}, ${Ce.lang.round(n)}%, ${Ce.lang.round(r)}%)`}},td={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=td.colors[t];if(e)return Ca.parse(e)},stringify:t=>{const e=Ca.stringify(t);for(const n in td.colors)if(td.colors[n]===e)return n}},nd={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const n=t.match(nd.re);if(!n)return;const[,r,i,s,o,a,c,u,l]=n;return Db.set({r:Ce.channel.clamp.r(i?parseFloat(r)*2.55:parseFloat(r)),g:Ce.channel.clamp.g(o?parseFloat(s)*2.55:parseFloat(s)),b:Ce.channel.clamp.b(c?parseFloat(a)*2.55:parseFloat(a)),a:u?Ce.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:r,a:i}=t;return i<1?`rgba(${Ce.lang.round(e)}, ${Ce.lang.round(n)}, ${Ce.lang.round(r)}, ${Ce.lang.round(i)})`:`rgb(${Ce.lang.round(e)}, ${Ce.lang.round(n)}, ${Ce.lang.round(r)})`}},os={format:{keyword:td,hex:Ca,rgb:nd,rgba:nd,hsl:lo,hsla:lo},parse:t=>{if(typeof t!="string")return t;const e=Ca.parse(t)||nd.parse(t)||lo.parse(t)||td.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(en.HSL)||t.data.r===void 0?lo.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?nd.stringify(t):Ca.stringify(t)},dJ=(t,e)=>{const n=os.parse(t);for(const r in e)n[r]=Ce.channel.clamp[r](e[r]);return os.stringify(n)},xx=t=>os.format.hex.stringify(os.parse(t)),fJ=(t,e,n)=>{const r=os.parse(t),i=r[e],s=Ce.channel.clamp[e](i+n);return i!==s&&(r[e]=s),os.stringify(r)},hJ=(t,e)=>fJ(t,"a",-e),pJ=(t,e)=>{const n=os.parse(t),r={};for(const i in e)e[i]&&(r[i]=n[i]+e[i]);return dJ(t,r)},mJ=(t,e)=>{const n=os.parse(t),r={},i=(s,o,a)=>o>0?(a-s)*o/100:s*o/100;for(const s in e)r[s]=i(n[s],e[s],Ce.channel.max[s]);return pJ(t,r)};class gJ{value;next;constructor(e){this.value=e}}class yJ{#e;#t;#n;constructor(){this.clear()}enqueue(e){const n=new gJ(e);this.#e?(this.#t.next=n,this.#t=n):(this.#e=n,this.#t=n),this.#n++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#n--,e.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#n=0}get size(){return this.#n}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function qp(t){Ix(t);const e=new yJ;let n=0;const r=()=>{n<t&&e.size>0&&(e.dequeue()(),n++)},i=()=>{n--,r()},s=async(c,u,l)=>{const d=(async()=>c(...l))();u(d);try{await d}catch{}i()},o=(c,u,l)=>{new Promise(d=>{e.enqueue(d)}).then(s.bind(void 0,c,u,l)),(async()=>(await Promise.resolve(),n<t&&r()))()},a=(c,...u)=>new Promise(l=>{o(c,l,u)});return Object.defineProperties(a,{activeCount:{get:()=>n},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}},concurrency:{get:()=>t,set(c){Ix(c),t=c,queueMicrotask(()=>{for(;n<t&&e.size>0;)r()})}}}),a}function Ix(t){if(!((Number.isInteger(t)||t===Number.POSITIVE_INFINITY)&&t>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var vJ=Object.getOwnPropertyNames,wJ=Object.getOwnPropertySymbols,bJ=Object.prototype.hasOwnProperty;function Px(t,e){return function(n,r,i){return t(n,r,i)&&e(n,r,i)}}function jp(t){return function(e,n,r){if(!e||!n||typeof e!="object"||typeof n!="object")return t(e,n,r);var i=r.cache,s=i.get(e),o=i.get(n);if(s&&o)return s===n&&o===e;i.set(e,n),i.set(n,e);var a=t(e,n,r);return i.delete(e),i.delete(n),a}}function Nx(t){return vJ(t).concat(wJ(t))}var Ox=Object.hasOwn||function(t,e){return bJ.call(t,e)};function _a(t,e){return t||e?t===e:t===e||t!==t&&e!==e}var Lx="_owner",Fx=Object.getOwnPropertyDescriptor,Mx=Object.keys;function EJ(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function DJ(t,e){return _a(t.getTime(),e.getTime())}function zx(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.entries(),s=0,o,a;(o=i.next())&&!o.done;){for(var c=e.entries(),u=!1,l=0;(a=c.next())&&!a.done;){var d=o.value,f=d[0],h=d[1],p=a.value,m=p[0],g=p[1];!u&&!r[l]&&(u=n.equals(f,m,s,l,t,e,n)&&n.equals(h,g,f,m,t,e,n))&&(r[l]=!0),l++}if(!u)return!1;s++}return!0}function TJ(t,e,n){var r=Mx(t),i=r.length;if(Mx(e).length!==i)return!1;for(var s;i-- >0;)if(s=r[i],s===Lx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Ox(e,s)||!n.equals(t[s],e[s],s,s,t,e,n))return!1;return!0}function rd(t,e,n){var r=Nx(t),i=r.length;if(Nx(e).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],s===Lx&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!Ox(e,s)||!n.equals(t[s],e[s],s,s,t,e,n)||(o=Fx(t,s),a=Fx(e,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function RJ(t,e){return _a(t.valueOf(),e.valueOf())}function SJ(t,e){return t.source===e.source&&t.flags===e.flags}function Bx(t,e,n){if(t.size!==e.size)return!1;for(var r={},i=t.values(),s,o;(s=i.next())&&!s.done;){for(var a=e.values(),c=!1,u=0;(o=a.next())&&!o.done;)!c&&!r[u]&&(c=n.equals(s.value,o.value,s.value,o.value,t,e,n))&&(r[u]=!0),u++;if(!c)return!1}return!0}function kJ(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var $J="[object Arguments]",CJ="[object Boolean]",_J="[object Date]",AJ="[object Map]",xJ="[object Number]",IJ="[object Object]",PJ="[object RegExp]",NJ="[object Set]",OJ="[object String]",LJ=Array.isArray,qx=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,jx=Object.assign,FJ=Object.prototype.toString.call.bind(Object.prototype.toString);function MJ(t){var e=t.areArraysEqual,n=t.areDatesEqual,r=t.areMapsEqual,i=t.areObjectsEqual,s=t.arePrimitiveWrappersEqual,o=t.areRegExpsEqual,a=t.areSetsEqual,c=t.areTypedArraysEqual;return function(u,l,d){if(u===l)return!0;if(u==null||l==null||typeof u!="object"||typeof l!="object")return u!==u&&l!==l;var f=u.constructor;if(f!==l.constructor)return!1;if(f===Object)return i(u,l,d);if(LJ(u))return e(u,l,d);if(qx!=null&&qx(u))return c(u,l,d);if(f===Date)return n(u,l,d);if(f===RegExp)return o(u,l,d);if(f===Map)return r(u,l,d);if(f===Set)return a(u,l,d);var h=FJ(u);return h===_J?n(u,l,d):h===PJ?o(u,l,d):h===AJ?r(u,l,d):h===NJ?a(u,l,d):h===IJ?typeof u.then!="function"&&typeof l.then!="function"&&i(u,l,d):h===$J?i(u,l,d):h===CJ||h===xJ||h===OJ?s(u,l,d):!1}}function zJ(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,i={areArraysEqual:r?rd:EJ,areDatesEqual:DJ,areMapsEqual:r?Px(zx,rd):zx,areObjectsEqual:r?rd:TJ,arePrimitiveWrappersEqual:RJ,areRegExpsEqual:SJ,areSetsEqual:r?Px(Bx,rd):Bx,areTypedArraysEqual:r?rd:kJ};if(n&&(i=jx({},i,n(i))),e){var s=jp(i.areArraysEqual),o=jp(i.areMapsEqual),a=jp(i.areObjectsEqual),c=jp(i.areSetsEqual);i=jx({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return i}function BJ(t){return function(e,n,r,i,s,o,a){return t(e,n,a)}}function qJ(t){var e=t.circular,n=t.comparator,r=t.createState,i=t.equals,s=t.strict;if(r)return function(a,c){var u=r(),l=u.cache,d=l===void 0?e?new WeakMap:void 0:l,f=u.meta;return n(a,c,{cache:d,equals:i,meta:f,strict:s})};if(e)return function(a,c){return n(a,c,{cache:new WeakMap,equals:i,meta:void 0,strict:s})};var o={cache:void 0,equals:i,meta:void 0,strict:s};return function(a,c){return n(a,c,o)}}var jJ=as();as({strict:!0}),as({circular:!0}),as({circular:!0,strict:!0}),as({createInternalComparator:function(){return _a}}),as({strict:!0,createInternalComparator:function(){return _a}}),as({circular:!0,createInternalComparator:function(){return _a}}),as({circular:!0,createInternalComparator:function(){return _a},strict:!0});function as(t){t===void 0&&(t={});var e=t.circular,n=e===void 0?!1:e,r=t.createInternalComparator,i=t.createState,s=t.strict,o=s===void 0?!1:s,a=zJ(t),c=MJ(a),u=r?r(c):BJ(c);return qJ({circular:n,comparator:c,createState:i,equals:u,strict:o})}function Ux(t,e){const n=t.nodes.map(i=>{const s=e.nodes[i.id];if(!s)return i;const{x:o,y:a,width:c,height:u}=s;return{...i,width:c,height:u,position:[o,a]}}),r=t.edges.map(i=>{const s=e.edges[i.id];return s?{...i,...s}:i});return{...t,bounds:{x:e.x,y:e.y,width:e.width,height:e.height},nodes:n,edges:r}}const Gx=(t,e)=>t.width>e.width+10||t.height>e.height+10;function UJ(t,e){if(t.hash===e.hash)return{diagram:Ux(t,e)};if(jJ(t.autoLayout,e.autoLayout)&&t.nodes.every(r=>{const i=e.nodes[r.id];return!!i&&(r.children.length>0&&i.isCompound||r.children.length===0&&!i.isCompound)&&(i.isCompound||Gx(r,i)===!1)})&&t.edges.every(r=>{const i=e.edges[r.id];return!!i&&(!r.labelBBox&&!i.labelBBox||!!r.labelBBox&&!!i.labelBBox&&r.labelBBox.width<=i.labelBBox.width&&r.labelBBox.height<=i.labelBBox.height)}))return{diagram:Ux(t,e)};const n=t.nodes.reduce((r,i)=>{const s=e.nodes[i.id];if(i.children.length>0||!s)return r;const o={id:i.id,center:{x:Math.round(s.x+s.width/2),y:Math.round(s.y+s.height/2)}};return s.isCompound||Gx(i,s)||(o.fixedsize={width:s.width,height:s.height}),r.push(o),r},[]);return{relayout:{x:e.x,y:e.y,height:e.height,nodes:n,edges:oa(e.edges).flatMap(([r,i])=>i.dotpos?{id:r,dotpos:i.dotpos}:[])}}}function Mn(t){return t.children.length>0}function Qn(t){switch(t){case"open":return"vee";default:return t}}function Hr(t){return Array.isArray(t)?[Hr(t[0]),Hr(t[1])]:(we(isFinite(t),`Invalid not finite point value ${t}`),Math.round(t))}const Wx=t=>(we(isFinite(t),`Invalid not finite inch value ${t}`),Math.floor(t*72)),ht=t=>Math.ceil(t/72*1e3)/1e3,er=t=>Math.ceil(t);er(40).toString();function Hx(t,e){return xx(mJ(t,{l:-35-5*e,s:-15-5*e}))}function GJ(t){return xx(hJ(t,.3))}function WJ(t){return t.trim().replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function Tb(t,e,n){let r=oJ(t,{width:e,indent:"",escape:WJ}).split(`
|
|
1761
|
-
`);return At(n)&&n>0&&r.length>n&&(r=r.slice(0,n-1)),r}function cs({text:t,maxchars:e,fontsize:n,maxLines:r,bold:i,color:s}){let o=Tb(t,e,r).join("<BR/>");i&&(o=`<B>${o}</B>`);const a=s?` COLOR="${s}"`:"";return`<FONT POINT-SIZE="${er(n)}"${a}>${o}</FONT>`}function HJ(t,e){const n=ae(t.icon),r=[cs({text:t.title,fontsize:19,maxchars:35,maxLines:2})];if(ae(t.technology)&&r.push(cs({text:t.technology,fontsize:12,maxchars:n?35:45,maxLines:1,color:e.loContrast})),ae(t.description)&&r.push(cs({text:t.description,fontsize:14,maxchars:n?35:45,maxLines:5,color:e.loContrast})),r.length===1&&!n)return`<${r[0]}>`;const i=n?(s,o,a)=>{let c=`<TD ALIGN="TEXT" BALIGN="LEFT">${s}</TD>`;if(o===0){const u=a.length>1?` ROWSPAN="${a.length}"`:"";let l=76;(t.shape==="queue"||t.shape==="mobile")&&(l+=20),c=`<TD${u} WIDTH="${l}" HEIGHT="16" FIXEDSIZE="TRUE"> </TD>${c}`,c=`${c}<TD${u} WIDTH="16" HEIGHT="16" FIXEDSIZE="TRUE"> </TD>`}return`<TR>${c}</TR>`}:s=>`<TR><TD>${s}</TD></TR>`;return`<<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="6">${r.map(i).join("")}</TABLE>>`}function VJ(t,e){const n=cs({text:t.title.toUpperCase(),maxchars:50,fontsize:11,maxLines:1,bold:!0,color:e});return n.includes("<BR/>")?`<<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR><TD ALIGN="TEXT" BALIGN="LEFT">${n}</TD></TR></TABLE>>`:`<${n}>`}const Aa=35;function KJ({label:t,description:e,technology:n}){const r=[];if(ae(t)&&r.push(cs({text:t,maxchars:Aa,fontsize:14,maxLines:4,bold:t==="[...]"})),ae(e)&&r.push(cs({text:e,maxchars:Aa,maxLines:4,fontsize:14})),ae(n)&&r.push(cs({text:n,fontsize:12,maxLines:1,maxchars:Aa})),r.length===0)return null;const i=r.map(s=>`<TR><TD ALIGN="TEXT" BALIGN="LEFT">${s}</TD></TR>`).join("");return`<<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" ${Rb}>${i}</TABLE>>`}const Rb=`BGCOLOR="${Wn.relationships[Ts].labelBgColor}A0"`;function YJ(t,e){const n=`<TABLE BORDER="0" CELLPADDING="6" ${Rb}><TR><TD FIXEDSIZE="TRUE" WIDTH="20" HEIGHT="20"><FONT POINT-SIZE="${er(14)}"><B>${t}</B></FONT></TD></TR></TABLE>`;return ae(e)?`<${['<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">',"<TR>",`<TD>${n}</TD>`,`<TD ${Rb} CELLPADDING="2">`,cs({text:e,maxchars:Aa,fontsize:14}),"</TD>","</TR>","</TABLE>"].join("")}>`:`<${n}>`}const Vx="dashed",Sb=Wn.font;class Kx{constructor(e){this.view=e,this.compoundIds=new Set(e.nodes.filter(Mn).map(r=>r.id)),this.edgesWithCompounds=new Set(this.compoundIds.size>0?e.edges.filter(r=>this.compoundIds.has(r.source)||this.compoundIds.has(r.target)).map(r=>r.id):[]);const n=this.graphvizModel=this.createGraph();this.applyNodeAttributes(n.attributes.node),this.applyEdgeAttributes(n.attributes.edge),this.buildGraphvizModel(n)}ids=new Set;subgraphs=new Map;nodes=new Map;edges=new Map;compoundIds;edgesWithCompounds;graphvizModel;get hasEdgesWithCompounds(){return this.edgesWithCompounds.size>0}buildGraphvizModel(e){const n=(i,s)=>{const o=this.nodeId(i),a=this.elementToSubgraph(i,s.subgraph(o));this.subgraphs.set(i.id,a);for(const c of this.view.nodes.filter(u=>Mn(u)&&u.parent===i.id))n(c,a)},r=[];for(const i of this.view.nodes)Mn(i)?at(i.parent)&&n(i,e):r.push(i);for(const i of r){const s=i.parent?this.getSubgraph(i.parent):e;we(s,"parent graph should be defined");const o=this.nodeId(i),a=this.elementToNode(i,s.node(o));this.nodes.set(i.id,a)}for(const i of this.view.edges){const s=this.addEdge(i,e);s&&this.edges.set(i.id,s)}}print(){return _x(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}createGraph(){const e=this.view.autoLayout,n=rJ({[j.bgcolor]:"transparent",[j.layout]:"dot",[j.compound]:!0,[j.rankdir]:e.direction,[j.TBbalance]:"min",[j.splines]:"spline",[j.outputorder]:"nodesfirst",[j.nodesep]:ht(e.nodeSep??110),[j.ranksep]:ht(e.rankSep??120),[j.pack]:er(e.rankSep??120),[j.packmode]:"array_3",[j.pad]:ht(15),[j.fontname]:Sb});return n.attributes.graph.apply({[j.fontsize]:er(15),[j.labeljust]:e.direction==="RL"?"r":"l",[j.labelloc]:e.direction==="BT"?"b":"t",[j.margin]:50.1}),n}applyNodeAttributes(e){e.apply({[j.fontname]:Sb,[j.shape]:"rect",[j.width]:ht(320),[j.height]:ht(180),[j.style]:"filled",[j.penwidth]:0})}applyEdgeAttributes(e){e.apply({[j.arrowsize]:.75,[j.fontname]:Sb,[j.fontsize]:er(14),[j.penwidth]:er(2),[j.color]:Wn.relationships[Ts].lineColor,[j.fontcolor]:Wn.relationships[Ts].labelColor})}checkNodeId(e,n=!1){return n?e="cluster_"+e:e.toLowerCase().startsWith("cluster")&&(e="nd_"+e),this.ids.has(e)?null:(this.ids.add(e),e)}nodeId(e){const n=Mn(e);let r=So(e.id).toLowerCase(),i=this.checkNodeId(r,n);if(i!==null)return i;let s=e.id,o;for(;o=kt(s);){if(r=So(o).toLowerCase()+"_"+r,i=this.checkNodeId(r,n),i!==null)return i;s=o}r=So(e.id).toLowerCase();let a=1;do i=this.checkNodeId(r+"_"+a++,n);while(i===null);return i}elementToSubgraph(e,n){we(Mn(e),"node should be compound"),we(lh(e.depth),"node.depth should be defined");const r=this.getElementColorValues(e.color),i=GJ(r.loContrast);return n.apply({[j.likec4_id]:e.id,[j.likec4_level]:e.level,[j.likec4_depth]:e.depth,[j.fillcolor]:Hx(r.fill,e.depth),[j.color]:Hx(r.stroke,e.depth),[j.style]:"filled",[j.margin]:er(e.children.length>1?40:32)}),Yi(e.title.trim())||n.set(j.label,VJ(e,i)),n}elementToNode(e,n){we(!Mn(e),"node should not be compound");const r=ae(e.icon),i=this.getElementColorValues(e.color);switch(n.attributes.apply({[j.likec4_id]:e.id,[j.likec4_level]:e.level,[j.fillcolor]:i.fill,[j.fontcolor]:i.hiContrast,[j.color]:i.stroke,[j.margin]:`${ht(r?10:26)},${ht(26)}`}),e.shape){case"cylinder":case"storage":{n.attributes.apply({[j.margin]:`${ht(r?10:26)},${ht(0)}`,[j.penwidth]:er(2),[j.shape]:"cylinder"});break}case"browser":{n.attributes.apply({[j.margin]:`${ht(r?10:30)},${ht(32)}`});break}case"mobile":{n.attributes.apply({[j.margin]:`${ht(r?10:30)},${ht(26)}`});break}case"queue":{n.attributes.apply({[j.width]:ht(320),[j.height]:ht(165),[j.margin]:`${ht(r?10:30)},${ht(26)}`});break}}return n.attributes.set(j.label,HJ(e,i)),n}leafElements(e){if(e===null)return this.view.nodes.filter(r=>!Mn(r));const n=e+".";return this.view.nodes.filter(r=>!Mn(r)&&r.id.startsWith(n))}viewElement(e){return et(this.view.nodes.find(n=>n.id===e),`Node ${e} not found`)}getGraphNode(e){return this.nodes.get(e)??null}getSubgraph(e){return this.subgraphs.get(e)??null}edgeEndpoint(e,n){let r=this.viewElement(e),i=this.getGraphNode(e),s;return i||(we(Mn(r),"endpoint node should be compound"),s=this.getSubgraph(e)?.id,we(s,`subgraph ${e} not found`),r=et(n(this.leafElements(e)),`leaf element in ${e} not found`),i=et(this.getGraphNode(r.id),`source graphviz node ${r.id} not found`)),[r,i,s]}hasInternalEdges(e){return e===null?this.view.edges.length>0:this.view.edges.some(LE(e))}findInternalEdges(e){return e===null?this.view.edges.slice():this.view.edges.filter(LE(e))}withoutCompoundEdges(e){return this.edgesWithCompounds.size===0?e:{...e,inEdges:e.inEdges.filter(n=>!this.edgesWithCompounds.has(n)),outEdges:e.outEdges.filter(n=>!this.edgesWithCompounds.has(n))}}assignGroups(){const e=Ke(this.view.nodes,nt(Mn),Dt(r=>r.id),ra(ko),uh(),Dt(r=>{const i=this.findInternalEdges(r).filter(s=>s.source!==s.target&&!this.compoundIds.has(s.source)&&!this.compoundIds.has(s.target));return{id:r,edges:i}}),nt(({edges:r})=>r.length>1&&r.length<8),VU(4)),n=new Set;for(const r of e){const i=r.edges.filter(s=>!n.has(s.source)&&!n.has(s.target));for(const s of i)try{const o=et(this.getGraphNode(s.source),`Graphviz Node not found for ${s.source}`),a=et(this.getGraphNode(s.target),`Graphviz Node not found for ${s.target}`);n.add(s.source),n.add(s.target),o.attributes.set(j.group,r.id),a.attributes.set(j.group,r.id)}catch(o){Xe.error(o)}}}applyManualLayout({height:e,...n}){const r=n.x<0?-n.x:0,i=n.y<0?-n.y:0,s=r>0||i>0;for(const{id:o,...a}of n.nodes){const c=this.getGraphNode(o);if(!c)continue;const u=ht(a.center.x)+r,l=ht(e-a.center.y);a.fixedsize?c.attributes.apply({[j.pos]:`${u},${l}!`,[j.pin]:!0,[j.width]:ht(a.fixedsize.width),[j.height]:ht(a.fixedsize.height),[j.fixedsize]:!0}):c.attributes.set(j.pos,`${u},${l}`)}for(const[o,a]of this.edges.entries()){a.attributes.delete(j.weight),a.attributes.delete(j.minlen),a.attributes.delete(j.constraint);const c=n.edges.find(u=>u.id===o)?.dotpos;c&&!s&&a.attributes.set(j.pos,c)}return this.graphvizModel.apply({[j.layout]:"fdp",[j.overlap]:"vpsc",[j.sep]:"+50,50",[j.esep]:"+10,10",[j.start]:"random2",[j.splines]:"compound"}),this.graphvizModel.delete(j.compound),this.graphvizModel.delete(j.rankdir),this.graphvizModel.delete(j.nodesep),this.graphvizModel.delete(j.ranksep),this.graphvizModel.delete(j.pack),this.graphvizModel.delete(j.pad),this.graphvizModel.delete(j.packmode),this.graphvizModel.attributes.graph.delete(j.margin),this}getRelationshipColorValues(e){return bE(e)?Wn.relationships[e]:this.view.customColorDefinitions[e]?.relationships??Wn.relationships[Oa]}getElementColorValues(e){return bE(e)?Wn.elements[e]:this.view.customColorDefinitions[e]?.elements??Wn.elements[Oa]}}class U0 extends Kx{static toDot(e){return new U0(e).print()}createGraph(){const e=super.createGraph();return e.set(j.TBbalance,"max"),e}addEdge(e,n){const{nodes:r}=this.view,[i,s]=e.dir==="back"?[e.target,e.source]:[e.source,e.target],[o,a,c]=this.edgeEndpoint(i,E=>ia(E)),[u,l,d]=this.edgeEndpoint(s,sa),f=n.edge([a,l],{[j.likec4_id]:e.id,[j.style]:e.line??Vx});if(d&&f.attributes.set(j.lhead,d),c&&f.attributes.set(j.ltail,c),e.color&&e.color!==Ts){const E=this.getRelationshipColorValues(e.color);f.attributes.apply({[j.color]:E.lineColor,[j.fontcolor]:E.labelColor})}const h=Br(d)||Br(c),p=CE(e.id),m=YJ(p,e.label?.trim());if(f.attributes.set(j.label,m),!h){const E=new Set([...o.outEdges,...u.inEdges,...v9(u.outEdges,o.inEdges)].filter(k=>!this.edgesWithCompounds.has(k)));f.attributes.set(j.weight,E.size)}const g=r.findIndex(E=>E.id===i);r.findIndex(E=>E.id===s)<g&&e.dir!=="back"&&f.attributes.apply({[j.constraint]:!1});let[y,w]=[e.head??Ro,e.tail??"none"];return e.dir==="back"?(f.attributes.apply({[j.arrowtail]:Qn(y),[j.minlen]:0,[j.dir]:"back"}),w!=="none"&&f.attributes.apply({[j.arrowhead]:Qn(w),[j.dir]:"both"}),f):y==="none"&&w==="none"||y!=="none"&&w!=="none"?(f.attributes.apply({[j.arrowhead]:Qn(y),[j.arrowtail]:Qn(w),[j.dir]:"both"}),f):y==="none"?(f.attributes.delete(j.arrowhead),f.attributes.apply({[j.arrowtail]:Qn(w),[j.minlen]:0,[j.dir]:"back"}),f):(y!==Ro&&f.attributes.set(j.arrowhead,Qn(y)),f)}}class G0 extends Kx{static toDot(e){return new G0(e).print()}buildGraphvizModel(e){super.buildGraphvizModel(e),this.assignGroups();const n=new Set,r=this.view.nodes.reduce((i,s)=>(Mn(s)&&(n.add(s.id),i.push(s)),i),[]);for(const i of r){const s=Ke(i.children,nt(u=>!this.compoundIds.has(u)),Dt(u=>this.viewElement(u)),nt(u=>u.inEdges.length===0&&u.outEdges.length===0));if(s.length<=2)continue;let o=2;switch(!0){case s.length>11:o=4;break;case s.length>4:o=3;break}const a=et(this.getSubgraph(i.id),`Subgraph not found for ${i.id}`);let c=null;q9(s,o).forEach(u=>{const l=u.length>1?a.createSubgraph({[j.rank]:"same"}):null;u.forEach((d,f)=>{const h=this.getGraphNode(d.id);h&&(l?.node(h.id),f===0&&(c&&a.edge([c,h],{[j.style]:"invis"}),c=h))})})}}addEdge(e,n){const r=this.view.edges,[i,s]=e.dir==="back"?[e.target,e.source]:[e.source,e.target],[o,a,c]=this.edgeEndpoint(i,E=>ia(E)),[u,l,d]=this.edgeEndpoint(s,sa),f=e.parent,h=(f===null?n:et(this.getSubgraph(f),`Parent not found for edge ${e.id}`)).edge([a,l],{[j.likec4_id]:e.id,[j.style]:e.line??Vx});d&&h.attributes.set(j.lhead,d),c&&h.attributes.set(j.ltail,c);const p=Br(d)||Br(c);if(!p){const E=new Set([...o.inEdges,...o.outEdges,...u.inEdges,...u.outEdges].filter(k=>!this.edgesWithCompounds.has(k)));h.attributes.set(j.weight,E.size)}const m=KJ(e);if(m&&(p?h.attributes.set(j.xlabel,m):h.attributes.set(j.label,m)),e.color){const E=this.getRelationshipColorValues(e.color);h.attributes.apply({[j.color]:E.lineColor,[j.fontcolor]:E.labelColor})}let[g,y]=[e.head??Ro,e.tail??"none"];if(e.dir==="back")return h.attributes.apply({[j.arrowtail]:Qn(g),[j.dir]:"back"}),y!=="none"&&h.attributes.apply({[j.arrowhead]:Qn(y),[j.dir]:"both",[j.minlen]:0}),h;if(g==="none"&&y==="none")return h.attributes.apply({[j.arrowtail]:"none",[j.arrowhead]:"none",[j.dir]:"none",[j.minlen]:0,[j.constraint]:!1}),h;if(g!=="none"&&y!=="none")return h.attributes.apply({[j.arrowhead]:Qn(g),[j.arrowtail]:Qn(y),[j.dir]:"both",[j.minlen]:0}),h;if(g!==Ro&&h.attributes.set(j.arrowhead,Qn(g)),y!=="none"&&h.attributes.set(j.arrowtail,Qn(y)),r.length===1)return h;let w;return f===null&&o.parent==null&&u.parent==null?w=r.filter(E=>{if(E.id===e.id||E.parent!==null||E.source===e.source&&E.target===e.target||E.source===e.target&&E.target===e.source)return!1;const k=this.viewElement(E.source),A=this.viewElement(E.target);return Mn(k)||Mn(A)?!1:k.parent==null&&A.parent==null}):w=this.findInternalEdges(f).filter(E=>!(E.id===e.id||E.source===e.source&&E.target===e.target||E.source===e.target&&E.target===e.source)),w.length===0&&(f===null||this.leafElements(f).length<=3)&&h.attributes.set(j.minlen,0),h}}function Up(t){const[e,n,r,i]=t?t.split(",").map(a=>Hr(+a)):[0,0,0,0],s=Math.round(r-e),o=Math.round(n-i);return{x:Math.round(e),y:Math.round(i),width:s,height:o}}function XJ(t){try{const[e,n]=t.split(",");return{x:Hr(parseFloat(e)),y:Hr(parseFloat(n))}}catch(e){throw Xe.error(`failed on parsing pos: ${t}`,e),e}}function Yx({pos:t,width:e,height:n}){const{x:r,y:i}=XJ(t),s=Wx(+e),o=Wx(+n);return{x:r-Math.round(s/2),y:i-Math.round(o/2),width:s,height:o}}function Xx(t,[e,n]=[0,0]){if(!t||t.length===0)return null;let r=1/0,i=1/0,s=-1/0,o=-1/0,a=13;try{for(const u of t){if(u.op==="F"){a=Hr(u.size);continue}if(u.op==="T"){let l=Hr(u.pt[0])-e,d=Hr(u.width);switch(u.align){case"r":l-=d;break;case"c":l-=Math.round(d/2);break}r=Math.min(r,l),s=Math.max(s,l+d);let f=Hr(u.pt[1])-n;i=Math.min(i,Math.round(f-a)),o=Math.max(o,f)}}}catch(u){return Xe.error(`Failed on parsing label draw ops: ${u}
|
|
1762
|
-
${JSON.stringify(t,null,2)}`),null}if(r===1/0)return null;const c=2;return{x:r-c,y:i-c,width:s-r+2*c,height:o-i+2*c}}function Jx({_draw_:t,likec4_id:e="???"},n="<unknown view>"){try{const r=t.filter(s=>s.op.toLowerCase()==="b");we(Hi(r,1),`view ${n} edge ${e} should have at least one bezier draw op`),r.length>1&&Xe.warn(`view ${n} edge ${e} has more than one bezier draw op, using the first one only`);const i=r[0].points.map(s=>Hr(s));return we(Hi(i,2),`view ${n} edge ${e} should have at least two points`),i}catch(r){throw Xe.error(`failed on parsing view ${n} edge ${e} _draw_:
|
|
1763
|
-
${JSON.stringify(t,null,2)}`),r}}function JJ(t,{id:e,source:n,target:r,dir:i,label:s,description:o,...a},c){const u=Xx(t._ldraw_??t._tldraw_??t._hldraw_),l=t.dir==="back"||i==="back";return s=s?Tb(s,Aa).join(`
|
|
1764
|
-
`):null,o=o?Tb(o,Aa).join(`
|
|
1765
|
-
`):void 0,{id:e,source:n,target:r,label:s,...ae(o)&&{description:o},...ae(t.pos)&&{dotpos:t.pos},points:Jx(t,c),labelBBox:u,...l?{dir:"back"}:{},...a}}function Zx(t,e){const n=JSON.parse(t),r=Up(n.bb),{nodes:i,edges:s,manualLayout:o,...a}=e,c={...a,bounds:r,nodes:[],edges:[]},u=n.objects??[];for(const d of i){const f=u.find(w=>w.likec4_id===d.id);we(f,`View ${a.id} element ${d.id} not found in graphviz output`);const{x:h,y:p,width:m,height:g}="bb"in f?Up(f.bb):Yx(f),y=[h,p];c.nodes.push({...d,position:y,width:m,height:g,labelBBox:Xx(f._ldraw_,y)??{x:h,y:p,width:m,height:g}})}const l=n.edges??[];for(const d of s){const f=l.find(h=>h.likec4_id===d.id);if(!f){Xe.warn(`View ${a.id} edge ${d.id} not found in graphviz output, skipping`);continue}c.edges.push(JJ(f,d,a.id))}return c}const Gp=t=>String(t+1).padStart(2,"0");function ZJ(t){const e=JSON.parse(t),n=Up(e.bb),r={nodes:[],edges:[],bounds:n},i=new Map,s=e.objects??[];for(const o of s){if(!o.likec4_type)continue;const a=Gp(o._gvid),c=o.likec4_path??"",u=i.get(o._gvid),{x:l,y:d,width:f,height:h}="bb"in o?Up(o.bb):Yx(o),p={x:l,y:d};if(o.likec4_type==="view")we(o.likec4_id,`View ${o} has no likec4_id`),r.nodes.push({id:a,type:"view",parentId:u?.id??null,height:h,width:f,position:p,label:o.label??"",viewId:o.likec4_id});else{const m={id:a,type:o.likec4_type,parentId:u?.id??null,height:h,width:f,position:p,path:c,label:o.label??""},g=[..."subgraphs"in o?o.subgraphs:[],..."nodes"in o?o.nodes:[]];for(const y of g)i.set(y,m);r.nodes.push(m)}}for(const o of e.edges??[])try{const a=Gp(o.tail),c=Gp(o.head);r.edges.push({id:`link${Gp(o._gvid)}`,source:a,target:c,points:Jx(o)})}catch(a){Xe.warn(a)}return r}const Qx=Wn.font,Wp="/";class W0{static toDot(e){return new W0(e).print()}subgraphs=new Map;graphvizModel;constructor(e){const n=this.graphvizModel=iJ.graph({[j.layout]:"osage",[j.pack]:er(100),[j.packmode]:"array_ltc",[j.pad]:ht(15),[j.fontname]:Qx,[j.splines]:"polyline",[j.esep]:"+20"});n.attributes.graph.apply({[j.fontsize]:er(20),[j.labeljust]:"l",[j.labelloc]:"t"}),n.attributes.node.apply({[j.fontname]:Qx,[j.shape]:"rect",[j.width]:ht(400),[j.height]:ht(300),[j.fixedsize]:!0,[j.fontsize]:10}),n.attributes.edge.apply({[j.penwidth]:er(2)});const r=new Set(e.map(c=>c.relativePath??""));let i=0,s=[...e];const o=r.size>1;o&&s.sort((c,u)=>{const l=c.relativePath?.split(Wp)??[""],d=u.relativePath?.split(Wp)??[""];l.push(c.title??"Untitled"),d.push(u.title??"Untitled");const f=l.length,h=d.length;switch(i=Math.max(i,f,h),!0){case f>h:return-1;case f<h:return 1;default:{for(let p=0;p<f;p++){const m=l[p].localeCompare(d[p]);if(m!==0)return m}return 0}}});const a=new Map;s.forEach((c,u)=>{this.addView(o?c:{...c,relativePath:""},u+i);const l=c.nodes.reduce((d,f)=>(f.navigateTo&&d.add(f.navigateTo),d),new Set);l.size>0&&a.set(c.id,l)});for(const[c,u]of a)for(const l of u)n.edge([c,l])}getParentForPath(e){if(e==="")return this.graphvizModel;const n=e.toLowerCase();let r=this.subgraphs.get(n);if(!r){const i=n.endsWith(".c4")||n.endsWith(".likec4"),s=e.includes(Wp)?e.slice(0,e.lastIndexOf(Wp)):"";r=this.getParentForPath(s).subgraph("cluster"+String(this.subgraphs.size+1),{[j.likec4_type]:i?"file":"folder",[j.likec4_path]:e,[j.sortv]:this.subgraphs.size,[j.label]:ae(s)?e.slice(s.length+1):e}),this.subgraphs.set(n,r)}return r}addView(e,n=0){return this.getParentForPath(e.relativePath??"").node(e.id,{[j.likec4_type]:"view",[j.likec4_id]:e.id,[j.sortv]:n,[j.label]:e.title||"Untitled"})}print(){return _x(this.graphvizModel,{print:{indentStyle:"space",indentSize:2}})}}const eI=t=>Am(t)?new U0(t):new G0(t);class QJ{constructor(e){this.graphviz=e}get port(){return this.graphviz}changePort(e){this.graphviz=e}async layout(e){let n=await this.dot(e);const r=await this.graphviz.layoutJson(n);let i=Zx(r,e);if(e.manualLayout){const s=UJ(i,e.manualLayout);if(s.diagram)i=s.diagram;else{if(s.relayout.nodes.length>0){const o=eI(e);if(o.hasEdgesWithCompounds)Xe.warn(`Manual layout for view ${e.id} is ignored, as edges with compounds are not supported`);else{o.applyManualLayout(s.relayout);const a=await this.graphviz.layoutJson(o.print());i=Zx(a,e)}}i.hasLayoutDrift=!0}}return n=n.split(`
|
|
1766
|
-
`).filter(s=>!(s.includes("margin")&&s.includes("50.1"))).join(`
|
|
1767
|
-
`),{dot:n,diagram:i}}async svg(e){let n=await this.dot(e);return n=n.split(`
|
|
1768
|
-
`).filter(r=>!(r.includes("margin")&&r.includes("50.1"))).join(`
|
|
1769
|
-
`),{svg:await this.graphviz.svg(n),dot:n}}async dot(e){let n=eI(e).print();if(Am(e))return n;try{return await this.graphviz.unflatten(n)}catch(r){return Xe.warn(`Error during unflatten: ${e.id}`,r),n}}async layoutOverviewGraph(e){if(e.length===0)return Promise.resolve({nodes:[],edges:[],bounds:{x:0,y:0,width:10,height:10}});const n=W0.toDot(e),r=await this.graphviz.layoutJson(n);return ZJ(r)}}const eZ=qp(1);class gd{static _graphviz=null;graphviz(){return Promise.resolve().then(()=>gd._graphviz??=ym.load())}async attempt(e,n){return await eZ(async()=>{const r=Xe.withTag("graphviz-wasm");try{return await n()}catch(i){r.error(`FAILED GraphvizWasmAdapter: ${e}`,i),ym.unload(),gd._graphviz=null}r.warn("Retrying..."),await LD(50,300);try{return await n()}finally{ym.unload(),gd._graphviz=null}})}async unflatten(e){return await this.attempt(`unflatten
|
|
1770
|
-
${e}`,async()=>(await this.graphviz()).unflatten(e,1,!1,3).replaceAll(/\t\[/g," [").replaceAll(/\t/g," "))}async acyclic(e){return await this.attempt(`acyclic
|
|
1771
|
-
${e}`,async()=>{const n=(await this.graphviz()).acyclic(e,!0);return n.acyclic&&n.outFile||e})}async layoutJson(e){return await this.attempt(`dot
|
|
1772
|
-
${e}`,async()=>(await this.graphviz()).layout(e,"json",void 0,{yInvert:!0}))}async svg(e){return await this.attempt(`svg
|
|
1773
|
-
${e}`,async()=>(await this.graphviz()).layout(e,"svg"))}}function tr(t){if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}const kb=(t,e)=>{const n=tI(t);if(typeof n!="string")throw new TypeError(`${e} must be a string or a file URL: ${n}.`);return n},tI=t=>t instanceof URL?gm(t):t,nI=(t,e=[],n={})=>{const r=kb(t,"First argument"),[i,s]=tr(e)?[[],e]:[e,n];if(!Array.isArray(i))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${i}`);if(i.some(c=>typeof c=="object"&&c!==null))throw new TypeError(`Second argument must be an array of strings: ${i}`);const o=i.map(String),a=o.find(c=>c.includes("\0"));if(a!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${a}`);if(!tr(s))throw new TypeError(`Last argument must be an options object: ${s}`);return[r,o,s]},{toString:rI}=Object.prototype,tZ=t=>rI.call(t)==="[object ArrayBuffer]",Er=t=>rI.call(t)==="[object Uint8Array]",id=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),nZ=new TextEncoder,iI=t=>nZ.encode(t),rZ=new TextDecoder,sI=t=>rZ.decode(t),iZ=(t,e)=>sZ(t,e).join(""),sZ=(t,e)=>{if(e==="utf8"&&t.every(s=>typeof s=="string"))return t;const n=new eE(e),r=t.map(s=>typeof s=="string"?iI(s):s).map(s=>n.write(s)),i=n.end();return i===""?r:[...r,i]},$b=t=>t.length===1&&Er(t[0])?t[0]:oI(oZ(t)),oZ=t=>t.map(e=>typeof e=="string"?iI(e):e),oI=t=>{const e=new Uint8Array(aZ(t));let n=0;for(const r of t)e.set(r,n),n+=r.length;return e},aZ=t=>{let e=0;for(const n of t)e+=n.length;return e},cZ=t=>Array.isArray(t)&&Array.isArray(t.raw),uZ=(t,e)=>{let n=[];for(const[s,o]of t.entries())n=lZ({templates:t,expressions:e,tokens:n,index:s,template:o});if(n.length===0)throw new TypeError("Template script must not be empty");const[r,...i]=n;return[r,i,{}]},lZ=({templates:t,expressions:e,tokens:n,index:r,template:i})=>{if(i===void 0)throw new TypeError(`Invalid backslash sequence: ${t.raw[r]}`);const{nextTokens:s,leadingWhitespaces:o,trailingWhitespaces:a}=dZ(i,t.raw[r]),c=cI(n,s,o);if(r===e.length)return c;const u=e[r],l=Array.isArray(u)?u.map(d=>uI(d)):[uI(u)];return cI(c,l,a)},dZ=(t,e)=>{if(e.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};const n=[];let r=0;const i=aI.has(e[0]);for(let o=0,a=0;o<t.length;o+=1,a+=1){const c=e[a];if(aI.has(c))r!==o&&n.push(t.slice(r,o)),r=o+1;else if(c==="\\"){const u=e[a+1];u==="u"&&e[a+2]==="{"?a=e.indexOf("}",a+3):a+=fZ[u]??1}}const s=r===t.length;return s||n.push(t.slice(r)),{nextTokens:n,leadingWhitespaces:i,trailingWhitespaces:s}},aI=new Set([" "," ","\r",`
|
|
1774
|
-
`]),fZ={x:3,u:5},cI=(t,e,n)=>n||t.length===0||e.length===0?[...t,...e]:[...t.slice(0,-1),`${t.at(-1)}${e[0]}`,...e.slice(1)],uI=t=>{const e=typeof t;if(e==="string")return t;if(e==="number")return String(t);if(tr(t)&&("stdout"in t||"isMaxBuffer"in t))return hZ(t);throw t instanceof Q0||Object.prototype.toString.call(t)==="[object Promise]"?new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):new TypeError(`Unexpected "${e}" in template expression`)},hZ=({stdout:t})=>{if(typeof t=="string")return t;if(Er(t))return sI(t);throw t===void 0?new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`):new TypeError(`Unexpected "${typeof t}" stdout in template expression`)},fo=t=>Cb.includes(t),Cb=[Oe.stdin,Oe.stdout,Oe.stderr],Vr=["stdin","stdout","stderr"],lI=t=>Vr[t]??`stdio[${t}]`,pZ=t=>{const e={...t};for(const n of pI)e[n]=dI(t,n);return e},dI=(t,e)=>{const n=Array.from({length:mZ(t)+1}),r=gZ(t[e],n,e);return EZ(r,e)},mZ=({stdio:t})=>Array.isArray(t)?Math.max(t.length,Vr.length):Vr.length,gZ=(t,e,n)=>tr(t)?yZ(t,e,n):e.fill(t),yZ=(t,e,n)=>{for(const r of Object.keys(t).sort(vZ))for(const i of wZ(r,n,e))e[i]=t[r];return e},vZ=(t,e)=>fI(t)<fI(e)?1:-1,fI=t=>t==="stdout"||t==="stderr"?0:t==="all"?2:1,wZ=(t,e,n)=>{if(t==="ipc")return[n.length-1];const r=hI(t);if(r===void 0||r===0)throw new TypeError(`"${e}.${t}" is invalid.
|
|
1775
|
-
It must be "${e}.stdout", "${e}.stderr", "${e}.all", "${e}.ipc", or "${e}.fd3", "${e}.fd4" (and so on).`);if(r>=n.length)throw new TypeError(`"${e}.${t}" is invalid: that file descriptor does not exist.
|
|
1776
|
-
Please set the "stdio" option to ensure that file descriptor exists.`);return r==="all"?[1,2]:[r]},hI=t=>{if(t==="all")return t;if(Vr.includes(t))return Vr.indexOf(t);const e=bZ.exec(t);if(e!==null)return Number(e[1])},bZ=/^fd(\d+)$/,EZ=(t,e)=>t.map(n=>n===void 0?TZ[e]:n),DZ=x2("execa").enabled?"full":"none",TZ={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:DZ,stripFinalNewline:!0},pI=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],sd=(t,e)=>e==="ipc"?t.at(-1):t[e],_b=({verbose:t},e)=>xb(t,e)!=="none",Ab=({verbose:t},e)=>!["none","short"].includes(xb(t,e)),RZ=({verbose:t},e)=>{const n=xb(t,e);return Ib(n)?n:void 0},xb=(t,e)=>e===void 0?SZ(t):sd(t,e),SZ=t=>t.find(e=>Ib(e))??Pb.findLast(e=>t.includes(e)),Ib=t=>typeof t=="function",Pb=["none","short","full"],kZ=(t,e)=>{const n=[t,...e],r=n.join(" "),i=n.map(s=>IZ(mI(s))).join(" ");return{command:r,escapedCommand:i}},Nb=t=>I2(t).split(`
|
|
1777
|
-
`).map(e=>mI(e)).join(`
|
|
1778
|
-
`),mI=t=>t.replaceAll(_Z,e=>$Z(e)),$Z=t=>{const e=AZ[t];if(e!==void 0)return e;const n=t.codePointAt(0),r=n.toString(16);return n<=xZ?`\\u${r.padStart(4,"0")}`:`\\U${r}`},CZ=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},_Z=CZ(),AZ={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},xZ=65535,IZ=t=>PZ.test(t)?t:G2==="win32"?`"${t.replaceAll('"','""')}"`:`'${t.replaceAll("'","'\\''")}'`,PZ=/^[\w./-]+$/;function NZ(){return Oe.platform!=="win32"?Oe.env.TERM!=="linux":!!Oe.env.WT_SESSION||!!Oe.env.TERMINUS_SUBLIME||Oe.env.ConEmuTask==="{cmd::Cmder}"||Oe.env.TERM_PROGRAM==="Terminus-Sublime"||Oe.env.TERM_PROGRAM==="vscode"||Oe.env.TERM==="xterm-256color"||Oe.env.TERM==="alacritty"||Oe.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const gI={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},OZ={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},LZ={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},FZ={...gI,...OZ},MZ={...gI,...LZ},zZ=NZ(),Ob=zZ?FZ:MZ,BZ=Z0.WriteStream.prototype.hasColors(),Hp=(t,e)=>{if(!BZ)return i=>i;const n=`\x1B[${t}m`,r=`\x1B[${e}m`;return i=>{const s=i+"";let o=s.indexOf(r);if(o===-1)return n+s+r;let a=n,c=0;for(;o!==-1;)a+=s.slice(c,o)+n,c=o+r.length,o=s.indexOf(r,c);return a+=s.slice(c)+r,a}},qZ=Hp(1,22),Lb=Hp(90,39),jZ=Hp(91,39),UZ=Hp(93,39),GZ=({type:t,message:e,timestamp:n,piped:r,commandId:i,result:{failed:s=!1}={},options:{reject:o=!0}})=>{const a=WZ(n),c=HZ[t]({failed:s,reject:o,piped:r}),u=VZ[t]({reject:o});return`${Lb(`[${a}]`)} ${Lb(`[${i}]`)} ${u(c)} ${u(e)}`},WZ=t=>`${Vp(t.getHours(),2)}:${Vp(t.getMinutes(),2)}:${Vp(t.getSeconds(),2)}.${Vp(t.getMilliseconds(),3)}`,Vp=(t,e)=>String(t).padStart(e,"0"),yI=({failed:t,reject:e})=>t?e?Ob.cross:Ob.warning:Ob.tick,HZ={command:({piped:t})=>t?"|":"$",output:()=>" ",ipc:()=>"*",error:yI,duration:yI},vI=t=>t,VZ={command:()=>qZ,output:()=>vI,ipc:()=>vI,error:({reject:t})=>t?jZ:UZ,duration:()=>Lb},KZ=(t,e,n)=>{const r=RZ(e,n);return t.map(({verboseLine:i,verboseObject:s})=>YZ(i,s,r)).filter(i=>i!==void 0).map(i=>XZ(i)).join("")},YZ=(t,e,n)=>{if(n===void 0)return t;const r=n(t,e);if(typeof r=="string")return r},XZ=t=>t.endsWith(`
|
|
1779
|
-
`)?t:`${t}
|
|
1780
|
-
`,od=({type:t,verboseMessage:e,fdNumber:n,verboseInfo:r,result:i})=>{const s=JZ({type:t,result:i,verboseInfo:r}),o=ZZ(e,s),a=KZ(o,r,n);V0(eQ,a)},JZ=({type:t,result:e,verboseInfo:{escapedCommand:n,commandId:r,rawOptions:{piped:i=!1,...s}}})=>({type:t,escapedCommand:n,commandId:`${r}`,timestamp:new Date,piped:i,result:e,options:s}),ZZ=(t,e)=>t.split(`
|
|
1781
|
-
`).map(n=>QZ({...e,message:n})),QZ=t=>({verboseLine:GZ(t),verboseObject:t}),eQ=2,wI=t=>{const e=typeof t=="string"?t:J0(t);return Nb(e).replaceAll(" "," ".repeat(tQ))},tQ=2,nQ=(t,e)=>{_b(e)&&od({type:"command",verboseMessage:t,verboseInfo:e})},rQ=(t,e,n)=>{oQ(t);const r=iQ(t);return{verbose:t,escapedCommand:e,commandId:r,rawOptions:n}},iQ=t=>_b({verbose:t})?sQ++:void 0;let sQ=0n;const oQ=t=>{for(const e of t){if(e===!1)throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(e===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!Pb.includes(e)&&!Ib(e)){const n=Pb.map(r=>`'${r}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${e}. Allowed values are: ${n} or a function.`)}}},bI=()=>vd.bigint(),EI=t=>Number(vd.bigint()-t)/1e6,DI=(t,e,n)=>{const r=bI(),{command:i,escapedCommand:s}=kZ(t,e),o=dI(n,"verbose"),a=rQ(o,s,{...n});return nQ(s,a),{command:i,escapedCommand:s,startTime:r,verboseInfo:a}};var ho={exports:{}},Fb,TI;function aQ(){if(TI)return Fb;TI=1,Fb=r,r.sync=i;var t=ph;function e(s,o){var a=o.pathExt!==void 0?o.pathExt:process.env.PATHEXT;if(!a||(a=a.split(";"),a.indexOf("")!==-1))return!0;for(var c=0;c<a.length;c++){var u=a[c].toLowerCase();if(u&&s.substr(-u.length).toLowerCase()===u)return!0}return!1}function n(s,o,a){return!s.isSymbolicLink()&&!s.isFile()?!1:e(o,a)}function r(s,o,a){t.stat(s,function(c,u){a(c,c?!1:n(u,s,o))})}function i(s,o){return n(t.statSync(s),s,o)}return Fb}var Mb,RI;function cQ(){if(RI)return Mb;RI=1,Mb=e,e.sync=n;var t=ph;function e(s,o,a){t.stat(s,function(c,u){a(c,c?!1:r(u,o))})}function n(s,o){return r(t.statSync(s),o)}function r(s,o){return s.isFile()&&i(s,o)}function i(s,o){var a=s.mode,c=s.uid,u=s.gid,l=o.uid!==void 0?o.uid:process.getuid&&process.getuid(),d=o.gid!==void 0?o.gid:process.getgid&&process.getgid(),f=parseInt("100",8),h=parseInt("010",8),p=parseInt("001",8),m=f|h,g=a&p||a&h&&u===d||a&f&&c===l||a&m&&l===0;return g}return Mb}var zb,SI;function uQ(){if(SI)return zb;SI=1;var t;process.platform==="win32"||s8.TESTING_WINDOWS?t=aQ():t=cQ(),zb=e,e.sync=n;function e(r,i,s){if(typeof i=="function"&&(s=i,i={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){e(r,i||{},function(c,u){c?a(c):o(u)})})}t(r,i||{},function(o,a){o&&(o.code==="EACCES"||i&&i.ignoreErrors)&&(o=null,a=!1),s(o,a)})}function n(r,i){try{return t.sync(r,i||{})}catch(s){if(i&&i.ignoreErrors||s.code==="EACCES")return!1;throw s}}return zb}var Bb,kI;function lQ(){if(kI)return Bb;kI=1;const t=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",e=au,n=t?";":":",r=uQ(),i=c=>Object.assign(new Error(`not found: ${c}`),{code:"ENOENT"}),s=(c,u)=>{const l=u.colon||n,d=c.match(/\//)||t&&c.match(/\\/)?[""]:[...t?[process.cwd()]:[],...(u.path||process.env.PATH||"").split(l)],f=t?u.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",h=t?f.split(l):[""];return t&&c.indexOf(".")!==-1&&h[0]!==""&&h.unshift(""),{pathEnv:d,pathExt:h,pathExtExe:f}},o=(c,u,l)=>{typeof u=="function"&&(l=u,u={}),u||(u={});const{pathEnv:d,pathExt:f,pathExtExe:h}=s(c,u),p=[],m=y=>new Promise((w,E)=>{if(y===d.length)return u.all&&p.length?w(p):E(i(c));const k=d[y],A=/^".*"$/.test(k)?k.slice(1,-1):k,I=e.join(A,c),x=!A&&/^\.[\\\/]/.test(c)?c.slice(0,2)+I:I;w(g(x,y,0))}),g=(y,w,E)=>new Promise((k,A)=>{if(E===f.length)return k(m(w+1));const I=f[E];r(y+I,{pathExt:h},(x,_)=>{if(!x&&_)if(u.all)p.push(y+I);else return k(y+I);return k(g(y,w,E+1))})});return l?m(0).then(y=>l(null,y),l):m(0)},a=(c,u)=>{u=u||{};const{pathEnv:l,pathExt:d,pathExtExe:f}=s(c,u),h=[];for(let p=0;p<l.length;p++){const m=l[p],g=/^".*"$/.test(m)?m.slice(1,-1):m,y=e.join(g,c),w=!g&&/^\.[\\\/]/.test(c)?c.slice(0,2)+y:y;for(let E=0;E<d.length;E++){const k=w+d[E];try{if(r.sync(k,{pathExt:f}))if(u.all)h.push(k);else return k}catch{}}}if(u.all&&h.length)return h;if(u.nothrow)return null;throw i(c)};return Bb=o,o.sync=a,Bb}var Kp={exports:{}},$I;function dQ(){if($I)return Kp.exports;$I=1;const t=(e={})=>{const n=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(n).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};return Kp.exports=t,Kp.exports.default=t,Kp.exports}var qb,CI;function fQ(){if(CI)return qb;CI=1;const t=au,e=lQ(),n=dQ();function r(s,o){const a=s.options.env||process.env,c=process.cwd(),u=s.options.cwd!=null,l=u&&process.chdir!==void 0&&!process.chdir.disabled;if(l)try{process.chdir(s.options.cwd)}catch{}let d;try{d=e.sync(s.command,{path:a[n({env:a})],pathExt:o?t.delimiter:void 0})}catch{}finally{l&&process.chdir(c)}return d&&(d=t.resolve(u?s.options.cwd:"",d)),d}function i(s){return r(s)||r(s,!0)}return qb=i,qb}var Yp={},_I;function hQ(){if(_I)return Yp;_I=1;const t=/([()\][%!^"`<>&|;, *?])/g;function e(r){return r=r.replace(t,"^$1"),r}function n(r,i){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(t,"^$1"),i&&(r=r.replace(t,"^$1")),r}return Yp.command=e,Yp.argument=n,Yp}var jb,AI;function pQ(){return AI||(AI=1,jb=/^#!(.*)/),jb}var Ub,xI;function mQ(){if(xI)return Ub;xI=1;const t=pQ();return Ub=(e="")=>{const n=e.match(t);if(!n)return null;const[r,i]=n[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?i:i?`${s} ${i}`:s},Ub}var Gb,II;function gQ(){if(II)return Gb;II=1;const t=ph,e=mQ();function n(r){const s=Buffer.alloc(150);let o;try{o=t.openSync(r,"r"),t.readSync(o,s,0,150,0),t.closeSync(o)}catch{}return e(s.toString())}return Gb=n,Gb}var Wb,PI;function yQ(){if(PI)return Wb;PI=1;const t=au,e=fQ(),n=hQ(),r=gQ(),i=process.platform==="win32",s=/\.(?:com|exe)$/i,o=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function a(l){l.file=e(l);const d=l.file&&r(l.file);return d?(l.args.unshift(l.file),l.command=d,e(l)):l.file}function c(l){if(!i)return l;const d=a(l),f=!s.test(d);if(l.options.forceShell||f){const h=o.test(d);l.command=t.normalize(l.command),l.command=n.command(l.command),l.args=l.args.map(m=>n.argument(m,h));const p=[l.command].concat(l.args).join(" ");l.args=["/d","/s","/c",`"${p}"`],l.command=process.env.comspec||"cmd.exe",l.options.windowsVerbatimArguments=!0}return l}function u(l,d,f){d&&!Array.isArray(d)&&(f=d,d=null),d=d?d.slice(0):[],f=Object.assign({},f);const h={command:l,args:d,options:f,file:void 0,original:{command:l,args:d}};return f.shell?h:c(h)}return Wb=u,Wb}var Hb,NI;function vQ(){if(NI)return Hb;NI=1;const t=process.platform==="win32";function e(s,o){return Object.assign(new Error(`${o} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${o} ${s.command}`,path:s.command,spawnargs:s.args})}function n(s,o){if(!t)return;const a=s.emit;s.emit=function(c,u){if(c==="exit"){const l=r(u,o);if(l)return a.call(s,"error",l)}return a.apply(s,arguments)}}function r(s,o){return t&&s===1&&!o.file?e(o.original,"spawn"):null}function i(s,o){return t&&s===1&&!o.file?e(o.original,"spawnSync"):null}return Hb={hookChildProcess:n,verifyENOENT:r,verifyENOENTSync:i,notFoundError:e},Hb}var OI;function wQ(){if(OI)return ho.exports;OI=1;const t=rC,e=yQ(),n=vQ();function r(s,o,a){const c=e(s,o,a),u=t.spawn(c.command,c.args,c.options);return n.hookChildProcess(u,c),u}function i(s,o,a){const c=e(s,o,a),u=t.spawnSync(c.command,c.args,c.options);return u.error=u.error||n.verifyENOENTSync(u.status,c),u}return ho.exports=r,ho.exports.spawn=r,ho.exports.sync=i,ho.exports._parse=e,ho.exports._enoent=n,ho.exports}var bQ=wQ();function LI(t={}){const{env:e=process.env,platform:n=process.platform}=t;return n!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"}const EQ=({cwd:t=Oe.cwd(),path:e=Oe.env[LI()],preferLocal:n=!0,execPath:r=Oe.execPath,addExecPath:i=!0}={})=>{const s=t instanceof URL?gm(t):t,o=Jr.resolve(s),a=[];return n&&DQ(a,o),i&&TQ(a,r,o),[...a,e].join(Jr.delimiter)},DQ=(t,e)=>{let n;for(;n!==e;)t.push(Jr.join(e,"node_modules/.bin")),n=e,e=Jr.resolve(e,"..")},TQ=(t,e,n)=>{const r=e instanceof URL?gm(e):e;t.push(Jr.resolve(n,r,".."))},RQ=({env:t=Oe.env,...e}={})=>{t={...t};const n=LI({env:t});return e.path=t[n],t[n]=EQ(e),t},SQ=(t,e,n)=>{const r=n?Yb:Kb,i=t instanceof ad?{}:{cause:t};return new r(e,i)};class ad extends Error{}const FI=(t,e)=>{Object.defineProperty(t.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,MI,{value:!0,writable:!1,enumerable:!1,configurable:!1})},kQ=t=>Vb(t)&&MI in t,MI=Symbol("isExecaError"),Vb=t=>Object.prototype.toString.call(t)==="[object Error]";class Kb extends Error{}FI(Kb,Kb.name);class Yb extends Error{}FI(Yb,Yb.name);const $Q=()=>{const t=BI-zI+1;return Array.from({length:t},CQ)},CQ=(t,e)=>({name:`SIGRT${e+1}`,number:zI+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),zI=34,BI=64,_Q=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}],qI=()=>{const t=$Q();return[..._Q,...t].map(AQ)},AQ=({name:t,number:e,description:n,action:r,forced:i=!1,standard:s})=>{const{signals:{[t]:o}}=bs,a=o!==void 0;return{name:t,number:a?o:e,description:n,supported:a,action:r,forced:i,standard:s}},xQ=()=>{const t=qI();return Object.fromEntries(t.map(IQ))},IQ=({name:t,number:e,description:n,supported:r,action:i,forced:s,standard:o})=>[t,{name:t,number:e,description:n,supported:r,action:i,forced:s,standard:o}],PQ=xQ(),NQ=()=>{const t=qI(),e=BI+1,n=Array.from({length:e},(r,i)=>OQ(i,t));return Object.assign({},...n)},OQ=(t,e)=>{const n=LQ(t,e);if(n===void 0)return{};const{name:r,description:i,supported:s,action:o,forced:a,standard:c}=n;return{[t]:{name:r,number:t,description:i,supported:s,action:o,forced:a,standard:c}}},LQ=(t,e)=>{const n=e.find(({name:r})=>bs.signals[r]===t);return n!==void 0?n:e.find(r=>r.number===t)};NQ();const FQ=t=>{const e="option `killSignal`";if(t===0)throw new TypeError(`Invalid ${e}: 0 cannot be used.`);return jI(t,e)},MQ=t=>t===0?t:jI(t,"`subprocess.kill()`'s argument"),jI=(t,e)=>{if(Number.isInteger(t))return zQ(t,e);if(typeof t=="string")return qQ(t,e);throw new TypeError(`Invalid ${e} ${String(t)}: it must be a string or an integer.
|
|
1782
|
-
${Xb()}`)},zQ=(t,e)=>{if(UI.has(t))return UI.get(t);throw new TypeError(`Invalid ${e} ${t}: this signal integer does not exist.
|
|
1783
|
-
${Xb()}`)},BQ=()=>new Map(Object.entries(bs.signals).reverse().map(([t,e])=>[e,t])),UI=BQ(),qQ=(t,e)=>{if(t in bs.signals)return t;throw t.toUpperCase()in bs.signals?new TypeError(`Invalid ${e} '${t}': please rename it to '${t.toUpperCase()}'.`):new TypeError(`Invalid ${e} '${t}': this signal name does not exist.
|
|
1784
|
-
${Xb()}`)},Xb=()=>`Available signal names: ${jQ()}.
|
|
1785
|
-
Available signal numbers: ${UQ()}.`,jQ=()=>Object.keys(bs.signals).sort().map(t=>`'${t}'`).join(", "),UQ=()=>[...new Set(Object.values(bs.signals).sort((t,e)=>t-e))].join(", "),GI=t=>PQ[t].description,GQ=t=>{if(t===!1)return t;if(t===!0)return WQ;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},WQ=1e3*5,HQ=({kill:t,options:{forceKillAfterDelay:e,killSignal:n},onInternalError:r,context:i,controller:s},o,a)=>{const{signal:c,error:u}=VQ(o,a,n);KQ(u,r);const l=t(c);return YQ({kill:t,signal:c,forceKillAfterDelay:e,killSignal:n,killResult:l,context:i,controller:s}),l},VQ=(t,e,n)=>{const[r=n,i]=Vb(t)?[void 0,t]:[t,e];if(typeof r!="string"&&!Number.isInteger(r))throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(r)}`);if(i!==void 0&&!Vb(i))throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${i}`);return{signal:MQ(r),error:i}},KQ=(t,e)=>{t!==void 0&&e.reject(t)},YQ=async({kill:t,signal:e,forceKillAfterDelay:n,killSignal:r,killResult:i,context:s,controller:o})=>{e===r&&i&&WI({kill:t,forceKillAfterDelay:n,context:s,controllerSignal:o.signal})},WI=async({kill:t,forceKillAfterDelay:e,context:n,controllerSignal:r})=>{if(e!==!1)try{await tE(e,void 0,{signal:r}),t("SIGKILL")&&(n.isForcefullyTerminated??=!0)}catch{}},HI=async(t,e)=>{t.aborted||await vn(t,"abort",{signal:e})},XQ=({cancelSignal:t})=>{if(t!==void 0&&Object.prototype.toString.call(t)!=="[object AbortSignal]")throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(t)}`)},JQ=({subprocess:t,cancelSignal:e,gracefulCancel:n,context:r,controller:i})=>e===void 0||n?[]:[ZQ(t,e,r,i)],ZQ=async(t,e,n,{signal:r})=>{throw await HI(e,r),n.terminationReason??="cancel",t.kill(),e.reason},Jb=({methodName:t,isSubprocess:e,ipc:n,isConnected:r})=>{QQ(t,e,n),VI(t,e,r)},QQ=(t,e,n)=>{if(!n)throw new Error(`${Dr(t,e)} can only be used if the \`ipc\` option is \`true\`.`)},VI=(t,e,n)=>{if(!n)throw new Error(`${Dr(t,e)} cannot be used: the ${us(e)} has already exited or disconnected.`)},eee=t=>{throw new Error(`${Dr("getOneMessage",t)} could not complete: the ${us(t)} exited or disconnected.`)},tee=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} is sending a message too, instead of listening to incoming messages.
|
|
1786
|
-
This can be fixed by both sending a message and listening to incoming messages at the same time:
|
|
1787
|
-
|
|
1788
|
-
const [receivedMessage] = await Promise.all([
|
|
1789
|
-
${Dr("getOneMessage",t)},
|
|
1790
|
-
${Dr("sendMessage",t,"message, {strict: true}")},
|
|
1791
|
-
]);`)},KI=(t,e)=>new Error(`${Dr("sendMessage",e)} failed when sending an acknowledgment response to the ${us(e)}.`,{cause:t}),nee=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} is not listening to incoming messages.`)},ree=t=>{throw new Error(`${Dr("sendMessage",t)} failed: the ${us(t)} exited without listening to incoming messages.`)},iee=()=>new Error(`\`cancelSignal\` aborted: the ${us(!0)} disconnected.`),see=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},oee=({error:t,methodName:e,isSubprocess:n})=>{if(t.code==="EPIPE")throw new Error(`${Dr(e,n)} cannot be used: the ${us(n)} is disconnecting.`,{cause:t})},aee=({error:t,methodName:e,isSubprocess:n,message:r})=>{if(cee(t))throw new Error(`${Dr(e,n)}'s argument type is invalid: the message cannot be serialized: ${String(r)}.`,{cause:t})},cee=({code:t,message:e})=>uee.has(t)||lee.some(n=>e.includes(n)),uee=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),lee=["could not be cloned","circular structure","call stack size exceeded"],Dr=(t,e,n="")=>t==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${dee(e)}${t}(${n})`,dee=t=>t?"":"subprocess.",us=t=>t?"parent process":"subprocess",Zb=t=>{t.connected&&t.disconnect()},cd=()=>{const t={},e=new Promise((n,r)=>{Object.assign(t,{resolve:n,reject:r})});return Object.assign(e,t)},YI=(t,e="stdin")=>{const{options:r,fileDescriptors:i}=po.get(t),s=XI(i,e,!0),o=t.stdio[s];if(o===null)throw new TypeError(JI(s,e,r,!0));return o},Qb=(t,e="stdout")=>{const{options:r,fileDescriptors:i}=po.get(t),s=XI(i,e,!1),o=s==="all"?t.all:t.stdio[s];if(o==null)throw new TypeError(JI(s,e,r,!1));return o},po=new WeakMap,XI=(t,e,n)=>{const r=fee(e,n);return hee(r,e,n,t),r},fee=(t,e)=>{const n=hI(t);if(n!==void 0)return n;const{validOptions:r,defaultValue:i}=e?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${ud(e)}" must not be "${t}".
|
|
1792
|
-
It must be ${r} or "fd3", "fd4" (and so on).
|
|
1793
|
-
It is optional and defaults to "${i}".`)},hee=(t,e,n,r)=>{const i=r[ZI(t)];if(i===void 0)throw new TypeError(`"${ud(n)}" must not be ${e}. That file descriptor does not exist.
|
|
1794
|
-
Please set the "stdio" option to ensure that file descriptor exists.`);if(i.direction==="input"&&!n)throw new TypeError(`"${ud(n)}" must not be ${e}. It must be a readable stream, not writable.`);if(i.direction!=="input"&&n)throw new TypeError(`"${ud(n)}" must not be ${e}. It must be a writable stream, not readable.`)},JI=(t,e,n,r)=>{if(t==="all"&&!n.all)return`The "all" option must be true to use "from: 'all'".`;const{optionName:i,optionValue:s}=pee(t,n);return`The "${i}: ${e0(s)}" option is incompatible with using "${ud(r)}: ${e0(e)}".
|
|
1795
|
-
Please set this option with "pipe" instead.`},pee=(t,{stdin:e,stdout:n,stderr:r,stdio:i})=>{const s=ZI(t);return s===0&&e!==void 0?{optionName:"stdin",optionValue:e}:s===1&&n!==void 0?{optionName:"stdout",optionValue:n}:s===2&&r!==void 0?{optionName:"stderr",optionValue:r}:{optionName:`stdio[${s}]`,optionValue:i[s]}},ZI=t=>t==="all"?1:t,ud=t=>t?"to":"from",e0=t=>typeof t=="string"?`'${t}'`:typeof t=="number"?`${t}`:"Stream",Xp=(t,e,n)=>{const r=t.getMaxListeners();r===0||r===Number.POSITIVE_INFINITY||(t.setMaxListeners(r+e),rE(n,()=>{t.setMaxListeners(t.getMaxListeners()-e)}))},QI=(t,e)=>{e&&t0(t)},t0=t=>{t.refCounted()},eP=(t,e)=>{e&&n0(t)},n0=t=>{t.unrefCounted()},mee=(t,e)=>{e&&(n0(t),n0(t))},gee=(t,e)=>{e&&(t0(t),t0(t))},yee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r},i)=>{if(Ree(i)||Lee(i))return;Jp.has(t)||Jp.set(t,[]);const s=Jp.get(t);if(s.push(i),!(s.length>1))for(;s.length>0;){await _ee(t,r,i),await nE.yield();const o=await Tee({wrappedMessage:s[0],anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r});s.shift(),r.emit("message",o),r.emit("message:done")}},vee=async({anyProcess:t,channel:e,isSubprocess:n,ipcEmitter:r,boundOnMessage:i})=>{aP();const s=Jp.get(t);for(;s?.length>0;)await vn(r,"message:done");t.removeListener("message",i),gee(e,n),r.connected=!1,r.emit("disconnect")},Jp=new WeakMap,Zp=(t,e,n)=>{if(Qp.has(t))return Qp.get(t);const r=new X2;return r.connected=!0,Qp.set(t,r),wee({ipcEmitter:r,anyProcess:t,channel:e,isSubprocess:n}),r},Qp=new WeakMap,wee=({ipcEmitter:t,anyProcess:e,channel:n,isSubprocess:r})=>{const i=yee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t});e.on("message",i),e.once("disconnect",vee.bind(void 0,{anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:t,boundOnMessage:i})),mee(n,r)},tP=t=>{const e=Qp.get(t);return e===void 0?t.channel!==null:e.connected},bee=({anyProcess:t,channel:e,isSubprocess:n,message:r,strict:i})=>{if(!i)return r;const s=Zp(t,e,n),o=r0(t,s);return{id:Eee++,type:tm,message:r,hasListeners:o}};let Eee=0n;const Dee=(t,e)=>{if(!(e?.type!==tm||e.hasListeners))for(const{id:n}of t)n!==void 0&&em[n].resolve({isDeadlock:!0,hasListeners:!1})},Tee=async({wrappedMessage:t,anyProcess:e,channel:n,isSubprocess:r,ipcEmitter:i})=>{if(t?.type!==tm||!e.connected)return t;const{id:s,message:o}=t,a={id:s,type:nP,message:r0(e,i)};try{await rP({anyProcess:e,channel:n,isSubprocess:r,ipc:!0},a)}catch(c){i.emit("strict:error",c)}return o},Ree=t=>{if(t?.type!==nP)return!1;const{id:e,message:n}=t;return em[e]?.resolve({isDeadlock:!1,hasListeners:n}),!0},See=async(t,e,n)=>{if(t?.type!==tm)return;const r=cd();em[t.id]=r;const i=new AbortController;try{const{isDeadlock:s,hasListeners:o}=await Promise.race([r,kee(e,n,i)]);s&&tee(n),o||nee(n)}finally{i.abort(),delete em[t.id]}},em={},kee=async(t,e,{signal:n})=>{Xp(t,1,n),await vn(t,"disconnect",{signal:n}),ree(e)},tm="execa:ipc:request",nP="execa:ipc:response",$ee=(t,e,n)=>{ld.has(t)||ld.set(t,new Set);const r=ld.get(t),i=cd(),s=n?e.id:void 0,o={onMessageSent:i,id:s};return r.add(o),{outgoingMessages:r,outgoingMessage:o}},Cee=({outgoingMessages:t,outgoingMessage:e})=>{t.delete(e),e.onMessageSent.resolve()},_ee=async(t,e,n)=>{for(;!r0(t,e)&&ld.get(t)?.size>0;){const r=[...ld.get(t)];Dee(r,n),await Promise.all(r.map(({onMessageSent:i})=>i))}},ld=new WeakMap,r0=(t,e)=>e.listenerCount("message")>Aee(t),Aee=t=>po.has(t)&&!sd(po.get(t).options.buffer,"ipc")?1:0,rP=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},i,{strict:s=!1}={})=>{const o="sendMessage";return Jb({methodName:o,isSubprocess:n,ipc:r,isConnected:t.connected}),xee({anyProcess:t,channel:e,methodName:o,isSubprocess:n,message:i,strict:s})},xee=async({anyProcess:t,channel:e,methodName:n,isSubprocess:r,message:i,strict:s})=>{const o=bee({anyProcess:t,channel:e,isSubprocess:r,message:i,strict:s}),a=$ee(t,o,s);try{await iP({anyProcess:t,methodName:n,isSubprocess:r,wrappedMessage:o,message:i})}catch(c){throw Zb(t),c}finally{Cee(a)}},iP=async({anyProcess:t,methodName:e,isSubprocess:n,wrappedMessage:r,message:i})=>{const s=Iee(t);try{await Promise.all([See(r,t,n),s(r)])}catch(o){throw oee({error:o,methodName:e,isSubprocess:n}),aee({error:o,methodName:e,isSubprocess:n,message:i}),o}},Iee=t=>{if(i0.has(t))return i0.get(t);const e=P2(t.send.bind(t));return i0.set(t,e),e},i0=new WeakMap,Pee=(t,e)=>{const n="cancelSignal";return VI(n,!1,t.connected),iP({anyProcess:t,methodName:n,isSubprocess:!1,wrappedMessage:{type:oP,message:e},message:e})},Nee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>(await Oee({anyProcess:t,channel:e,isSubprocess:n,ipc:r}),s0.signal),Oee=async({anyProcess:t,channel:e,isSubprocess:n,ipc:r})=>{if(!sP){if(sP=!0,!r){see();return}if(e===null){aP();return}Zp(t,e,n),await nE.yield()}};let sP=!1;const Lee=t=>t?.type!==oP?!1:(s0.abort(t.message),!0),oP="execa:ipc:cancel",aP=()=>{s0.abort(iee())},s0=new AbortController,Fee=({gracefulCancel:t,cancelSignal:e,ipc:n,serialization:r})=>{if(t){if(e===void 0)throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!n)throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(r==="json")throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}},Mee=({subprocess:t,cancelSignal:e,gracefulCancel:n,forceKillAfterDelay:r,context:i,controller:s})=>n?[zee({subprocess:t,cancelSignal:e,forceKillAfterDelay:r,context:i,controller:s})]:[],zee=async({subprocess:t,cancelSignal:e,forceKillAfterDelay:n,context:r,controller:{signal:i}})=>{await HI(e,i);const s=Bee(e);throw await Pee(t,s),WI({kill:t.kill,forceKillAfterDelay:n,context:r,controllerSignal:i}),r.terminationReason??="gracefulCancel",e.reason},Bee=({reason:t})=>{if(!(t instanceof DOMException))return t;const e=new Error(t.message);return Object.defineProperty(e,"stack",{value:t.stack,enumerable:!1,configurable:!0,writable:!0}),e},qee=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},jee=(t,e,n,r)=>e===0||e===void 0?[]:[Uee(t,e,n,r)],Uee=async(t,e,n,{signal:r})=>{throw await tE(e,void 0,{signal:r}),n.terminationReason??="timeout",t.kill(),new ad},Gee=({options:t})=>{if(t.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...t,node:!0}}},Wee=(t,e,{node:n=!1,nodePath:r=W2,nodeOptions:i=H2.filter(c=>!c.startsWith("--inspect")),cwd:s,execPath:o,...a})=>{if(o!==void 0)throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');const c=kb(r,'The "nodePath" option'),u=Jr.resolve(s,c),l={...a,nodePath:u,node:n,cwd:s};if(!n)return[t,e,l];if(Jr.basename(t,".exe")==="node")throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');return[u,[...i,t,...e],{ipc:!0,...l,shell:!1}]},Hee=({ipcInput:t,ipc:e,serialization:n})=>{if(t!==void 0){if(!e)throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");Yee[n](t)}},Vee=t=>{try{Z2(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:e})}},Kee=t=>{try{JSON.stringify(t)}catch(e){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:e})}},Yee={advanced:Vee,json:Kee},Xee=async(t,e)=>{e!==void 0&&await t.sendMessage(e)},Jee=({encoding:t})=>{if(o0.has(t))return;const e=Qee(t);if(e!==void 0)throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
|
|
1796
|
-
Please rename it to ${nm(e)}.`);const n=[...o0].map(r=>nm(r)).join(", ");throw new TypeError(`Invalid option \`encoding: ${nm(t)}\`.
|
|
1797
|
-
Please rename it to one of: ${n}.`)},Zee=new Set(["utf8","utf16le"]),mo=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),o0=new Set([...Zee,...mo]),Qee=t=>{if(t===null)return"buffer";if(typeof t!="string")return;const e=t.toLowerCase();if(e in cP)return cP[e];if(o0.has(e))return e},cP={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},nm=t=>typeof t=="string"?`"${t}"`:String(t),ete=(t=uP())=>{const e=kb(t,'The "cwd" option');return Jr.resolve(e)},uP=()=>{try{return Oe.cwd()}catch(t){throw t.message=`The current directory does not exist.
|
|
1798
|
-
${t.message}`,t}},tte=(t,e)=>{if(e===uP())return t;let n;try{n=E2(e)}catch(r){return`The "cwd" option is invalid: ${e}.
|
|
1799
|
-
${r.message}
|
|
1800
|
-
${t}`}return n.isDirectory()?t:`The "cwd" option is not a directory: ${e}.
|
|
1801
|
-
${t}`},lP=(t,e,n)=>{n.cwd=ete(n.cwd);const[r,i,s]=Wee(t,e,n),{command:o,args:a,options:c}=bQ._parse(r,i,s),u=pZ(c),l=nte(u);return qee(l),Jee(l),Hee(l),XQ(l),Fee(l),l.shell=tI(l.shell),l.env=rte(l),l.killSignal=FQ(l.killSignal),l.forceKillAfterDelay=GQ(l.forceKillAfterDelay),l.lines=l.lines.map((d,f)=>d&&!mo.has(l.encoding)&&l.buffer[f]),Oe.platform==="win32"&&Jr.basename(o,".exe")==="cmd"&&a.unshift("/q"),{file:o,commandArguments:a,options:l}},nte=({extendEnv:t=!0,preferLocal:e=!1,cwd:n,localDir:r=n,encoding:i="utf8",reject:s=!0,cleanup:o=!0,all:a=!1,windowsHide:c=!0,killSignal:u="SIGTERM",forceKillAfterDelay:l=!0,gracefulCancel:d=!1,ipcInput:f,ipc:h=f!==void 0||d,serialization:p="advanced",...m})=>({...m,extendEnv:t,preferLocal:e,cwd:n,localDirectory:r,encoding:i,reject:s,cleanup:o,all:a,windowsHide:c,killSignal:u,forceKillAfterDelay:l,gracefulCancel:d,ipcInput:f,ipc:h,serialization:p}),rte=({env:t,extendEnv:e,preferLocal:n,node:r,localDirectory:i,nodePath:s})=>{const o=e?{...Oe.env,...t}:t;return n||r?RQ({env:o,cwd:i,execPath:s,preferLocal:n,addExecPath:r}):o};function a0(t){if(typeof t=="string")return ite(t);if(!(ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return ste(t)}const ite=t=>t.at(-1)===dP?t.slice(0,t.at(-2)===fP?-2:-1):t,ste=t=>t.at(-1)===ote?t.subarray(0,t.at(-2)===ate?-2:-1):t,dP=`
|
|
1802
|
-
`,ote=dP.codePointAt(0),fP="\r",ate=fP.codePointAt(0);function go(t,{checkOpen:e=!0}={}){return t!==null&&typeof t=="object"&&(t.writable||t.readable||!e||t.writable===void 0&&t.readable===void 0)&&typeof t.pipe=="function"}function hP(t,{checkOpen:e=!0}={}){return go(t,{checkOpen:e})&&(t.writable||!e)&&typeof t.write=="function"&&typeof t.end=="function"&&typeof t.writable=="boolean"&&typeof t.writableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function rm(t,{checkOpen:e=!0}={}){return go(t,{checkOpen:e})&&(t.readable||!e)&&typeof t.read=="function"&&typeof t.readable=="boolean"&&typeof t.readableObjectMode=="boolean"&&typeof t.destroy=="function"&&typeof t.destroyed=="boolean"}function pP(t,e){return hP(t,e)&&rm(t,e)}const cte=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);let ute=class{#e;#t;#n=!1;#r=void 0;constructor(e,n){this.#e=e,this.#t=n}next(){const e=()=>this.#s();return this.#r=this.#r?this.#r.then(e,e):e(),this.#r}return(e){const n=()=>this.#i(e);return this.#r?this.#r.then(n,n):n()}async#s(){if(this.#n)return{done:!0,value:void 0};let e;try{e=await this.#e.read()}catch(n){throw this.#r=void 0,this.#n=!0,this.#e.releaseLock(),n}return e.done&&(this.#r=void 0,this.#n=!0,this.#e.releaseLock()),e}async#i(e){if(this.#n)return{done:!0,value:e};if(this.#n=!0,!this.#t){const n=this.#e.cancel(e);return this.#e.releaseLock(),await n,{done:!0,value:e}}return this.#e.releaseLock(),{done:!0,value:e}}};const c0=Symbol();function mP(){return this[c0].next()}Object.defineProperty(mP,"name",{value:"next"});function gP(t){return this[c0].return(t)}Object.defineProperty(gP,"name",{value:"return"});const lte=Object.create(cte,{next:{enumerable:!0,configurable:!0,writable:!0,value:mP},return:{enumerable:!0,configurable:!0,writable:!0,value:gP}});function dte({preventCancel:t=!1}={}){const e=this.getReader(),n=new ute(e,t),r=Object.create(lte);return r[c0]=n,r}const fte=t=>{if(rm(t,{checkOpen:!1})&&u0.on!==void 0)return pte(t);if(typeof t?.[Symbol.asyncIterator]=="function")return t;if(hte.call(t)==="[object ReadableStream]")return dte.call(t);throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},{toString:hte}=Object.prototype,pte=async function*(t){const e=new AbortController,n={};mte(t,e,n);try{for await(const[r]of u0.on(t,"data",{signal:e.signal}))yield r}catch(r){if(n.error!==void 0)throw n.error;if(!e.signal.aborted)throw r}finally{t.destroy()}},mte=async(t,e,n)=>{try{await u0.finished(t,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(r){n.error=r}finally{e.abort()}},u0={},l0=async(t,{init:e,convertChunk:n,getSize:r,truncateChunk:i,addChunk:s,getFinalChunk:o,finalize:a},{maxBuffer:c=Number.POSITIVE_INFINITY}={})=>{const u=fte(t),l=e();l.length=0;try{for await(const d of u){const f=yte(d),h=n[f](d,l);yP({convertedChunk:h,state:l,getSize:r,truncateChunk:i,addChunk:s,maxBuffer:c})}return gte({state:l,convertChunk:n,getSize:r,truncateChunk:i,addChunk:s,getFinalChunk:o,maxBuffer:c}),a(l)}catch(d){const f=typeof d=="object"&&d!==null?d:new Error(d);throw f.bufferedData=a(l),f}},gte=({state:t,getSize:e,truncateChunk:n,addChunk:r,getFinalChunk:i,maxBuffer:s})=>{const o=i(t);o!==void 0&&yP({convertedChunk:o,state:t,getSize:e,truncateChunk:n,addChunk:r,maxBuffer:s})},yP=({convertedChunk:t,state:e,getSize:n,truncateChunk:r,addChunk:i,maxBuffer:s})=>{const o=n(t),a=e.length+o;if(a<=s){vP(t,e,i,a);return}const c=r(t,s-e.length);throw c!==void 0&&vP(c,e,i,s),new im},vP=(t,e,n,r)=>{e.contents=n(t,e,r),e.length=r},yte=t=>{const e=typeof t;if(e==="string")return"string";if(e!=="object"||t===null)return"others";if(globalThis.Buffer?.isBuffer(t))return"buffer";const n=wP.call(t);return n==="[object ArrayBuffer]"?"arrayBuffer":n==="[object DataView]"?"dataView":Number.isInteger(t.byteLength)&&Number.isInteger(t.byteOffset)&&wP.call(t.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:wP}=Object.prototype;class im extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}const yo=t=>t,d0=()=>{},bP=({contents:t})=>t,EP=t=>{throw new Error(`Streams in object mode are not supported: ${String(t)}`)},DP=t=>t.length;async function vte(t,e){return l0(t,Dte,e)}const wte=()=>({contents:[]}),bte=()=>1,Ete=(t,{contents:e})=>(e.push(t),e),Dte={init:wte,convertChunk:{string:yo,buffer:yo,arrayBuffer:yo,dataView:yo,typedArray:yo,others:yo},getSize:bte,truncateChunk:d0,addChunk:Ete,getFinalChunk:d0,finalize:bP};async function Tte(t,e){return l0(t,Ite,e)}const Rte=()=>({contents:new ArrayBuffer(0)}),Ste=t=>kte.encode(t),kte=new TextEncoder,TP=t=>new Uint8Array(t),RP=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),$te=(t,e)=>t.slice(0,e),Cte=(t,{contents:e,length:n},r)=>{const i=$P()?Ate(e,r):_te(e,r);return new Uint8Array(i).set(t,n),i},_te=(t,e)=>{if(e<=t.byteLength)return t;const n=new ArrayBuffer(SP(e));return new Uint8Array(n).set(new Uint8Array(t),0),n},Ate=(t,e)=>{if(e<=t.maxByteLength)return t.resize(e),t;const n=new ArrayBuffer(e,{maxByteLength:SP(e)});return new Uint8Array(n).set(new Uint8Array(t),0),n},SP=t=>kP**Math.ceil(Math.log(t)/Math.log(kP)),kP=2,xte=({contents:t,length:e})=>$P()?t:t.slice(0,e),$P=()=>"resize"in ArrayBuffer.prototype,Ite={init:Rte,convertChunk:{string:Ste,buffer:TP,arrayBuffer:TP,dataView:RP,typedArray:RP,others:EP},getSize:DP,truncateChunk:$te,addChunk:Cte,getFinalChunk:d0,finalize:xte};async function Pte(t,e){return l0(t,Mte,e)}const Nte=()=>({contents:"",textDecoder:new TextDecoder}),sm=(t,{textDecoder:e})=>e.decode(t,{stream:!0}),Ote=(t,{contents:e})=>e+t,Lte=(t,e)=>t.slice(0,e),Fte=({textDecoder:t})=>{const e=t.decode();return e===""?void 0:e},Mte={init:Nte,convertChunk:{string:yo,buffer:sm,arrayBuffer:sm,dataView:sm,typedArray:sm,others:EP},getSize:DP,truncateChunk:Lte,addChunk:Ote,getFinalChunk:Fte,finalize:bP},zte=({error:t,stream:e,readableObjectMode:n,lines:r,encoding:i,fdNumber:s})=>{if(!(t instanceof im))throw t;if(s==="all")return t;const o=Bte(n,r,i);throw t.maxBufferInfo={fdNumber:s,unit:o},e.destroy(),t},Bte=(t,e,n)=>t?"objects":e?"lines":n==="buffer"?"bytes":"characters",qte=(t,e,n)=>{if(e.length!==n)return;const r=new im;throw r.maxBufferInfo={fdNumber:"ipc"},r},jte=(t,e)=>{const{streamName:n,threshold:r,unit:i}=Ute(t,e);return`Command's ${n} was larger than ${r} ${i}`},Ute=(t,e)=>{if(t?.maxBufferInfo===void 0)return{streamName:"output",threshold:e[1],unit:"bytes"};const{maxBufferInfo:{fdNumber:n,unit:r}}=t;delete t.maxBufferInfo;const i=sd(e,n);return n==="ipc"?{streamName:"IPC output",threshold:i,unit:"messages"}:{streamName:lI(n),threshold:i,unit:r}},Gte=(t,e,n)=>t?.code==="ENOBUFS"&&e!==null&&e.some(r=>r!==null&&r.length>f0(n)),Wte=(t,e,n)=>{if(!e)return t;const r=f0(n);return t.length>r?t.slice(0,r):t},f0=([,t])=>t,Hte=({stdio:t,all:e,ipcOutput:n,originalError:r,signal:i,signalDescription:s,exitCode:o,escapedCommand:a,timedOut:c,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:d,isForcefullyTerminated:f,forceKillAfterDelay:h,killSignal:p,maxBuffer:m,timeout:g,cwd:y})=>{const w=r?.code,E=Vte({originalError:r,timedOut:c,timeout:g,isMaxBuffer:d,maxBuffer:m,errorCode:w,signal:i,signalDescription:s,exitCode:o,isCanceled:u,isGracefullyCanceled:l,isForcefullyTerminated:f,forceKillAfterDelay:h,killSignal:p}),k=Yte(r,y),A=k===void 0?"":`
|
|
1803
|
-
${k}`,I=`${E}: ${a}${A}`,x=e===void 0?[t[2],t[1]]:[e],_=[I,...x,...t.slice(3),n.map(P=>Xte(P)).join(`
|
|
1804
|
-
`)].map(P=>Nb(a0(Jte(P)))).filter(Boolean).join(`
|
|
1805
|
-
|
|
1806
|
-
`);return{originalMessage:k,shortMessage:I,message:_}},Vte=({originalError:t,timedOut:e,timeout:n,isMaxBuffer:r,maxBuffer:i,errorCode:s,signal:o,signalDescription:a,exitCode:c,isCanceled:u,isGracefullyCanceled:l,isForcefullyTerminated:d,forceKillAfterDelay:f,killSignal:h})=>{const p=Kte(d,f);return e?`Command timed out after ${n} milliseconds${p}`:l?o===void 0?`Command was gracefully canceled with exit code ${c}`:d?`Command was gracefully canceled${p}`:`Command was gracefully canceled with ${o} (${a})`:u?`Command was canceled${p}`:r?`${jte(t,i)}${p}`:s!==void 0?`Command failed with ${s}${p}`:d?`Command was killed with ${h} (${GI(h)})${p}`:o!==void 0?`Command was killed with ${o} (${a})`:c!==void 0?`Command failed with exit code ${c}`:"Command failed"},Kte=(t,e)=>t?` and was forcefully terminated after ${e} milliseconds`:"",Yte=(t,e)=>{if(t instanceof ad)return;const n=kQ(t)?t.originalMessage:String(t?.message??t),r=Nb(tte(n,e));return r===""?void 0:r},Xte=t=>typeof t=="string"?t:J0(t),Jte=t=>Array.isArray(t)?t.map(e=>a0(CP(e))).filter(Boolean).join(`
|
|
1807
|
-
`):CP(t),CP=t=>typeof t=="string"?t:Er(t)?sI(t):"",_P=({command:t,escapedCommand:e,stdio:n,all:r,ipcOutput:i,options:{cwd:s},startTime:o})=>AP({command:t,escapedCommand:e,cwd:s,durationMs:EI(o),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:n[1],stderr:n[2],all:r,stdio:n,ipcOutput:i,pipedFrom:[]}),h0=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:o})=>p0({error:t,command:e,escapedCommand:n,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:r.length}),ipcOutput:[],options:i,isSync:o}),p0=({error:t,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,stdio:d,all:f,ipcOutput:h,options:{timeoutDuration:p,timeout:m=p,forceKillAfterDelay:g,killSignal:y,cwd:w,maxBuffer:E},isSync:k})=>{const{exitCode:A,signal:I,signalDescription:x}=Qte(u,l),{originalMessage:_,shortMessage:P,message:O}=Hte({stdio:d,all:f,ipcOutput:h,originalError:t,signal:I,signalDescription:x,exitCode:A,escapedCommand:n,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:g,killSignal:y,maxBuffer:E,timeout:m,cwd:w}),C=SQ(t,O,k);return Object.assign(C,Zte({error:C,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:A,signal:I,signalDescription:x,stdio:d,all:f,ipcOutput:h,cwd:w,originalMessage:_,shortMessage:P})),C},Zte=({error:t,command:e,escapedCommand:n,startTime:r,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,signalDescription:d,stdio:f,all:h,ipcOutput:p,cwd:m,originalMessage:g,shortMessage:y})=>AP({shortMessage:y,originalMessage:g,command:e,escapedCommand:n,cwd:m,durationMs:EI(r),failed:!0,timedOut:i,isCanceled:s,isGracefullyCanceled:o,isTerminated:l!==void 0,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:u,signal:l,signalDescription:d,code:t.cause?.code,stdout:f[1],stderr:f[2],all:h,stdio:f,ipcOutput:p,pipedFrom:[]}),AP=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Qte=(t,e)=>{const n=t===null?void 0:t,r=e===null?void 0:e,i=r===void 0?void 0:GI(e);return{exitCode:n,signal:r,signalDescription:i}},xP=t=>Number.isFinite(t)?t:0;function ene(t){return{days:Math.trunc(t/864e5),hours:Math.trunc(t/36e5%24),minutes:Math.trunc(t/6e4%60),seconds:Math.trunc(t/1e3%60),milliseconds:Math.trunc(t%1e3),microseconds:Math.trunc(xP(t*1e3)%1e3),nanoseconds:Math.trunc(xP(t*1e6)%1e3)}}function tne(t){return{days:t/86400000n,hours:t/3600000n%24n,minutes:t/60000n%60n,seconds:t/1000n%60n,milliseconds:t%1000n,microseconds:0n,nanoseconds:0n}}function nne(t){switch(typeof t){case"number":{if(Number.isFinite(t))return ene(t);break}case"bigint":return tne(t)}throw new TypeError("Expected a finite number or bigint")}const rne=t=>t===0||t===0n,ine=(t,e)=>e===1||e===1n?t:`${t}s`,sne=1e-7,one=24n*60n*60n*1000n;function IP(t,e){const n=typeof t=="bigint";if(!n&&!Number.isFinite(t))throw new TypeError("Expected a finite number or bigint");e={...e};const r=t<0?"-":"";t=t<0?-t:t,e.colonNotation&&(e.compact=!1,e.formatSubMilliseconds=!1,e.separateMilliseconds=!1,e.verbose=!1),e.compact&&(e.unitCount=1,e.secondsDecimalDigits=0,e.millisecondsDecimalDigits=0);let i=[];const s=(l,d)=>{const f=Math.floor(l*10**d+sne);return(Math.round(f)/10**d).toFixed(d)},o=(l,d,f,h)=>{if(!((i.length===0||!e.colonNotation)&&rne(l)&&!(e.colonNotation&&f==="m"))){if(h??=String(l),e.colonNotation){const p=h.includes(".")?h.split(".")[0].length:h.length,m=i.length>0?2:1;h="0".repeat(Math.max(0,m-p))+h}else h+=e.verbose?" "+ine(d,l):f;i.push(h)}},a=nne(t),c=BigInt(a.days);if(o(c/365n,"year","y"),o(c%365n,"day","d"),o(Number(a.hours),"hour","h"),o(Number(a.minutes),"minute","m"),e.separateMilliseconds||e.formatSubMilliseconds||!e.colonNotation&&t<1e3){const l=Number(a.seconds),d=Number(a.milliseconds),f=Number(a.microseconds),h=Number(a.nanoseconds);if(o(l,"second","s"),e.formatSubMilliseconds)o(d,"millisecond","ms"),o(f,"microsecond","\xB5s"),o(h,"nanosecond","ns");else{const p=d+f/1e3+h/1e6,m=typeof e.millisecondsDecimalDigits=="number"?e.millisecondsDecimalDigits:0,g=p>=1?Math.round(p):Math.ceil(p),y=m?p.toFixed(m):g;o(Number.parseFloat(y),"millisecond","ms",y)}}else{const l=(n?Number(t%one):t)/1e3%60,d=typeof e.secondsDecimalDigits=="number"?e.secondsDecimalDigits:1,f=s(l,d),h=e.keepDecimalsOnWholeSeconds?f:f.replace(/\.0+$/,"");o(Number.parseFloat(h),"second","s",h)}if(i.length===0)return r+"0"+(e.verbose?" milliseconds":"ms");const u=e.colonNotation?":":" ";return typeof e.unitCount=="number"&&(i=i.slice(0,Math.max(e.unitCount,1))),r+i.join(u)}const ane=(t,e)=>{t.failed&&od({type:"error",verboseMessage:t.shortMessage,verboseInfo:e,result:t})},cne=(t,e)=>{_b(e)&&(ane(t,e),une(t,e))},une=(t,e)=>{const n=`(done in ${IP(t.durationMs)})`;od({type:"duration",verboseMessage:n,verboseInfo:e,result:t})},m0=(t,e,{reject:n})=>{if(cne(t,e),t.failed&&n)throw t;return t},lne=(t,e)=>xa(t)?"asyncGenerator":FP(t)?"generator":y0(t)?"fileUrl":gne(t)?"filePath":wne(t)?"webStream":go(t,{checkOpen:!1})?"native":Er(t)?"uint8Array":bne(t)?"asyncIterable":Ene(t)?"iterable":w0(t)?PP({transform:t},e):pne(t)?dne(t,e):"native",dne=(t,e)=>pP(t.transform,{checkOpen:!1})?fne(t,e):w0(t.transform)?PP(t,e):hne(t,e),fne=(t,e)=>(NP(t,e,"Duplex stream"),"duplex"),PP=(t,e)=>(NP(t,e,"web TransformStream"),"webTransform"),NP=({final:t,binary:e,objectMode:n},r,i)=>{OP(t,`${r}.final`,i),OP(e,`${r}.binary`,i),g0(n,`${r}.objectMode`)},OP=(t,e,n)=>{if(t!==void 0)throw new TypeError(`The \`${e}\` option can only be defined when using a generator, not a ${n}.`)},hne=({transform:t,final:e,binary:n,objectMode:r},i)=>{if(t!==void 0&&!LP(t))throw new TypeError(`The \`${i}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(pP(e,{checkOpen:!1}))throw new TypeError(`The \`${i}.final\` option must not be a Duplex stream.`);if(w0(e))throw new TypeError(`The \`${i}.final\` option must not be a web TransformStream.`);if(e!==void 0&&!LP(e))throw new TypeError(`The \`${i}.final\` option must be a generator.`);return g0(n,`${i}.binary`),g0(r,`${i}.objectMode`),xa(t)||xa(e)?"asyncGenerator":"generator"},g0=(t,e)=>{if(t!==void 0&&typeof t!="boolean")throw new TypeError(`The \`${e}\` option must use a boolean.`)},LP=t=>xa(t)||FP(t),xa=t=>Object.prototype.toString.call(t)==="[object AsyncGeneratorFunction]",FP=t=>Object.prototype.toString.call(t)==="[object GeneratorFunction]",pne=t=>tr(t)&&(t.transform!==void 0||t.final!==void 0),y0=t=>Object.prototype.toString.call(t)==="[object URL]",mne=t=>y0(t)&&t.protocol!=="file:",gne=t=>tr(t)&&Object.keys(t).length===1&&MP(t.file),MP=t=>typeof t=="string",yne=(t,e)=>t==="native"&&typeof e=="string"&&!vne.has(e),vne=new Set(["ipc","ignore","inherit","overlapped","pipe"]),zP=t=>Object.prototype.toString.call(t)==="[object ReadableStream]",v0=t=>Object.prototype.toString.call(t)==="[object WritableStream]",wne=t=>zP(t)||v0(t),w0=t=>zP(t?.readable)&&v0(t?.writable),bne=t=>BP(t)&&typeof t[Symbol.asyncIterator]=="function",Ene=t=>BP(t)&&typeof t[Symbol.iterator]=="function",BP=t=>typeof t=="object"&&t!==null,vo=new Set(["generator","asyncGenerator","duplex","webTransform"]),qP=new Set(["fileUrl","filePath","fileNumber"]),jP=new Set(["fileUrl","filePath"]),Dne=new Set([...jP,"webStream","nodeStream"]),Tne=new Set(["webTransform","duplex"]),om={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"},UP=(t,e,n,r)=>r==="output"?Rne(t,e,n):Sne(t,e,n),Rne=(t,e,n)=>{const r=e!==0&&n[e-1].value.readableObjectMode;return{writableObjectMode:r,readableObjectMode:t??r}},Sne=(t,e,n)=>{const r=e===0?t===!0:n[e-1].value.readableObjectMode,i=e!==n.length-1&&(t??r);return{writableObjectMode:r,readableObjectMode:i}},kne=(t,e)=>{const n=t.findLast(({type:r})=>vo.has(r));return n===void 0?!1:e==="input"?n.value.writableObjectMode:n.value.readableObjectMode},$ne=(t,e,n,r)=>[...t.filter(({type:i})=>!vo.has(i)),...Cne(t,e,n,r)],Cne=(t,e,n,{encoding:r})=>{const i=t.filter(({type:o})=>vo.has(o)),s=Array.from({length:i.length});for(const[o,a]of Object.entries(i))s[o]=_ne({stdioItem:a,index:Number(o),newTransforms:s,optionName:e,direction:n,encoding:r});return Pne(s,n)},_ne=({stdioItem:t,stdioItem:{type:e},index:n,newTransforms:r,optionName:i,direction:s,encoding:o})=>e==="duplex"?Ane({stdioItem:t,optionName:i}):e==="webTransform"?xne({stdioItem:t,index:n,newTransforms:r,direction:s}):Ine({stdioItem:t,index:n,newTransforms:r,direction:s,encoding:o}),Ane=({stdioItem:t,stdioItem:{value:{transform:e,transform:{writableObjectMode:n,readableObjectMode:r},objectMode:i=r}},optionName:s})=>{if(i&&!r)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!i&&r)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...t,value:{transform:e,writableObjectMode:n,readableObjectMode:r}}},xne=({stdioItem:t,stdioItem:{value:e},index:n,newTransforms:r,direction:i})=>{const{transform:s,objectMode:o}=tr(e)?e:{transform:e},{writableObjectMode:a,readableObjectMode:c}=UP(o,n,r,i);return{...t,value:{transform:s,writableObjectMode:a,readableObjectMode:c}}},Ine=({stdioItem:t,stdioItem:{value:e},index:n,newTransforms:r,direction:i,encoding:s})=>{const{transform:o,final:a,binary:c=!1,preserveNewlines:u=!1,objectMode:l}=tr(e)?e:{transform:e},d=c||mo.has(s),{writableObjectMode:f,readableObjectMode:h}=UP(l,n,r,i);return{...t,value:{transform:o,final:a,binary:d,preserveNewlines:u,writableObjectMode:f,readableObjectMode:h}}},Pne=(t,e)=>e==="input"?t.reverse():t,Nne=(t,e,n)=>{const r=t.map(i=>One(i,e));if(r.includes("input")&&r.includes("output"))throw new TypeError(`The \`${n}\` option must not be an array of both readable and writable values.`);return r.find(Boolean)??Mne},One=({type:t,value:e},n)=>Lne[n]??GP[t](e),Lne=["input","output","output"],Ia=()=>{},b0=()=>"input",GP={generator:Ia,asyncGenerator:Ia,fileUrl:Ia,filePath:Ia,iterable:b0,asyncIterable:b0,uint8Array:b0,webStream:t=>v0(t)?"output":"input",nodeStream(t){return rm(t,{checkOpen:!1})?hP(t,{checkOpen:!1})?void 0:"input":"output"},webTransform:Ia,duplex:Ia,native(t){const e=Fne(t);if(e!==void 0)return e;if(go(t,{checkOpen:!1}))return GP.nodeStream(t)}},Fne=t=>{if([0,Oe.stdin].includes(t))return"input";if([1,2,Oe.stdout,Oe.stderr].includes(t))return"output"},Mne="output",zne=(t,e)=>e&&!t.includes("ipc")?[...t,"ipc"]:t,Bne=({stdio:t,ipc:e,buffer:n,...r},i,s)=>{const o=qne(t,r).map((a,c)=>WP(a,c));return s?Une(o,n,i):zne(o,e)},qne=(t,e)=>{if(t===void 0)return Vr.map(r=>e[r]);if(jne(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Vr.map(r=>`\`${r}\``).join(", ")}`);if(typeof t=="string")return[t,t,t];if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);const n=Math.max(t.length,Vr.length);return Array.from({length:n},(r,i)=>t[i])},jne=t=>Vr.some(e=>t[e]!==void 0),WP=(t,e)=>Array.isArray(t)?t.map(n=>WP(n,e)):t??(e>=Vr.length?"ignore":"pipe"),Une=(t,e,n)=>t.map((r,i)=>!e[i]&&i!==0&&!Ab(n,i)&&Gne(r)?"ignore":r),Gne=t=>t==="pipe"||Array.isArray(t)&&t.every(e=>e==="pipe"),Wne=({stdioItem:t,stdioItem:{type:e},isStdioArray:n,fdNumber:r,direction:i,isSync:s})=>!n||e!=="native"?t:s?Hne({stdioItem:t,fdNumber:r,direction:i}):Yne({stdioItem:t,fdNumber:r}),Hne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r,direction:i})=>{const s=Vne({value:e,optionName:n,fdNumber:r,direction:i});if(s!==void 0)return s;if(go(e,{checkOpen:!1}))throw new TypeError(`The \`${n}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return t},Vne=({value:t,optionName:e,fdNumber:n,direction:r})=>{const i=Kne(t,n);if(i!==void 0){if(r==="output")return{type:"fileNumber",value:i,optionName:e};if(Z0.isatty(i))throw new TypeError(`The \`${e}: ${e0(t)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:id(mm(i)),optionName:e}}},Kne=(t,e)=>{if(t==="inherit")return e;if(typeof t=="number")return t;const n=Cb.indexOf(t);if(n!==-1)return n},Yne=({stdioItem:t,stdioItem:{value:e,optionName:n},fdNumber:r})=>e==="inherit"?{type:"nodeStream",value:HP(r,e,n),optionName:n}:typeof e=="number"?{type:"nodeStream",value:HP(e,e,n),optionName:n}:go(e,{checkOpen:!1})?{type:"nodeStream",value:e,optionName:n}:t,HP=(t,e,n)=>{const r=Cb[t];if(r===void 0)throw new TypeError(`The \`${n}: ${e}\` option is invalid: no such standard stream.`);return r},Xne=({input:t,inputFile:e},n)=>n===0?[...Jne(t),...Qne(e)]:[],Jne=t=>t===void 0?[]:[{type:Zne(t),value:t,optionName:"input"}],Zne=t=>{if(rm(t,{checkOpen:!1}))return"nodeStream";if(typeof t=="string")return"string";if(Er(t))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Qne=t=>t===void 0?[]:[{...ere(t),optionName:"inputFile"}],ere=t=>{if(y0(t))return{type:"fileUrl",value:t};if(MP(t))return{type:"filePath",value:{file:t}};throw new Error("The `inputFile` option must be a file path string or a file URL.")},tre=t=>t.filter((e,n)=>t.every((r,i)=>e.value!==r.value||n>=i||e.type==="generator"||e.type==="asyncGenerator")),nre=({stdioItem:{type:t,value:e,optionName:n},direction:r,fileDescriptors:i,isSync:s})=>{const o=rre(i,t);if(o.length!==0){if(s){ire({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});return}if(Dne.has(t))return VP({otherStdioItems:o,type:t,value:e,optionName:n,direction:r});Tne.has(t)&&ore({otherStdioItems:o,type:t,value:e,optionName:n})}},rre=(t,e)=>t.flatMap(({direction:n,stdioItems:r})=>r.filter(i=>i.type===e).map(i=>({...i,direction:n}))),ire=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{jP.has(e)&&VP({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})},VP=({otherStdioItems:t,type:e,value:n,optionName:r,direction:i})=>{const s=t.filter(a=>sre(a,n));if(s.length===0)return;const o=s.find(a=>a.direction!==i);return KP(o,r,e),i==="output"?s[0].stream:void 0},sre=({type:t,value:e},n)=>t==="filePath"?e.file===n.file:t==="fileUrl"?e.href===n.href:e===n,ore=({otherStdioItems:t,type:e,value:n,optionName:r})=>{const i=t.find(({value:{transform:s}})=>s===n.transform);KP(i,r,e)},KP=(t,e,n)=>{if(t!==void 0)throw new TypeError(`The \`${t.optionName}\` and \`${e}\` options must not target ${om[n]} that is the same.`)},YP=(t,e,n,r)=>{const s=Bne(e,n,r).map((a,c)=>are({stdioOption:a,fdNumber:c,options:e,isSync:r})),o=mre({initialFileDescriptors:s,addProperties:t,options:e,isSync:r});return e.stdio=o.map(({stdioItems:a})=>vre(a)),o},are=({stdioOption:t,fdNumber:e,options:n,isSync:r})=>{const i=lI(e),{stdioItems:s,isStdioArray:o}=cre({stdioOption:t,fdNumber:e,options:n,optionName:i}),a=Nne(s,e,i),c=s.map(d=>Wne({stdioItem:d,isStdioArray:o,fdNumber:e,direction:a,isSync:r})),u=$ne(c,i,a,n),l=kne(u,a);return pre(u,l),{direction:a,objectMode:l,stdioItems:u}},cre=({stdioOption:t,fdNumber:e,options:n,optionName:r})=>{const s=[...(Array.isArray(t)?t:[t]).map(c=>ure(c,r)),...Xne(n,e)],o=tre(s),a=o.length>1;return lre(o,a,r),fre(o),{stdioItems:o,isStdioArray:a}},ure=(t,e)=>({type:lne(t,e),value:t,optionName:e}),lre=(t,e,n)=>{if(t.length===0)throw new TypeError(`The \`${n}\` option must not be an empty array.`);if(e){for(const{value:r,optionName:i}of t)if(dre.has(r))throw new Error(`The \`${i}\` option must not include \`${r}\`.`)}},dre=new Set(["ignore","ipc"]),fre=t=>{for(const e of t)hre(e)},hre=({type:t,value:e,optionName:n})=>{if(mne(e))throw new TypeError(`The \`${n}: URL\` option must use the \`file:\` scheme.
|
|
1808
|
-
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(yne(t,e))throw new TypeError(`The \`${n}: { file: '...' }\` option must be used instead of \`${n}: '...'\`.`)},pre=(t,e)=>{if(!e)return;const n=t.find(({type:r})=>qP.has(r));if(n!==void 0)throw new TypeError(`The \`${n.optionName}\` option cannot use both files and transforms in objectMode.`)},mre=({initialFileDescriptors:t,addProperties:e,options:n,isSync:r})=>{const i=[];try{for(const s of t)i.push(gre({fileDescriptor:s,fileDescriptors:i,addProperties:e,options:n,isSync:r}));return i}catch(s){throw XP(i),s}},gre=({fileDescriptor:{direction:t,objectMode:e,stdioItems:n},fileDescriptors:r,addProperties:i,options:s,isSync:o})=>{const a=n.map(c=>yre({stdioItem:c,addProperties:i,direction:t,options:s,fileDescriptors:r,isSync:o}));return{direction:t,objectMode:e,stdioItems:a}},yre=({stdioItem:t,addProperties:e,direction:n,options:r,fileDescriptors:i,isSync:s})=>{const o=nre({stdioItem:t,direction:n,fileDescriptors:i,isSync:s});return o!==void 0?{...t,stream:o}:{...t,...e[n][t.type](t,r)}},XP=t=>{for(const{stdioItems:e}of t)for(const{stream:n}of e)n!==void 0&&!fo(n)&&n.destroy()},vre=t=>{if(t.length>1)return t.some(({value:r})=>r==="overlapped")?"overlapped":"pipe";const[{type:e,value:n}]=t;return e==="native"?n:"pipe"},wre=(t,e)=>YP(Ere,t,e,!0),Kr=({type:t,optionName:e})=>{JP(e,om[t])},bre=({optionName:t,value:e})=>((e==="ipc"||e==="overlapped")&&JP(t,`"${e}"`),{}),JP=(t,e)=>{throw new TypeError(`The \`${t}\` option cannot be ${e} with synchronous methods.`)},ZP={generator(){},asyncGenerator:Kr,webStream:Kr,nodeStream:Kr,webTransform:Kr,duplex:Kr,asyncIterable:Kr,native:bre},Ere={input:{...ZP,fileUrl:({value:t})=>({contents:[id(mm(t))]}),filePath:({value:{file:t}})=>({contents:[id(mm(t))]}),fileNumber:Kr,iterable:({value:t})=>({contents:[...t]}),string:({value:t})=>({contents:[t]}),uint8Array:({value:t})=>({contents:[t]})},output:{...ZP,fileUrl:({value:t})=>({path:t}),filePath:({value:{file:t}})=>({path:t}),fileNumber:({value:t})=>({path:t}),iterable:Kr,string:Kr,uint8Array:Kr}},Pa=(t,{stripFinalNewline:e},n)=>QP(e,n)&&t!==void 0&&!Array.isArray(t)?a0(t):t,QP=(t,e)=>e==="all"?t[1]||t[2]:t[e],eN=(t,e,n,r)=>t||n?void 0:rN(e,r),tN=(t,e,n)=>n?t.flatMap(r=>nN(r,e)):nN(t,e),nN=(t,e)=>{const{transform:n,final:r}=rN(e,{});return[...n(t),...r()]},rN=(t,e)=>(e.previousChunks="",{transform:Dre.bind(void 0,e,t),final:Rre.bind(void 0,e)}),Dre=function*(t,e,n){if(typeof n!="string"){yield n;return}let{previousChunks:r}=t,i=-1;for(let s=0;s<n.length;s+=1)if(n[s]===`
|
|
1809
|
-
`){const o=Tre(n,s,e,t);let a=n.slice(i+1,s+1-o);r.length>0&&(a=E0(r,a),r=""),yield a,i=s}i!==n.length-1&&(r=E0(r,n.slice(i+1))),t.previousChunks=r},Tre=(t,e,n,r)=>n?0:(r.isWindowsNewline=e!==0&&t[e-1]==="\r",r.isWindowsNewline?2:1),Rre=function*({previousChunks:t}){t.length>0&&(yield t)},Sre=({binary:t,preserveNewlines:e,readableObjectMode:n,state:r})=>t||e||n?void 0:{transform:kre.bind(void 0,r)},kre=function*({isWindowsNewline:t=!1},e){const{unixNewline:n,windowsNewline:r,LF:i,concatBytes:s}=typeof e=="string"?$re:_re;if(e.at(-1)===i){yield e;return}yield s(e,t?r:n)},E0=(t,e)=>`${t}${e}`,$re={windowsNewline:`\r
|
|
1810
|
-
`,unixNewline:`
|
|
1811
|
-
`,LF:`
|
|
1812
|
-
`,concatBytes:E0},Cre=(t,e)=>{const n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n},_re={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Cre},Are=(t,e)=>t?void 0:xre.bind(void 0,e),xre=function*(t,e){if(typeof e!="string"&&!Er(e)&&!Em.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Ire=(t,e)=>t?Pre.bind(void 0,e):Nre.bind(void 0,e),Pre=function*(t,e){iN(t,e),yield e},Nre=function*(t,e){if(iN(t,e),typeof e!="string"&&!Er(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},iN=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
1813
|
-
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
1814
|
-
if (condition) { yield value; }`)},sN=(t,e,n)=>{if(n)return;if(t)return{transform:Ore.bind(void 0,new TextEncoder)};const r=new eE(e);return{transform:Lre.bind(void 0,r),final:Fre.bind(void 0,r)}},Ore=function*(t,e){Em.isBuffer(e)?yield id(e):typeof e=="string"?yield t.encode(e):yield e},Lre=function*(t,e){yield Er(e)?t.write(e):e},Fre=function*(t){const e=t.end();e!==""&&(yield e)},oN=Do(async(t,e,n,r)=>{e.currentIterable=t(...n);try{for await(const i of e.currentIterable)r.push(i)}finally{delete e.currentIterable}}),D0=async function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=qre}=e[n];for await(const i of r(t))yield*D0(i,e,n+1)},Mre=async function*(t){for(const[e,{final:n}]of Object.entries(t))yield*zre(n,Number(e),t)},zre=async function*(t,e,n){if(t!==void 0)for await(const r of t())yield*D0(r,n,e+1)},Bre=Do(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),qre=function*(t){yield t},aN=(t,e,n,r)=>{try{for(const i of t(...e))n.push(i);r()}catch(i){r(i)}},jre=(t,e)=>[...e.flatMap(n=>[...dd(n,t,0)]),...T0(t)],dd=function*(t,e,n){if(n===e.length){yield t;return}const{transform:r=Gre}=e[n];for(const i of r(t))yield*dd(i,e,n+1)},T0=function*(t){for(const[e,{final:n}]of Object.entries(t))yield*Ure(n,Number(e),t)},Ure=function*(t,e,n){if(t!==void 0)for(const r of t())yield*dd(r,n,e+1)},Gre=function*(t){yield t},cN=({value:t,value:{transform:e,final:n,writableObjectMode:r,readableObjectMode:i},optionName:s},{encoding:o})=>{const a={},c=lN(t,o,s),u=xa(e),l=xa(n),d=u?oN.bind(void 0,D0,a):aN.bind(void 0,dd),f=u||l?oN.bind(void 0,Mre,a):aN.bind(void 0,T0),h=u||l?Bre.bind(void 0,a):void 0;return{stream:new Q2({writableObjectMode:r,writableHighWaterMark:bd(r),readableObjectMode:i,readableHighWaterMark:bd(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:h})}},uN=(t,e,n,r)=>{const i=e.filter(({type:o})=>o==="generator"),s=r?i.reverse():i;for(const{value:o,optionName:a}of s){const c=lN(o,n,a);t=jre(c,t)}return t},lN=({transform:t,final:e,binary:n,writableObjectMode:r,readableObjectMode:i,preserveNewlines:s},o,a)=>{const c={};return[{transform:Are(r,a)},sN(n,o,r),eN(n,s,r,c),{transform:t,final:e},{transform:Ire(i,a)},Sre({binary:n,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)},Wre=(t,e)=>{for(const n of Hre(t))Vre(t,n,e)},Hre=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Vre=(t,e,n)=>{const{stdioItems:r}=t[e],i=r.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){const[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${om[a]} with synchronous methods.`)}const o=i.map(({contents:a})=>a).map(a=>Kre(a,r));n.input=$b(o)},Kre=(t,e)=>{const n=uN(t,e,"utf8",!0);return Yre(n),$b(n)},Yre=t=>{const e=t.find(n=>typeof n!="string"&&!Er(n));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)},dN=({stdioItems:t,encoding:e,verboseInfo:n,fdNumber:r})=>r!=="all"&&Ab(n,r)&&!mo.has(e)&&Xre(r)&&(t.some(({type:i,value:s})=>i==="native"&&Jre.has(s))||t.every(({type:i})=>vo.has(i))),Xre=t=>t===1||t===2,Jre=new Set(["pipe","overlapped"]),Zre=async(t,e,n,r)=>{for await(const i of t)eie(e)||fN(i,n,r)},Qre=(t,e,n)=>{for(const r of t)fN(r,e,n)},eie=t=>t._readableState.pipes.length>0,fN=(t,e,n)=>{const r=wI(t);od({type:"output",verboseMessage:r,fdNumber:e,verboseInfo:n})},tie=({fileDescriptors:t,syncResult:{output:e},options:n,isMaxBuffer:r,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};const s={},o=new Set([]);return{output:e.map((c,u)=>nie({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:r,verboseInfo:i},n)),...s}},nie=({result:t,fileDescriptors:e,fdNumber:n,state:r,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;const f=Wte(t,s,d),h=id(f),{stdioItems:p,objectMode:m}=e[n],g=rie([h],p,c,r),{serializedResult:y,finalResult:w=y}=iie({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:n});sie({serializedResult:y,fdNumber:n,state:r,verboseInfo:o,encoding:c,stdioItems:p,objectMode:m});const E=a[n]?w:void 0;try{return r.error===void 0&&oie(y,p,i),E}catch(k){return r.error=k,E}},rie=(t,e,n,r)=>{try{return uN(t,e,n,!1)}catch(i){return r.error=i,t}},iie=({chunks:t,objectMode:e,encoding:n,lines:r,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(n==="buffer")return{serializedResult:$b(t)};const o=iZ(t,n);return r[s]?{serializedResult:o,finalResult:tN(o,!i[s],e)}:{serializedResult:o}},sie=({serializedResult:t,fdNumber:e,state:n,verboseInfo:r,encoding:i,stdioItems:s,objectMode:o})=>{if(!dN({stdioItems:s,encoding:i,verboseInfo:r,fdNumber:e}))return;const a=tN(t,!1,o);try{Qre(a,e,r)}catch(c){n.error??=c}},oie=(t,e,n)=>{for(const{path:r}of e.filter(({type:i})=>qP.has(i))){const i=typeof r=="string"?r:r.toString();n.has(i)?D2(r,t):(n.add(i),V0(r,t))}},aie=([,t,e],n)=>{if(n.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Pa(e,n,"all")]:Array.isArray(e)?[Pa(t,n,"all"),...e]:Er(t)&&Er(e)?oI([t,e]):`${t}${e}`},cie=async(t,e)=>{const[n,r]=await uie(t);return e.isForcefullyTerminated??=!1,[n,r]},uie=async t=>{const[e,n]=await Promise.allSettled([vn(t,"spawn"),vn(t,"exit")]);return e.status==="rejected"?[]:n.status==="rejected"?hN(t):n.value},hN=async t=>{try{return await vn(t,"exit")}catch{return hN(t)}},lie=async t=>{const[e,n]=await t;if(!die(e,n)&&pN(e,n))throw new ad;return[e,n]},die=(t,e)=>t===void 0&&e===void 0,pN=(t,e)=>t!==0||e!==null,fie=({error:t,status:e,signal:n,output:r},{maxBuffer:i})=>{const s=hie(t,e,n),o=s?.code==="ETIMEDOUT",a=Gte(s,r,i);return{resultError:s,exitCode:e,signal:n,timedOut:o,isMaxBuffer:a}},hie=(t,e,n)=>t!==void 0?t:pN(e,n)?new ad:void 0,pie=(t,e,n)=>{const{file:r,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=mie(t,e,n),d=vie({file:r,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return m0(d,c,u)},mie=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=DI(t,e,n),a=gie(n),{file:c,commandArguments:u,options:l}=lP(t,e,a);yie(l);const d=wre(l,o);return{file:c,commandArguments:u,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},gie=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,yie=({ipc:t,ipcInput:e,detached:n,cancelSignal:r})=>{e&&am("ipcInput"),t&&am("ipc: true"),n&&am("detached: true"),r&&am("cancelSignal")},am=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},vie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{const c=wie({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;const{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:h}=fie(c,n),{output:p,error:m=u}=tie({fileDescriptors:o,syncResult:c,options:n,isMaxBuffer:h,verboseInfo:s}),g=p.map((w,E)=>Pa(w,n,E)),y=Pa(aie(p,n),n,"all");return Eie({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:h,stdio:g,all:y,options:n,command:r,escapedCommand:i,startTime:a})},wie=({file:t,commandArguments:e,options:n,command:r,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Wre(s,n);const a=bie(n);return V2(t,e,a)}catch(a){return h0({error:a,command:r,escapedCommand:i,fileDescriptors:s,options:n,startTime:o,isSync:!0})}},bie=({encoding:t,maxBuffer:e,...n})=>({...n,encoding:"buffer",maxBuffer:f0(e)}),Eie=({error:t,exitCode:e,signal:n,timedOut:r,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?_P({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):p0({error:t,command:c,escapedCommand:u,timedOut:r,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:n,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0}),Die=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0,filter:s}={})=>(Jb({methodName:"getOneMessage",isSubprocess:n,ipc:r,isConnected:tP(t)}),Tie({anyProcess:t,channel:e,isSubprocess:n,filter:s,reference:i})),Tie=async({anyProcess:t,channel:e,isSubprocess:n,filter:r,reference:i})=>{QI(e,i);const s=Zp(t,e,n),o=new AbortController;try{return await Promise.race([Rie(s,r,o),Sie(s,n,o),kie(s,n,o)])}catch(a){throw Zb(t),a}finally{o.abort(),eP(e,i)}},Rie=async(t,e,{signal:n})=>{if(e===void 0){const[r]=await vn(t,"message",{signal:n});return r}for await(const[r]of wd(t,"message",{signal:n}))if(e(r))return r},Sie=async(t,e,{signal:n})=>{await vn(t,"disconnect",{signal:n}),eee(e)},kie=async(t,e,{signal:n})=>{const[r]=await vn(t,"strict:error",{signal:n});throw KI(r,e)},$ie=({anyProcess:t,channel:e,isSubprocess:n,ipc:r},{reference:i=!0}={})=>mN({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:!n,reference:i}),mN=({anyProcess:t,channel:e,isSubprocess:n,ipc:r,shouldAwait:i,reference:s})=>{Jb({methodName:"getEachMessage",isSubprocess:n,ipc:r,isConnected:tP(t)}),QI(e,s);const o=Zp(t,e,n),a=new AbortController,c={};return Cie(t,o,a),_ie({ipcEmitter:o,isSubprocess:n,controller:a,state:c}),Aie({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:n,shouldAwait:i,controller:a,state:c,reference:s})},Cie=async(t,e,n)=>{try{await vn(e,"disconnect",{signal:n.signal}),n.abort()}catch{}},_ie=async({ipcEmitter:t,isSubprocess:e,controller:n,state:r})=>{try{const[i]=await vn(t,"strict:error",{signal:n.signal});r.error=KI(i,e),n.abort()}catch{}},Aie=async function*({anyProcess:t,channel:e,ipcEmitter:n,isSubprocess:r,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(const[c]of wd(n,"message",{signal:s.signal}))gN(o),yield c}catch{gN(o)}finally{s.abort(),eP(e,a),r||Zb(t),i&&await t}},gN=({error:t})=>{if(t)throw t},xie=(t,{ipc:e})=>{Object.assign(t,yN(t,!1,e))},Iie=()=>{const t=Oe,e=!0,n=Oe.channel!==void 0;return{...yN(t,e,n),getCancelSignal:Nee.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n})}},yN=(t,e,n)=>({sendMessage:rP.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n}),getOneMessage:Die.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n}),getEachMessage:$ie.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:n})}),Pie=({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,verboseInfo:o})=>{XP(r);const a=new Q0;Nie(a,r),Object.assign(a,{readable:Oie,writable:Lie,duplex:Fie});const c=h0({error:t,command:e,escapedCommand:n,fileDescriptors:r,options:i,startTime:s,isSync:!1}),u=Mie(c,o,i);return{subprocess:a,promise:u}},Nie=(t,e)=>{const n=fd(),r=fd(),i=fd(),s=Array.from({length:e.length-3},fd),o=fd(),a=[n,r,i,...s];Object.assign(t,{stdin:n,stdout:r,stderr:i,all:o,stdio:a})},fd=()=>{const t=new iE;return t.end(),t},Oie=()=>new Es({read(){}}),Lie=()=>new wm({write(){}}),Fie=()=>new bm({read(){},write(){}}),Mie=async(t,e,n)=>m0(t,e,n),zie=(t,e)=>YP(Bie,t,e,!1),hd=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${om[t]}.`)},vN={fileNumber:hd,generator:cN,asyncGenerator:cN,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:n}}){const r=e||n;return{stream:bm.fromWeb(t,{objectMode:r})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Bie={input:{...vN,fileUrl:({value:t})=>({stream:K0(t)}),filePath:({value:{file:t}})=>({stream:K0(t)}),webStream:({value:t})=>({stream:Es.fromWeb(t)}),iterable:({value:t})=>({stream:Es.from(t)}),asyncIterable:({value:t})=>({stream:Es.from(t)}),string:({value:t})=>({stream:Es.from(t)}),uint8Array:({value:t})=>({stream:Es.from(Em.from(t))})},output:{...vN,fileUrl:({value:t})=>({stream:Y0(t)}),filePath:({value:{file:t}})=>({stream:Y0(t)}),webStream:({value:t})=>({stream:wm.fromWeb(t)}),iterable:hd,asyncIterable:hd,string:hd,uint8Array:hd}};function R0(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(const i of t)S0(i);const e=t.some(({readableObjectMode:i})=>i),n=qie(t,e),r=new jie({objectMode:e,writableHighWaterMark:n,readableHighWaterMark:n});for(const i of t)r.add(i);return r}const qie=(t,e)=>{if(t.length===0)return bd(e);const n=t.filter(({readableObjectMode:r})=>r===e).map(({readableHighWaterMark:r})=>r);return Math.max(...n)};class jie extends iE{#e=new Set([]);#t=new Set([]);#n=new Set([]);#r;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(S0(e),this.#e.has(e))return;this.#e.add(e),this.#r??=Uie(this,this.#e,this.#s);const n=Hie({passThroughStream:this,stream:e,streams:this.#e,ended:this.#t,aborted:this.#n,onFinished:this.#r,unpipeEvent:this.#s});this.#i.set(e,n),e.pipe(this,{end:!1})}async remove(e){if(S0(e),!this.#e.has(e))return!1;const n=this.#i.get(e);return n===void 0?!1:(this.#i.delete(e),e.unpipe(this),await n,!0)}}const Uie=async(t,e,n)=>{cm(t,DN);const r=new AbortController;try{await Promise.race([Gie(t,r),Wie(t,e,n,r)])}finally{r.abort(),cm(t,-DN)}},Gie=async(t,{signal:e})=>{try{await Pi(t,{signal:e,cleanup:!0})}catch(n){throw wN(t,n),n}},Wie=async(t,e,n,{signal:r})=>{for await(const[i]of wd(t,"unpipe",{signal:r}))e.has(i)&&i.emit(n)},S0=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Hie=async({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,onFinished:s,unpipeEvent:o})=>{cm(t,TN);const a=new AbortController;try{await Promise.race([Vie(s,e,a),Kie({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,controller:a}),Yie({stream:e,streams:n,ended:r,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),cm(t,-TN)}n.size>0&&n.size===r.size+i.size&&(r.size===0&&i.size>0?k0(t):Xie(t))},Vie=async(t,e,{signal:n})=>{try{await t,n.aborted||k0(e)}catch(r){n.aborted||wN(e,r)}},Kie=async({passThroughStream:t,stream:e,streams:n,ended:r,aborted:i,controller:{signal:s}})=>{try{await Pi(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),n.has(e)&&r.add(e)}catch(o){if(s.aborted||!n.has(e))return;bN(o)?i.add(e):EN(t,o)}},Yie=async({stream:t,streams:e,ended:n,aborted:r,unpipeEvent:i,controller:{signal:s}})=>{if(await vn(t,i,{signal:s}),!t.readable)return vn(s,"abort",{signal:s});e.delete(t),n.delete(t),r.delete(t)},Xie=t=>{t.writable&&t.end()},wN=(t,e)=>{bN(e)?k0(t):EN(t,e)},bN=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",k0=t=>{(t.readable||t.writable)&&t.destroy()},EN=(t,e)=>{t.destroyed||(t.once("error",Jie),t.destroy(e))},Jie=()=>{},cm=(t,e)=>{const n=t.getMaxListeners();n!==0&&n!==Number.POSITIVE_INFINITY&&t.setMaxListeners(n+e)},DN=2,TN=1,um=(t,e)=>{t.pipe(e),Zie(t,e),Qie(t,e)},Zie=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(t,{cleanup:!0,readable:!0,writable:!1})}catch{}RN(e)}},RN=t=>{t.writable&&t.end()},Qie=async(t,e)=>{if(!(fo(t)||fo(e))){try{await Pi(e,{cleanup:!0,readable:!1,writable:!0})}catch{}SN(t)}},SN=t=>{t.readable&&t.destroy()},ese=(t,e,n)=>{const r=new Map;for(const[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(const{stream:a}of s.filter(({type:c})=>vo.has(c)))tse(t,a,o,i);for(const{stream:a}of s.filter(({type:c})=>!vo.has(c)))rse({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:r,controller:n})}for(const[i,s]of r.entries()){const o=s.length===1?s[0]:R0(s);um(o,i)}},tse=(t,e,n,r)=>{n==="output"?um(t.stdio[r],e):um(e,t.stdio[r]);const i=nse[r];i!==void 0&&(t[i]=e),t.stdio[r]=e},nse=["stdin","stdout","stderr"],rse=({subprocess:t,stream:e,direction:n,fdNumber:r,pipeGroups:i,controller:s})=>{if(e===void 0)return;ise(e,s);const[o,a]=n==="output"?[e,t.stdio[r]]:[t.stdio[r],e],c=i.get(o)??[];i.set(o,[...c,a])},ise=(t,{signal:e})=>{fo(t)&&Xp(t,sse,e)},sse=2,Na=[];Na.push("SIGHUP","SIGINT","SIGTERM"),process.platform!=="win32"&&Na.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),process.platform==="linux"&&Na.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");const lm=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",$0=Symbol.for("signal-exit emitter"),C0=globalThis,ose=Object.defineProperty.bind(Object);class ase{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(C0[$0])return C0[$0];ose(C0,$0,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,n){this.listeners[e].push(n)}removeListener(e,n){const r=this.listeners[e],i=r.indexOf(n);i!==-1&&(i===0&&r.length===1?r.length=0:r.splice(i,1))}emit(e,n,r){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(const s of this.listeners[e])i=s(n,r)===!0||i;return e==="exit"&&(i=this.emit("afterExit",n,r)||i),i}}class kN{}const cse=t=>({onExit(e,n){return t.onExit(e,n)},load(){return t.load()},unload(){return t.unload()}});class use extends kN{onExit(){return()=>{}}load(){}unload(){}}class lse extends kN{#e=_0.platform==="win32"?"SIGINT":"SIGHUP";#t=new ase;#n;#r;#s;#i={};#o=!1;constructor(e){super(),this.#n=e,this.#i={};for(const n of Na)this.#i[n]=()=>{const r=this.#n.listeners(n);let{count:i}=this.#t;const s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),r.length===i){this.unload();const o=this.#t.emit("exit",null,n),a=n==="SIGHUP"?this.#e:n;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#r=e.emit}onExit(e,n){if(!lm(this.#n))return()=>{};this.#o===!1&&this.load();const r=n?.alwaysLast?"afterExit":"exit";return this.#t.on(r,e),()=>{this.#t.removeListener(r,e),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(const e of Na)try{const n=this.#i[e];n&&this.#n.on(e,n)}catch{}this.#n.emit=(e,...n)=>this.#c(e,...n),this.#n.reallyExit=e=>this.#a(e)}}unload(){this.#o&&(this.#o=!1,Na.forEach(e=>{const n=this.#i[e];if(!n)throw new Error("Listener not defined for signal: "+e);try{this.#n.removeListener(e,n)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#s,this.#t.count-=1)}#a(e){return lm(this.#n)?(this.#n.exitCode=e||0,this.#t.emit("exit",this.#n.exitCode,null),this.#s.call(this.#n,this.#n.exitCode)):0}#c(e,...n){const r=this.#r;if(e==="exit"&&lm(this.#n)){typeof n[0]=="number"&&(this.#n.exitCode=n[0]);const i=r.call(this.#n,e,...n);return this.#t.emit("exit",this.#n.exitCode,null),i}else return r.call(this.#n,e,...n)}}const _0=globalThis.process,{onExit:dse,load:ece,unload:tce}=cse(lm(_0)?new lse(_0):new use),fse=(t,{cleanup:e,detached:n},{signal:r})=>{if(!e||n)return;const i=dse(()=>{t.kill()});rE(r,()=>{i()})},hse=({source:t,sourcePromise:e,boundOptions:n,createNested:r},...i)=>{const s=bI(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=pse(n,r,i),{sourceStream:d,sourceError:f}=gse(t,u),{options:h,fileDescriptors:p}=po.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:h,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:p,startTime:s}},pse=(t,e,n)=>{try{const{destination:r,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=mse(t,e,...n),a=YI(r,s);return{destination:r,destinationStream:a,from:i,unpipeSignal:o}}catch(r){return{destinationError:r}}},mse=(t,e,n,...r)=>{if(Array.isArray(n))return{destination:e($N,t)(n,...r),pipeOptions:t};if(typeof n=="string"||n instanceof URL){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');const[i,s,o]=nI(n,...r);return{destination:e($N)(i,s,o),pipeOptions:o}}if(po.has(n)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:n,pipeOptions:r[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${n}`)},$N=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),gse=(t,e)=>{try{return{sourceStream:Qb(t,e)}}catch(n){return{sourceError:n}}},yse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r,fileDescriptors:i,sourceOptions:s,startTime:o})=>{const a=vse({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r});if(a!==void 0)throw CN({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},vse=({sourceStream:t,sourceError:e,destinationStream:n,destinationError:r})=>{if(e!==void 0&&r!==void 0)return r;if(r!==void 0)return SN(t),r;if(e!==void 0)return RN(n),e},CN=({error:t,fileDescriptors:e,sourceOptions:n,startTime:r})=>h0({error:t,command:_N,escapedCommand:_N,fileDescriptors:e,options:n,startTime:r,isSync:!1}),_N="source.pipe(destination)",wse=async t=>{const[{status:e,reason:n,value:r=n},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(r)||o.pipedFrom.push(r),i==="rejected")throw o;if(e==="rejected")throw r;return o},bse=(t,e,n)=>{const r=dm.has(e)?Dse(t,e):Ese(t,e);return Xp(t,Rse,n.signal),Xp(e,Sse,n.signal),Tse(e),r},Ese=(t,e)=>{const n=R0([t]);return um(n,e),dm.set(e,n),n},Dse=(t,e)=>{const n=dm.get(e);return n.add(t),n},Tse=async t=>{try{await Pi(t,{cleanup:!0,readable:!1,writable:!0})}catch{}dm.delete(t)},dm=new WeakMap,Rse=2,Sse=1,kse=(t,e)=>t===void 0?[]:[$se(t,e)],$se=async(t,{sourceStream:e,mergedStream:n,fileDescriptors:r,sourceOptions:i,startTime:s})=>{await N2(t,e),await n.remove(e);const o=new Error("Pipe canceled by `unpipeSignal` option.");throw CN({error:o,fileDescriptors:r,sourceOptions:i,startTime:s})},A0=(t,...e)=>{if(tr(e[0]))return A0.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});const{destination:n,...r}=hse(t,...e),i=Cse({...r,destination:n});return i.pipe=A0.bind(void 0,{...t,source:n,sourcePromise:i,boundOptions:{}}),i},Cse=async({sourcePromise:t,sourceStream:e,sourceOptions:n,sourceError:r,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{const l=_se(t,i);yse({sourceStream:e,sourceError:r,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:n,startTime:u});const d=new AbortController;try{const f=bse(e,s,d);return await Promise.race([wse(l),...kse(a,{sourceStream:e,mergedStream:f,sourceOptions:n,fileDescriptors:c,startTime:u})])}finally{d.abort()}},_se=(t,e)=>Promise.allSettled([t,e]),AN=({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:r,encoding:i,preserveNewlines:s})=>{const o=new AbortController;return Ase(e,o),IN({stream:t,controller:o,binary:n,shouldEncode:!t.readableObjectMode&&r,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},Ase=async(t,e)=>{try{await t}catch{}finally{e.abort()}},xN=({stream:t,onStreamEnd:e,lines:n,encoding:r,stripFinalNewline:i,allMixed:s})=>{const o=new AbortController;xse(e,o,t);const a=t.readableObjectMode&&!s;return IN({stream:t,controller:o,binary:r==="buffer",shouldEncode:!a,encoding:r,shouldSplit:!a&&n,preserveNewlines:!i})},xse=async(t,e,n)=>{try{await t}catch{n.destroy()}finally{e.abort()}},IN=({stream:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})=>{const a=wd(t,"data",{signal:e.signal,highWaterMark:NN,highWatermark:NN});return Ise({onStdoutChunk:a,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o})},PN=bd(!0),NN=PN,Ise=async function*({onStdoutChunk:t,controller:e,binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o}){const a=Pse({binary:n,shouldEncode:r,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(const[c]of t)yield*dd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*T0(a)}},Pse=({binary:t,shouldEncode:e,encoding:n,shouldSplit:r,preserveNewlines:i})=>[sN(t,n,!e),eN(t,i,!r,{})].filter(Boolean),Nse=async({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{const d=Ose({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Lse(t),d]);return}const f=QP(c,n),h=xN({stream:t,onStreamEnd:e,lines:o,encoding:r,stripFinalNewline:f,allMixed:a}),[p]=await Promise.all([Fse({stream:t,iterable:h,fdNumber:n,encoding:r,maxBuffer:s,lines:o}),d]);return p},Ose=async({stream:t,onStreamEnd:e,fdNumber:n,encoding:r,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!dN({stdioItems:o[n]?.stdioItems,encoding:r,verboseInfo:s,fdNumber:n}))return;const a=xN({stream:t,onStreamEnd:e,lines:!0,encoding:r,stripFinalNewline:!0,allMixed:i});await Zre(a,t,n,s)},Lse=async t=>{await Y2(),t.readableFlowing===null&&t.resume()},Fse=async({stream:t,stream:{readableObjectMode:e},iterable:n,fdNumber:r,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await vte(n,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Tte(n,{maxBuffer:s})):await Pte(n,{maxBuffer:s})}catch(a){return LN(zte({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:r}))}},ON=async t=>{try{return await t}catch(e){return LN(e)}},LN=({bufferedData:t})=>tZ(t)?new Uint8Array(t):t,x0=async(t,e,n,{isSameDirection:r,stopOnExit:i=!1}={})=>{const s=Mse(t,n),o=new AbortController;try{await Promise.race([...i?[n.exitPromise]:[],Pi(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||qse(a,e,n,r)}finally{o.abort()}},Mse=(t,{originalStreams:[e],subprocess:n})=>{const r={stdinCleanedUp:!1};return t===e&&zse(t,n,r),r},zse=(t,e,n)=>{const{_destroy:r}=t;t._destroy=(...i)=>{Bse(e,n),r.call(t,...i)}},Bse=({exitCode:t,signalCode:e},n)=>{(t!==null||e!==null)&&(n.stdinCleanedUp=!0)},qse=(t,e,n,r)=>{if(!jse(t,e,n,r))throw t},jse=(t,e,n,r=!0)=>n.propagating?MN(t)||I0(t):(n.propagating=!0,FN(n,e)===r?MN(t):I0(t)),FN=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",I0=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",MN=t=>t?.code==="EPIPE",Use=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>zN({stream:c,fdNumber:u,encoding:e,buffer:n[u],maxBuffer:r[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),zN=async({stream:t,fdNumber:e,encoding:n,buffer:r,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;const l=x0(t,e,u);if(FN(u,e)){await l;return}const[d]=await Promise.all([Nse({stream:t,onStreamEnd:l,fdNumber:e,encoding:n,buffer:r,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d},Gse=({stdout:t,stderr:e},{all:n})=>n&&(t||e)?R0([t,e].filter(Boolean)):void 0,Wse=({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>zN({...Hse(t,n),fdNumber:"all",encoding:e,maxBuffer:r[1]+r[2],lines:i[1]||i[2],allMixed:Vse(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Hse=({stdout:t,stderr:e,all:n},[,r,i])=>{const s=r||i;return s?r?i?{stream:n,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:n,buffer:s}},Vse=({all:t,stdout:e,stderr:n})=>t&&e&&n&&e.readableObjectMode!==n.readableObjectMode,Kse=t=>Ab(t,"ipc"),Yse=(t,e)=>{const n=wI(t);od({type:"ipc",verboseMessage:n,fdNumber:"ipc",verboseInfo:e})},Xse=async({subprocess:t,buffer:e,maxBuffer:n,ipc:r,ipcOutput:i,verboseInfo:s})=>{if(!r)return i;const o=Kse(s),a=sd(e,"ipc"),c=sd(n,"ipc");for await(const u of mN({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:r,shouldAwait:!1,reference:!0}))a&&(qte(t,i,c),i.push(u)),o&&Yse(u,s);return i},Jse=async(t,e)=>(await Promise.allSettled([t]),e),Zse=async({subprocess:t,options:{encoding:e,buffer:n,maxBuffer:r,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:h,fileDescriptors:p,originalStreams:m,onInternalError:g,controller:y})=>{const w=cie(t,f),E={originalStreams:m,fileDescriptors:p,subprocess:t,exitPromise:w,propagating:!1},k=Use({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),A=Wse({subprocess:t,encoding:e,buffer:n,maxBuffer:r,lines:i,stripFinalNewline:u,verboseInfo:h,streamInfo:E}),I=[],x=Xse({subprocess:t,buffer:n,maxBuffer:r,ipc:l,ipcOutput:I,verboseInfo:h}),_=Qse(m,t,E),P=eoe(p,E);try{return await Promise.race([Promise.all([{},lie(w),Promise.all(k),A,x,Xee(t,d),..._,...P]),g,toe(t,y),...jee(t,s,f,y),...JQ({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...Mee({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(O){return f.terminationReason??="other",Promise.all([{error:O},w,Promise.all(k.map(C=>ON(C))),ON(A),Jse(x,I),Promise.allSettled(_),Promise.allSettled(P)])}},Qse=(t,e,n)=>t.map((r,i)=>r===e.stdio[i]?void 0:x0(r,i,n)),eoe=(t,e)=>t.flatMap(({stdioItems:n},r)=>n.filter(({value:i,stream:s=i})=>go(s,{checkOpen:!1})&&!fo(s)).map(({type:i,value:s,stream:o=s})=>x0(o,r,e,{isSameDirection:vo.has(i),stopOnExit:i==="native"}))),toe=async(t,{signal:e})=>{const[n]=await vn(t,"error",{signal:e});throw n},noe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),P0=(t,e,n)=>{const r=t[n];r.has(e)||r.set(e,[]);const i=r.get(e),s=cd();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},fm=async({resolve:t,promises:e},n)=>{t();const[r]=await Promise.race([Promise.allSettled([!0,n]),Promise.all([!1,...e])]);return!r},BN=async t=>{if(t!==void 0)try{await qN(t)}catch{}},roe=async t=>{if(t!==void 0)try{await jN(t)}catch{}},qN=async t=>{await Pi(t,{cleanup:!0,readable:!1,writable:!0})},jN=async t=>{await Pi(t,{cleanup:!0,readable:!0,writable:!1})},UN=async(t,e)=>{if(await t,e)throw e},GN=(t,e,n)=>{n&&!I0(n)?t.destroy(n):e&&t.destroy()},ioe=({subprocess:t,concurrentStreams:e,encoding:n},{from:r,binary:i=!0,preserveNewlines:s=!0}={})=>{const o=i||mo.has(n),{subprocessStdout:a,waitReadableDestroy:c}=WN(t,r,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=HN(a,o),{read:f,onStdoutDataDone:h}=VN({subprocessStdout:a,subprocess:t,binary:o,encoding:n,preserveNewlines:s}),p=new Es({read:f,destroy:Do(YN.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return KN({subprocessStdout:a,onStdoutDataDone:h,readable:p,subprocess:t}),p},WN=(t,e,n)=>{const r=Qb(t,e),i=P0(n,r,"readableDestroy");return{subprocessStdout:r,waitReadableDestroy:i}},HN=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n},r)=>r?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:n}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:PN},VN=({subprocessStdout:t,subprocess:e,binary:n,encoding:r,preserveNewlines:i})=>{const s=cd(),o=AN({subprocessStdout:t,subprocess:e,binary:n,shouldEncode:!n,encoding:r,preserveNewlines:i});return{read(){soe(this,o,s)},onStdoutDataDone:s}},soe=async(t,e,n)=>{try{const{value:r,done:i}=await e.next();i?n.resolve():t.push(r)}catch{}},KN=async({subprocessStdout:t,onStdoutDataDone:e,readable:n,subprocess:r,subprocessStdin:i})=>{try{await jN(t),await r,await BN(i),await e,n.readable&&n.push(null)}catch(s){await BN(i),XN(n,s)}},YN=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:n},r)=>{await fm(n,e)&&(XN(t,r),await UN(e,r))},XN=(t,e)=>{GN(t,t.readable,e)},ooe=({subprocess:t,concurrentStreams:e},{to:n}={})=>{const{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}=JN(t,n,e),o=new wm({...ZN(r,t,i),destroy:Do(e2.bind(void 0,{subprocessStdin:r,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:r.writableHighWaterMark,objectMode:r.writableObjectMode});return QN(r,o),o},JN=(t,e,n)=>{const r=YI(t,e),i=P0(n,r,"writableFinal"),s=P0(n,r,"writableDestroy");return{subprocessStdin:r,waitWritableFinal:i,waitWritableDestroy:s}},ZN=(t,e,n)=>({write:aoe.bind(void 0,t),final:Do(coe.bind(void 0,t,e,n))}),aoe=(t,e,n,r)=>{t.write(e,n)?r():t.once("drain",r)},coe=async(t,e,n)=>{await fm(n,e)&&(t.writable&&t.end(),await e)},QN=async(t,e,n)=>{try{await qN(t),e.writable&&e.end()}catch(r){await roe(n),t2(e,r)}},e2=async({subprocessStdin:t,subprocess:e,waitWritableFinal:n,waitWritableDestroy:r},i)=>{await fm(n,e),await fm(r,e)&&(t2(t,i),await UN(e,i))},t2=(t,e)=>{GN(t,t.writable,e)},uoe=({subprocess:t,concurrentStreams:e,encoding:n},{from:r,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{const a=s||mo.has(n),{subprocessStdout:c,waitReadableDestroy:u}=WN(t,r,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=JN(t,i,e),{readableEncoding:h,readableObjectMode:p,readableHighWaterMark:m}=HN(c,a),{read:g,onStdoutDataDone:y}=VN({subprocessStdout:c,subprocess:t,binary:a,encoding:n,preserveNewlines:o}),w=new bm({read:g,...ZN(l,t,d),destroy:Do(loe.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:p,writableObjectMode:l.writableObjectMode,encoding:h});return KN({subprocessStdout:c,onStdoutDataDone:y,readable:w,subprocess:t,subprocessStdin:l}),QN(l,w,c),w},loe=async({subprocessStdout:t,subprocessStdin:e,subprocess:n,waitReadableDestroy:r,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([YN({subprocessStdout:t,subprocess:n,waitReadableDestroy:r},o),e2({subprocessStdin:e,subprocess:n,waitWritableFinal:i,waitWritableDestroy:s},o)])},n2=(t,e,{from:n,binary:r=!1,preserveNewlines:i=!1}={})=>{const s=r||mo.has(e),o=Qb(t,n),a=AN({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return doe(a,o,t)},doe=async function*(t,e,n){try{yield*t}finally{e.readable&&e.destroy(),await n}},foe=(t,{encoding:e})=>{const n=noe();t.readable=ioe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.writable=ooe.bind(void 0,{subprocess:t,concurrentStreams:n}),t.duplex=uoe.bind(void 0,{subprocess:t,concurrentStreams:n,encoding:e}),t.iterable=n2.bind(void 0,t,e),t[Symbol.asyncIterator]=n2.bind(void 0,t,e,{})},hoe=(t,e)=>{for(const[n,r]of moe){const i=r.value.bind(e);Reflect.defineProperty(t,n,{...r,value:i})}},poe=(async()=>{})().constructor.prototype,moe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(poe,t)]),goe=(t,e,n,r)=>{const{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=yoe(t,e,n),{subprocess:f,promise:h}=woe({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=A0.bind(void 0,{source:f,sourcePromise:h,boundOptions:{},createNested:r}),hoe(f,h),po.set(f,{options:l,fileDescriptors:d}),f},yoe=(t,e,n)=>{const{command:r,escapedCommand:i,startTime:s,verboseInfo:o}=DI(t,e,n),{file:a,commandArguments:c,options:u}=lP(t,e,n),l=voe(u),d=zie(l,o);return{file:a,commandArguments:c,command:r,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},voe=({timeout:t,signal:e,...n})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...n,timeoutDuration:t}},woe=({file:t,commandArguments:e,options:n,startTime:r,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=K2(t,e,n)}catch(p){return Pie({error:p,command:s,escapedCommand:o,fileDescriptors:a,options:n,startTime:r,verboseInfo:i})}const u=new AbortController;J2(Number.POSITIVE_INFINITY,u.signal);const l=[...c.stdio];ese(c,a,u),fse(c,n,u);const d={},f=cd();c.kill=HQ.bind(void 0,{kill:c.kill.bind(c),options:n,onInternalError:f,context:d,controller:u}),c.all=Gse(c,n),foe(c,n),xie(c,n);const h=boe({subprocess:c,options:n,startTime:r,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:h}},boe=async({subprocess:t,options:e,startTime:n,verboseInfo:r,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{const[d,[f,h],p,m,g]=await Zse({subprocess:t,options:e,context:c,verboseInfo:r,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();const y=p.map((k,A)=>Pa(k,e,A)),w=Pa(m,e,"all"),E=Eoe({errorInfo:d,exitCode:f,signal:h,stdio:y,all:w,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:n});return m0(E,r,e)},Eoe=({errorInfo:t,exitCode:e,signal:n,stdio:r,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?p0({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof im,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:n,stdio:r,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):_P({command:c,escapedCommand:u,stdio:r,all:i,ipcOutput:s,options:a,startTime:l}),N0=(t,e)=>{const n=Object.fromEntries(Object.entries(e).map(([r,i])=>[r,Doe(r,t[r],i)]));return{...t,...n}},Doe=(t,e,n)=>Toe.has(t)&&tr(e)&&tr(n)?{...e,...n}:n,Toe=new Set(["env",...pI]),wo=(t,e,n,r)=>{const i=(o,a,c)=>wo(o,a,n,c),s=(...o)=>Roe({mapArguments:t,deepOptions:n,boundOptions:e,setBoundExeca:r,createNested:i},...o);return r!==void 0&&r(s,i,e),s},Roe=({mapArguments:t,deepOptions:e={},boundOptions:n={},setBoundExeca:r,createNested:i},s,...o)=>{if(tr(s))return i(t,N0(n,s),r);const{file:a,commandArguments:c,options:u,isSync:l}=Soe({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:n});return l?pie(a,c,u):goe(a,c,u,i)},Soe=({mapArguments:t,firstArgument:e,nextArguments:n,deepOptions:r,boundOptions:i})=>{const s=cZ(e)?uZ(e,n):[e,...n],[o,a,c]=nI(...s),u=N0(N0(r,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:h=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:h}},koe=({file:t,commandArguments:e})=>r2(t,e),$oe=({file:t,commandArguments:e})=>({...r2(t,e),isSync:!0}),r2=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);const[n,...r]=Coe(t);return{file:n,commandArguments:r}},Coe=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);const e=t.trim();if(e==="")return[];const n=[];for(const r of e.split(_oe)){const i=n.at(-1);i&&i.endsWith("\\")?n[n.length-1]=`${i.slice(0,-1)} ${r}`:n.push(r)}return n},_oe=/ +/g,Aoe=(t,e,n)=>{t.sync=e(Ioe,n),t.s=t.sync},xoe=({options:t})=>i2(t),Ioe=({options:t})=>({...i2(t),isSync:!0}),i2=t=>({options:{...Poe(t),...t}}),Poe=({input:t,inputFile:e,stdio:n})=>t===void 0&&e===void 0&&n===void 0?{stdin:"inherit"}:{},Noe={preferLocal:!0},O0=wo(()=>({}));wo(()=>({isSync:!0})),wo(koe),wo($oe),wo(Gee),wo(xoe,{},Noe,Aoe),Iie();const L0=qp(2);let Ooe=class{constructor(e="dot"){this.path=e}async unflatten(e){return await L0(async()=>{const n=await O0("unflatten",["-l 1","-c 3"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});return n instanceof Error&&(n.stdout?Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' failed: ${n.stderr}
|
|
1815
|
-
|
|
1816
|
-
but returned
|
|
1817
|
-
${n.stdout}`):Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' failed: ${n.stderr}
|
|
1818
|
-
|
|
1819
|
-
nothing returned, ignoring...`)),n.stdout&&(e=n.stdout.replaceAll(/\t\[/g," [").replaceAll(/\t/g," ")),e})}async layoutJson(e){return await L0(async()=>{const n=await O0(this.path,["-Tjson","-y"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});if(n instanceof Error){if(!n.stdout)throw Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' nothing returned and failed: "${n.stderr}"`),n;Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' returned result but also failed "${n.stderr}"`)}return n.stdout})}async acyclic(e){return Promise.reject(new Error("Method not implemented."))}async svg(e){return await L0(async()=>{const n=await O0(this.path,["-Tsvg","-y"],{reject:!1,timeout:1e4,input:e,stdin:"pipe",encoding:"utf8"});if(n instanceof Error){if(!n.stdout)throw Xe.error(`[BinaryGraphvizLayouter.layout] '${n.command}' nothing returned and failed: ${n.stderr}`),n;Xe.warn(`[BinaryGraphvizLayouter.layout] '${n.command}' returned result but also failed ${n.stderr}`)}return n.stdout})}};const Loe="likec4",Foe="1.17.0",Moe="MIT",zoe="https://likec4.dev",Boe="Denis Davydkov <denis@davydkov.com>",qoe={url:"https://github.com/sponsors/davydkov"},joe={type:"git",url:"https://github.com/likec4/likec4.git",directory:"packages/likec4"},Uoe={node:">=20"},Goe="https://github.com/likec4/likec4/issues",Woe="module",Hoe="./bin/likec4.mjs",Voe={".":"./src/index.ts","./react":{types:"./app/react/components/index.ts",default:"./react/index.mjs"},"./react/style.css":"./react/style.css","./icons/all":{types:"./icons/all.d.ts",default:"./icons/all.js"},"./icons/*":{types:"./icons/icon.d.ts",default:"./icons/*"}},Koe={registry:"https://registry.npmjs.org",access:"public",exports:{".":{types:"./dist/index.d.ts",default:"./dist/index.mjs"},"./react":{types:"./react/index.d.ts",default:"./react/index.mjs"},"./react/style.css":"./react/style.css","./icons/all":{types:"./icons/all.d.ts",default:"./icons/all.js"},"./icons/*":{types:"./icons/icon.d.ts",default:"./icons/*"}}},Yoe={"turbo-build":"turbo run build --log-prefix=none --log-order=grouped",package:"yarn pack","typecheck:app":"tsc --noEmit -p ./app/tsconfig.json","typecheck:cli":"tsc --noEmit -p ./tsconfig.cli.json",typecheck:"run-p --print-label 'typecheck:*'","build-cli":"unbuild","build-app":"run-p --print-label 'bundle:*'","bundle:app":"tsx scripts/bundle-app.ts","bundle:react":"tsx scripts/bundle-react.ts","bundle:react-dts":"tsx scripts/dts-react.ts","bundle:webcomponent":"tsx scripts/bundle-webcomponent.ts",generate:"tsx scripts/generate.ts",prepack:"turbo run build --log-prefix=none --log-order=grouped",lint:"run -T eslint src/ --fix",clean:"rm -r -f dist app/dist dev/.export dev/dist node_modules/.vite",dev:"tsx watch src/cli/index.ts serve dev","dev:docs:bigbank":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/bigbank","dev:docs:dynamic-view":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/dynamic-view","dev:docs:index-page":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/index-page","dev:docs:theme":"tsx watch src/cli/index.ts serve ../../apps/docs/src/components/likec4-theme","dev:template":"tsx watch src/cli/index.ts serve ../create-likec4/template","dev:example-cloud":"tsx watch src/cli/index.ts serve ../../examples/cloud-system","dev:failed":"tsx watch src/cli/index.ts serve ../../examples/failed","dev:example-dev":"tsx watch src/cli/index.ts serve ../../examples/diagrams-dev/likec4",cli:"tsx src/cli/index.ts","cli:serve":"tsx watch src/cli/index.ts serve dev","cli:build":"tsx src/cli/index.ts build -o dev/dist dev","cli:preview":"tsx src/cli/index.ts preview -o dev/dist dev","cli:export":"tsx src/cli/index.ts export png -o dev/export dev","cli:export:json":"tsx src/cli/index.ts export json -o dev/export/likec4.json dev",test:"vitest run --no-isolate","vitest:ui":"vitest --no-isolate --ui","test:watch":"vitest"},Xoe={"@hpcc-js/wasm-graphviz":"1.6.1","@vitejs/plugin-react-swc":"3.7.1",playwright:"1.48.2",react:"^18.3.1","react-dom":"^18.3.1","type-fest":"4.26.1",vite:"5.4.11"},Joe={"@fontsource/ibm-plex-sans":"^5.1.0","@likec4/core":"workspace:*","@likec4/diagram":"workspace:*","@likec4/generators":"workspace:*","@likec4/icons":"workspace:*","@likec4/language-server":"workspace:*","@likec4/layouts":"workspace:*","@likec4/log":"workspace:*","@likec4/tsconfig":"workspace:*","@mantine/core":"7.13.4","@mantine/hooks":"7.13.4","@mantine/vanilla-extract":"7.13.4","@nanostores/react":"0.8.0","@react-hookz/web":"^24.0.4","@tabler/icons-react":"3.17.0","@tanstack/react-router":"1.45.13","@tanstack/router-cli":"1.45.13","@tanstack/router-vite-plugin":"1.45.13","@types/node":"^20.16.14","@types/prop-types":"^15.7.13","@types/react":"18.3.11","@types/react-dom":"18.3.1","@types/string-hash":"^1.1.3","@types/yargs":"^17.0.33","@vanilla-extract/css":"^1.16.0","@vanilla-extract/dynamic":"^2.1.2","@vanilla-extract/vite-plugin":"^4.0.17","@xyflow/react":"12.3.4","@xyflow/system":"0.0.45",autoprefixer:"^10.4.20",classnames:"^2.5.1",clsx:"^2.1.1",defu:"^6.1.4","dts-bundle-generator":"^9.5.1",esbuild:"^0.24.0","esbuild-node-externals":"^1.15.0",execa:"^9.3.1","fast-equals":"^5.0.1",fdir:"^6.4.2","framer-motion":"^11.11.11","get-port":"^7.1.0",glob:"^11.0.0","html-to-image":"^1.11.11",json5:"^2.2.3",langium:"3.2.0",mkdirp:"^3.0.1",nanostores:"0.11.3","npm-run-all2":"^6.2.6","p-limit":"^6.1.0","package-up":"^5.0.0",postcss:"^8.4.47","postcss-preset-mantine":"^1.17.0","pretty-ms":"^9.1.0","prop-types":"^15.8.1","react-error-boundary":"^4.1.2","react-resizable-panels":"^2.1.6","react-shadow":"^20.5.0",remeda:"^2.16.0","std-env":"^3.7.0","string-hash":"^1.1.3","strip-indent":"^4.0.0",terser:"^5.33.0",tinyrainbow:"^1.2.0",tsx:"~4.9.3",turbo:"^2.2.3",typescript:"^5.6.3",ufo:"^1.5.4",unbuild:"^3.0.0-rc.11","vite-plugin-css-injected-by-js":"^3.5.2","vite-plugin-shadow-style":"^1.1.1",vitest:"^2.1.5",yargs:"17.7.2"},Zoe="yarn@4.5.1",s2={name:Loe,version:Foe,license:Moe,homepage:zoe,author:Boe,sponsor:qoe,repository:joe,engines:Uoe,bugs:Goe,type:Woe,bin:Hoe,exports:Voe,publishConfig:Koe,scripts:Yoe,dependencies:Xoe,devDependencies:Joe,packageManager:Zoe},hm=Object.create(null),pd=t=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?hm:globalThis),ls=new Proxy(hm,{get(t,e){return pd()[e]??hm[e]},has(t,e){const n=pd();return e in n||e in hm},set(t,e,n){const r=pd(!0);return r[e]=n,!0},deleteProperty(t,e){if(!e)return!1;const n=pd(!0);return delete n[e],!0},ownKeys(){const t=pd(!0);return Object.keys(t)}}),Qoe=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",eae=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];function tae(){if(globalThis.process?.env)for(const t of eae){const e=t[1]||t[0];if(globalThis.process?.env[e])return{name:t[0].toLowerCase(),...t[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const o2=tae();o2.name;function bo(t){return t?t!=="false":!1}const nae=globalThis.process?.platform||"",pm=bo(ls.CI)||o2.ci!==!1,a2=bo(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);bo(ls.DEBUG);const rae=Qoe==="test"||bo(ls.TEST);bo(ls.MINIMAL);const iae=/^win/i.test(nae);!bo(ls.NO_COLOR)&&(bo(ls.FORCE_COLOR)||(a2||iae)&&ls.TERM);const sae=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(sae?.split(".")[0]);const oae=globalThis.process||Object.create(null),c2={versions:{}};new Proxy(oae,{get(t,e){if(e==="env")return ls;if(e in t)return t[e];if(e in c2)return c2[e]}});const aae=globalThis.process?.release?.name==="node",cae=!!globalThis.Bun||!!globalThis.process?.versions?.bun,uae=!!globalThis.Deno,lae=!!globalThis.fastly,dae=!!globalThis.Netlify,fae=!!globalThis.EdgeRuntime,hae=globalThis.navigator?.userAgent==="Cloudflare-Workers",pae=[[dae,"netlify"],[fae,"edge-light"],[hae,"workerd"],[lae,"fastly"],[uae,"deno"],[cae,"bun"],[aae,"node"]];function mae(){const t=pae.find(e=>e[0]);if(t)return{name:t[1]}}const gae=mae();gae?.name;const u2=ft.bold(ft.bgRed(ft.white("ERROR"))),yae=ft.bold(ft.yellow("WARN")),vae=ft.bold(ft.green("INFO"));function l2(t){const e=eO("info",{prefix:t,allowClearScreen:!pm}),n=!pm;return{...e,info(r,i){e.info(`${vae} ${r}`,{timestamp:n,...i})},warn(r,i){e.warn(`${yae} ${r}`,{timestamp:n,...i})},error(r,i){if(r instanceof Error){e.error(`${u2} ${ft.red(r.stack??r.name+" "+r.message)}`,{timestamp:n,error:r,...i});return}e.error(`${u2} ${r}`,{timestamp:n,...i})}}}const F0=()=>{},wae={info:F0,warn:F0,error:F0},bae=1e6;function d2(t){const[e,n]=vd(t),r=e*1e3+n/bae;return{ms:r,pretty:IP(r)}}function Eae(t){const e=vd();return{stopAndLog(n="done in "){n=ft.green(`${n}${d2(e).pretty}`),t?t.info(n):Xe.success(n)}}}class Dae{constructor(e){this.services=e,this.layouter=e.likec4.Layouter}cache=new WeakMap;layouter;previousAction=Promise.resolve();limit=qp(2);inflightRequest;async computedViews(){try{this.inflightRequest??=Promise.resolve().then(async()=>await this.services.likec4.ModelBuilder.buildComputedModel());const e=await Promise.resolve(this.inflightRequest);return Object.values(e?.views??{})}finally{this.inflightRequest=void 0}}async layoutViews(){const e=this.services.logger,n=this.previousAction.then(async()=>{const r=(await this.computedViews()).map(i=>this.limit(async()=>{try{let s=this.cache.get(i);return s||(s=await this.layouter.layout(i),this.cache.set(i,s)),s}catch(s){return e.error(s),null}}));return(await Promise.all(r)).filter(ae)});return this.previousAction=n.catch(r=>(e.error(r),Promise.resolve([]))),await n}async diagrams(){return(await this.layoutViews()).map(e=>e.diagram)}async viewsAsGraphvizOut(){const e="All-LayoutedViews-DotWithSvg",n=this.services.WorkspaceCache;if(n.has(e))return await Promise.resolve(n.get(e));const r=(await this.computedViews()).map(s=>this.limit(async()=>{const{dot:o,svg:a}=await this.layouter.svg(s);return{id:s.id,dot:o,svg:a}})),i=await Promise.all(r);return n.set(e,i),i}async overviewGraph(){const e="OverviewGraph",n=this.services.WorkspaceCache;if(n.has(e))return await Promise.resolve(n.get(e));const r=await this.computedViews(),i=await this.layouter.layoutOverviewGraph(r);return n.set(e,i),i}}class Tae{constructor(e){this.services=e}isInitialized=!1;async initWorkspace(e){if(this.isInitialized)throw new Error("Workspace already initialized");const n=this.services.logger,r=this.services.shared.workspace.WorkspaceManager;n.info(`${ft.dim("workspace:")} ${e.uri}`),r.initialize({capabilities:{},processId:null,rootUri:null,workspaceFolders:[e]}),await r.initializeWorkspace([e])}async init(){if(this.isInitialized)throw new Error("Workspace already initialized");this.isInitialized=!0;const e=this.services.logger,n=this.services.likec4.ModelBuilder,r=this.services.shared.workspace.LangiumDocuments,i=this.services.shared.workspace.DocumentBuilder,s=r.all.toArray();if(s.length===0)throw e.error("no LikeC4 sources found"),new Error("no LikeC4 sources found");e.info(`${ft.dim("workspace:")} found ${s.length} source files`),await i.build(s,{validation:!0});const o=await n.buildComputedModel(),a=ch(o?.views??{}).length;if(a===0){e.warn(`${ft.dim("workspace:")} no views found`);return}e.info(`${ft.dim("workspace:")} ${ft.green(`\u2713 computed ${a} views`)}`);const c=await this.services.likec4.Views.diagrams();c.length===a?e.info(`${ft.dim("workspace:")} ${ft.green("\u2713 all views layouted")}`):e.warn(`${ft.dim("workspace:")} ${ft.yellow(`\u2717 layouted ${c.length} views`)}`)}}function f2(t){return e=>new t(e)}const Rae={logger:()=>{throw new Error("Logger must be provided")},likec4:{Layouter:()=>{throw new Error("Layouter must be provided")},Views:f2(Dae)},cli:{Workspace:f2(Tae)}};function h2(t){const e=La(t,{useFileSystem:!0,logger:"default",graphviz:"wasm"});let n;switch(e.logger){case!1:n=wae;break;case"vite":n=l2("c4:lsp ");break;case"default":n=Xe.withTag("lsp");break;default:n=e.logger}const r=e.graphviz==="binary";n.info(`${ft.dim("version")} ${s2.version}`),n.info(`${ft.dim("layout")} ${r?"binary":"wasm"}`);const i={logger:()=>n,likec4:{Layouter:()=>new QJ(r===!0?new Ooe:new gd)}};return UK(e.logger===!1?"silent":"info"),e.logger!==!1&&e.logger!=="default"&&Ne.setReporters([{log:({level:s,...o},a)=>{const c=o.tag||"",u=o.args.map(d=>cv(d)?d.stack??d.message:typeof d=="string"?d:String(d));c&&u.unshift(`[${c}]`);const l=u.join(" ");switch(!0){case s>=Ye.debug:break;case s>=Ye.info:{n.info(l);break}case s>=Ye.log:{n.info(l);break}case s>=Ye.warn:{n.warn(l);break}case s>=Ye.fatal:{n.error(l);break}}}}]),mX(e.useFileSystem?yX:{},Rae,i).likec4}const p2=t=>new Error(`Invalid model:
|
|
1820
|
-
${t.getErrors().map(e=>` ${e.sourceFsPath}:${e.line} ${e.message.slice(0,200)}`).join(`
|
|
1821
|
-
`)}`);class ds{constructor(e,n,r){this.workspace=e,this.langium=n,this.isPrintErrorEnabled=r,this.logger=n.logger,this.langiumDocuments=n.shared.workspace.LangiumDocuments,this.isPrintErrorEnabled&&this.printErrors()}static async fromSource(e,n){const r=h2(La(n,{useFileSystem:!1,logger:!1,graphviz:"wasm"})),i=Vt.from({scheme:"virtual",path:"/workspace"});await r.cli.Workspace.initWorkspace({uri:i.toString(),name:"virtual"});const s=Et.joinPath(i,"source.likec4");r.shared.workspace.LangiumDocuments.createDocument(s,e),await r.cli.Workspace.init();const o=new ds(i.path,r,n?.printErrors??!0);return n?.throwIfInvalid===!0&&o.hasErrors()?(o.dispose(),Promise.reject(p2(o))):o}static likec4Instances=new Map;static async fromWorkspace(e="",n){const r=X0(e);if(!T2(r))throw new Error(`Workspace not found: ${r}`);let i=ds.likec4Instances.get(r);if(!i){const s=h2(La(n,{useFileSystem:!0,logger:"default",graphviz:"wasm"}));await s.cli.Workspace.initWorkspace({uri:$2(r).toString(),name:k2(r)}),await s.cli.Workspace.init(),i=new ds(r,s,n?.printErrors??!0),ds.likec4Instances.set(r,i)}return n?.throwIfInvalid===!0&&i.hasErrors()?(i.dispose(),Promise.reject(p2(i))):i}modelComputedRef;modelLayoutedRef;logger;langiumDocuments;get viewsService(){return this.langium.likec4.Views}async diagrams(){return await this.langium.likec4.Views.diagrams()}computedModel(){let e=this.modelComputedRef?.deref();if(!e){const n=this.langium.likec4.ModelBuilder.unsafeSyncBuildModel();if(!n)throw new Error("Failed to build model");const r=this.langium.likec4.ModelBuilder.unsafeSyncBuildComputedModel(n);e=Wa.computed(r),this.modelComputedRef=new WeakRef(e)}return e}async layoutedModel(){let e=this.modelLayoutedRef?.deref();if(!e){const n=await this.langium.likec4.ModelBuilder.buildComputedModel();if(!n)throw new Error("Failed to build model");const r=await this.viewsService.diagrams();e=Wa.layouted({__:"layouted",...n,views:uv(r,yi("id"))}),this.modelLayoutedRef=new WeakRef(e)}return e}getErrors(){return this.langiumDocuments.all.toArray().flatMap(e=>(e.diagnostics??[]).filter(n=>n.severity===Zc.Error).map(({message:n,range:r})=>({message:n,line:r.start.line,range:r,sourceFsPath:e.uri.fsPath})))}hasErrors(){return this.langiumDocuments.all.some(e=>e.diagnostics?.some(n=>n.severity===Zc.Error)??!1)}printErrors(){let e=!1;for(const n of this.langiumDocuments.all){const r=n.diagnostics?.filter(i=>i.severity===1);if(r&&r.length>0){e=!0;const i=r.flatMap(s=>{const o=s.range.start.line,a=s.message.split(`
|
|
1822
|
-
`);return a.length>10&&(a.length=10,a.push("...")),a.map((c,u)=>u===0?" "+ft.dim(`Line ${o}: `)+ft.red(c):" ".repeat(10)+ft.red(c))}).join(`
|
|
1823
|
-
`);this.logger.error(`Invalid ${n.uri.fsPath}
|
|
1824
|
-
${i}`)}}return e}async notifyUpdate({changed:e,removed:n}){this.modelLayoutedRef=void 0,this.modelComputedRef=void 0;const r=this.langium.shared.workspace.WorkspaceLock;try{let i=!1;return await r.write(async s=>{await this.langium.shared.workspace.DocumentBuilder.update(e?[Vt.file(e)]:[],n?[Vt.file(n)]:[],s),i=!s.isCancellationRequested}),i}catch(i){return this.logger.error(i),!1}}onModelUpdate(e){const n=this.langium.likec4.ModelBuilder.onModelParsed(()=>e());return()=>{n.dispose()}}dispose(){for(const[e,n]of ds.likec4Instances)n===this&&ds.likec4Instances.delete(e)}}export{d2 as $,ks as A,ae as B,xD as C,Ki as D,ko as E,et as F,ft as G,cO as H,qp as I,uO as J,Xe as K,we as L,So as M,iT as N,vi as O,Lk as P,l2 as Q,HO as R,iK as S,Fo as T,zw as U,$E as V,sK as W,sa as X,Nm as Y,NC as Z,zk as _,Ha as a,Eae as a0,Ov as a1,za as a2,Hi as a3,LD as a4,Ye as a5,s2 as a6,$r as b,qa as c,Wn as d,Ba as e,Ie as f,OD as g,ds as h,kt as i,LC as j,Rd as k,pn as l,Wa as m,s$ as n,sn as o,Bo as p,vt as q,at as r,Od as s,Ga as t,Ke as u,zr as v,Am as w,Zr as x,CE as y,nt as z};
|